From 3f24b213e4879fbbf48187de0c1a23cbde513dcc Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 18 八月 2026 20:48:57 +0800
Subject: [PATCH] chore: ip修改

---
 src/views/procurementManagement/purchaseReturnOrder/index.vue |   71 ++++++++++++++++++++++++++++++++---
 1 files changed, 64 insertions(+), 7 deletions(-)

diff --git a/src/views/procurementManagement/purchaseReturnOrder/index.vue b/src/views/procurementManagement/purchaseReturnOrder/index.vue
index df2c137..11e3864 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>
@@ -102,10 +121,10 @@
             detailData.createUserName || "--"
           }}</el-descriptions-item>
           <el-descriptions-item label="鍒涘缓鏃堕棿">{{
-            detailData.createTime || "--"
+            formatDate(detailData.createTime) || "--"
           }}</el-descriptions-item>
           <el-descriptions-item label="鏈�杩戞洿鏂版椂闂�">{{
-            detailData.updateTime || "--"
+            formatDate(detailData.updateTime) || "--"
           }}</el-descriptions-item>
           <el-descriptions-item label="澶囨敞" :span="3">{{
             detailData.remark || "--"
@@ -290,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: "鏁村崟鎶樻墸棰�",
@@ -314,12 +342,14 @@
   {
     label: "鍒涘缓鏃堕棿",
     prop: "createTime",
-    width: 170,
+    width: 130,
+    formatData: (val) => formatDate(val),
   },
   {
     label: "鏈�杩戞洿鏂版椂闂�",
     prop: "updateTime",
-    width: 170,
+    width: 130,
+    formatData: (val) => formatDate(val),
   },
   {
     label: "澶囨敞",
@@ -342,6 +372,7 @@
       },
       {
         name: "鍒犻櫎",
+        disabled: (row) => !!row.stockOutApproved,
         clickFun: (row) => {
           handleDelete(row);
         },
@@ -423,7 +454,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(() => {
@@ -451,6 +487,14 @@
   );
 };
 
+const getShippingTypeLabel = (value) => {
+  const shippingTypeMap = {
+    1: "璐ц溅",
+    2: "蹇��",
+  };
+  return shippingTypeMap[String(value)] || shippingTypeMap[value] || "--";
+};
+
 const formatAmount = (value) => {
   if (value === null || value === undefined || value === "") {
     return "--";
@@ -462,6 +506,19 @@
   return num.toFixed(2);
 };
 
+const formatDate = (value) => {
+  if (!value) return "";
+  return String(value).slice(0, 10);
+};
+
+/** 宸查��璐ф暟閲� = 鍏ュ簱琛屾�绘暟閲� 鈭� 褰撳墠鍙��璐ф暟閲忥紙鍓╀綑锛� */
+const calcAlreadyReturned = (row) => {
+  const total = Number(row?.stockInNum ?? row?.totalQuantity ?? row?.quantity ?? 0);
+  const un = Number(row?.unQuantity ?? 0);
+  if (!Number.isFinite(total) || !Number.isFinite(un)) return 0;
+  return Math.max(total - un, 0);
+};
+
 onMounted(() => {
   getList();
 });

--
Gitblit v1.9.3