From ca48ddbabf37837e8336ad06adc4e3023ad0748e Mon Sep 17 00:00:00 2001 From: "AERWEN\\26795" <123456789a> Date: Sun, 22 Oct 2023 15:27:54 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E5=AF=B9=E6=8E=A5=E5=94=AE=E5=90=8E?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/cart/index.js | 12 ++- pages/order/after-service-detail/index.js | 102 ++++++++++---------- pages/order/after-service-detail/index.wxml | 7 +- pages/order/config.js | 14 +-- services/order/getOrderRefundDetails.js | 22 +++++ 5 files changed, 96 insertions(+), 61 deletions(-) create mode 100644 services/order/getOrderRefundDetails.js diff --git a/pages/cart/index.js b/pages/cart/index.js index c7517b3..25e7ff9 100644 --- a/pages/cart/index.js +++ b/pages/cart/index.js @@ -48,9 +48,17 @@ Page({ goods.originPrice = undefined; // 统计是否有加购数大于库存数的商品 - if (goods.quantity > goods.stockQuantity) { - store.storeStockShortage = true; + if(goods.skuId != 0){ + if (goods.quantity > goods.skuStockQuantity) { + store.storeStockShortage = true; + } } + else{ + if (goods.quantity > goods.stockQuantity) { + store.storeStockShortage = true; + } + } + // 统计是否全选 if (!goods.isSelected) { store.isSelected = false; diff --git a/pages/order/after-service-detail/index.js b/pages/order/after-service-detail/index.js index d90dba4..619d9da 100644 --- a/pages/order/after-service-detail/index.js +++ b/pages/order/after-service-detail/index.js @@ -1,6 +1,9 @@ import Toast from 'tdesign-miniprogram/toast/index'; import { ServiceType, ServiceTypeDesc, ServiceStatus } from '../config'; import { formatTime, getRightsDetail } from './api'; +import { + getOrderRefundDetails +} from '~/services/order/getOrderRefundDetails'; const TitleConfig = { [ServiceType.ORDER_CANCEL]: '退款详情', @@ -49,77 +52,78 @@ Page({ }); }, + // 获取订单详情 getService() { - const params = { rightsNo: this.rightsNo }; - return getRightsDetail(params).then((res) => { - const serviceRaw = res.data[0]; + const params = { orderRefundGuid: this.rightsNo }; + return getOrderRefundDetails(params).then((res) => { + const serviceRaw = res.data; // 滤掉填写运单号、修改运单号按钮,这两个按钮特殊处理,不在底部按钮栏展示 if (!serviceRaw.buttonVOs) serviceRaw.buttonVOs = []; const deliveryButton = {}; const service = { - id: serviceRaw.rights.rightsNo, - serviceNo: serviceRaw.rights.rightsNo, - storeName: serviceRaw.rights.storeName, - type: serviceRaw.rights.rightsType, - typeDesc: ServiceTypeDesc[serviceRaw.rights.rightsType], - status: serviceRaw.rights.rightsStatus, - statusIcon: this.genStatusIcon(serviceRaw.rights), - statusName: serviceRaw.rights.userRightsStatusName, - statusDesc: serviceRaw.rights.userRightsStatusDesc, - amount: serviceRaw.rights.refundRequestAmount, - goodsList: (serviceRaw.rightsItem || []).map((item, i) => ({ + id: serviceRaw.orderRefundGuid, + serviceNo: serviceRaw.orderRefundGuid, + storeName: serviceRaw.storeName, + type: serviceRaw.refundType, + typeDesc: ServiceTypeDesc[serviceRaw.refundType], + status: serviceRaw.status, + statusIcon: this.genStatusIcon(serviceRaw), + statusName: serviceRaw.statusName, + statusDesc: serviceRaw.eserRightsStatusDesc, + amount: serviceRaw.refundMoney, + goodsList: (serviceRaw.orderRefundGoodList || []).map((item, i) => ({ id: i, - thumb: item.goodsPictureUrl, - title: item.goodsName, - specs: (item.specInfo || []).map((s) => s.specValues || ''), - itemRefundAmount: item.itemRefundAmount, - rightsQuantity: item.rightsQuantity, + thumb: item.thumb, + title: item.title, + specs: (item.specifications || []).map((s) => s.specValue || ''), + itemRefundAmount: item.price, + rightsQuantity: item.buyQuantity, })), - orderNo: serviceRaw.rights.orderNo, // 订单编号 - rightsNo: serviceRaw.rights.rightsNo, // 售后服务单号 - rightsReasonDesc: serviceRaw.rights.rightsReasonDesc, // 申请售后原因 - isRefunded: serviceRaw.rights.userRightsStatus === ServiceStatus.REFUNDED, // 是否已退款 - refundMethodList: (serviceRaw.refundMethodList || []).map((m) => ({ - name: m.refundMethodName, - amount: m.refundMethodAmount, - })), // 退款明细 - refundRequestAmount: serviceRaw.rights.refundRequestAmount, // 申请退款金额 - payTraceNo: serviceRaw.rightsRefund.traceNo, // 交易流水号 - createTime: formatTime(parseFloat(`${serviceRaw.rights.createTime}`), 'YYYY-MM-DD HH:mm'), // 申请时间 - logisticsNo: serviceRaw.logisticsVO.logisticsNo, // 退货物流单号 - logisticsCompanyName: serviceRaw.logisticsVO.logisticsCompanyName, // 退货物流公司 - logisticsCompanyCode: serviceRaw.logisticsVO.logisticsCompanyCode, // 退货物流公司 - remark: serviceRaw.logisticsVO.remark, // 退货备注 - receiverName: serviceRaw.logisticsVO.receiverName, // 收货人 - receiverPhone: serviceRaw.logisticsVO.receiverPhone, // 收货人电话 + orderNo: serviceRaw.orderNo, // 订单编号 + // rightsNo: serviceRaw.rights.rightsNo, // 售后服务单号 + rightsReasonDesc: serviceRaw.reason, // 申请售后原因 + isRefunded: serviceRaw.status === ServiceStatus.REFUNDED, // 是否已退款 + // refundMethodList: (serviceRaw.refundMethodList || []).map((m) => ({ + // name: m.refundMethodName, + // amount: m.refundMethodAmount, + // })), // 退款明细 + refundRequestAmount: serviceRaw.refundRequestAmount, // 申请退款金额 + // payTraceNo: serviceRaw.rightsRefund.traceNo, // 交易流水号 + createTime: serviceRaw.createTime, // 申请时间 + logisticsNo: serviceRaw.trajectoryVos?.logisticsCompanyCode, // 退货物流单号 + logisticsCompanyName: serviceRaw.trajectoryVos?.logisticsCompanyName, // 退货物流公司 + logisticsCompanyCode: serviceRaw.trajectoryVos?.logisticsCompanyCode, // 退货物流公司 + // remark: serviceRaw.logisticsVO.remark, // 退货备注 + receiverName: serviceRaw.logisticsVO?.receiverName, // 收货人 + receiverPhone: serviceRaw.logisticsVO?.receiverPhone, // 收货人电话 receiverAddress: this.composeAddress(serviceRaw), // 收货人地址 - applyRemark: serviceRaw.rightsRefund.refundDesc, // 申请退款时的填写的说明 + applyRemark: serviceRaw.customerRefundDesc, // 申请退款时的填写的说明 buttons: serviceRaw.buttonVOs || [], - logistics: serviceRaw.logisticsVO, + logistics: serviceRaw?.logisticsVO, }; - const proofs = serviceRaw.rights.rightsImageUrls || []; + const proofs = serviceRaw.customerRefundImg.split(',') || []; this.setData({ serviceRaw, service, deliveryButton, 'gallery.proofs': proofs, showProofs: - serviceRaw.rights.userRightsStatus === ServiceStatus.PENDING_VERIFY && + serviceRaw.status === ServiceStatus.PENDING_VERIFY && (service.applyRemark || proofs.length > 0), }); wx.setNavigationBarTitle({ - title: TitleConfig[service.type], + title: TitleConfig[service.refundType], }); }); }, composeAddress(service) { return [ - service.logisticsVO.receiverProvince, - service.logisticsVO.receiverCity, - service.logisticsVO.receiverCountry, - service.logisticsVO.receiverArea, - service.logisticsVO.receiverAddress, + service.logisticsVO?.receiverProvince, + service.logisticsVO?.receiverCity, + service.logisticsVO?.receiverCountry, + service.logisticsVO?.receiverArea, + service.logisticsVO?.receiverAddress, ] .filter((item) => !!item) .join(' '); @@ -178,8 +182,8 @@ Page({ /** 获取状态ICON */ genStatusIcon(item) { - const { userRightsStatus, afterSaleRequireType } = item; - switch (userRightsStatus) { + const { status, refundType } = item; + switch (status) { // 退款成功 case ServiceStatus.REFUNDED: { return 'succeed'; @@ -189,7 +193,7 @@ Page({ return 'indent_close'; } default: { - switch (afterSaleRequireType) { + switch (refundType) { case 'REFUND_MONEY': { return 'goods_refund'; } diff --git a/pages/order/after-service-detail/index.wxml b/pages/order/after-service-detail/index.wxml index 9ad5f79..8e9c217 100644 --- a/pages/order/after-service-detail/index.wxml +++ b/pages/order/after-service-detail/index.wxml @@ -76,7 +76,7 @@ {{service.receiverAddress}} 收货人:{{service.receiverName}} - 收货人手机:{{service.receiverName}} + 收货人手机:{{service.receiverPhone}} @@ -97,6 +97,7 @@ > - 复制 - + --> { + request({ + url: `OrderRefundApi/getOrderRefundDetails`, + method: 'Get', + data: data, + success: function (res) { + + resolve(res); + }, + fail: function (error) { + reject(error); + } + }); + }); +}