From 62cb247da5cc1cc097c5afea402aabee05260431 Mon Sep 17 00:00:00 2001
From: xwt <2740516069@qq.com>
Date: 星期四, 14 八月 2025 19:56:50 +0800
Subject: [PATCH] 首检巡检来料检入库检

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

diff --git a/pages/QC/XJ/Add.vue b/pages/QC/XJ/Add.vue
index e393806..7dbd87b 100644
--- a/pages/QC/XJ/Add.vue
+++ b/pages/QC/XJ/Add.vue
@@ -110,17 +110,24 @@
         </view>
       </view>
   
-      <!-- 鎿嶄綔鎸夐挳 -->
-      <view class="action-buttons">
-        <button class="action-btn primary" v-if="isUpdate && !isShowTable" @click="getItem">鍒涘缓妫�楠屽崟骞剁敓鎴愰儴鍒嗛粯璁ゅ��</button>
-        <button class="action-btn secondary" v-if="!isUpdate && !isShowTable" @click="toImage">涓婁紶/鏌ョ湅鍥剧墖</button>
-        <button class="action-btn danger" v-if="!isUpdate && !formData.fcheckResu && !isShowTable" @click="removeXJ">鍒犻櫎鍗曟嵁</button>
-        <button class="action-btn warning" v-if="!isUpdate && !isShowTable" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
-        <button class="action-btn primary" v-if="isShowTable" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
-        <button class="action-btn primary" v-if="isShowTable && isUpdate" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
-        <button class="action-btn success" v-if="!isUpdate && !isShowTable" @click="getGenUpdate">鑾峰彇妫�楠岄」鐩�</button>
-        <button class="action-btn success" v-if="!isUpdate && !isShowTable" @click="submitInspection">鎻愪氦妫�楠�</button>
-      </view>
+             <!-- 鎿嶄綔鎸夐挳 -->
+       <view class="action-buttons">
+         <!-- 鏂板缓鍗曟嵁鏃剁殑鍒涘缓鎸夐挳 -->
+         <button class="action-btn primary" v-if="isUpdate && !isShowTable" @click="save">
+           鍒涘缓妫�楠屽崟骞剁敓鎴愰儴鍒嗛粯璁ゅ��
+         </button>
+         
+         <!-- 宸叉湁鍗曟嵁鐨勬搷浣滄寜閽� -->
+         <button class="action-btn secondary" v-if="!isUpdate && !isShowTable" @click="toImage">涓婁紶/鏌ョ湅鍥剧墖</button>
+         <button class="action-btn danger" v-if="!isUpdate && !formData.fcheckResu && !isShowTable && formData.fsubmit !== 1" @click="removeXJ">鍒犻櫎鍗曟嵁</button>
+         <button class="action-btn warning" v-if="!isUpdate && !isShowTable && formData.fsubmit !== 1" @click="saveRemarks">娣诲姞涓嶅悎鏍兼弿杩�</button>
+         
+         <!-- 妫�楠岄」鐩鐞嗘寜閽� -->
+         <button class="action-btn primary" v-if="isShowTable" @click="getTable">鑾峰彇妫�楠岄」鐩�</button>
+         <button class="action-btn primary" v-if="isShowTable && isUpdate" @click="saveTable">鐢熸垚妫�楠岄」鐩�</button>
+         <button class="action-btn success" v-if="!isUpdate && !isShowTable && formData.fsubmit !== 1" @click="getGenUpdate">鑾峰彇妫�楠岄」鐩�</button>
+         <button class="action-btn success" v-if="!isUpdate && !isShowTable && formData.fsubmit !== 1" @click="submitInspection">鎻愪氦妫�楠�</button>
+       </view>
       <!-- 淇敼涓嶅悎鏍兼弿杩板脊鍑烘 -->
       <view v-if="remarksPopup" class="overlay">
         <view class="popup">
