Merge remote-tracking branch 'origin/feature/mall_product' into feature/mall_product

pull/2/head
小小张 2023-05-25 16:49:44 +08:00
commit 51581f66a6
19 changed files with 705 additions and 314 deletions

View File

@ -25,4 +25,10 @@ services:
test: ["CMD", "curl", "-f", "http://localhost:48080/actuator/health"]
timeout: 30s
interval: 45s
retries: 3
retries: 3
networks:
- app_net
networks:
app_net:
external: true
name: cyywlnet

View File

@ -1223,8 +1223,8 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
//删除提报记录
try {
phoneRecordService.deletePhoneGear(orderDO.getOrderId());
}catch (Exception e) {
log.error("删除提报记录异常{}",e);
} catch (Exception e) {
log.error("删除提报记录异常{}", e);
}
//删除本地提报记录
phoneRecordService.deletePhoneRecord(orderDO.getId());
@ -1268,7 +1268,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
phoneRecordDO.setRefundFeeAmount(replace(info.getPrice()));
phoneRecordDO.setRechargeGearId(Long.valueOf(info.getRechargeGearId()));
LocalDateTime localDateTime = LocalDateTime.now();
LocalDateTime newLocalDateTime = LocalDateTimeUtil.offset(localDateTime,12, ChronoUnit.MONTHS);
LocalDateTime newLocalDateTime = LocalDateTimeUtil.offset(localDateTime, 12, ChronoUnit.MONTHS);
phoneRecordDO.setRefundFeeEndDate(newLocalDateTime);
phoneRecordDO.setRefundFeeNumber(12);
phoneRecordAdd.setChannel(deptRespDTO.getParentOrganizationName());
@ -1276,15 +1276,15 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
phoneRecordAdd.setMoney(info.getPrice());
phoneRecordAdd.setOrderNo(orderDO.getOrderId());
phoneRecordAdd.setOrderTime(LocalDateTimeUtil.formatNormal(orderDO.getPayTime().toLocalDate()));
phoneRecordAdd.setGear(rechargeGearDO.getRefundAmount().intValue()+"");
phoneRecordAdd.setGear(rechargeGearDO.getRefundAmount().intValue() + "");
phoneRecordAdds.add(phoneRecordAdd);
recordDOS.add(phoneRecordDO);
});
phoneRecordMapper.insertBatch(recordDOS);
try {
phoneRecordService.insertPhone(phoneRecordAdds);
}catch (Exception e){
log.info("调取提报新增报错{}",e);
} catch (Exception e) {
log.info("调取提报新增报错{}", e);
}
}
@ -1401,7 +1401,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
private RechargeOrderDO initializeOrder(OrderContentRequest request, String code, MemberUserRespDTO user, PromoterDTO promoterDTO) {
Long tenantId = TenantContextHolder.getTenantId();
Long deptId = promoterDTO.getDeptId();
if(deptId==null){
if (deptId == null) {
DeptRespDTO deptRespDTO = deptApi.findParentDept(tenantId);
deptId = deptRespDTO.getId();
}
@ -1448,6 +1448,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
rechargeOrderInfoMapper.insertBatch(infoDOS);
return orderDO;
}
private void orderCheck(OrderContentRequest request, MemberUserRespDTO user) {
List<OrderContentRequest.OrderInfo> orderInfos = request.getOrderInfos();
Assert.isTrue(!CollectionUtils.isEmpty(orderInfos), "订单信息不能为空!");
@ -1455,15 +1456,16 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
//先查询提报总表
List<Long> collect = orderInfos.stream().map(OrderContentRequest.OrderInfo::getGearId).collect(Collectors.toList());
List<RechargeGearDO> rechargeGearDOList = rechargeGearService.getRechargeGearList(collect);
rechargeGearDOList.forEach(rechargeGearDO->{
Boolean flag = phoneRecordService.verifyPhone(request.getConfirmPhone(),rechargeGearDO.getRefundAmount().intValue()+"");
rechargeGearDOList.forEach(rechargeGearDO -> {
Boolean flag = phoneRecordService.verifyPhone(request.getUserPhone(), rechargeGearDO.getRefundAmount().intValue() + "");
if (flag) {
throw new ServiceException("该挡位:" + rechargeGearDO.getName() + "你已购买,请勿重复操作");
}
});
List<PhoneRecordDO> infoDOS = phoneRecordMapper.selectList(Wrappers.<PhoneRecordDO>lambdaQuery()
.eq(PhoneRecordDO::getUserId, user.getMobile())
.eq(PhoneRecordDO::getPhone, request.getUserPhone())
.eq(PhoneRecordDO::getDeleted, 0)
.in(PhoneRecordDO::getRechargeGearId, collect));
if (!CollectionUtils.isEmpty(infoDOS)) {
@ -1481,7 +1483,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
MemberUserRespDTO userByMobile = userService.getUserByMobile(request.getUserPhone());
// 初始化一个账号
if (Objects.isNull(userByMobile)) {
userService.saveMemberUser(request.getUserPhone(),user.getPromoterId());
userService.saveMemberUser(request.getUserPhone(), user.getPromoterId());
}
}
}

View File

@ -15,10 +15,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
import java.util.*;
import cn.iocoder.yudao.module.shop.controller.admin.recharge.vo.*;
import cn.iocoder.yudao.module.shop.dal.dataobject.recharge.PhoneRecordDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
@ -73,7 +76,7 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
// 校验存在
validatePhoneRecordExists(id);
// 删除
phoneRecordMapper.delete(Wrappers.<PhoneRecordDO>lambdaQuery().eq(PhoneRecordDO::getRechargeOrderId,id));
phoneRecordMapper.delete(Wrappers.<PhoneRecordDO>lambdaQuery().eq(PhoneRecordDO::getRechargeOrderId, id));
}
private void validatePhoneRecordExists(Long id) {
@ -96,7 +99,7 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
@Override
public PageResult<PhoneRecordRespVO> getPhoneRecordPage(PhoneRecordPageReqVO pageReqVO) {
Page<PhoneRecordRespVO> page = new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
phoneRecordMapper.findListPage(page,pageReqVO);
phoneRecordMapper.findListPage(page, pageReqVO);
return new PageResult<>(page.getRecords(), page.getTotal());
}
@ -119,17 +122,18 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
@Override
public Boolean verifyPhone(String phone, String gear) {
JSONObject param = new JSONObject();
param.put("phone",phone);
param.put("gear",gear);
String result = HttpRequest.post(phoneUrl+"query/verify")
.header("token",token)
param.put("phone", phone);
param.put("gear", gear);
String result = HttpRequest.post(phoneUrl + "query/verify")
.header("token", token)
.body(JSONObject.toJSONString(param))
.execute()
.body();
JSONObject resultJson = JSONObject.parseObject(result);
if("0000".equals(resultJson.get("code"))){
log.info("query/verify:返回参数{}", resultJson);
if ("0000".equals(resultJson.get("code"))) {
return resultJson.getBoolean("body");
}else{
} else {
throw new ServiceException("手机号档位验证失败");
}
}
@ -145,13 +149,13 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
*/
@Override
public Boolean deletePhoneGear(String orderId) {
String result = HttpRequest.post(phoneUrl+"query/deleteReport?orderNo="+orderId)
.header("token",token)
String result = HttpRequest.post(phoneUrl + "query/deleteReport?orderNo=" + orderId)
.header("token", token)
.execute()
.body();
JSONObject resultJson = JSONObject.parseObject(result);
log.info("删除提报{}",JSONObject.toJSONString(resultJson));
if("0000".equals(resultJson.get("code"))){
log.info("删除提报{}", JSONObject.toJSONString(resultJson));
if ("0000".equals(resultJson.get("code"))) {
return true;
}
return false;
@ -170,14 +174,14 @@ public class PhoneRecordServiceImpl implements PhoneRecordService {
*/
@Override
public Boolean insertPhone(List<PhoneRecordAdd> data) {
String result = HttpRequest.post(phoneUrl+"query/createReport")
.header("token",token)
String result = HttpRequest.post(phoneUrl + "query/createReport")
.header("token", token)
.body(JSONObject.toJSONString(data))
.execute()
.body();
JSONObject resultJson = JSONObject.parseObject(result);
log.info("提报新增返回结果{}",JSONObject.toJSONString(resultJson));
if("0000".equals(resultJson.get("code"))){
log.info("提报新增返回结果{}", JSONObject.toJSONString(resultJson));
if ("0000".equals(resultJson.get("code"))) {
return true;
}
return false;

View File

@ -33,6 +33,10 @@ export function changeCartNum(cartId, number) {
* 清除购物车
* @param object ids join(',') 切割成字符串
*/
// export function cartDel(ids) {
// console.log(ids,'-------')
// return request.post('front/cart/delete?id='+ ids);
// }
export function cartDel(ids) {
console.log(ids)
return request.post('front/cart/delete', {

View File

@ -15,3 +15,6 @@ export const getBanner = params => request.post('market/banner/list', { params }
// 获取租户
export const getTenant = id => request.get('tenant/get/' , {id:id })
// 获取头部信息
export const getHeader = params => request.get('api/order/member/memberHeadInfo' , {params })

View File

@ -18,32 +18,32 @@ import { parseQuery } from "./utils";
import Auth from './libs/wechat';
import { SPREAD } from './config/cache';
Vue.prototype.$wechat = Auth;
let cookieName = "VCONSOLE",
query = parseQuery(),
urlSpread = query["spread"],
vconsole = query[cookieName.toLowerCase()],
md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
// let cookieName = "VCONSOLE",
// query = parseQuery(),
// urlSpread = query["spread"],
// // vconsole = query[cookieName.toLowerCase()],
// vconsole = "b14d1e9baeced9bb7525ab19ee35f2d2",
// md5Crmeb = "b14d1e9baeced9bb7525ab19ee35f2d2", //CRMEB MD5 加密开启vconsole模式
// md5UnCrmeb = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 加密关闭vconsole模式
if (urlSpread !== undefined) {
var spread = Cache.get(SPREAD);
urlSpread = parseInt(urlSpread);
if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
Cache.set("spread", urlSpread || 0);
} else if (spread === 0 || typeof spread !== "number") {
Cache.set("spread", urlSpread || 0);
}
}
// if (urlSpread !== undefined) {
// var spread = Cache.get(SPREAD);
// urlSpread = parseInt(urlSpread);
// if (!Number.isNaN(urlSpread) && spread !== urlSpread) {
// Cache.set("spread", urlSpread || 0);
// } else if (spread === 0 || typeof spread !== "number") {
// Cache.set("spread", urlSpread || 0);
// }
// }
if (vconsole !== undefined) {
if (vconsole === md5UnCrmeb && Cache.has(cookieName))
Cache.clear(cookieName);
} else vconsole = Cache.get(cookieName);
// if (vconsole !== undefined) {
// if (vconsole === md5UnCrmeb && Cache.has(cookieName))
// Cache.clear(cookieName);
// } else vconsole = Cache.get(cookieName);
import VConsole from './components/vconsole.min.js'
if (vconsole !== undefined && vconsole === md5Crmeb) {
Cache.set(cookieName, md5Crmeb, 3600);
if (process.env.isVConsole) {
let vConsole = new VConsole();
}

View File

@ -3,6 +3,272 @@
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "yudao-ui-app",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"clipboard": "^2.0.11",
"html-to-image": "^1.11.11",
"qrcode": "^1.5.3"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
}
},
"node_modules/camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"node_modules/clipboard": {
"version": "2.0.11",
"resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz",
"integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
"dependencies": {
"good-listener": "^1.2.2",
"select": "^1.1.2",
"tiny-emitter": "^2.0.0"
}
},
"node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
},
"node_modules/delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
"node_modules/dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/encode-utf8/-/encode-utf8-1.0.3.tgz",
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
},
"node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"node_modules/good-listener": {
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz",
"integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
"dependencies": {
"delegate": "^3.1.2"
}
},
"node_modules/html-to-image": {
"version": "1.11.11",
"resolved": "https://registry.npmmirror.com/html-to-image/-/html-to-image-1.11.11.tgz",
"integrity": "sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA=="
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
"node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dependencies": {
"p-locate": "^4.1.0"
}
},
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dependencies": {
"p-try": "^2.0.0"
}
},
"node_modules/p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dependencies": {
"p-limit": "^2.2.0"
}
},
"node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
"node_modules/pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
},
"node_modules/qrcode": {
"version": "1.5.3",
"resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.3.tgz",
"integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
"dependencies": {
"dijkstrajs": "^1.0.1",
"encode-utf8": "^1.0.3",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"bin": {
"qrcode": "bin/qrcode"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
},
"node_modules/require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
"node_modules/select": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz",
"integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
},
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
}
},
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dependencies": {
"ansi-regex": "^5.0.1"
}
},
"node_modules/tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"node_modules/which-module": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
},
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
}
},
"node_modules/y18n": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
},
"node_modules/yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
}
},
"node_modules/yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
},
"dependencies": {
"ansi-regex": {
"version": "5.0.1",

View File

@ -20,6 +20,7 @@
"title": "开发版",
"env": {
"UNI_PLATFORM": "h5",
"isVConsole": true,
"APP_BASE_URL": "http://192.168.1.147:48080"
}
},
@ -27,6 +28,7 @@
"title": "生产版",
"env": {
"UNI_PLATFORM": "h5",
"isVConsole": false,
"APP_BASE_URL": "http://api.cyywl.top"
}
}

