From d476be7eda60a04e0cbbc28c5aa048dfceffd789 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 03 七月 2026 15:39:23 +0800
Subject: [PATCH] 新增采购退货后,如果对应的采购退货审批也通过,采购退货记录不能删除,删除按钮置灰

---
 src/views/procurementManagement/purchaseReturnOrder/index.vue |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 51 insertions(+), 6 deletions(-)

diff --git a/src/views/procurementManagement/purchaseReturnOrder/index.vue b/src/views/procurementManagement/purchaseReturnOrder/index.vue
index 3986f03..2b73253 100644
--- a/src/views/procurementManagement/purchaseReturnOrder/index.vue
+++ b/src/views/procurementManagement/purchaseReturnOrder/index.vue
@@ -45,8 +45,13 @@
             @click="handleDetail(row)"
             >璇︽儏</el-button
           >
-          <el-button link size="small" @click="handleDelete(row)"
-            >鍒犻櫎</el-button
+          <el-button
+            link
+            size="small"
+            :disabled="row.stockOutApproved"
+            :style="{ color: row.stockOutApproved ? '#c0c4cc' : undefined }"
+            @click="handleDelete(row)"
+            >{{ row.stockOutApproved }}</el-button
           >
         </template>
       </PIMTable>
@@ -89,6 +94,20 @@
           <el-descriptions-item label="閫�鏂欎汉">{{
             detailData.returnUserName || "--"
           }}</el-descriptions-item>
+          <el-descriptions-item label="鍙戣揣绫诲瀷">{{
+            getShippingTypeLabel(detailData.shippingType)
+          }}</el-descriptions-item>
+          <el-descriptions-item v-if="String(detailData.shippingType) === '1'" label="鍙戣揣杞︾墝鍙�">{{
+            detailData.truckPlateNo || "--"
+          }}</el-descriptions-item>
+          <template v-else-if="String(detailData.shippingType) === '2'">
+            <el-descriptions-item label="蹇�掑叕鍙�">{{
+              detailData.expressCompany || "--"
+            }}</el-descriptions-item>
+            <el-descriptions-item label="蹇�掑崟鍙�">{{
+              detailData.expressNo || "--"
+            }}</el-descriptions-item>
+          </template>
           <el-descriptions-item label="鏁村崟鎶樻墸棰�">{{
             formatAmount(detailData.totalDiscountAmount)
           }}</el-descriptions-item>
@@ -142,12 +161,16 @@
           />
           <el-table-column label="鍗曚綅" prop="unit" width="80" />
           <el-table-column label="鏁伴噺" prop="stockInNum" width="80" />
+          <el-table-column label="閿�鍞彂璐ф暟閲�" prop="saleOutQuantity" width="110" />
           <el-table-column label="鍙��璐ф暟閲�"
                            prop="unQuantity"
                            width="100" />
           <el-table-column label="宸查��璐ф暟閲�"
-                           prop="totalReturnNum"
-                           width="100" />
+                           width="100">
+            <template #default="scope">
+              {{ formatAmount(scope.row.totalReturnNum || 0) }}
+            </template>
+          </el-table-column>
           <!-- <el-table-column label="搴撳瓨棰勮鏁伴噺" prop="warnNum" width="120" /> -->
           <!-- <el-table-column label="绋庣巼(%)" prop="taxRate" width="90" /> -->
           <el-table-column
@@ -286,6 +309,15 @@
     prop: "returnUserName",
     width: 110,
   },
+  {
+    label: "鍙戣揣绫诲瀷",
+    prop: "shippingType",
+    width: 100,
+    formatData: (val) => getShippingTypeLabel(val),
+  },
+  { label: "鍙戣揣杞︾墝鍙�", prop: "truckPlateDisplay", width: 140 },
+  { label: "蹇�掑叕鍙�", prop: "expressCompanyDisplay", width: 140 },
+  { label: "蹇�掑崟鍙�", prop: "expressNoDisplay", width: 150 },
 
   {
     label: "鏁村崟鎶樻墸棰�",
@@ -338,6 +370,7 @@
       },
       {
         name: "鍒犻櫎",
+        disabled: (row) => !!row.stockOutApproved,
         clickFun: (row) => {
           handleDelete(row);
         },
@@ -419,7 +452,12 @@
   findPurchaseReturnOrderListPage({ ...searchForm.value, ...page })
     .then((res) => {
       tableLoading.value = false;
-      tableData.value = res.data.records;
+      tableData.value = (res.data.records || []).map((row) => ({
+        ...row,
+        truckPlateDisplay: String(row?.shippingType) === "1" ? (row?.truckPlateNo || "--") : "--",
+        expressCompanyDisplay: String(row?.shippingType) === "2" ? (row?.expressCompany || "--") : "--",
+        expressNoDisplay: String(row?.shippingType) === "2" ? (row?.expressNo || "--") : "--",
+      }));
       page.total = res.data.total;
     })
     .catch(() => {
@@ -447,6 +485,14 @@
   );
 };
 
+const getShippingTypeLabel = (value) => {
+  const shippingTypeMap = {
+    1: "璐ц溅",
+    2: "蹇��",
+  };
+  return shippingTypeMap[String(value)] || shippingTypeMap[value] || "--";
+};
+
 const formatAmount = (value) => {
   if (value === null || value === undefined || value === "") {
     return "--";
@@ -467,4 +513,3 @@
   margin-top: unset;
 }
 </style>
-

--
Gitblit v1.9.3