From e268cb55fa740e5775bdeccc7c60e71c9cfdf30b Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 30 十月 2025 10:15:16 +0800
Subject: [PATCH] 重复扫码验证

---
 src/pages/production/twist/receive/monofil.vue |   98 ++++++++++++++++++++++++++++---------------------
 1 files changed, 56 insertions(+), 42 deletions(-)

diff --git a/src/pages/production/twist/receive/monofil.vue b/src/pages/production/twist/receive/monofil.vue
index 7f66e3d..49b261e 100644
--- a/src/pages/production/twist/receive/monofil.vue
+++ b/src/pages/production/twist/receive/monofil.vue
@@ -109,48 +109,62 @@
   // let parseData = code.trim();
   console.log("code:===========", JSON.parse(code.code));
   console.log("id:=============", JSON.parse(code.code).id);
-  const { data } = await TwistApi.getScarn({
-    outPutId: JSON.parse(code.code).id,
-  });
-
-  // 妫�鏌ユ槸鍚﹀凡閫夋嫨鏍囩
-  if (!tab.value) {
-    toast.error("璇峰厛閫夋嫨涓�涓眰");
-    return;
-  }
-
-  // 鎵惧埌褰撳墠閫変腑鐨勫眰
-  console.log("tab.value:===========2", tab.value);
-  const currentLayer = nodeList.value.find((node) => node.twistedLayer === tab.value);
-  if (!currentLayer) {
-    toast.error("鏈壘鍒板綋鍓嶉�変腑鐨勫眰");
-    return;
-  }
-
-  // 妫�鏌ュ綋鍓嶅眰鏄惁宸插瓨鍦ㄨ鍗曚笣
-  const exists = currentLayer.strandedWireDish?.some(
-    (item: any) => item.monofilamentNumber === data.monofilamentNumber
-  );
-  if (!exists) {
-    const { id, outPutId, wireId, oneLength, ...rest } = data;
-    const newItem = {
-      wireId: paramsId.value,
-      outputId: id,
-      amount: oneLength,
-      ongLength: oneLength,
-      ...rest,
-    };
-
-    // 娣诲姞鍒板綋鍓嶅眰鐨� strandedWireDish 涓�
-    if (!currentLayer.strandedWireDish) {
-      currentLayer.strandedWireDish = [];
+  try {
+    // 妫�鏌ユ槸鍚﹀凡閫夋嫨鏍囩
+    if (!tab.value) {
+      toast.error("璇峰厛閫夋嫨涓�涓眰");
+      return;
     }
-    currentLayer.strandedWireDish.push(newItem);
 
-    // 鍒锋柊褰撳墠灞傜殑鏁版嵁鏄剧ず
-    getList();
-  } else {
-    toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�");
+    // 鎵惧埌褰撳墠閫変腑鐨勫眰
+    console.log("tab.value:===========2", tab.value);
+    const currentLayer = nodeList.value.find((node) => node.twistedLayer === tab.value);
+    if (!currentLayer) {
+      toast.error("鏈壘鍒板綋鍓嶉�変腑鐨勫眰");
+      return;
+    }
+    console.log("tab.value:===========3", currentLayer);
+    // 鍦ㄥ彂璧疯姹傚墠锛屽厛鏍¢獙璇ュ崟涓濇槸鍚﹀凡鍦ㄥ綋鍓嶆垨鍏朵粬灞傜骇琚鐢�
+    const scannedOutputId = JSON.parse(code.code).id;
+    const alreadyUsed = nodeList.value.some((node) =>
+      (node.strandedWireDish || []).some((item: any) => item.outputId === scannedOutputId)
+    );
+    if (alreadyUsed) {
+      toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�");
+      return;
+    }
+    const { data } = await TwistApi.getScarn({
+      outPutId: scannedOutputId,
+      twistId: currentLayer.twistId,
+    });
+
+    // 妫�鏌ュ綋鍓嶅眰鏄惁宸插瓨鍦ㄨ鍗曚笣
+    const exists = currentLayer.strandedWireDish?.some(
+      (item: any) => item.monofilamentNumber === data.monofilamentNumber
+    );
+    if (!exists) {
+      const { id, outPutId, wireId, oneLength, ...rest } = data;
+      const newItem = {
+        wireId: paramsId.value,
+        outputId: id,
+        amount: oneLength,
+        ongLength: oneLength,
+        ...rest,
+      };
+
+      // 娣诲姞鍒板綋鍓嶅眰鐨� strandedWireDish 涓�
+      if (!currentLayer.strandedWireDish) {
+        currentLayer.strandedWireDish = [];
+      }
+      currentLayer.strandedWireDish.push(newItem);
+
+      // 鍒锋柊褰撳墠灞傜殑鏁版嵁鏄剧ず
+      getList();
+    } else {
+      toast.error("璇ュ崟涓濆凡棰嗙敤锛岃鍕块噸澶嶆壂鐮�");
+    }
+  } catch (error) {
+    toast.error("浜岀淮鐮佸紓甯革紝璇锋洿鎹簩缁寸爜锛�");
   }
 };
 
@@ -347,7 +361,7 @@
 
 <style lang="scss" scoped>
 .list_box {
-  height: calc(100vh - 100px);
+  height: calc(100vh - 50px);
   background: #f3f9f8;
   display: flex;
   flex-direction: column;
@@ -410,7 +424,7 @@
 }
 
 .content {
-  height: calc(100vh - 280px);
+  height: calc(100vh - 200px);
   width: 100%;
 }
 

--
Gitblit v1.9.3