From 38d723b6de39a6882a537a691159e40bd4c0e837 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 12 五月 2026 09:25:27 +0800
Subject: [PATCH] 合格入库扫码发货

---
 src/pages/inventoryManagement/scanIn/index.vue |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/pages/inventoryManagement/scanIn/index.vue b/src/pages/inventoryManagement/scanIn/index.vue
index 6502574..140a2fd 100644
--- a/src/pages/inventoryManagement/scanIn/index.vue
+++ b/src/pages/inventoryManagement/scanIn/index.vue
@@ -303,6 +303,11 @@
     item.operateQuantity = String(Math.max(0, n));
   };
 
+  const hasEditableInboundItems = computed(() => {
+    if (!recordList.value?.length) return false;
+    return recordList.value.some(item => !isFullyStocked(item));
+  });
+
   const formatCell = (item, row, idx) => {
     if (row.key === "index") {
       const v = item.index;
@@ -404,6 +409,7 @@
   };
 
   const handleSelectContact = data => {
+    if (data?.source === "scanShip") return;
     const { stepIndex, contact } = data || {};
     if (stepIndex === null || stepIndex === undefined) return;
     const idx = Number(stepIndex);
@@ -426,6 +432,10 @@
       modal.msgError("缂哄皯璁㈠崟淇℃伅锛岃閲嶆柊鎵爜");
       return;
     }
+    if (!hasEditableInboundItems.value) {
+      modal.msgError("璇ヤ骇鍝佸凡缁忓叏閮ㄥ叆搴�");
+      return;
+    }
     const salesLedgerProductList = buildSalesLedgerProductList(recordList.value);
     if (!hasAnyPositiveStockedQty(salesLedgerProductList)) {
       modal.msgError("璇疯嚦灏戝~鍐欎竴琛屽ぇ浜� 0 鐨勫叆搴撴暟閲�");
@@ -438,10 +448,10 @@
       return;
     }
     const runApi = currentSubmitConfig.runApi;
-    const inboundApproveUserIds = stockApproverNodes.value.map(node => node.userId).join(",");
+    const approveUserIds = stockApproverNodes.value.map(node => node.userId).join(",");
     const payload = currentSubmitConfig.payloadBuilder(
       salesLedgerProductList,
-      inboundApproveUserIds
+      approveUserIds
     );
     try {
       submitLoading.value = true;

--
Gitblit v1.9.3