From 55f0be610b3adae8cc0d83e6d33ff71075f1b9de Mon Sep 17 00:00:00 2001
From: zjh <2207896513@qq.com>
Date: 星期六, 09 八月 2025 11:15:01 +0800
Subject: [PATCH] 扫码优化

---
 pages/QC/XJ/Add.vue |  126 +++++++++++++++++++++++++++++++----------
 1 files changed, 95 insertions(+), 31 deletions(-)

diff --git a/pages/QC/XJ/Add.vue b/pages/QC/XJ/Add.vue
index 1930b90..6190db1 100644
--- a/pages/QC/XJ/Add.vue
+++ b/pages/QC/XJ/Add.vue
@@ -61,13 +61,8 @@
     </view>
 
     <!-- 鎿嶄綔鎸夐挳鍖� - 妫�楠岄」鐩幏鍙� -->
-    <view v-if="isUpdate && !isShowTable" class="action-buttons">
-      <button class="primary-btn" @click="getItem">鍒涘缓妫�楠屽崟</button>
-    </view>
-
-    <view v-if="isShowTable" class="action-buttons">
-      <button class="secondary-btn" @click="getTable">鑾峰彇椤圭洰</button>
-      <button v-if="isUpdate" class="primary-btn" @click="saveTable">鐢熸垚椤圭洰</button>
+    <view v-if="isUpdate" class="action-buttons">
+      <button class="secondary-btn" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
     </view>
 
     <!-- 妫�楠岄」鐩〃鏍� -->
@@ -126,11 +121,12 @@
             <view class="description-text">{{ item.itemMod }}</view>
           </td>
           <td>
-            <button :class="{
-								'record-btn-fill': item.isCheck >= item.levelNum,
-								'record-btn-view': item.isCheck < item.levelNum
-							}" class="record-btn" @click="toDetail(item)">
-              {{ item.isCheck >= item.levelNum ? '鏌ョ湅' : '濉啓' }}
+            <button v-if="item.isCheck < item.levelNum" class="record-btn record-btn-fill"
+                    @click="toDetail(item)">
+              濉啓 ({{ item.isCheck }}/{{ item.levelNum }})
+            </button>
+            <button v-else class="record-btn record-btn-view" @click="toDetail(item)">
+              鏌ョ湅 ({{ item.isCheck }}/{{ item.levelNum }})
             </button>
           </td>
         </tr>
@@ -138,27 +134,31 @@
       </table>
     </view>
 
-    <!-- 鎿嶄綔鎸夐挳鍖� - 搴曢儴鎿嶄綔 -->
-    <view v-if="!isUpdate && !isShowTable" class="action-buttons">
-      <button class="secondary-btn" @click="toImage">鍥剧墖绠$悊</button>
-      <button class="secondary-btn" @click="saveRemarks">娣诲姞鎻忚堪</button>
-      <button v-if="!formData.fcheckResu" class="primary-btn"
-              style="background: linear-gradient(135deg, #e74c3c, #c0392b);" @click="removeXJ">鍒犻櫎鍗曟嵁
+    <!-- 鎿嶄綔鎸夐挳鍖� -->
+    <view class="action-buttons">
+      <button v-if="isUpdate && !isShowTable" class="secondary-btn" @click="getItem">鍒涘缓妫�楠屽崟骞剁敓鎴愰儴鍒嗛粯璁ゅ��</button>
+      <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="toImage">涓婁紶/鏌ョ湅鍥剧墖</button>
+      <button v-if="!isUpdate && !formData.fsubmit && !isShowTable" class="secondary-btn" @click="removeXJ">
+        鍒犻櫎鍗曟嵁
       </button>
+      <button v-if="!isUpdate && !isShowTable" class="secondary-btn" @click="saveRemarks">娣诲姞澶囨敞</button>
+      <button v-if="!isUpdate && !isShowTable && formData.fsubmit !== 1 && getPendingCount() === 0 && tableData.length > 0" class="primary-btn" @click="submit">瀹℃牳鍗曟嵁</button>
+      <button v-if="isShowTable" class="secondary-btn" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
+      <button v-if="isShowTable && isUpdate" class="primary-btn" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
     </view>
 
     <!-- 涓嶅悎鏍兼弿杩板脊绐� -->
     <view v-if="remarksPopup" class="overlay">
       <view class="popup">
