From 41e944c48bc66113140ff0ffbd61ccbdf04245fc Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期四, 18 九月 2025 14:40:42 +0800
Subject: [PATCH] 订单详情支持显示退款状态和退货信息

---
 manager/src/views/order/order/orderDetail.vue |   41 +++++++++++++
 seller/src/views/order/order/orderDetail.vue  |  104 +++++++++++++++++++++++++++++++++-
 2 files changed, 141 insertions(+), 4 deletions(-)

diff --git a/manager/src/views/order/order/orderDetail.vue b/manager/src/views/order/order/orderDetail.vue
index 161680c..3c580c8 100644
--- a/manager/src/views/order/order/orderDetail.vue
+++ b/manager/src/views/order/order/orderDetail.vue
@@ -677,6 +677,45 @@
           minWidth: 80,
         },
         {
+          title: "閫�娆剧姸鎬�",
+          key: "isRefund",
+          minWidth: 100,
+          render:(h, params) => {
+            if(params.row.isRefund==='NO_REFUND'){
+              return h(
+                "div",
+                "鏈��娆�"
+              );
+            }else if(params.row.isRefund==='ALL_REFUND'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "鍏ㄩ儴閫�娆�"
+              );
+            }else if(params.row.isRefund==='PART_REFUND'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "閮ㄥ垎閫�娆�"
+              );
+            }else if(params.row.isRefund==='REFUNDING'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "閫�娆句腑"
+              );
+            }
+            else {
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "鏈煡鐘舵��"
+              );
+            }
+
+          }
+        },
+        {
           title: "灏忚",
           key: "subTotal",
           minWidth: 100,
@@ -716,7 +755,7 @@
       console.log("to:",to.fullPath)
       console.log("form:",from.fullPath)
       // 姝g‘鎵撳嵃璺敱瀵硅薄鐨勬柟娉�
-      if((from.fullPath === "/orderList"|| from.fullPath === "/fictitiousOrderList" ||from.fullPath === "/orderStatistics") && to.fullPath.includes("/order-detail")){
+      if((from.fullPath === "/orderList"|| from.fullPath === "/fictitiousOrderList" ||from.fullPath === "/orderStatistics"||from.fullPath.includes( "/member-detail")) && to.fullPath.includes("/order-detail")){
         this.sn = this.$route.query.sn;
         this.getDataList();
         this.getOrderPackage();
diff --git a/seller/src/views/order/order/orderDetail.vue b/seller/src/views/order/order/orderDetail.vue
index 909a124..a5c16bf 100644
--- a/seller/src/views/order/order/orderDetail.vue
+++ b/seller/src/views/order/order/orderDetail.vue
@@ -527,7 +527,7 @@
       </div>
     </Modal>
     <!--璁㈠崟鍒嗗寘瑁瑰彂璐�-->
-    <Modal v-model="groupShipModal" :loading="shipLoading" title="鍒嗗寘瑁瑰彂蹇��" width="1000">
+    <Modal v-model="groupShipModal" :loading="shipLoading" title="鍒嗗寘瑁瑰彂蹇��" width="1300">
       <div>
         <Form ref="groupOrderDeliveryForm" :model="groupOrderDeliveryForm" :label-width="90" :rules="groupOrderDeliverFormValidate" style="position: relative">
           <FormItem label="鐗╂祦鍏徃" prop="logisticsId">
@@ -571,7 +571,7 @@
           </div>
         </template>
         <template slot="numSlot" slot-scope="{ row, index }">
-          <InputNumber :min="0" :max="row.___num - row.deliverNumber" v-model="data[index].canNum">
+          <InputNumber :min="0" :max="row.___num - row.deliverNumber - row.returnGoodsNumber" v-model="data[index].canNum">
           </InputNumber>
         </template>
       </Table>
@@ -777,6 +777,55 @@
             );
           },
         },
+        {
+          title: "閫�娆炬暟閲�",
+          key: "returnGoodsNumber",
+          minWidth: 80,
+        },
+        {
+          title: "閫�娆鹃噾棰�",
+          key: "refundPrice",
+          minWidth: 80,
+        },
+        {
+          title: "閫�娆剧姸鎬�",
+          key: "isRefund",
+          minWidth: 80,
+          render:(h, params) => {
+            if(params.row.isRefund==='NO_REFUND'){
+              return h(
+                "div",
+                "鏈��娆�"
+              );
+            }else if(params.row.isRefund==='ALL_REFUND'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "鍏ㄩ儴閫�娆�"
+              );
+            }else if(params.row.isRefund==='PART_REFUND'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "閮ㄥ垎閫�娆�"
+              );
+            }else if(params.row.isRefund==='REFUNDING'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "閫�娆句腑"
+              );
+            }
+            else {
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "鏈煡鐘舵��"
+              );
+            }
+
+          }
+        },
       ],
       data: [], // 鍟嗗搧琛ㄥ崟鏁版嵁
       orderLogColumns: [
@@ -849,6 +898,55 @@
           render: (h, params) => {
             return h("div", this.$options.filters.unitPrice(params.row.subTotal, "锟�"));
           },
+        },
+        {
+          title: "閫�娆炬暟閲�",
+          key: "returnGoodsNumber",
+          minWidth: 80,
+        },
+        {
+          title: "閫�娆鹃噾棰�",
+          key: "refundPrice",
+          minWidth: 80,
+        },
+        {
+          title: "閫�娆剧姸鎬�",
+          key: "isRefund",
+          minWidth: 80,
+          render:(h, params) => {
+            if(params.row.isRefund==='NO_REFUND'){
+              return h(
+                "div",
+                "鏈��娆�"
+              );
+            }else if(params.row.isRefund==='ALL_REFUND'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "鍏ㄩ儴閫�娆�"
+              );
+            }else if(params.row.isRefund==='PART_REFUND'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "閮ㄥ垎閫�娆�"
+              );
+            }else if(params.row.isRefund==='REFUNDING'){
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "閫�娆句腑"
+              );
+            }
+            else {
+              return h(
+                "div",
+                { style: {color:"red"} },
+                "鏈煡鐘舵��"
+              );
+            }
+
+          }
         },
       ],
       orderPackage: [],
@@ -1016,7 +1114,7 @@
             this.data = res.result.orderItems.map((item) => {
               // 鍙湪寮圭獥鎵撳紑鐘舵�佷笅鎵嶄繚鐣欑敤鎴蜂慨鏀圭殑canNum鍊�
               const existingItem = this.groupShipModalOpened ? this.data.find(d => d.id === item.id) : null;
-              const defaultCanNum = item.num - item.deliverNumber;
+              const defaultCanNum = item.num - item.deliverNumber - item.returnGoodsNumber;
 
               return {
                 ...item,

--
Gitblit v1.8.0