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 | 360 +++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 199 insertions(+), 161 deletions(-) diff --git a/pages/QC/XJ/Add.vue b/pages/QC/XJ/Add.vue index 7140538..7dbd87b 100644 --- a/pages/QC/XJ/Add.vue +++ b/pages/QC/XJ/Add.vue @@ -40,20 +40,16 @@ <view v-else class="info-value">{{ formData.daa020 }}</view> </view> <view class="info-item"> - <view class="info-label">鐗╂枡缂栫爜</view> - <picker v-if="isUpdate" class="picker-input" name="selector" :range="ItemList" - @change="onItemChange"> - <view class="picker-value">{{ ItemList[ItemIndex] || '璇烽�夋嫨' }}</view> - </picker> - <view v-else class="info-value">{{ formData.itemNo }}</view> - </view> - <view class="info-item"> <view class="info-label">宸ュ崟鍗曞彿</view> <picker v-if="isUpdate" class="picker-input" name="selector" :range="DAA001List" @change="onDaa001Change"> <view class="picker-value">{{ DAA001List[DAA001Index] || '璇烽�夋嫨' }}</view> </picker> <view v-else class="info-value">{{ formData.billNo }}</view> + </view> + <view class="info-item"> + <view class="info-label">鐗╂枡缂栫爜</view> + <view class="info-value">{{ formData.itemNo }}</view> </view> <view class="info-item"> <view class="info-label">鐗╂枡鍚嶇О</view> @@ -114,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"> @@ -151,38 +154,38 @@ 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, filteredDAA020List: [], - DAA001List: [], + DAA001List: [], DAA001Index: -1, schemeResult: [], - - isShowTable: false, - - ItemList: [], - ItemIndex: -1, - boardItems: [], - + + isShowTable: false, + lineList: [], lineNo: "", @@ -278,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() { @@ -376,126 +425,115 @@ }); }, - //鐢熶骇绾垮埆閫夋嫨骞跺垵濮嬭瘽宸ュ崟鍙� + //鐢熶骇绾垮埆閫夋嫨骞跺垵濮嬪寲宸ュ崟鍙� onDaa020Change(event) { //鑾峰彇鐢熶骇绾垮埆鐨勪笅鏍囧湴鍧� 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/getBoardItem", + url: "/XJ/getWorkOrderWithItem", // 璋冪敤鏂扮殑API鑾峰彇宸ュ崟璇︾粏淇℃伅 data: { - lineNo: this.lineNo - } - }).then(res => { - //濉厖宸ュ崟鍙风殑鏁版嵁婧� - this.boardItems = res.data.tbBillList; - this.ItemList = this.boardItems.map(item => item.itemNo); - //鍙樹负榛樿绌哄�肩殑鐘舵�� - this.ItemIndex = -1; - }) - - }, - onItemChange(event) { - this.ItemIndex = event.mp.detail.value; - this.formData.itemNo = this.boardItems[this.ItemIndex].itemNo;//涓昏鏄敼杩欓噷 - this.formData.itemId = this.boardItems[this.ItemIndex].id;//涓昏鏄敼杩欓噷 - this.formData.itemName = this.boardItems[this.ItemIndex].itemName;//涓昏鏄敼杩欓噷 - this.formData.itemModel = this.boardItems[this.ItemIndex].itemModel;//涓昏鏄敼杩欓噷 - this.$post({ - url: "/XJ/getDaa001", - data: { - daa020: this.lineNo, - item: this.formData.itemNo + 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 = []; }) + }, - //閫夊彇宸ュ崟濉厖鐗╂枡鍙峰拰鍏朵粬淇℃伅 + + //閫夊彇宸ュ崟濉厖鐗╂枡鍙峰拰鍏朵粬淇℃伅 onDaa001Change(event) { this.DAA001Index = event.mp.detail.value; - this.formData.billNo = this.schemeResult[this.DAA001Index].daa001; - this.formData.planQty = this.schemeResult[this.DAA001Index].daa008; - //琛ㄥ崟涓殑閮ㄥ垎瀛楁璧嬪�� + const selectedWorkOrder = this.schemeResult[this.DAA001Index]; + + // 璁剧疆宸ュ崟淇℃伅 + 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.$post({ - url: "/XJ/getItem", + url: "/XJ/setJYItem", data: { - daa001: this.formData.billNo + itemNo: this.formData.itemNo } }).then(res => { - let data = res.data.tbBillList[0]; - //褰撹繑鍥炵殑缁撴灉闆嗕负绌烘椂缃┖鍘熸湁鐨勫�� - if (!data) { - this.formData.billNo = ""; - this.formData.itemNo = ""; - this.formData.planQty = ""; + if (res.data.tbBillList.length > 0) { + this.tableData = res.data.tbBillList; + this.isSubmit = false; + } else { + this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!"); + this.isSubmit = true; this.tableData = []; - return; } - - this.$post({ - url: "/XJ/setJYItem", - data: { - itemNo: this.formData.itemNo - } - }).then(res => { - if (res.data.tbBillList.length > 0) { - this.tableData = res.data.tbBillList; // 鍦ㄧ澶村嚱鏁颁腑锛宼his 鎸囧悜澶栧眰浣滅敤鍩熺殑 this - this.isSubmit = false; - } else { - this.$showMessage("姝ょ墿鏂欐病鏈夊惎鐢ㄧ殑妫�楠岄」鐩紝璇风淮鎶�!"); - 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