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 @@
>