From dbfb045ad92072e880104e13fddb4dc7574499a1 Mon Sep 17 00:00:00 2001
From: fcx <2246384483@qq.com>
Date: 星期五, 19 十二月 2025 13:56:02 +0800
Subject: [PATCH] 1.给SJ获取检验项目添加防抖

---
 pages/QC/SJ/Add.vue |   88 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/pages/QC/SJ/Add.vue b/pages/QC/SJ/Add.vue
index 5170bb3..a6737da 100644
--- a/pages/QC/SJ/Add.vue
+++ b/pages/QC/SJ/Add.vue
@@ -52,7 +52,7 @@
         <view class="info-label">宸ュ崟鏁伴噺锛�</view>
         <view class="info-value highlight">{{ formData.daa008 }}</view>
       </view>
-      <view v-if="formData.remarks && current" class="info-block">
+      <view v-if="formData.remarks" class="info-block">
         <view class="info-label">澶囨敞锛�</view>
         <view class="info-value">{{ formData.remarks }}</view>
       </view>
@@ -87,10 +87,10 @@
           <td>
             <button v-if="item.isCheck < item.levelNum" class="record-btn record-btn-fill"
                     @click="toDetail(item, index)">
-              濉啓 ({{ item.isCheck }}/{{ item.levelNum }})
+              濉啓 <!--({{ item.isCheck }}/{{ item.levelNum }})-->
             </button>
             <button v-else class="record-btn record-btn-view" @click="toDetail(item, index)">
-              鏌ョ湅 ({{ item.isCheck }}/{{ item.levelNum }})
+              鏌ョ湅<!--({{ item.isCheck }}/{{ item.levelNum }})--> 
             </button>
           </td>
         </tr>
@@ -146,6 +146,7 @@
         statusUser: "",
         itemId: "",
         fSubmit: 0,
+        yzxChecked: false, // 娣诲姞涓�鑷存�ф牳瀵圭姸鎬佸瓧娈�
       },
 
       DAA020List: [],
@@ -174,6 +175,8 @@
       comments: "",
       commentsPopup: false,
       current: true,
+      
+      getTableTimer: null, // 闃叉姈瀹氭椂鍣�
 
     };
   },