@@ -147,23 +154,27 @@
   export default {
     data() {
       return {
-        formData: {
-          id: "",
-          releaseNo: "",
-          createBy: "",
-          createDate: "",
-          daa020: "",
-          itemNo: "",
-          billNo: "",
-          catQty: "",
-          detailMem: "",
-          taskNo: "",
-          fcheckResu: "",
-          boardModel: "",
-          planQty: "",
-          mocode: "",
-          boardStyle: ""
-        },
+                 formData: {
+           id: "",
+           releaseNo: "",
+           createBy: "",
+           createDate: "",
+           daa020: "",
+           daa002: "", // 娣诲姞浜у搧ID瀛楁
+           itemNo: "",
+           itemName: "", // 娣诲姞鐗╂枡鍚嶇О
+           itemModel: "", // 娣诲姞瑙勬牸鍨嬪彿
+           billNo: "",
+           catQty: "",
+           detailMem: "",
+           taskNo: "",
+           fcheckResu: "",
+           fsubmit: 0, // 娣诲姞鎻愪氦鐘舵�佸瓧娈�
+           boardModel: "",
+           planQty: "",
+           mocode: "",
+           boardStyle: ""
+         },
   
         DAA020List: [],
         DAA020Index: -1,
@@ -270,29 +281,75 @@
           this.$showMessage("璇峰厛閫夋嫨妫�楠屽崟鍙�");
         }
       },
-      getItem() {
-  
+             save() {
+         // 楠岃瘉蹇呭~瀛楁 - 鍊熼壌SJ鐨勯獙璇侀�昏緫锛屼絾淇濇寔XJ鐨勫瓧娈甸獙璇�
+         if (!this.formData.billNo) {
+           this.$showMessage("璇烽�夋嫨宸ュ崟鍗曞彿");
+           return;
+         }
+         
+         if (!this.formData.itemNo) {
+           this.$showMessage("鐗╂枡淇℃伅鑾峰彇澶辫触锛岃閲嶆柊閫夋嫨宸ュ崟");
+           return;
+         }
+         
+         if (!this.tableData || this.tableData.length === 0) {
+           this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!");
+           return;
+         }
 
-  
-        if (!this.formData.billNo) {
-          this.$showMessage("璇烽�夋嫨宸ュ崟鍗曞彿");
-          return;
-        }
-  
-        this.$post({
-          url: "/XJ/save",
-          data: {
-            from: this.formData,
-            userNo: this.$loginInfo.account,
-            items: this.tableData
-          }
-        }).then(res => {
-          this.formData.id = res.data.tbBillList;
-          this.$showMessage("鐢熸垚妫�楠岄」鐩垚鍔�");
-          this.init();
-          this.isUpdate = false;
-        });
-      },
+         const saveData = {
+           ReleaseNo: this.formData.releaseNo,
+           ItemNo: this.formData.itemNo,
+           BillNo: this.formData.billNo,
+           DepartmentId: this.selectedDepartment, // 鍙娇鐢ㄩ儴闂↖D
+           WorkShop: null, // 鏄庣‘璁剧疆涓簄ull锛岄伩鍏嶆暟鎹簱瀛楁閿欒
+           ItemId: this.formData.daa002, // 浣跨敤宸ュ崟涓殑浜у搧ID
+           PlanQty: this.formData.planQty,
+           CreateBy: this.formData.createBy,
+           CreateDate: this.formData.createDate,
+           FcheckDate: new Date(),
+           Remarks: this.formData.remarks || ""
+         };
+
+         // 璋冭瘯淇℃伅
+         console.log("鍒涘缓妫�楠屽崟鏁版嵁:", {
+           formData: this.formData,
+           selectedDepartment: this.selectedDepartment,
+           WORKSHOP: this.WORKSHOP,
+           saveData: saveData,
+           tableData: this.tableData
+         });
+   
+         this.$post({
+           url: "/XJ/save",
+           data: {
+             from: saveData,
+             userNo: this.$loginInfo.account,
+             items: this.tableData
+           }
+         }).then(res => {
+           if (res.data.tbBillList) {
+             this.formData.id = res.data.tbBillList;
+             
+             // 濡傛灉杩斿洖浜嗗畬鏁寸殑妫�楠岄」鐩俊鎭紝鏇存柊tableData
+             if (res.data.xjDto && res.data.xjDto.items) {
+               this.tableData = res.data.xjDto.items;
+             }
+             
+             this.$showMessage("鍒涘缓妫�楠屽崟骞剁敓鎴愰粯璁ゅ�兼垚鍔�");
+             this.isUpdate = false;
+             
+             // 鏇存柊formData鐨勫叾浠栧瓧娈�
+             this.formData = { ...this.formData, ...saveData };
+           } else {
+             this.$showMessage("鍒涘缓妫�楠屽崟澶辫触锛岃妫�鏌ユ暟鎹�");
+           }
+         }).catch(err => {
+           console.error("鍒涘缓妫�楠屽崟閿欒:", err);
+           this.$showMessage("鍒涘缓妫�楠屽崟澶辫触锛�" + (err.message || "鏈煡閿欒"));
+         });
+       },
       
       // 鍔犺浇閮ㄩ棬鍒楄〃
       loadDepartments() {
@@ -374,20 +431,28 @@
         this.DAA020Index = event.mp.detail.value;
 
         this.lineNo = this.lineList[this.DAA020Index].lineNo;
+        // 璁剧疆绾夸綋缂栧彿鍒癴ormData
+        this.formData.daa020 = this.lineList[this.DAA020Index].lineName;
 
         this.$post({
-          url: "/XJ/getDaa001",
+          url: "/XJ/getWorkOrderWithItem", // 璋冪敤鏂扮殑API鑾峰彇宸ュ崟璇︾粏淇℃伅
           data: {
             daa020: this.lineNo
           }
         }).then(res => {
           //濉厖宸ュ崟鍙风殑鏁版嵁婧�
           this.schemeResult = res.data.tbBillList;
-          this.DAA001List = this.schemeResult.map(s => s.Daa001);
+          this.DAA001List = this.schemeResult.map(s => s.daa001); // 淇敼涓哄皬鍐�
           //鍙樹负榛樿绌哄�肩殑鐘舵��
           this.DAA001Index = -1;
 
           this.formData.billNo = "";
+          // 娓呯┖鐗╂枡淇℃伅
+          this.formData.itemNo = "";
+          this.formData.itemName = "";
+          this.formData.itemModel = "";
+          this.formData.planQty = "";
+          this.tableData = [];
         })
 
       },
@@ -396,13 +461,16 @@
       onDaa001Change(event) {
         this.DAA001Index = event.mp.detail.value;
         const selectedWorkOrder = this.schemeResult[this.DAA001Index];
-        this.formData.billNo = selectedWorkOrder.Daa001;
-        this.formData.planQty = selectedWorkOrder.Daa008;
+        
+                 // 璁剧疆宸ュ崟淇℃伅
+         this.formData.billNo = selectedWorkOrder.daa001; // 淇敼涓哄皬鍐�
+         this.formData.planQty = selectedWorkOrder.daa008; // 淇敼涓哄皬鍐�
+         this.formData.daa002 = selectedWorkOrder.daa002; // 璁剧疆浜у搧ID
         
         // 浠庡伐鍗曟暟鎹腑鑾峰彇鐗╂枡淇℃伅
-        this.formData.itemNo = selectedWorkOrder.ItemNo; // 鐗╂枡缂栫爜
-        this.formData.itemName = selectedWorkOrder.ItemName; // 鐗╂枡鍚嶇О
-        this.formData.itemModel = selectedWorkOrder.ItemModel; // 瑙勬牸鍨嬪彿
+        this.formData.itemNo = selectedWorkOrder.itemNo; // 淇敼涓哄皬鍐�
+        this.formData.itemName = selectedWorkOrder.itemName; // 淇敼涓哄皬鍐�
+        this.formData.itemModel = selectedWorkOrder.itemModel; // 淇敼涓哄皬鍐�
         
         // 鑾峰彇妫�楠岄」鐩�
         this.$post({
@@ -419,46 +487,53 @@
             this.isSubmit = true;
             this.tableData = [];
           }
+        }).catch(err => {
+          console.error("鑾峰彇妫�楠岄」鐩敊璇�:", err);
+          this.$showMessage("鑾峰彇妫�楠岄」鐩け璐�");
+          this.tableData = [];
         });
       },
