From 998a14c87810f2c2ec426ec4d096ef1f5b98bfc7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B5=B5=E6=AF=85?= <1335909236@qq.com>
Date: Thu, 11 Sep 2025 18:04:54 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=94=AE=E5=90=8E=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/afterSale.js | 4 +
api/order.js | 3 -
packages/myOrders/afterSale/index.css | 3 +-
packages/myOrders/afterSale/index.vue | 52 +++++--
packages/myOrders/index/index.css | 2 +-
packages/myOrders/index/index.vue | 109 ++++++++++----
packages/myOrders/index/orderMockData.json | 2 +
.../myOrders/index/popup/afterSale/index.css | 2 -
.../myOrders/index/popup/afterSale/index.vue | 139 +++++++++++-------
.../index/popup/cancelOrder/cancelOrder.vue | 1 -
.../myOrders/index/popup/refund/refund.vue | 1 -
packages/myOrders/pending/index.css | 17 +--
packages/myOrders/pending/index.vue | 21 ++-
13 files changed, 230 insertions(+), 126 deletions(-)
delete mode 100644 api/order.js
diff --git a/api/afterSale.js b/api/afterSale.js
index e5af8f5c..a1440aca 100644
--- a/api/afterSale.js
+++ b/api/afterSale.js
@@ -1,5 +1,9 @@
export const apiArr = {
+ orderList: '/api/v2/wechat/commodity/order', // 商品订单列表
+ afterSalesList: '/api/v2/wechat/commodity/after-sales/list', // 商品订单售后列表
afterSaleCreate: "/api/v2/wechat/commodity/after-sales/refund-info/create", //商品订单售后信息创建
cancelOrConfirm: "/api/v2/wechat/commodity/order/cancel_or_confirm", //商品订单确认收货或取消
isAllow: "/api/v2/wechat/commodity/after-sales/is-allow", //判断订单是否能申请售后
+ revokeApply: "/api/v2/wechat/commodity/after-sales/revoke-apply", //撤销售后申请
+ changeGoodsList: "/api/v2/wechat/commodity/after-sales/change-goods-list", //商品售后换货商品列表
};
diff --git a/api/order.js b/api/order.js
deleted file mode 100644
index 3f115aee..00000000
--- a/api/order.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export const apiArr = {
- orderList: '/api/v2/wechat/commodity/order', // 商品订单列表
-}
\ No newline at end of file
diff --git a/packages/myOrders/afterSale/index.css b/packages/myOrders/afterSale/index.css
index c39d0cb4..189d24df 100644
--- a/packages/myOrders/afterSale/index.css
+++ b/packages/myOrders/afterSale/index.css
@@ -93,8 +93,7 @@
.goods-desc {
font-size: 26rpx;
- color: #ff4d4f;
- background-color: #fff2f0;
+ color: #999999;
padding: 4rpx 12rpx;
border-radius: 8rpx;
display: inline-block;
diff --git a/packages/myOrders/afterSale/index.vue b/packages/myOrders/afterSale/index.vue
index dab0d27a..a0f4c871 100644
--- a/packages/myOrders/afterSale/index.vue
+++ b/packages/myOrders/afterSale/index.vue
@@ -5,9 +5,8 @@
@@ -22,7 +21,7 @@
{{ ite.goods_name }}
退款:¥{{ ite.sales_price }}
- {{ ite.after_sales_reason }}
+ {{ ite.goods_spec }}
¥{{ ite.sales_price }}/个
x{{ ite.count }}
@@ -43,7 +42,7 @@
-
+
@@ -53,6 +52,7 @@
diff --git a/packages/myOrders/index/index.css b/packages/myOrders/index/index.css
index 0b5266dc..3260c051 100644
--- a/packages/myOrders/index/index.css
+++ b/packages/myOrders/index/index.css
@@ -1,6 +1,6 @@
page {
background-color: #f6f7fb;
- padding-bottom: 0;
+ padding-bottom: 50rpx;
min-height: 100vh;
}
diff --git a/packages/myOrders/index/index.vue b/packages/myOrders/index/index.vue
index 11254b31..d1c69045 100644
--- a/packages/myOrders/index/index.vue
+++ b/packages/myOrders/index/index.vue
@@ -5,7 +5,7 @@
:class="['tabItem', selectedTab === index ? 'active2' : '']" @click="selectTab(index, item)">
{{ item.category_name }}
-
+
@@ -16,7 +16,7 @@
-
+
@@ -63,7 +63,7 @@
- {{item.commodity_order_item_list.length}}笔售后
+ {{ item.commodity_order_item_list.length }}笔售后
@@ -93,7 +93,7 @@
-
@@ -117,7 +117,6 @@ import {
upload,
NavgateTo
} from '../../../utils';
-import { apiArr } from "../../../api/order";
import { apiArr as afterSaleApi } from "../../../api/afterSale";
import Rated from "../rated/rated.vue";
import AwaitRated from "../awaitRated/awaitRated.vue";
@@ -151,13 +150,16 @@ export default {
{ category_name: "售后" },
],
selectedTab: 0,
- orderData: orderMockData,
+ // orderData: orderMockData,
+ orderData: [],
showPopup: false,//取消订单
afterSaleGoods: [],//售后商品列表
+ afterSaleOrderItem: {},//售后订单对象
noSalePopup: false,//无售后商品
showTkPopup: false,//申请退款
afterSaleItem: '',//操作对象
+ afterSaleList: [],//售后列表
};
},
methods: {
@@ -182,35 +184,58 @@ export default {
cancel_reason: data.reason,
}
request(afterSaleApi.cancelOrConfirm, "POST", params).then((res) => {
- console.log("🚀 ~ handleOrderCancelled ~ res:", res)
+ this.getOrderList();
});
},
// 售后按钮
afterSale(item) {
+ console.log("🚀 ~ afterSale ~ item:", item)
this.afterSaleGoods = item.commodity_order_item_list;
+ // 保存完整的订单对象
+ this.afterSaleOrderItem = item;
this.$refs.afterSalePopupRef.openAfterSalePopup();
- console.log(item.id);
+ console.log(item.id);
// 根据条件判断是否可以售后
- // request(afterSaleApi.isAllow, "POST", {
- // order_id: item.id,
- // }).then((res) => {
- // console.log("🚀 ~ afterSale ~ res:", res)
- // if (res.data.is_allow_after_sales) {
- // this.afterSaleGoods = res.data.allow_items;
- // // this.selectedAsGood = item.commodity_order_item_list[0].id;
- // this.$refs.afterSalePopupRef.openAfterSalePopup();
- // } else {
- // this.noSalePopup = true
- // }
- // });
+ // request(afterSaleApi.isAllow, "POST", {
+ // order_id: item.id,
+ // }).then((res) => {
+ // console.log("🚀 ~ afterSale ~ res:", res)
+ // if (res.data.is_allow_after_sales) {
+ // this.afterSaleGoods = res.data.allow_items;
+ // // this.selectedAsGood = item.commodity_order_item_list[0].id;
+ // this.$refs.afterSalePopupRef.openAfterSalePopup();
+ // } else {
+ // this.noSalePopup = true
+ // }
+ // });
},
// 处理退款提交事件
handleRefundSubmitted(data) {
+ console.log("🚀 ~ handleRefundSubmitted ~ handleRefundSubmitted:", this.afterSaleOrderItem)
console.log("🚀 ~ handleRefundSubmitted ~ 退款申请提交成功:", data);
+ const params = {
+ nick_name: uni.getStorageSync("nickName"),
+ order_id: this.afterSaleOrderItem.id,
+ goods_ids: this.afterSaleOrderItem.commodity_order_item_list.map(item => item.goods_id),
+ after_sales_type: data.afterSalesType,
+ after_sales_reason: data.refundReason,
+ refund_amount: this.afterSaleOrderItem.total_amount,
+ application_description: data.refundDescription,
+ // 将图片对象数组转换为字符串数组,多个URL用逗号分隔
+ application_images: data.imgList && data.imgList.length > 0 ?
+ data.imgList.map(img => img.url).join(',') : '',
+ order_status: 5,
+ receiving_address: data.merchantAddress,
+ change_goods_id: data.changeServiceId
+ }
+ console.log("🚀 ~ handleRefundConfirmed ~ parasm:", params)
+ // request(afterSaleApi.afterSaleCreate, "POST", params).then((res) => {
+ // this.getOrderList();
+ // });
},
@@ -219,11 +244,11 @@ export default {
this.afterSaleItem = item;
this.showTkPopup = true
},
-
- // 查看物流
- viewLogistics(item) {
-
- },
+
+ // 查看物流
+ viewLogistics(item) {
+
+ },
// 处理退款确认事件
handleRefundConfirmed(data) {
@@ -232,6 +257,7 @@ export default {
const params = {
nick_name: uni.getStorageSync("nickName"),
order_id: this.afterSaleItem.id,
+ goods_ids: this.afterSaleItem.commodity_order_item_list.map(item => item.goods_id),
after_sales_type: 1,
after_sales_reason: data.reason,
refund_amount: this.afterSaleItem.total_amount,
@@ -239,7 +265,7 @@ export default {
}
console.log("🚀 ~ handleRefundConfirmed ~ parasm:", params)
request(afterSaleApi.afterSaleCreate, "POST", params).then((res) => {
- console.log("🚀 ~ handleRefundConfirmed ~ res:", res)
+ this.getOrderList();
});
},
@@ -256,14 +282,14 @@ export default {
}
console.log("🚀 ~ confirmReceiving ~ params:", params)
request(afterSaleApi.cancelOrConfirm, "POST", params).then((res) => {
- console.log("🚀 ~ handleRefundConfirmed ~ res:", res)
+ this.getOrderList();
});
}
},
});
},
goToPay(item) {
- console.log(item);
+ console.log(item);
},
toDetails(item) {
NavgateTo(
@@ -301,16 +327,39 @@ export default {
},
getOrderList() {
- request(apiArr.orderList, "POST", {
+ request(afterSaleApi.orderList, "POST", {
+ order_status: this.selectedTab,
user_id: uni.getStorageSync("userId"),
}).then((res) => {
- //
+ res.order_list.forEach(item => {
+ item.commodity_order_item_list.forEach(good => {
+ good.commodity_pic = picUrl + good.commodity_pic;
+ })
+ })
+ this.orderData = res.order_list;
});
},
+ getAfterSaleList() {
+ const params = {
+ user_id: uni.getStorageSync('userId'),
+ }
+ request(afterSaleApi.afterSalesList, "POST", params).then((res) => {
+ res.after_sales_list.forEach(item => {
+ // 处理退货图片,多个URL用逗号分隔
+ if (item.return_images) {
+ const images = item.return_images.split(',');
+ const processedImages = images.map(img => picUrl + img).join(',');
+ item.return_images = processedImages;
+ }
+ })
+ this.afterSaleList = res.after_sales_list;
+ });
+ }
},
onLoad(options) {
this.getOrderList();
+ this.getAfterSaleList();
},
};
diff --git a/packages/myOrders/index/orderMockData.json b/packages/myOrders/index/orderMockData.json
index cb00571d..b2c3f437 100644
--- a/packages/myOrders/index/orderMockData.json
+++ b/packages/myOrders/index/orderMockData.json
@@ -173,6 +173,8 @@
"create_time": "2024-08-22 14:50:33",
"update_time": "2024-08-22 18:30:15",
"after_sales_count": 1,
+ "supplier_address": "供应商收货地址",
+ "supplier_phone": "11111111111",
"commodity_order_item_list": [
{
"id": 50005,
diff --git a/packages/myOrders/index/popup/afterSale/index.css b/packages/myOrders/index/popup/afterSale/index.css
index fe396c60..da80b64c 100644
--- a/packages/myOrders/index/popup/afterSale/index.css
+++ b/packages/myOrders/index/popup/afterSale/index.css
@@ -427,7 +427,6 @@
}
.itemSize {
- width: 30%;
font-size: 26rpx;
color: #333;
background: #F6F7FB;
@@ -447,7 +446,6 @@
height: 100rpx;
margin-right: 30rpx;
border-radius: 20rpx;
- border:1rpx solid red;
}
.itemSize_top{
diff --git a/packages/myOrders/index/popup/afterSale/index.vue b/packages/myOrders/index/popup/afterSale/index.vue
index 025a6238..8fea2667 100644
--- a/packages/myOrders/index/popup/afterSale/index.vue
+++ b/packages/myOrders/index/popup/afterSale/index.vue
@@ -19,13 +19,14 @@
-
+
+
当日达
当日达
- {{ item.goods_name}}
+ {{ item.goods_name }}
{{ item.goods_spec }}
¥{{ item.cost_price }}/个
@@ -50,7 +51,7 @@
@click="selectAfterSaleType2(0)">
退货退款
退货
+ @click="selectAfterSaleType2(1)">退款
@@ -79,7 +80,6 @@
确认退款信息
服务类型*
-
{{ selectedServiceType || '请选择服务类型' }}
@@ -173,20 +173,21 @@
换货商品*
- {{ changeServiceType || '请选择需要换的商品' }}
+ {{ changeServiceName || '请选择需要换的商品' }}
- 高尚
- 15901518415
+ {{ orderItem.receiving_name }}
+ {{ orderItem.receiving_phone }}
- {{ merchantAddress }}
+ {{ orderItem.receiving_address }}
-
+
@@ -215,13 +216,14 @@
-
+
- {{ changeName }}
- ¥{{ changePrice }}/袋
+ {{ currentGG.goods_name }}
+ ¥{{ currentGG.sales_price }}/{{ currentGG.goods_unit }}
+
-
{{ item.goods_name }} {{ item.goods_spec }} / {{ item.goods_unit }}
@@ -230,11 +232,23 @@