@@ -252,6 +255,44 @@
     },
 
     submit() {
+      // 妫�鏌ユ槸鍚﹂渶瑕佷竴鑷存�ф牳瀵�
+      if (this.current && !this.formData.yzxChecked) {
+        // 鍏堟鏌ヨ鐗╂枡鏄惁缁存姢浜嗕竴鑷存�ф牳瀵归」鐩�
+        this.$post({
+          url: "/SJ/getYzxItem",
+          data: {
+            id: this.formData.id
+          }
+        }).then(res => {
+          // 濡傛灉缁存姢浜嗕竴鑷存�ф牳瀵归」鐩�(components.length > 0),鍒欒姹傚畬鎴愭牳瀵�
+          if (res.data && res.data.length > 0) {
+            uni.showModal({
+              title: "鎻愮ず",
+              content: "璇峰厛瀹屾垚涓�鑷存�ф牳瀵瑰悗鍐嶆彁浜ゆ楠�",
+              confirmText: "鍘绘牳瀵�",
+              cancelText: "鍙栨秷",
+              success: (modalRes) => {
+                if (modalRes.confirm) {
+                  this.toYzxSubmitFrom(this.formData.billNo);
+                }
+              }
+            });
+          } else {
+            // 鏈淮鎶や竴鑷存�ф牳瀵归」鐩�,鍏佽鐩存帴鎻愪氦
+            this.submitInspection();
+          }
+        }).catch(() => {
+          // 鎺ュ彛寮傚父,鍏佽鎻愪氦
+          this.submitInspection();
+        });
+        return;
+      }
+      
+      // 宸插畬鎴愪竴鑷存�ф牳瀵规垨涓嶉渶瑕佹牳瀵�,鐩存帴鎻愪氦
+      this.submitInspection();
+    },
+    
+    submitInspection() {
       this.$post({
         url: "/SJ/SJQaSubmit",
         data: {
@@ -269,23 +310,34 @@
         if (res.statusCode === 200 || res.status === 0 || res.data === true || res.data.tbBillList === true) {
 
           this.$showMessage("鎴愬姛鎻愪氦妫�楠�");
-          // 鎻愪氦鎴愬姛鍚庤烦杞埌鍒楄〃椤甸潰
+          
+          // 娓呴櫎鏈湴瀛樺偍鐨勪竴鑷存�ф牳瀵圭姸鎬�
+          const storageKey = `yzxChecked_${this.formData.id}`;
+          uni.removeStorageSync(storageKey);
+          
+          // 鎻愪氦鎴愬姛鍚庡埛鏂伴〉闈㈡暟鎹�
+          this.init();
+          // 1.5绉掑悗璺宠浆鍒板垪琛ㄩ〉闈�
           setTimeout(() => {
             uni.navigateTo({
               url: '/pages/QC/SJ/List'
             });
-          }, 1500); // 1.5绉掑悗璺宠浆锛岃鐢ㄦ埛鐪嬪埌鎴愬姛鎻愮ず
+          }, 1500);
         } else {
           this.$showMessage(res.data.message || res.message || "鎻愪氦澶辫触");
         }
       }).catch(err => {
         console.log("鎻愪氦鍑洪敊:", err);
-        this.$showMessage("鎻愪氦澶辫触锛岃閲嶈瘯");
+        this.$showMessage("鎻愪氦澶辫触,璇烽噸璇�");
       })
     },
 
     init() {
       if (this.formData.id) {
+        // 浠庢湰鍦板瓨鍌ㄨ鍙栦竴鑷存�ф牳瀵圭姸鎬�
+        const storageKey = `yzxChecked_${this.formData.id}`;
+        const storedYzxChecked = uni.getStorageSync(storageKey);
+        
         this.$post({
           url: "/SJ/GetPage",
           data: {
@@ -297,6 +349,10 @@
           let tbBillListElement = res.data.tbBillList[0];
           if (tbBillListElement) {
             this.formData = tbBillListElement;
+            // 鎭㈠鏈湴瀛樺偍鐨勪竴鑷存�ф牳瀵圭姸鎬�
+            if (storedYzxChecked) {
+              this.formData.yzxChecked = true;
+            }
             this.$post({
               url: "/SJ/getQSItems",
               data: {
@@ -419,13 +475,26 @@
           duration: 2000,
         });
       } else {
+        const currentStatus = this.current ? 'A' : 'B'; // 娣诲姞current鍙傛暟
         uni.navigateTo({
           url: 'detail?id=' + item.id + '&billNo=' + this.formData.billNo + '&gid=' + this.formData
-              .id + '&index=' + index
+              .id + '&index=' + index + '&current=' + currentStatus
         });
       }
     },
     getTable() {
+      // 娓呴櫎涓婁竴娆$殑瀹氭椂鍣�
+      if (this.getTableTimer) {
+        clearTimeout(this.getTableTimer);
+      }
+      
+      // 璁剧疆1绉掗槻鎶�
+      this.getTableTimer = setTimeout(() => {
+        this.executeGetTable();
+      }, 1000);
+    },
+    
+    executeGetTable() {
       this.$post({
         url: "/SJ/SetQSItems",
         data: {
@@ -526,7 +595,8 @@
       this.comments = this.formData.comments;
     },
     editRemarks() {
-      if (this.remarks) {
+      // 鍏佽淇濆瓨绌哄瓧绗︿覆鎴栫┖鏍硷紝鍙鏌ユ槸鍚︿负null鎴杣ndefined
+      if (this.remarks !== null && this.remarks !== undefined) {
         //saveRemarksGid
         this.$post({
           url: "/SJ/saveRemarksGid",
@@ -577,7 +647,7 @@
     }
   },
   onShow() {
-    //姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
+    // 姣忔杩涘叆椤甸潰閮戒細鎵ц鐨勬柟娉�
     this.init();
   }
 };

--
Gitblit v1.9.3