-      init() {
-        this.$post({
-          url: "/XJ/getPage",
-          data: {
-            id: this.formData.id,
-            pageIndex: 1,
-            limit: 1,
-          }
-        }).then(res => {
-          let data = res.data.tbBillList[0];
-          if (data) {
-            this.formData = data;
-  
-            this.$post({
-              url: "/XJ/getJYItem",
-              data: {
-                pid: this.formData.id
-              }
-            }).then(res1 => {
-              let tableData = res1.data.tbBillList
-              //褰撳凡妫�楠屼釜鏁伴兘涓嶄负绌烘椂鎸夌収妫�娴嬬粨鏋勬帓搴�
-              tableData.sort((a, b) => {
-                if (a.result === '鏈畬鎴�' && b.result === '鍚堟牸') {
-                  return -1;
-                } else if (a.result === '鍚堟牸' && b.result === '鏈畬鎴�') {
-                  return 1;
-                } else {
-                  return 0;
-                }
-              });
-              this.tableData = tableData;
-              if (this.tableData.length === 0) {
-                this.isShowTable = true;
-              }
-            })
-          }
-        });
-      },
+                         init() {
+         this.$post({
+           url: "/XJ/getPage",
+           data: {
+             id: this.formData.id,
+             pageIndex: 1,
+             limit: 1,
+           }
+         }).then(res => {
+           let data = res.data.tbBillList[0];
+           if (data) {
+             this.formData = data;
+             
+             // 涓嶅啀鏍规嵁fsubmit瀛楁淇敼isUpdate鐘舵��
+             // 鑰屾槸閫氳繃鎸夐挳鐨剉-if鏉′欢鏉ユ帶鍒舵樉绀�
+
+             this.$post({
+               url: "/XJ/getJYItem",
+               data: {
+                 pid: this.formData.id
+               }
+             }).then(res1 => {
+               let tableData = res1.data.tbBillList
+               //褰撳凡妫�楠屼釜鏁伴兘涓嶄负绌烘椂鎸夌収妫�娴嬬粨鏋勬帓搴�
+               tableData.sort((a, b) => {
+                 if (a.result === '鏈畬鎴�' && b.result === '鍚堟牸') {
+                   return -1;
+                 } else if (a.result === '鍚堟牸' && b.result === '鏈畬鎴�') {
+                   return 1;
+                 } else {
+                   return 0;
+                 }
+               });
+               this.tableData = tableData;
+               if (this.tableData.length === 0) {
+                 this.isShowTable = true;
+               }
+             })
+           }
+         });
+       },
       toDetail(item) {
         if (this.isUpdate) {
           uni.showToast({

--
Gitblit v1.9.3