From 16c55c8b1939e2c5ac7f6cdaa34b273657e743e4 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 03 四月 2026 11:33:47 +0800
Subject: [PATCH] 添加发货状态筛选和优化发货逻辑

---
 src/views/salesManagement/salesLedger/index.vue |   50 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 31 insertions(+), 19 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index b935758..09bd7fe 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -18,6 +18,14 @@
           <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
             placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
         </el-form-item>
+        <el-form-item label="鍙戣揣鐘舵�侊細">
+          <el-select v-model="searchForm.deliveryStatus" placeholder="璇烽�夋嫨" clearable style="width: 140px">
+            <el-option label="鏈彂璐�" :value="1" />
+            <el-option label="瀹℃壒涓�" :value="2" />
+            <el-option label="瀹℃壒澶辫触" :value="3" />
+            <el-option label="宸插彂璐�" :value="4" />
+          </el-select>
+        </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="handleQuery"> 鎼滅储 </el-button>
         </el-form-item>
@@ -174,10 +182,11 @@
           :formatter="formattedNumber" />
 		  <el-table-column label="鍙戣揣鐘舵��" width="140" align="center">
 			<template #default="scope">
-				<el-tag v-if="Number(scope.row.deliveryStatus) === 1" type="success">鏈彂璐�</el-tag>
-				<el-tag v-if="Number(scope.row.deliveryStatus) === 2" type="success">瀹℃壒涓�</el-tag>
-				<el-tag v-if="Number(scope.row.deliveryStatus) === 3" type="success">瀹℃壒涓嶉�氳繃</el-tag>
-				<el-tag v-if="Number(scope.row.deliveryStatus) === 4" type="success">宸插彂璐�</el-tag>
+				<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>
 		  </el-table-column>
         <el-table-column label="褰曞叆浜�" prop="entryPersonName" width="100" show-overflow-tooltip />
@@ -995,6 +1004,7 @@
 		entryDate: null, // 褰曞叆鏃ユ湡
 		entryDateStart: undefined,
 		entryDateEnd: undefined,
+		deliveryStatus: undefined, // 鍙戣揣鐘舵�侊細1鏈彂璐� 2瀹℃壒涓� 3瀹℃壒澶辫触 4宸插彂璐�
 	},
 	form: {
 		salesContractNo: "",
@@ -2560,8 +2570,18 @@
 		return;
 	}
 
-	// 宸插彂璐у彴璐︼細寮圭獥鎻愰啋锛屼笉鑳藉啀娆″彂璐�
-	const shippedLedgers = selectedRows.value.filter((r) => Number(r.deliveryStatus) === 1);
+	// 鍙厑璁搞�愭湭鍙戣揣/瀹℃壒澶辫触銆戣繘鍏ュ彂璐ф祦绋�
+	const canDeliveryLedgers = selectedRows.value.filter((r) => {
+		const status = Number(r.deliveryStatus);
+		return status === 1 || status === 3;
+	});
+	if (canDeliveryLedgers.length === 0) {
+		proxy.$modal.msgWarning("浠呮湭鍙戣揣鎴栧鎵瑰け璐ョ殑鍙拌处鍙互鍙戣揣");
+		return;
+	}
+
+	// 宸插彂璐у彴璐︼細寮圭獥鎻愰啋锛屼笉鑳藉啀娆″彂璐э紙4 瑙嗕负宸插彂璐э級
+	const shippedLedgers = selectedRows.value.filter((r) => Number(r.deliveryStatus) === 4);
 	if (shippedLedgers.length === selectedRows.value.length) {
 		try {
 			await ElMessageBox.alert("鎵�閫夐攢鍞彴璐﹀潎宸插彂璐э紝涓嶈兘鍐嶆鍙戣揣銆�", "鎻愮ず", {
@@ -2664,23 +2684,15 @@
 	});
 }
 
-// 鎵撳紑鍙戣揣寮规
+// 鎵撳紑鍙戣揣寮规锛堝崟鏉★級
 const openDeliveryForm = (row) => {
-	// 濡傛灉璇ヨ宸茬粡鍙戣揣锛坉eliveryStatus=1锛夛紝绂佹鍐嶆鍙戣揣
-	if (Number(row.deliveryStatus) === 1) {
-		ElMessageBox.alert("璇ヨ褰曞凡鍙戣揣锛屼笉鑳藉啀娆″彂璐с��", "鎻愮ず", {
-			type: "warning",
-			confirmButtonText: "鐭ラ亾浜�",
-		});
+	// 鍙厑璁搞�愭湭鍙戣揣/瀹℃壒澶辫触銆戝彂璐э紱宸插彂璐�/瀹℃壒涓笉鍏佽
+	const status = Number(row.deliveryStatus);
+	if (status !== 1 && status !== 3) {
+		proxy.$modal.msgWarning("鍙湁鍙戣揣鐘舵�佷负鏈彂璐ф垨瀹℃壒澶辫触鐨勮褰曟墠鍙互鍙戣揣");
 		return;
 	}
 
-	// 妫�鏌ユ槸鍚﹀彲浠ュ彂璐�
-	if (!canShip(row)) {
-		proxy.$modal.msgWarning("鍙湁鍦ㄤ骇鍝佺姸鎬佹槸鍏呰冻锛屽彂璐х姸鎬佹槸寰呭彂璐ф垨瀹℃牳鎷掔粷鐨勬椂鍊欐墠鍙互鍙戣揣");
-		return;
-	}
-	
 	currentDeliveryRows.value = [row];
   deliveryForm.value = {
     type: "璐ц溅",

--
Gitblit v1.9.3