-        <h3>淇敼涓嶅悎鏍兼弿杩�</h3>
-        <view class="form-group">
-          <label class="form-label">涓嶅悎鏍兼弿杩�:</label>
-          <input v-model="remarks" class="form-input" placeholder="璇疯緭鍏ヤ笉鍚堟牸鎻忚堪" type="text"/>
-        </view>
-        <view class="popup-buttons">
+        <h3>淇敼澶囨敞</h3>
+        <form>
+          <view class="form-group">
+            <label class="form-label">澶囨敞:</label>
+            <textarea v-model="remarks" class="form-input form-textarea" placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�..."></textarea>
+          </view>
           <button class="updateBut" @click="editRemarks">淇敼</button>
-          <button class="secondary-btn" @click="remarksPopup = !remarksPopup">鍙栨秷</button>
-        </view>
+          <button @click="remarksPopup = !remarksPopup">鍙栨秷</button>
+        </form>
       </view>
     </view>
   </view>
@@ -179,11 +179,12 @@
         catQty: "",
         detailMem: "",
         taskNo: "",
-        fcheckResu: "",
+        fcheckResu: 0,
         boardModel: "",
         planQty: "",
         mocode: "",
-        boardStyle: ""
+        boardStyle: "",
+        fSubmit: 0
       },
 
       DAA020List: [],
@@ -254,8 +255,51 @@
     },
     // 鑾峰彇寰呮楠岄」鐩暟閲�
     getPendingCount() {
-      return this.tableData.filter(item => !item.result || item.result === '').length;
+      return this.tableData.filter(item => item.result === '鏈畬鎴�').length;
     },
+    submit() {
+      // 鍙岄噸淇濋櫓锛氭鏌ユ槸鍚﹁繕鏈夋湭瀹屾垚鐨勬楠岄」鐩�
+      const pendingCount = this.getPendingCount();
+      if (pendingCount > 0) {
+        this.$showMessage(`杩樻湁 ${pendingCount} 涓楠岄」鐩湭瀹屾垚锛岃瀹屾垚鎵�鏈夋楠岄」鐩悗鍐嶆彁浜ゅ鏍竊);
+        return;
+      }
+
+      // 妫�鏌ユ槸鍚︽湁妫�楠岄」鐩�
+      if (this.tableData.length === 0) {
+        this.$showMessage("娌℃湁妫�楠岄」鐩紝鏃犳硶鎻愪氦瀹℃牳");
+        return;
+      }
+
+      this.$post({
+        url: "/XJ/XJQaSubmit",
+        data: {
+          userNo: this.$loginInfo.account,
+          gid: this.formData.id
+        }
+      }).then(res => {
+        console.log("瀹屾暣鍝嶅簲鏁版嵁:", res);
+        console.log("Status Code鐨勫��:", res.statusCode);
+        console.log("杩斿洖鐨勬暟鎹�:", res.data);
+        
+        // 妫�鏌ュ绉嶆垚鍔熸潯浠�
+        if (res.statusCode === 200 || res.status === 0 || res.data === true || res.data.tbBillList === true) {
+          this.$showMessage("鎴愬姛鎻愪氦妫�楠�");
+          // 鎻愪氦鎴愬姛鍚庤烦杞埌鍒楄〃椤甸潰
+          setTimeout(() => {
+            uni.navigateTo({
+              url: '/pages/QC/XJ/List'
+            });
+          }, 1500); // 1.5绉掑悗璺宠浆锛岃鐢ㄦ埛鐪嬪埌鎴愬姛鎻愮ず
+        } else {
+          this.$showMessage(res.data.message || res.message || "鎻愪氦澶辫触");
+        }
+      }).catch(err => {
+        console.log("鎻愪氦鍑洪敊:", err);
+        this.$showMessage("鎻愪氦澶辫触锛岃閲嶈瘯");
+      })
+    },
+
     removeXJ() {
       if (this.formData.id) {
         this.$post({
@@ -959,8 +1003,9 @@
   padding: 20px;
   border: 1px solid #ccc;
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
-  width: 68vw;
-  height: 25vh;
+  width: 85vw;
+  min-height: 35vh;
+  max-height: 60vh;
   border-radius: 8px;
 }
 
@@ -993,6 +1038,13 @@
   border-radius: 4px;
   font-size: 14px;
   box-sizing: border-box;
+}
+
+.popup .form-textarea {
+  min-height: 120px;
+  resize: vertical;
+  font-family: inherit;
+  line-height: 1.5;
 }
 
 .popup-buttons {
@@ -1033,5 +1085,17 @@
     display: block;
     overflow-x: auto;
   }
+
+  /* 绉诲姩绔脊鍑烘浼樺寲 */
+  .popup {
+    width: 95vw;
+    min-height: 40vh;
+    max-height: 70vh;
+    padding: 15px;
+  }
+
+  .popup .form-textarea {
+    min-height: 100px;
+  }
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3