diff --git a/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/OrderInfoResponse.java b/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/OrderInfoResponse.java index 4145a9725..f9da6ffb8 100644 --- a/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/OrderInfoResponse.java +++ b/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/OrderInfoResponse.java @@ -60,4 +60,10 @@ public class OrderInfoResponse implements Serializable { @Schema(description = "规格属性值") private String sku; + + @Schema(description = "购买东西的详细信息") + private String info; + private String productName; + + } diff --git a/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/StoreOrderDetailInfoResponse.java b/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/StoreOrderDetailInfoResponse.java index 931d07b87..a8e9bf712 100644 --- a/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/StoreOrderDetailInfoResponse.java +++ b/yudao-module-mall/yudao-module-shop-api/src/main/java/cn/iocoder/yudao/module/shop/response/order/StoreOrderDetailInfoResponse.java @@ -72,7 +72,7 @@ public class StoreOrderDetailInfoResponse implements Serializable { private BigDecimal deductionPrice; @Schema(description = "优惠券id") - private Integer couponId; + private Long couponId; @Schema(description = "优惠券金额") private BigDecimal couponPrice; diff --git a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderServiceImpl.java b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderServiceImpl.java index 9879a8370..ed0231f75 100644 --- a/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderServiceImpl.java +++ b/yudao-module-mall/yudao-module-shop-biz/src/main/java/cn/iocoder/yudao/module/shop/service/order/impl/OrderServiceImpl.java @@ -63,6 +63,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.support.TransactionTemplate; import cn.iocoder.yudao.framework.common.util.date.DateUtils; +import org.springframework.util.CollectionUtils; import javax.annotation.Resource; import java.math.BigDecimal; @@ -72,15 +73,15 @@ import java.util.stream.Collectors; /** * H5端订单操作 - * +---------------------------------------------------------------------- - * | CRMEB [ CRMEB赋能开发者,助力企业发展 ] - * +---------------------------------------------------------------------- - * | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved. - * +---------------------------------------------------------------------- - * | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 - * +---------------------------------------------------------------------- - * | Author: CRMEB Team - * +---------------------------------------------------------------------- + * +---------------------------------------------------------------------- + * | CRMEB [ CRMEB赋能开发者,助力企业发展 ] + * +---------------------------------------------------------------------- + * | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved. + * +---------------------------------------------------------------------- + * | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 + * +---------------------------------------------------------------------- + * | Author: CRMEB Team + * +---------------------------------------------------------------------- */ @Service public class OrderServiceImpl implements OrderService { @@ -140,6 +141,7 @@ public class OrderServiceImpl implements OrderService { @Autowired private StoreProductAttrValueService storeProductAttrValueService; + /** * 订单列表 * @@ -151,12 +153,27 @@ public class OrderServiceImpl implements OrderService { public PageInfo list(Integer type, PageParam pageRequest) { PageHelper.startPage(pageRequest.getPageNo(), pageRequest.getPageSize()); LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - if(null != type){ + if (null != type) { lambdaQueryWrapper.eq(StoreOrder::getType, type); } lambdaQueryWrapper.orderByDesc(StoreOrder::getId); List storeOrders = dao.selectList(lambdaQueryWrapper); - return new PageInfo<>(StoreOrderConvert.INSTANCE.convert(storeOrders)); + PageInfo orderDetailResponsePageInfo = new PageInfo<>(StoreOrderConvert.INSTANCE.convert(storeOrders)); + if (!CollectionUtils.isEmpty(orderDetailResponsePageInfo.getList())) { + orderDetailResponsePageInfo.getList().forEach(e -> { + List list = storeOrderInfoService.list(Wrappers.lambdaQuery().eq(StoreOrderInfo::getOrderId, e.getId())); + if (!CollectionUtils.isEmpty(list)) { + List orderInfoList = new ArrayList<>(); + list.forEach(x -> { + OrderInfoResponse response = new OrderInfoResponse(); + BeanUtils.copyProperties(x, response); + orderInfoList.add(response); + }); + e.setOrderInfoList(orderInfoList); + } + }); + } + return orderDetailResponsePageInfo; } /** @@ -167,13 +184,26 @@ public class OrderServiceImpl implements OrderService { @Override public StoreOrderDetailInfoResponse detailOrder(String orderId) { StoreOrder storeOrder = storeOrderService.getByOderId(orderId); - return StoreOrderOneConvert.INSTANCE.convert(storeOrder); + List list = storeOrderInfoService.list(Wrappers.lambdaQuery().eq(StoreOrderInfo::getOrderId, storeOrder.getId())); + StoreOrderDetailInfoResponse convert = StoreOrderOneConvert.INSTANCE.convert(storeOrder); + if (!CollectionUtils.isEmpty(list)) { + List orderInfoList = new ArrayList<>(); + list.forEach(e -> { + OrderInfoResponse response = new OrderInfoResponse(); + BeanUtils.copyProperties(e, response); + orderInfoList.add(response); + }); + convert.setOrderInfoList(orderInfoList); + } + + return convert; } /** * 获取订单总数 + * * @param dateLimit 时间端 - * @param status String 状态 + * @param status String 状态 * @return Integer */ private Long getCount(String dateLimit, String status, Integer type) { @@ -192,8 +222,9 @@ public class OrderServiceImpl implements OrderService { /** * 获取订单金额 + * * @param dateLimit 时间端 - * @param type 支付类型 + * @param type 支付类型 * @return BigDecimal */ private BigDecimal getAmount(String dateLimit, String type) { @@ -217,8 +248,9 @@ public class OrderServiceImpl implements OrderService { /** * 根据订单状态获取where条件 + * * @param queryWrapper QueryWrapper 表达式 - * @param status String 类型 + * @param status String 类型 */ private void getStatusWhereNew(QueryWrapper queryWrapper, String status) { if (StrUtil.isBlank(status)) { @@ -266,7 +298,7 @@ public class OrderServiceImpl implements OrderService { break; case Constants.ORDER_STATUS_REFUNDING: //退款中 queryWrapper.eq("paid", 1); - queryWrapper.in("refund_status", 1,3); + queryWrapper.in("refund_status", 1, 3); queryWrapper.eq("is_del", 0); break; case Constants.ORDER_STATUS_REFUNDED: //已退款 @@ -291,7 +323,7 @@ public class OrderServiceImpl implements OrderService { * @return 订单状态数据量 */ @Override - public OrderDataResponse orderData(String dateLimit, Integer type,String payType) { + public OrderDataResponse orderData(String dateLimit, Integer type, String payType) { OrderDataResponse response = new OrderDataResponse(); if (type.equals(2)) { type = null; @@ -307,7 +339,7 @@ public class OrderServiceImpl implements OrderService { // 退款订单数量 response.setRefundCount(getCount(dateLimit, Constants.ORDER_STATUS_REFUNDED, type)); // 总消费钱数 - response.setSumPrice(getAmount(dateLimit,payType)); + response.setSumPrice(getAmount(dateLimit, payType)); // 未支付订单数量 response.setUnPaidCount(getCount(dateLimit, Constants.ORDER_STATUS_UNPAID, type)); // 待发货订单数量 @@ -330,7 +362,8 @@ public class OrderServiceImpl implements OrderService { /** * 查询单条订单 - *@param orderNo 订单编号 + * + * @param orderNo 订单编号 * @return 退款理由集合 */ private StoreOrder getInfoException(Integer orderNo) { @@ -342,6 +375,7 @@ public class OrderServiceImpl implements OrderService { } return storeOrder; } + /** * 订单删除 * @@ -517,7 +551,7 @@ public class OrderServiceImpl implements OrderService { */ @Override public Object expressOrder(String orderId) { - HashMap resultMap = new HashMap<>(); + HashMap resultMap = new HashMap<>(); StoreOrder storeOrderPram = new StoreOrder(); storeOrderPram.setOrderId(orderId); StoreOrder existOrder = storeOrderService.getByEntityOne(storeOrderPram); @@ -547,7 +581,7 @@ public class OrderServiceImpl implements OrderService { orderInfo.put("info", cartInfos); resultMap.put("order", orderInfo); - // resultMap.put("express", expressInfo); + // resultMap.put("express", expressInfo); return resultMap; } @@ -770,7 +804,7 @@ public class OrderServiceImpl implements OrderService { //用户剩余积分 //用户剩余经验 // 缓存订单 - String key = user.getId() + DateUtils.getNowTime().toString()+CrmebUtil.getUuid(); + String key = user.getId() + DateUtils.getNowTime().toString() + CrmebUtil.getUuid(); redisUtil.set("user_order:" + key, JSONUtil.parseObj(orderInfoVo), Constants.ORDER_CASH_CONFIRM, TimeUnit.MINUTES); MyRecord record = new MyRecord(); record.set("preOrderNo", key); @@ -779,6 +813,7 @@ public class OrderServiceImpl implements OrderService { /** * 校验预下单商品信息 + * * @param request 预下单请求参数 * @return OrderInfoVo */ @@ -866,6 +901,7 @@ public class OrderServiceImpl implements OrderService { /** * 再次下单预下单校验 + * * @param detailRequest 请求参数 * @return List */ @@ -935,8 +971,9 @@ public class OrderServiceImpl implements OrderService { /** * 购物车预下单校验 + * * @param request 请求参数 - * @param user 用户 + * @param user 用户 * @return List */ private List validatePreOrderShopping(PreOrderRequest request, MemberUserRespDTO user) { @@ -991,6 +1028,7 @@ public class OrderServiceImpl implements OrderService { }); return detailVoList; } + /** * 加载预下单信息 * @@ -1031,6 +1069,7 @@ public class OrderServiceImpl implements OrderService { /** * 计算订单价格 + * * @param request 计算订单价格请求对象 * @return ComputedOrderPriceResponse */ @@ -1137,7 +1176,7 @@ public class OrderServiceImpl implements OrderService { orderRequest.setRealName(userAddress.getRealName()); orderRequest.setPhone(userAddress.getPhone()); userAddressStr = userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getDetail(); - }else if (orderRequest.getShippingType() == 2) { // 到店自提 + } else if (orderRequest.getShippingType() == 2) { // 到店自提 if (StringUtils.isBlank(orderRequest.getRealName()) || StringUtils.isBlank(orderRequest.getPhone())) { throw new ServiceException("请填写姓名和电话"); } @@ -1150,7 +1189,7 @@ public class OrderServiceImpl implements OrderService { // if (ObjectUtil.isNull(systemStore) || systemStore.getIsDel() || !systemStore.getIsShow()) { // throw new ServiceException("暂无门店无法选择门店自提"); // } - verifyCode = CrmebUtil.randomCount(1111111111,999999999)+""; + verifyCode = CrmebUtil.randomCount(1111111111, 999999999) + ""; //userAddressStr = systemStore.getName(); } @@ -1292,7 +1331,7 @@ public class OrderServiceImpl implements OrderService { storeOrder.setType(1);// 视频号订单 } - // StoreCouponUser storeCouponUser = new StoreCouponUser(); + // StoreCouponUser storeCouponUser = new StoreCouponUser(); // 优惠券修改 // if (storeOrder.getCouponId() > 0) { // storeCouponUser = storeCouponUserService.getById(storeOrder.getCouponId()); @@ -1304,12 +1343,12 @@ public class OrderServiceImpl implements OrderService { // 扣减库存 // 需要根据是否活动商品,扣减不同的库存 // 普通商品 - for (MyRecord skuRecord : skuRecordList) { - // 普通商品口库存 - storeProductService.operationStock(skuRecord.getInt("productId"), skuRecord.getInt("num"), "sub"); - // 普通商品规格扣库存 - //storeProductAttrValueService.operationStock(skuRecord.getInt("attrValueId"), skuRecord.getInt("num"), "sub", Constants.PRODUCT_TYPE_NORMAL); - }// + for (MyRecord skuRecord : skuRecordList) { + // 普通商品口库存 + storeProductService.operationStock(skuRecord.getInt("productId"), skuRecord.getInt("num"), "sub"); + // 普通商品规格扣库存 + //storeProductAttrValueService.operationStock(skuRecord.getInt("attrValueId"), skuRecord.getInt("num"), "sub", Constants.PRODUCT_TYPE_NORMAL); + }// storeOrderService.create(storeOrder); storeOrderInfos.forEach(info -> info.setOrderId(storeOrder.getId())); @@ -1337,7 +1376,7 @@ public class OrderServiceImpl implements OrderService { redisUtil.lPush(Constants.ORDER_AUTO_CANCEL_KEY, storeOrder.getOrderId()); // TODO 发送后台管理员下单提醒通知短信 - // sendAdminOrderNotice(storeOrder.getOrderId()); + // sendAdminOrderNotice(storeOrder.getOrderId()); MyRecord record = new MyRecord(); record.set("orderNo", storeOrder.getOrderId()); @@ -1346,6 +1385,7 @@ public class OrderServiceImpl implements OrderService { /** * 校验商品库存(生成订单) + * * @param orderInfoVo 订单详情Vo * @return List * skuRecord 扣减库存对象 @@ -1392,6 +1432,7 @@ public class OrderServiceImpl implements OrderService { } return recordList; } + /** * 获取支付配置 * diff --git a/yudao-ui-admin/src/api/cremb/logistics.js b/yudao-ui-admin/src/api/cremb/logistics.js index 7821036d7..5f7855840 100644 --- a/yudao-ui-admin/src/api/cremb/logistics.js +++ b/yudao-ui-admin/src/api/cremb/logistics.js @@ -143,6 +143,15 @@ export function shippingRegion(data) { }) } +// 物流运费模板指定不配送 +export function shippingNodelivery(data) { + return request({ + url: 'admin/express/shipping/no_delivery/list', + method: 'get', + params: { ...data } + }) +} + // 物流运费模板新增 export function shippingSave(data) { return request({ diff --git a/yudao-ui-admin/src/views/deliverGoods/freightSet/creatTemplates.vue b/yudao-ui-admin/src/views/deliverGoods/freightSet/creatTemplates.vue index 6b7038c94..4fbafa4d8 100644 --- a/yudao-ui-admin/src/views/deliverGoods/freightSet/creatTemplates.vue +++ b/yudao-ui-admin/src/views/deliverGoods/freightSet/creatTemplates.vue @@ -168,6 +168,7 @@ import * as logistics from '@/api/cremb/logistics' import { Loading } from 'element-ui' import {Debounce} from '@/utils/validate' +import {shippingNodelivery} from "@/api/cremb/logistics"; const defaultRole = { name: '', type: 1, @@ -357,6 +358,10 @@ export default { if (info.appoint) { this.shippingFree() } + // 指定不包邮 + if(info.noDelivery){ + this.shippingNodelivery() + } }).catch(res => { // console.integralLog(res) this.$message.error(res.message) @@ -379,10 +384,24 @@ export default { shippingFree() { logistics.shippingFree({ tempId: this.tempId }).then(res => { res.data.forEach((item, index) => { - item.title = JSON.parse(item.title) - item.city_ids = item.title + // item.title = JSON.parse(item.title) + item.city_ids = item.cityId.split(',') }) this.ruleForm.free = res.data + console.log(this.ruleForm.free ) + + }) + }, + // 包邮 + shippingNodelivery() { + logistics.shippingNodelivery({ tempId: this.tempId }).then(res => { + res.data.forEach((item, index) => { + // item.title = JSON.parse(item.title) + item.city_ids = item.cityId.split(',') + }) + this.ruleForm.noDelivery = res.data + console.log(this.ruleForm.noDelivery ) + }) }, removeChild(list){ @@ -443,9 +462,7 @@ export default { } this.ruleForm.region.forEach((el, index) => { if(el.city_ids.length > 0){ - el.cityId = el.city_ids.map(item => { - return item[2] - }).join(',') + el.cityId = JSON.stringify(el.city_ids) }else{ el.cityId = 'all' } @@ -467,9 +484,7 @@ export default { if (this.ruleForm.appoint) { this.ruleForm.free.forEach((el, index) => { if(el.city_ids.length > 0){ - el.cityId = el.city_ids.map(item => { - return item[2] - }).join(',') + el.cityId = JSON.stringify(el.city_ids) }else{ el.cityId = 'all' } diff --git a/yudao-ui-app/App.vue b/yudao-ui-app/App.vue index 72690a77d..8d3bbc918 100644 --- a/yudao-ui-app/App.vue +++ b/yudao-ui-app/App.vue @@ -186,7 +186,7 @@ if (this.$store.getters.isLogin) { this.setRefreshToken() } - }, 60000) + }, 600000) }, // 是否扫码跳转 isQRCode() { diff --git a/yudao-ui-app/api/member.js b/yudao-ui-app/api/member.js index 8e3ef8e34..6f93e6d05 100644 --- a/yudao-ui-app/api/member.js +++ b/yudao-ui-app/api/member.js @@ -15,6 +15,20 @@ export function memberOrderInfo(){ return request.get('api/order/member/memberOrderInfo', {}) } +/** + * 查询权益档位信息 + */ +export function query(phone){ + return request.get(`shop/refund-fee-record/query?phone=${phone}`, {}) +} + +/** + * 查询档位返费信息 + */ +export function memberQuery(reportId){ + return request.get(`shop/refund-fee-record/query-item?reportId=${reportId}`, {}) +} + /** * 根据手机号查询档次信息 */ diff --git a/yudao-ui-app/components/paymentMember/index.vue b/yudao-ui-app/components/paymentMember/index.vue index 2badafc4e..122525432 100644 --- a/yudao-ui-app/components/paymentMember/index.vue +++ b/yudao-ui-app/components/paymentMember/index.vue @@ -216,7 +216,7 @@ width: 100%; border-radius: 16rpx 16rpx 0 0; background-color: #fff; - padding-bottom: 4%; + padding-bottom: 100rpx; z-index: 99; transition: all 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); transform: translate3d(0, 100%, 0); @@ -256,7 +256,7 @@ } .payment .item .left { - width: 610rpx; + width: 600rpx; } .payment .item .left .text { diff --git a/yudao-ui-app/pages.json b/yudao-ui-app/pages.json index 115212c27..da66973c9 100644 --- a/yudao-ui-app/pages.json +++ b/yudao-ui-app/pages.json @@ -10,6 +10,18 @@ // } } }, + { + "path": "pages/member_loding/index", + "style": { + "navigationBarTitleText": "会员" + } + }, + { + "path": "pages/member_detail/index", + "style": { + "navigationBarTitleText": "权益明细" + } + }, { "path": "pages/member_equity/index", "style": { @@ -577,27 +589,28 @@ // { // "pagePath": "pages/index/index", // "iconPath": "static/images/tabbar/nav_icon_shop.png", - // "selectedIconPath": "static/images/1-002.png", + // "selectedIconPath": "static/images/tabbar/nav_icon_shop_active.png", // "text": "商城" // }, - // { - // "pagePath": "pages/goods_cate/goods_cate", - // "iconPath": "static/images/tabbar/nav_icon_sort.png", - // "selectedIconPath": "static/images/2-002.png", - // "text": "分类" - // }, + { "pagePath": "pages/member_application/index", - "iconPath": "static/images/2-001.png", + "iconPath": "static/images/tabbar/nav_icon_member.png", "selectedIconPath": "static/images/tabbar/nav_icon_member_active.png", "text": "会员申请" }, { "pagePath": "pages/member_equity/index", - "iconPath": "static/images/2-001.png", + "iconPath": "static/images/tabbar/nav_icon_member.png", "selectedIconPath": "static/images/tabbar/nav_icon_member_active.png", "text": "会员申请", "visible":false + }, + { + "pagePath": "pages/goods_cate/goods_cate", + "iconPath": "static/images/tabbar/nav_icon_sort.png", + "selectedIconPath": "static/images/tabbar/nav_icon_sort_active.png", + "text": "分类" }, // { // "pagePath": "pages/order_addcart/order_addcart", diff --git a/yudao-ui-app/pages/goods_details/index.vue b/yudao-ui-app/pages/goods_details/index.vue index 1cb2e3f67..93635dd6d 100644 --- a/yudao-ui-app/pages/goods_details/index.vue +++ b/yudao-ui-app/pages/goods_details/index.vue @@ -105,7 +105,7 @@ --> - + + - + --> @@ -167,11 +167,11 @@ - + @@ -954,9 +954,9 @@ } else { obj.type = ""; } - getCoupons(obj).then(res => { - that.$set(that.coupon, 'list', res.data); - }); + // getCoupons(obj).then(res => { + // that.$set(that.coupon, 'list', res.data); + // }); }, tabCouponType(type) { this.$set(this.coupon, 'type', type); diff --git a/yudao-ui-app/pages/member_application/index.vue b/yudao-ui-app/pages/member_application/index.vue index dd37bbd7b..92b2bcd13 100644 --- a/yudao-ui-app/pages/member_application/index.vue +++ b/yudao-ui-app/pages/member_application/index.vue @@ -27,6 +27,7 @@ + @@ -37,13 +38,10 @@ - - - - - - - + + + + @@ -60,18 +58,16 @@ }, data() { return { - title:'管理', - list: [ - { - name:'购买记录', - fontSize:'28' - }, - { - name:'为他人充值', - fontSize:'28' - }, - ], - show: false, + // list: [ + // { + // name:'购买记录', + // fontSize:'28' + // }, + // { + // name:'为他人充值', + // fontSize:'28' + // }, + // ], memberData: [], payInfo: { userPhone: '', @@ -96,16 +92,17 @@ form: { phone: '' }, - + show:true, + ref:null }; }, async onLoad() { - uni.showLoading({ - title: '加载中', - mask: true - }); try{ + uni.showLoading({ + title: '加载中', + mask: true + }); const res = await memberGradeInfo() if(res.data.some((item) => !!parseInt(item.isExist))){ uni.setTabBarItem({ @@ -120,9 +117,6 @@ index: 0, pagePath: '/pages/member_application/index' }) - uni.switchTab({ - url:'/pages/member_application/index' - }) } this.memberData = res.data } finally{ @@ -130,7 +124,11 @@ } }, methods: { - + handleOther(){ + uni.navigateTo({ + url:'/pages/member_others/index' + }) + }, handleSelect(value){ switch (value.name){ case "购买记录": @@ -225,15 +223,14 @@ diff --git a/yudao-ui-app/pages/member_detail/index.vue b/yudao-ui-app/pages/member_detail/index.vue new file mode 100644 index 000000000..2193869bf --- /dev/null +++ b/yudao-ui-app/pages/member_detail/index.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/yudao-ui-app/pages/member_equity/index.vue b/yudao-ui-app/pages/member_equity/index.vue index ee6c7d1ac..31cf1db87 100644 --- a/yudao-ui-app/pages/member_equity/index.vue +++ b/yudao-ui-app/pages/member_equity/index.vue @@ -8,8 +8,18 @@ 会员积分:{{memberDetail.integral}} 再升1级即可获得【XX】等6项权益 + + + 购买记录 + + + + 为他人充值 + + + - + 会员等级{{vipData.findIndex((item) => item == memberDetail.grade) +1}}级 @@ -23,47 +33,43 @@ 查看权益> - + - - 办理日期:2021.12.30 + + 办理日期:{{item.startTime}} 已返回金额(元) - 80 - 查看明细> + {{item.totalMoney}} + 查看明细> - 已返回金额(元) - 80 + 带返还金额 (元) + {{list[list.findIndex((i) => item.gear == i.name)].name-item.totalMoney}} - 已返回金额(元) - 80 + 带返还期额 + {{item.frequency}}x12 - 已返回金额(元) - 80 - - - - - - - - - - - + 返费结束时间 + {{item.endTime}} + + + + + + + + diff --git a/yudao-ui-app/pages/member_others/index.vue b/yudao-ui-app/pages/member_others/index.vue index 9b3208a53..37371e058 100644 --- a/yudao-ui-app/pages/member_others/index.vue +++ b/yudao-ui-app/pages/member_others/index.vue @@ -508,7 +508,7 @@ .box-submit { background: linear-gradient(#FFC82B, #FD7A32); - margin-top: 127rpx; + margin-top: 9%; display: flex; justify-content: center; align-items: center; diff --git a/yudao-ui-app/pages/member_renew/index.vue b/yudao-ui-app/pages/member_renew/index.vue index b5de68658..2e8a02e02 100644 --- a/yudao-ui-app/pages/member_renew/index.vue +++ b/yudao-ui-app/pages/member_renew/index.vue @@ -461,7 +461,7 @@ import store from '@/store/index'; .box-submit { background: linear-gradient(#FFC82B, #FD7A32); - margin-top: 127rpx; + margin-top: 9%; display: flex; justify-content: center; align-items: center; diff --git a/yudao-ui-app/pages/users/user_spread_code/index.vue b/yudao-ui-app/pages/users/user_spread_code/index.vue index 57614afea..77abdba74 100644 --- a/yudao-ui-app/pages/users/user_spread_code/index.vue +++ b/yudao-ui-app/pages/users/user_spread_code/index.vue @@ -65,14 +65,20 @@ }, onReady() {}, methods: { - downImage() { + async downImage() { const that = this uni.showLoading({ title: '生成海报中', mask: true }); that.isHideBtn = true - htmlToImage.toJpeg(document.getElementById('poster-wrap'), { + for(let i = 0; i<3; i++){ + await htmlToImage.toPng(document.getElementById('poster-wrap'), { + quality: 0.95, + cacheBust: true + }); + } + htmlToImage.toPng(document.getElementById('poster-wrap'), { quality: 0.95, cacheBust: true }) diff --git a/yudao-ui-app/static/images/others-button.png b/yudao-ui-app/static/images/others-button.png new file mode 100644 index 000000000..9c5010274 Binary files /dev/null and b/yudao-ui-app/static/images/others-button.png differ diff --git a/yudao-ui-app/static/images/others-right.png b/yudao-ui-app/static/images/others-right.png new file mode 100644 index 000000000..d4f1acd25 Binary files /dev/null and b/yudao-ui-app/static/images/others-right.png differ diff --git a/yudao-ui-app/static/images/shopping-right.png b/yudao-ui-app/static/images/shopping-right.png new file mode 100644 index 000000000..cdc755631 Binary files /dev/null and b/yudao-ui-app/static/images/shopping-right.png differ