From 6ed28fe4e3536519ed5c59dcdb06264eb5c9866e Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 13 四月 2026 14:10:59 +0800
Subject: [PATCH] fix: 销售订单状态修改、发货审批修改

---
 src/views/salesManagement/salesLedger/index.vue |   54 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 09bd7fe..3790894 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -181,13 +181,14 @@
         <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
           :formatter="formattedNumber" />
 		  <el-table-column label="鍙戣揣鐘舵��" width="140" align="center">
-			<template #default="scope">
-				<el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="info">鏈彂璐�</el-tag>
-				<el-tag v-else-if="Number(scope.row.deliveryStatus) === 2" type="warning">瀹℃壒涓�</el-tag>
-				<el-tag v-else-if="Number(scope.row.deliveryStatus) === 3" type="danger">瀹℃壒澶辫触</el-tag>
-				<el-tag v-else-if="Number(scope.row.deliveryStatus) === 4" type="success">宸插彂璐�</el-tag>
-				<el-tag v-else type="info">-</el-tag>
-			</template>
+				<template #default="scope">
+						<el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="info">鏈彂璐�</el-tag>
+						<el-tag v-else-if="Number(scope.row.deliveryStatus) === 2" type="warning">瀹℃壒涓�</el-tag>
+						<el-tag v-else-if="Number(scope.row.deliveryStatus) === 3" type="danger">瀹℃壒涓嶉�氳繃</el-tag>
+						<el-tag v-else-if="Number(scope.row.deliveryStatus) === 4" type="primary">瀹℃壒閫氳繃</el-tag>
+						<el-tag v-else-if="Number(scope.row.deliveryStatus) === 5" type="success">宸插彂璐�</el-tag>
+						<el-tag v-else type="info">-</el-tag>
+					</template>
 		  </el-table-column>
         <el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
         <el-table-column label="褰曞叆鏃ユ湡" prop="entryDate" width="120" show-overflow-tooltip />
@@ -2635,14 +2636,21 @@
 	try {
 		const targets = [];
 		for (const ledger of selectedRows.value) {
-			// 鍙拌处宸插彂璐э細涓嶅厑璁稿啀娆″彂璐�
-			if (Number(ledger.deliveryStatus) === 1) continue;
+
+			//濡傛灉宸茬粡鏄�滃鎵逛腑(2)鈥濇垨鈥滃凡鍙戣揣(4)鈥濓紝鍒欒烦杩囷紝涓嶅厑璁搁噸澶嶆搷浣�
+			const status = Number(ledger.deliveryStatus);
+			if (status === 2 || status === 4) {
+				console.warn(`鍙拌处缂栧彿 ${ledger.salesContractNo} 鐘舵�佷负 ${status}锛岃烦杩囧彂璐);
+				continue;
+			}
+
 			let products = [];
 			try {
 				const res = await productList({ salesLedgerId: ledger.id, type: 1 });
 				products = res?.data || [];
-			} catch {
+			} catch (error) {
 				products = [];
+				console.error('璇锋眰鍙戠敓寮傚父', error);
 			}
 			for (const product of products) {
 				if (!canShip(product)) continue;
@@ -2652,7 +2660,6 @@
 				});
 			}
 		}
-
 		if (targets.length === 0) {
 			proxy.$modal.msgWarning("娌℃湁鍙彂璐х殑鏁版嵁");
 			return;
@@ -2723,19 +2730,18 @@
         return;
       }
 
-      // 渚濇鍙戣揣锛堥伩鍏嶅苟鍙戜笅搴撳瓨鎵e噺/鐘舵�佹洿鏂颁簰鐩稿奖鍝嶏級
-      const run = async () => {
-        for (const item of targets) {
-          const salesLedgerId = item.salesLedgerId;
-          if (!salesLedgerId) continue;
-          await addShippingInfo({
-            salesLedgerId,
-            salesLedgerProductId: item.id,
-            type: deliveryForm.value.type,
-            approveUserIds,
-          });
-        }
-      };
+      // 鎸夊彴璐︾淮搴﹀幓閲嶏紝姣忎釜 salesLedgerId 鍙皟鐢ㄤ竴娆″彂璐ф帴鍙�
+      const uniqueLedgerIds = [...new Set(targets.map((item) => item.salesLedgerId).filter(Boolean))];
+
+		const run = async () => {
+			for (const salesLedgerId of uniqueLedgerIds) {
+				await addShippingInfo({
+					salesLedgerId,
+					type: deliveryForm.value.type,
+					approveUserIds,
+				});
+			}
+		};
 
       run()
         .then(() => {

--
Gitblit v1.9.3