View File

@ -40,7 +40,7 @@
<view class="right">
<view class="search">
<view class="icon">
</view>
<view class="input">
<u--input
@ -74,12 +74,12 @@
<view class="item" v-for="item in productList" @click="goDetail(item)">
<image :src="item.image" mode=""></image>
<view class="name">{{item.storeName}}</view>
<text><u--text color="#E50202" mode="price" :text="item.price"></u--text></text>
</view>
</view>
<view class="" style="margin-top: 110rpx;">
</view>
</view>
</template>
@ -98,7 +98,8 @@
productPage,
getSpuDetail,
getBanner,
getTenant
getTenant,
getHeader
} from '../../api/product.js'
import {
postCartAdd
@ -107,13 +108,13 @@
import {
getTemlIds
} from '@/api/api.js';
// import {
// SUBSCRIBE_MESSAGE,
// TIPS_KEY
// } from '@/config/cache';
// #endif
// #ifdef H5
// #ifdef H5
import {
follow
} from '@/api/public.js';
@ -321,6 +322,9 @@
this.text = res.data.notice
})
})
getHeader().then(res=>{
console.log(res,'会员')
})
this.getBanners()
this.getIndexPage()
this.getIndexConfig();
@ -366,17 +370,17 @@
go(){
console.log(this.productList,'------')
},
// banneruserInfo
getBanners(){
// console.log(this.$store.tenantId,'tenantId')
getBanner().then(res=>{
this.bannerList = res.data.list[0]
console.log(this.bannerList,'banner')
})
console.log(this.userInfo.userId,'userInfo111111')
},
getCoupon: function(id, index) {
let that = this;
@ -483,7 +487,7 @@
this.getGroomList();
this.shareApi();
this.getcouponList();
// #ifdef H5
// that.subscribe = res.data.subscribe;
// #endif
@ -625,7 +629,7 @@
get_host_product: function() {
let that = this;
that.loading = true;
if (that.hotScroll) return
getProductHot(
that.hotPage,
@ -644,7 +648,9 @@
// H5
let appSearchH = uni.createSelectorQuery().select(".serch-wrapper");
appSearchH.boundingClientRect(function(data) {
self.searchH = data.height
if(data){
self.searchH = data.height
}
}).exec()
// #endif
},
@ -712,13 +718,13 @@
.left {
width: 164rpx;
height: 164rpx;
.image {
border: 3rpx solid #EE5423;
border-radius: 50%;
border: linear-gradient(0deg, #F77C4D, #EE5423);
}
}
.center {
width: 330rpx;
@ -797,7 +803,7 @@
display: flex;
justify-content: center;
align-items: center;
}
.hot {
width: 663rpx;
@ -806,7 +812,7 @@
margin-left: 44rpx;
background: #fff;
border-radius: 20rpx;
.contain {
width: 100%;
height: 1rpx;
@ -938,7 +944,7 @@
background: #fff;
overflow: hidden;
border-radius: 20rpx;
image {
width: 100%;
height: 294rpx;
@ -966,7 +972,7 @@
}
.car {
position: absolute;
width: 60rpx;
height: 60rpx;
background: url(@/static/images/shop/car.png);
@ -978,11 +984,11 @@
::v-deep .notice{
.u-icon__icon {
color: #FF4802 !important;
span {
font-size: 28rpx;
}
}
}
}
</style>

View File

@ -170,6 +170,7 @@
}
.box-member {
padding: 36rpx 40rpx;
border-radius: 20rpx;

View File

@ -9,7 +9,7 @@
</view>
<view class="box">
<view class="item" v-for="(item,index) in cartList.valid" :key="item.attrId">
<view class="item-list">
<view class="item-list" v-if="cartList.valid.length>0">
<view style="height: 1rpx;"></view>
<view class="top">
<text class="shopName">{{item.storeName}}</text>
@ -28,18 +28,18 @@
{{item.storeName}}
</view>
<view class="price">
{{item.price}}
<u--text class="text" color="#E50202" mode="price" :text="item.price"></u--text>
</view>
</view>
<!-- <view class="sum">x{{item.cartNum}}</view> -->
<view class="numberBox">
<u-number-box v-model="cartNum" min="0">
<view @tap="ChangeCartCountJian(item.id,item.cartNum)" slot="minus" class="minus">
<view @tap="ChangeCartCountJian(item,index)" slot="minus" class="minus">
<u-icon name="minus" size="12"></u-icon>
</view>
<text slot="input" style="width: 50px;text-align: center;"
class="input">{{item.cartNum}}</text>
<view slot="plus" class="plus" @tap="ChangeCartCountJia(item.id,item.cartNum)">
<view slot="plus" class="plus" @tap="ChangeCartCountJia(item,index)">
<u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
</view>
</u-number-box>
@ -47,24 +47,27 @@
</view>
</view>
</view>
<view class="item" style="width: 669rpx;height: 800rpx;background: transparent;" v-if="cartList.valid.length==0">
<u-empty width="669rpx" height="100%" marginTop="200rpx" mode="car"></u-empty>
</view>
</view>
<view class="fixed" v-if="isManager">
<view class="all" @tap="allCheck">
<text :class="[isAllSelect?'checkedIcon':'noCheckIcon']"></text>
<text>全选</text>
</view>
<view class="allPrice">合计 <text>998.00</text> </view>
<view class="closeAll" @tap="subOrder">()</view>
<view class="allPrice">合计 <u--text class="text" color="#E50202" mode="price" :text="priceAll"></u--text>
</view>
<view class="closeAll" @tap="subOrder">({{allCountval}})</view>
</view>
<view class="fixed" v-if="!isManager">
<view class="all" @tap="allCheck">
<text :class="[isAllSelect?'checkedIcon':'noCheckIcon']"></text>
<text>全选</text>
</view>
<view class="collect">收藏</view>
<!-- <view class="collect">收藏</view> -->
<view class="delAll" @tap="subDel"></view>
</view>
</view>
@ -165,6 +168,7 @@
loadendInvalid: false,
loadTitleInvalid: '加载更多', //
pageInvalid: 1,
priceAll: 0,
limitInvalid: 20,
attr: {
cartAttr: false,
@ -190,16 +194,29 @@
},
allSelectval() {
let count = 0
this.cartList.forEach(item => {
this.cartList.valid.forEach(item => {
if (item.checked) {
count += 1
}
})
if(count == this.cartList.length){
if (count == this.cartList.valid.length) {
return true
}else {
} else {
return false
}
},
allCountval() {
this.priceAll = 0
let count = 0
this.cartList.valid.forEach(item => {
let price = 0
if (item.checked) {
count += 1
price = item.price * item.cartNum
this.priceAll = this.priceAll + price
}
})
return count
}
},
onLoad: function(options) {
@ -257,6 +274,7 @@
})
} else {
this.cartList.valid.forEach((item, index) => {
this.priceAll = 0
item.checked = false
Vue.set(this.cartList.valid, index, item)
Vue.set(this.cartList, 'valid', this.cartList.valid)
@ -265,7 +283,7 @@
},
//
reelect(item, index) {
console.log(item,'item哇')
console.log(item, 'item哇')
// let reCheck = {
// id: item.id,
// num: item.cartNum+2,
@ -275,28 +293,29 @@
// getResetCart(reCheck).then(res=> {
// console.log('')
// })
this.allCountval
item.checked = !item.checked
// this.priceAll -= item.price * item.cartNum
Vue.set(this.cartList.valid, index, item)
Vue.set(this.cartList, 'valid', this.cartList.valid)
},
//
ChangeCartCountJia(id, num) {
let count = num + 1
changeCartNum(id, count).then(res => {
console.log('++成功')
this.cartList.valid = []
this.getCartList()
ChangeCartCountJia(item, index) {
item.cartNum += 1
console.log(item, 'jiajiajia')
changeCartNum(item.id, item.cartNum).then(res => {
Vue.set(this.cartList.valid, index, item)
Vue.set(this.cartList, 'valid', this.cartList.valid)
})
},
//
ChangeCartCountJian(id, num) {
let count = num - 1
changeCartNum(id, count).then(res => {
console.log('-成功')
this.cartList.valid = []
this.getCartList()
ChangeCartCountJian(item, index) {
item.cartNum -= 1
changeCartNum(item.id, item.cartNum).then(res => {
Vue.set(this.cartList.valid, index, item)
Vue.set(this.cartList, 'valid', this.cartList.valid)
})
},
//
@ -507,7 +526,7 @@
selectValue.push(item.id)
}
})
console.log(selectValue,'000000')
console.log(selectValue, '000000')
this.selectValue = selectValue
let that = this
if (selectValue.length > 0)
@ -539,7 +558,7 @@
},
subCollect: function(event) {
let that = this
selectValue = that.selectValue;
selectValue = that.selectValue;
if (selectValue.length > 0) {
let selectValueProductId = that.getSelectValueProductId();
collectAll(that.getSelectValueProductId()).then(res => {
@ -772,16 +791,17 @@
});
},
async getCartList() {
uni.showLoading({
title: '加载中',
mask: true
});
// uni.showLoading({
// title: '',
// mask: true
// });
let that = this;
let data = {
page: that.page,
limit: that.limit,
isValid: true
}
getCartCounts(true, 'sum').then(async c => {
that.cartCount = c.data.count;
if (c.data.count === 0) that.getHostProduct();
@ -789,7 +809,8 @@
let cartList = await this.getCartData(data);
console.log(cartList, 'cartlist');
let valid = cartList.list;
let validList = that.$util.SplitArray(valid, that.cartList.valid);
// let validList = that.$util.SplitArray(valid, that.cartList.valid);
console.log(valid, 'that.cartList0')
let numSub = [{
numSub: true
}, {
@ -801,42 +822,44 @@
numAdd: false
}],
selectValue = [];
if (validList.length > 0) {
for (let index in validList) {
if (validList[index].cartNum == 1) {
validList[index].numSub = true;
} else {
validList[index].numSub = false;
}
let productInfo = validList[index];
let stock = validList[index].stock ? validList[index].stock : 0;
if (validList[index].cartNum == stock) {
validList[index].numAdd = true;
} else if (validList[index].cartNum == validList[index].stock) {
validList[index].numAdd = true;
} else {
validList[index].numAdd = false;
}
if (validList[index].attrStatus) {
validList[index].checked = true;
selectValue.push(validList[index].id);
} else {
validList[index].checked = false;
}
}
}
that.$set(that.cartList, 'valid', validList);
// if (validList.length > 0) {
// for (let index in validList) {
// if (validList[index].cartNum == 1) {
// validList[index].numSub = true;
// } else {
// validList[index].numSub = false;
// }
// let productInfo = validList[index];
// let stock = validList[index].stock ? validList[index].stock : 0;
// if (validList[index].cartNum == stock) {
// validList[index].numAdd = true;
// } else if (validList[index].cartNum == validList[index].stock) {
// validList[index].numAdd = true;
// } else {
// validList[index].numAdd = false;
// }
// if (validList[index].attrStatus) {
// validList[index].checked = true;
// selectValue.push(validList[index].id);
// } else {
// validList[index].checked = false;
// }
// }
// }
// that.$set(that.cartList, 'valid', validList);
that.$set(that.cartList, 'valid', valid);
data.page += 1;
that.selectValue = selectValue;
console.log(that.cartList)
let newArr = validList.filter(item => item.attrStatus);
console.log(that.cartList, 'that.cartList')
let newArr = valid.filter(item => item.attrStatus);
that.isAllSelect = newArr.length == selectValue.length && newArr.length;
that.loading = false;
that.canShow = true;
uni.hideLoading();
that.switchSelect();
}
that.loading = false;
that.canShow = true;
uni.hideLoading();
});
},
getInvalidList: function() {
@ -1167,16 +1190,16 @@
position: absolute;
right: 222rpx;
top: 34rpx;
display: flex;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
text {
.text {
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 400;
color: #E94343;
}
}

View File

@ -24,23 +24,23 @@
古驰旗舰店>
</view>
</view>
<view class="content">
<view class="content" v-for="(item,index) in orderInfo.orderInfoList" :key="item.productId">
<view class="image">
<u--image :showLoading="true" radius="10rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" width="111rpx"
height="99rpx" @click="click"></u--image>
<u--image :showLoading="true" radius="10rpx" :src="item.image" width="111rpx" height="99rpx"
@click="click"></u--image>
</view>
<view class="text">
<view class="name">
GUCCI/古驰HADLEY 21
{{item.productName}}
</view>
<view class="model">
Gucci Blondie小号托特包
{{item.sku}}
</view>
<view class="prices">
<u--text color="#E50202" mode="price" :text="orderInfo.totalPrice"></u--text>
<u--text color="#E50202" mode="price" :text="item.proTotalPrice"></u--text>
</view>
</view>
<div class="sum">x1</div>
<div class="sum">x{{item.cartNum}}</div>
</view>
<view class="boxs"></view>
</view>
@ -48,15 +48,21 @@
<view style="height: 1rpx;"></view>
<view class="priceitems">
<text class="itemsleft">商品总价</text>
<text class="itemsright"><u--text mode="price" :text="orderInfo.proTotalPrice"></u--text></text>
<text class="itemsright">
<u--text mode="price" :text="orderInfo.proTotalPrice"></u--text>
</text>
</view>
<view class="priceitems">
<text class="itemsleft">运费</text>
<text class="itemsright"><u--text mode="price" :text="orderInfo.payPostage"></u--text></text>
<text class="itemsright">
<u--text mode="price" :text="orderInfo.payPostage"></u--text>
</text>
</view>
<view class="priceitems">
<text class="itemsleft">待付金额</text>
<text class="itemsright"><u--text mode="price" :text="orderInfo.totalPrice"></u--text></text>
<text class="itemsright">
<u--text mode="price" :text="orderInfo.totalPrice"></u--text>
</text>
</view>
</view>
<view class="detail">
@ -79,27 +85,29 @@
<view style="height: 1rpx;"></view>
<view class="title">支付方式</view>
<view class="payment" @click="isWx=!isWx">
<view class="mode">
<text class="wechat"></text>
<text style="width: 140rpx;">微信支付</text>
<view :class="[isWx?'radioNo':'radio']"></view>
</view>
<view class="mode">
<text class="wechat"></text>
<text style="width: 140rpx;">微信支付</text>
<view :class="[isWx?'radioNo':'radio']"></view>
</view>
</view>
<view class="payment" @click="isWx=!isWx">
<view class="mode">
<text class="zfb"></text>
<text style="width: 140rpx;">支付宝支付</text>
<view :class="[isWx?'radio':'radioNo']"></view>
</view>
<view class="mode">
<text class="zfb"></text>
<text style="width: 140rpx;">支付宝支付</text>
<view :class="[isWx?'radio':'radioNo']"></view>
</view>
</view>
</view>
</view>
<view class="zf">
<view class="zfNumber">待支付: <text>123</text> </view>
<view class="zfNumber"> <text>待支付:</text>
<u--text class="text" size="35rpx" mode="price" :text="orderInfo.totalPrice"></u--text>
</view>
<view class="closeOrder" tap="cancelOrder()">取消订单</view>
<view class="orderPay" @tap='pay_open(orderInfo.orderId)'>立即付款</view>
</view>
</view>
</template>
@ -143,7 +151,7 @@
qrcodeSize: 100,
order_id: '',
evaluate: 0,
cartInfo: [], //
orderInfo: {
systemStore: {},
@ -609,6 +617,10 @@
justify-content: space-between;
.shopName {
width: 240rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
@ -644,6 +656,10 @@
margin-right: 60rpx;
.name {
width: 440rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
@ -805,6 +821,7 @@
background-size: 100% 100%;
margin-left: 400rpx;
}
.radioNo {
width: 34rpx;
height: 34rpx;
@ -822,15 +839,19 @@
.zf {
position: fixed;
bottom: 0;
display: flex;
justify-content: space-around;
align-items: center;
width: 100%;
height: 176rpx;
background: #fff;
.zfNumber {
position: absolute;
left: 52rpx;
top: 58rpx;
// position: absolute;
// left: 52rpx;
// top: 58rpx;
font-size: 28rpx;
display: flex;
font-family: PingFang SC;
font-weight: 400;
color: #0C0C0C;
@ -843,12 +864,12 @@
}
}
.closeOrder {
position: absolute;
top: 48rpx;
right: 230rpx;
// position: absolute;
// top: 48rpx;
// right: 230rpx;
width: 179rpx;
height: 64rpx;
text-align: center;
@ -862,9 +883,9 @@
}
.orderPay {
position: absolute;
top: 48rpx;
right: 34rpx;
// position: absolute;
// top: 48rpx;
// right: 34rpx;
width: 178rpx;
height: 63rpx;
line-height: 63rpx;

View File

@ -95,7 +95,7 @@
@click="jumpPage('/pages/users/user_spread_code/index')">
<u-icon slot="icon" size="45" name="/static/images/user_icon2.png"></u-icon>
</u-cell>
<u-cell title="热线电话" value="023-12948338" :value="tenantInfo.serviceMobile" isLink>
<u-cell title="热线电话" value="023-12948338" :value="tenantInfo.serviceMobile" isLink @click="callPhone">
<u-icon slot="icon" size="45" name="/static/images/user_icon3.png"></u-icon>
</u-cell>
<u-cell title="在线客服" value="8:30-17:30" :value="tenantInfo.serviceTime" isLink @click="kefuClick">
@ -254,6 +254,11 @@
url: url
})
},
callPhone() {
if(this.tenantInfo.serviceMobile){
window.location.href = `tel:${this.tenantInfo.serviceMobile}`
}
},
kefuClick() {
if (this.tenantInfo.wxKfUrl) {
location.href = this.tenantInfo.wxKfUrl

View File

@ -115,7 +115,7 @@
if (!that.mobile) return that.$util.Tips({
title: '请填写手机号码'
});
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.mobile)) return that.$util.Tips({
if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.mobile)) return that.$util.Tips({
title: '请输入正确的手机号码'
});
if (!that.captcha) return that.$util.Tips({
@ -156,7 +156,7 @@
if (!that.mobile) return that.$util.Tips({
title: '请填写手机号码'
});
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.mobile)) return that.$util.Tips({
if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.mobile)) return that.$util.Tips({
title: '请输入正确的手机号码'
});
if (!that.captcha) return that.$util.Tips({
@ -204,7 +204,7 @@
if (!that.mobile) return that.$util.Tips({
title: '请填写手机号码'
});
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.mobile)) return that.$util.Tips({
if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.mobile)) return that.$util.Tips({
title: '请输入正确的手机号码'
});
await registerVerify(that.mobile, 1)

View File

@ -952,7 +952,7 @@
payChannel: that.payChannel
};
console.log(that.system_store.phone,'data')
console.log(that.preOrderNo,'data')
if (data.payType == 'yue' && parseFloat(that.userInfo.nowMoney) < parseFloat(that.totalPrice))
return that.$util
.Tips({

View File

@ -1,26 +1,17 @@
<template>
<view class="container">
<view class="navbar">
<u-sticky bgColor="#fff">
<u-navbar>
<view class="navbar-left" v-slot="left">
<u-icon name="arrow-left"></u-icon>
</view>
<template v-slot="center ">
<view class="search">
<view class="icon">
<u-icon name="search" size="44rpx"></u-icon>
</view>
<view class="input">
<u--input placeholder="请输入内容" v-model="value" @change="change"></u--input>
</view>
<view class="button">搜索</view>
</view>
</template>
</u-navbar>
</u-sticky>
<view class="goback"></view>
<view class="search">
<view class="icon"></view>
<view class="input">
<u--input placeholder="搜索我的订单" v-model="value" @change="change"></u--input>
</view>
<view class="button">搜索</view>
</view>
<view class="" style="width: 50rpx;">
</view>
</view>
<view class="tabs">
<u-tabs :list="list1" @tap="click" lineWidth="60rpx" lineHeight="9rpx"></u-tabs>
@ -29,46 +20,53 @@
<!-- <view class="item" @tap="goOrderDetails(123)">
</view> -->
<view class='list' v-if="status='0'">
<!-- <view class='item' v-for="(item,index) in orderList" :key="index"> -->
<view class='item' v-for="(item,index) in orderList" :key="item.id">
<view @tap='goOrderDetails(item.orderId)'>
<view class="box"></view>
<view class="top">
<view class="shopName">
古驰旗舰店
</view>
<view class="state">
{{getStatus(item.status)}}
</view>
</view>
<view class="content">
<view class="image">
<u--image :showLoading="true" radius="10rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" width="111rpx"
height="99rpx" @tap="click"></u--image>
</view>
<view class="text">
<view class="name">
GUCCI/古驰HADLEY 21
<u-list class='list' height="1180rpx" @scrolltolower="scrolltolower">
<!-- <view class='list'> -->
<!-- <view class='item' v-for="(item,index) in orderList" :key="index"> -->
<!-- <view class='items' v-for="(item,index) in orderList" :key="item.id"> -->
<u-list-item class='items' v-for="(item,index) in orderList" :key="item.id">
<view class="item" v-for="(goods,i) in item.orderInfoList">
<view @tap='goOrderDetails(item.orderId)'>
<view class="box"></view>
<view class="top">
<view class="shopName">
{{goods.productName}}
</view>
<view class="model">
Gucci Blondie小号托特包
</view>
<view class="price">
{{item.payPrice}}
<view class="state">
{{getStatus(item.status)}}
</view>
</view>
<view class="content">
<view class="image">
<u--image :showLoading="true" radius="10rpx" :src="goods.image" width="111rpx"
height="99rpx" @tap="click"></u--image>
</view>
<view class="text">
<view class="name">
{{goods.productName}}
</view>
<view class="model">
{{goods.sku}}
</view>
<view class="price">
{{goods.price}}
</view>
</view>
</view>
<view class="box"></view>
</view>
</view>
</view>
<view v-if="orderList.length == 0">
<emptyPage title="暂无订单~"></emptyPage>
</view>
</u-list-item>
<!-- </view> -->
<view v-if="orderList.length == 0">
<emptyPage title="暂无订单~"></emptyPage>
</view>
<!-- </view> -->
</u-list>
<!-- <view class='loadingicon acea-row row-center-wrapper' v-if="orderList.length>0">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view> -->
</view>
</template>
@ -122,17 +120,18 @@
name: '待发货',
value: '1'
}, {
name: '已完成',
name: '待收货',
value: '2'
}, {
name: '售后中',
value: '3'
}, {
name: '已关闭',
name: '已完成',
value: '4'
}, {
name: '售后/退款',
value: '-3'
}],
limit: 20,
itemList: [],
value: '',
currentPage: 1,
listTitle: '',
pageSize: 10,
@ -217,7 +216,7 @@
}
},
click(item) {
console.log(item.value,1)
console.log(item.value, 1)
if (item.value == this.orderStatus) return;
this.orderStatus = item.value
console.log(this.orderStatus)
@ -227,7 +226,7 @@
this.$set(this, 'orderList', []);
this.getOrderData();
this.getOrderList()
},
onLoadFun() {
this.getOrderData();
@ -424,7 +423,64 @@
<style scoped lang="scss">
.container {
width: 100%;
height: 100%;
.navbar {
position: fixed;
top: 0;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
height: 44px;
background: #fff;
z-index: 999;
.goback {
margin-left: 30rpx;
width: 48rpx;
height: 48rpx;
background: url(@/static/images/shop/goback.png);
background-size: 100% 100%;
}
.search {
width: 523rpx;
height: 69rpx;
border: 1rpx solid #FE7596;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 34rpx;
.icon {
margin-left: 10rpx;
width: 37rpx;
height: 31rpx;
background: url(@/static/images/shop/index_search.png);
background-size: 100% 100%;
}
.button {
margin-right: 3rpx;
width: 113rpx;
height: 59rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 7rpx 0rpx rgba(108,6,31,0.1);
border-radius: 30rpx;
line-height: 59rpx;
text-align: center;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 400;
color: #EC2A63;
}
}
}
.tabs {
width: 100%;
height: 100rpx;
background: #fff;
@ -432,113 +488,105 @@
}
.list {
position: absolute;
top: 120rpx;
width: 100%;
height: 100vh;
.item {
overflow: scroll;
.items {
margin-top: 21rpx;
margin-left: 40rpx;
width: 669rpx;
height: 238rpx;
background: #fff;
border-radius: 20rpx;
.box {
width: 100%;
height: 22rpx;
}
.item {
width: 669rpx;
height: 238rpx;
.top {
margin-left: 26rpx;
display: flex;
justify-content: space-between;
.top {
margin-left: 26rpx;
display: flex;
justify-content: space-between;
.shopName {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
}
.state {
margin-right: 31rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #EF1E5F;
}
}
.content {
margin-top: 32rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
height: 110rpx;
.image {
margin-left: 35rpx;
}
.text {
width: 420rpx;
height: 100%;
margin-right: 60rpx;
.name {
font-size: 26rpx;
.shopName {
width: 120px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
}
.model {
margin: 10rpx 0;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 400;
color: #B7B7B7;
}
.price {
.state {
margin-right: 31rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #E94343;
color: #EF1E5F;
}
}
.box {
width: 100%;
height: 22rpx;
}
.content {
margin-top: 32rpx;
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
height: 110rpx;
.image {
margin-left: 35rpx;
}
.text {
width: 420rpx;
height: 100%;
margin-right: 60rpx;
.name {
width: 440rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
}
.model {
margin: 10rpx 0;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 400;
color: #B7B7B7;
}
.price {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #E94343;
}
}
}
}
}
}
.search {
width: 523rpx;
height: 69rpx;
border: 1rpx solid #FE7596;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 27rpx;
.icon {}
.button {
margin-right: 3rpx;
width: 82rpx;
height: 46rpx;
line-height: 45rpx;
text-align: center;
background: linear-gradient(0deg, #F02563 0%, #FE7596 100%);
border-radius: 22.5rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
</style>

View File

@ -88,7 +88,7 @@
if (!this.registerForm.mobile) return this.$util.Tips({
title: '请填写手机号码'
});
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[1-25-9])\d{8}$/g.test(this.registerForm.mobile)) return this.$util.Tips({
if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[1-25-9])\d{8}$/g.test(this.registerForm.mobile)) return this.$util.Tips({
title: '请输入正确的手机号码'
});
if(this.checked.length === 0) return this.$util.Tips({

View File

@ -85,7 +85,7 @@
if (!that.account) return that.$util.Tips({
title: '请填写手机号码'
});
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.account)) return that.$util.Tips({
if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.account)) return that.$util.Tips({
title: '请输入正确的手机号码'
});
if (!that.captcha) return that.$util.Tips({
@ -114,7 +114,7 @@
if (!that.account) return that.$util.Tips({
title: '请填写手机号码'
});
if (/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.account)) return that.$util.Tips({
if (!/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/.test(that.account)) return that.$util.Tips({
title: '请输入正确的手机号码'
});
await registerVerify(that.account, 3)

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB