From 3149c3d719ffbcf3e7b51479d7933a7641c5a14f Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期一, 12 十月 2026 17:47:40 +0800
Subject: [PATCH] fix: 发货数量允许超发

---
 src/views/salesManagement/salesLedger/index.vue |   61 +++++++-----------------------
 1 files changed, 15 insertions(+), 46 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 203b688..e18897b 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -992,6 +992,12 @@
                         disabled />
             </el-form-item>
           </el-col>
+          <el-col :span="24">
+            <el-form-item label="瓒呭彂鏁伴噺锛�">
+              <el-input :model-value="excessDeliveryQuantity"
+                        disabled />
+            </el-form-item>
+          </el-col>
         </el-row>
         <el-row :gutter="30"
                 v-if="deliveryForm.type === '璐ц溅'">
@@ -1313,46 +1319,25 @@
       )
     );
   });
-  const getDeliveryBatchDeliveryMax = row => {
-    const productQuantity = getCurrentDeliveryRowQuantity();
-    const batchQuantity = Number(getDeliveryBatchQuantity(row) || 0);
-    const otherBatchTotal = roundAmount(
-      (deliveryForm.value.batchNoList || []).reduce(
-        (sum, item) => {
-          if (item?.id === row?.id) return sum;
-          return sum + Number(item?.deliveryQuantity || 0);
-        },
-        0
+  const excessDeliveryQuantity = computed(() => {
+    return roundAmount(
+      Math.max(
+        0,
+        selectedDeliveryQuantity.value - getCurrentDeliveryRowQuantity()
       )
     );
-    const remainingProductQuantity = roundAmount(
-      Math.max(0, productQuantity - otherBatchTotal)
-    );
-    return Math.max(0, Math.min(batchQuantity, remainingProductQuantity));
+  });
+  const getDeliveryBatchDeliveryMax = row => {
+    const batchQuantity = Number(getDeliveryBatchQuantity(row) || 0);
+    return Math.max(0, batchQuantity);
   };
   const handleDeliveryBatchQuantityChange = row => {
-    const productQuantity = getCurrentDeliveryRowQuantity();
     const batchQuantity = Number(getDeliveryBatchQuantity(row) || 0);
-    const otherBatchTotal = roundAmount(
-      (deliveryForm.value.batchNoList || []).reduce(
-        (sum, item) => {
-          if (item?.id === row?.id) return sum;
-          return sum + Number(item?.deliveryQuantity || 0);
-        },
-        0
-      )
-    );
-    const remainingProductQuantity = roundAmount(
-      Math.max(0, productQuantity - otherBatchTotal)
-    );
     const currentValue = Number(row?.deliveryQuantity || 0);
 
     if (currentValue > batchQuantity) {
       row.deliveryQuantity = batchQuantity;
       proxy.$modal.msgWarning("鍙戣揣鏁伴噺涓嶈兘澶т簬搴撳瓨鏁伴噺");
-    } else if (currentValue > remainingProductQuantity) {
-      row.deliveryQuantity = remainingProductQuantity;
-      proxy.$modal.msgWarning("鎵�鏈夋壒娆″彂璐ф暟閲忎箣鍜屼笉鑳藉ぇ浜庡緟鍙戣揣鏁伴噺");
     }
   };
   const getSelectedDeliveryBatchRows = () => {
@@ -2607,22 +2592,6 @@
         const selectedBatchRows = getSelectedDeliveryBatchRows();
         if (selectedBatchRows.length === 0) {
           proxy.$modal.msgWarning("璇疯嚦灏戝~鍐欎竴涓壒鍙风殑鍙戣揣鏁伴噺");
-          return;
-        }
-        const totalDeliveryQuantity = roundAmount(
-          selectedBatchRows.reduce(
-            (sum, item) => sum + Number(item.deliveryQuantity || 0),
-            0
-          )
-        );
-        const currentRowNoQuantity = Number(
-          currentDeliveryRow.value?.noQuantity || 0
-        );
-        if (
-          currentRowNoQuantity > 0 &&
-          totalDeliveryQuantity > currentRowNoQuantity
-        ) {
-          proxy.$modal.msgWarning("鎵瑰彿鍙戣揣鎬绘暟涓嶈兘瓒呰繃寰呭彂璐ф暟閲�");
           return;
         }
         // 淇濆瓨褰撳墠灞曞紑鐨勮ID锛屼互渚垮彂璐у悗閲嶆柊鍔犺浇瀛愯〃鏍兼暟鎹�

--
Gitblit v1.9.3