From 7609c865e80fea169c5c393c55631628aef2f6ed Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 24 九月 2025 17:15:04 +0800
Subject: [PATCH] 核磅录入创建核磅单的创建逻辑修改/重复扫码相同数据添加多条问题修复

---
 pages/wareHouse/nuclearScale/index.vue |   57 ++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 40 insertions(+), 17 deletions(-)

diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue
index 4f8a5c4..61643e5 100644
--- a/pages/wareHouse/nuclearScale/index.vue
+++ b/pages/wareHouse/nuclearScale/index.vue
@@ -170,7 +170,7 @@
                   <view class="_label-name">鐩橀噸锛�</view>
                 </view>
                 <view class="_content">
-                  {{ item.trayWeight }}
+                  {{ item.tareWeight }}
                 </view>
               </view>
               <view class="row-list">
@@ -228,6 +228,7 @@
       type="primary"
       class="bottom-button"
       @click="submit"
+      :disabled="ScanCodeRecord.length == 0"
       v-show="form.productType != 'TG01'"
       >鎻愪氦</u-button
     >
@@ -301,15 +302,22 @@
       console.log("椤甸潰鎵爜缁撴灉锛�", data.code);
       if (data.code) {
         let codeInfo = JSON.parse(data.code);
-        // try {
-        // } catch (e) {
-        // 	uni.showToast({
-        // 		icon: "none",
-        // 		title: "鎵爜鏁版嵁瑙f瀽澶辫触锛岃閲嶈瘯锛�",
-        // 		duration: 2 * 1000,
-        // 	});
-        // 	return;
-        // }
+
+        // 娣诲姞閲嶅鎵爜妫�鏌�
+        const batchNo = codeInfo.BN;
+        const isDuplicate = that.ScanCodeRecord.some(
+          (item) => item.outBatchNo === batchNo
+        );
+
+        if (isDuplicate) {
+          uni.showToast({
+            icon: "none",
+            title: "璇峰嬁閲嶅鎵爜锛�",
+            duration: 2 * 1000,
+          });
+          return;
+        }
+
         let ScanCodeRecordList = {
           outBatchNo: codeInfo.BN,
           netWeight: codeInfo.NW,
@@ -329,11 +337,22 @@
             content:
               "瀹㈡埛涓嶄竴鑷达細" + codeInfo.CN + "||" + that.form.customerName1,
             showCancel: true,
-            success: function () {
-              if (that.form.productType == "TG01") {
-                that.$refs.saveForm.open(ScanCodeRecordList);
+            success: function (res) {
+              const isDuplicate = that.ScanCodeRecord.some(
+                (item) => item.outBatchNo === codeInfo.BN
+              );
+              if (!isDuplicate) {
+                if (that.form.productType == "TG01") {
+                  that.$refs.saveForm.open(ScanCodeRecordList);
+                } else {
+                  that.ScanCodeRecord.push(ScanCodeRecordList);
+                }
               } else {
-                that.ScanCodeRecord.push(ScanCodeRecordList);
+                uni.showToast({
+                  icon: "none",
+                  title: "璇峰嬁閲嶅鎵爜锛�",
+                  duration: 2 * 1000,
+                });
               }
             },
           });
@@ -386,7 +405,6 @@
         case "DT01":
           if (magnetic >= 0 && magnetic <= 3) {
             this.allSubmit();
-            // this.ScanCodeRecord.push(this.form);
           } else {
             this.$u.toast("鐢熶骇鏍告煡");
           }
@@ -416,10 +434,15 @@
       this.$u.api.NuclearScaleEntry.createDetail(this.form)
         .then((res) => {
           this.$u.toast("鎻愪氦鎴愬姛");
+          this.ScanCodeRecord = [];
         })
-        .catch(() => {
+        .catch((err) => {
           uni.hideLoading();
-          this.$u.toast("缃戠粶寮傚父锛岃閲嶈瘯");
+          uni.showToast({
+            title: err.message || "缃戠粶寮傚父锛岃閲嶈瘯",
+            icon: "none",
+          });
+          // this.$u.toast(err.message || "缃戠粶寮傚父锛岃閲嶈瘯");
         });
     },
 

--
Gitblit v1.9.3