From 5c6c67ff6a447f55ed82bf925fcbb6c1ed6ab542 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 26 六月 2025 08:34:08 +0800 Subject: [PATCH] 1.生产补料优化 2.条码拆分优化 3.入库前拆分界面 --- H5/Js/IPQC_SJ/Add.js | 352 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 321 insertions(+), 31 deletions(-) diff --git a/H5/Js/IPQC_SJ/Add.js b/H5/Js/IPQC_SJ/Add.js index 936290a..d19e67d 100644 --- a/H5/Js/IPQC_SJ/Add.js +++ b/H5/Js/IPQC_SJ/Add.js @@ -2,34 +2,52 @@ el: '#app', data: function () { return { - tableData: [], // 鐢熸垚鐨勮〃鏍兼暟鎹� + tableTbData: [], // "鍒剁儹鎬ц兘"鐢熸垚鐨勮〃鏍兼暟鎹� formTbData: { // 琛ㄥ崟鏁版嵁 - temperatureData: {} // 瀛樺偍娓╁害鏁版嵁 + temperatureData: {} // 瀛樺偍鐨勫疄闄呮俯搴︺�佸疄闄呮祦閲忔暟鎹� }, + indexZrxx:0,//鍒剁儹鎬ц兘index headers: [], showZr: false, waterOptions: [ + { value: '100鈩�', text: '100鈩�' }, + { value: '99鈩�', text: '99鈩�' }, + { value: '90鈩�', text: '90鈩�' }, + { value: '85鈩�', text: '85鈩�' }, + { value: '80鈩�', text: '80鈩�' }, + { value: '75鈩�', text: '75鈩�' }, + { value: '65鈩�', text: '65鈩�' }, + { value: '60鈩�', text: '60鈩�' }, + { value: '55鈩�', text: '55鈩�' }, + { value: '45鈩�', text: '45鈩�' }, + { value: '42鈩�', text: '42鈩�' }, { value: '甯告俯姘�', text: '甯告俯姘�' }, - { value: '0鈩�', text: '0鈩�' }, - { value: '5鈩�', text: '5鈩�' }, - { value: '15鈩�', text: '15鈩�' }, - { value: '35鈩�', text: '35鈩�' }, - { value: '55鈩�', text: '55鈩�' }, - { value: '75鈩�', text: '75鈩�' }, - { value: '100鈩�', text: '100鈩�' } - ], + { value: '鍐版按', text: '鍐版按' }, + { value: '70鈩�', text: '70鈩�' }, + { value: '50鈩�', text: '50鈩�' }, + { value: '寰喎', text: '寰喎' } + ],//姘存俯閫夐」 flowOptions: [ + { value: '50ml', text: '50ml' }, { value: '100ml', text: '100ml' }, + { value: '120ml', text: '120ml' }, + { value: '150ml', text: '150ml' }, + { value: '160ml', text: '160ml' }, { value: '200ml', text: '200ml' }, + { value: '250ml', text: '250ml' }, + { value: '260ml', text: '260ml' }, { value: '300ml', text: '300ml' }, - { value: '400ml', text: '400ml' }, + { value: '350ml', text: '350ml' }, + { value: '360ml', text: '360ml' }, + { value: '450ml', text: '450ml' }, { value: '500ml', text: '500ml' }, + { value: '550ml', text: '550ml' }, { value: '600ml', text: '600ml' }, - { value: '700ml', text: '700ml' }, - { value: '800ml', text: '800ml' }, - { value: '900ml', text: '900ml' }, - { value: '1000ml', text: '1000ml' } - ], + { value: '750ml', text: '750ml' }, + { value: '999ml', text: '999ml' }, + { value: '涓�鍒嗛挓娴侀噺', text: '涓�鍒嗛挓娴侀噺' }, + { value: '涓夊垎閽熸祦閲�', text: '涓夊垎閽熸祦閲�' } + ],//娴侀噺閫夐」 selectedWater: [],// 宸查�夋按娓╁�� selectedFlow: [], // 宸查�夋祦閲忓�� isLoading: false, @@ -85,6 +103,19 @@ // message: '涓婁紶澶辫触', //}, ], + + //鏃堕棿閫夋嫨鍙傛暟 + showScDatePicker: false, + minDate: new Date(new Date().getFullYear() - 1, 0, 1), // 杩囧幓涓�骞� + maxDate: new Date(new Date().getFullYear() + 1, 11, 31), // 鏈潵涓�骞� + currentDate: new Date(), + scDate: '', // 瀛樺偍鏍煎紡鍖栧悗鐨勬棩鏈� + + //璁よ瘉淇℃伅閫夋嫨 + showRzxx: false, + actions: [], + selectedRzxx: [], // 瀛樺偍澶氶�夊�� + rzxxOptions: [], // 璁よ瘉淇℃伅閫夐」 } }, mounted() { @@ -117,16 +148,16 @@ }, - openZrPopup() { + openZrPopup(index) { this.showZr = true; + this.indexZrxx = this.tabActive; + this.loadTableConfig(); }, closeZrPopup() { this.showZr = false; - this.selectedWater = []; // 鍏抽棴鏃舵竻绌洪�夋嫨 - this.selectedFlow = []; // 鍏抽棴鏃舵竻绌洪�夋嫨 + // this.selectedWater = []; // 鍏抽棴鏃舵竻绌洪�夋嫨 + // this.selectedFlow = []; // 鍏抽棴鏃舵竻绌洪�夋嫨 }, - - //閽堝娌℃湁涓婁笅闄愬�肩殑鏁版嵁锛屽彧闇�閫夋嫨鍚堟牸鎴栦笉鍚堟牸.鎸夐挳瑙﹀彂 handleQualified(isQualified) { var input = ""; @@ -329,9 +360,10 @@ this.showDialog= true }, - updateRzxx() { - this.showDialogRzxx = true - }, + // updateRzxx() { + // this.showDialogRzxx = true + // }, + //鍒犻櫎妫�楠屾槑缁嗚褰� deleteDetail13(guid12) { const that = this; var guid1 = that.formData.guid;//涓昏〃id @@ -367,6 +399,7 @@ that.isLoading = false; }); }, + //鏇存柊璁よ瘉淇℃伅 rzxxConfirm() { var that = this; var guid1 = that.formData.guid;//涓昏〃id @@ -380,7 +413,7 @@ var json = res; if (json.status == 0) { that.$notify({ type: 'success', message: '杈撳叆鎴愬姛' }); - that.refreshJYItem();//鍒锋柊妫�楠岄」鐩� + //that.refreshJYItem();//鍒锋柊妫�楠岄」鐩� } else { that.$toast.fail(json.message); @@ -393,6 +426,31 @@ that.isLoading = false; }); }, + // 淇敼鍘焤zxxConfirm鏂规硶 + updateRzxxToServer(selectedValues) { + var that = this; + that.AxiosHttp("post", 'Ipqc/updateIpqcRzxx', { + gid: that.formData.guid, + pid: that.tableData[that.tabActive].guid, + inRzxxValue: that.jymxData.ipqcrzxx // 鏀逛负鏁扮粍鏍煎紡 + }).then(res => { + var json = res; + if (json.status == 0) { + that.$notify({ type: 'success', message: '杈撳叆鎴愬姛' }); + //that.refreshJYItem();//鍒锋柊妫�楠岄」鐩� + } + else { + that.$toast.fail(json.message); + } + //that.$notify({ type: 'success', message: json.message }); + that.isLoading = false; + }).catch(function (error) { + that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�"); + that.inRzxxValue = null; + that.isLoading = false; + }); + }, + //鏇存柊涓嶅悎鏍艰〃杩� remarksConfirm() { const that = this; that.isLoading = true; @@ -522,7 +580,7 @@ }, createTb() { // 娓呯┖鏃ф暟鎹� - this.tableData = []; + this.tableTbData = []; this.formTbData.temperatureData = {}; // 鏍¢獙閫夋嫨 @@ -532,20 +590,28 @@ } // 鐢熸垚琛ㄥご - const headers = ['璁惧畾娓╁害','瀹為檯娓╁害', ...this.selectedFlow.sort().map(f => f )]; + // 淇敼headers鐢熸垚閫昏緫 鈫� + const headers = [ + '璁惧畾娓╁害', + '瀹為檯娓╁害锛堚剝锛�', + ...this.selectedFlow.sort().map(f => `${f}`) + ]; this.headers = headers; console.log(this.headers); // 鐢熸垚琛屾暟鎹� - this.tableData = this.selectedWater.sort((a,b) => a - b).map(water => { + this.tableTbData = this.selectedWater.sort((a,b) => a - b).map(water => { const row = { temperature: water === '甯告俯姘�' ? water : water, - values: Object.fromEntries( // 浣跨敤瀵硅薄浠f浛鏁扮粍 - this.selectedFlow.map(flow => [flow, '']) - ) + values: Object.fromEntries([ + ['temp', ''], // 鍥哄畾娓╁害瀛楁 + ...this.selectedFlow.map(flow => [flow, '']) + ]) }; // 鍒濆鍖栬〃鍗曟暟鎹粨鏋� this.$set(this.formTbData.temperatureData, water, {}); + // 娣诲姞鍥哄畾瀛楁鈥濆疄闄呮俯搴︹�滃垵濮嬪寲 + this.$set(this.formTbData.temperatureData[water], 'temp', ''); this.selectedFlow.forEach(flow => { this.$set(this.formTbData.temperatureData[water], flow, ''); }); @@ -560,5 +626,229 @@ }, 100); console.log(this.formTbData); }, + // 鏂板淇濆瓨閰嶇疆鏂规硶 + saveTableConfig() { + const that = this; + that.isLoading = true; + + that.AxiosHttp("post", 'Ipqc/SaveTableConfig', { + selectedWater: (that.selectedWater), + selectedFlow: (that.selectedFlow), + tableData: (that.formTbData.temperatureData), + mxguid: that.tableData[that.indexZrxx].guid // 浣跨敤涓昏〃ID鍏宠仈 + }, true).then(res1 => { + if (res1.status === 0) { + that.$notify({ type: 'success', message: '閰嶇疆淇濆瓨鎴愬姛' }); + } else { + that.$toast.fail(res1.rtnMsg); + } + that.isLoading = false; + }).catch(error => { + that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�"); + that.isLoading = false; + }); + }, + // 鏂板鍔犺浇閰嶇疆鏂规硶 + loadTableConfig() { + const that = this; + that.isLoading = true; + var mxguid = that.tableData[that.indexZrxx].guid; + + + that.AxiosHttp("post", 'Ipqc/GetTableConfig', { + mxguid: mxguid, + }, true).then(res1 => { + if (res1.status === 0 && res1.data) { + // 瑙f瀽瀛樺偍鐨勬暟鎹� + that.selectedWater = JSON.parse(res1.data.selectedWater || '[]'); + that.selectedFlow = JSON.parse(res1.data.selectedFlow || '[]'); + that.formTbData.temperatureData = JSON.parse(res1.data.tableData || '{}'); + + // 璋冪敤鏂扮殑娓叉煋鏂规硶 + this.renderExistingTable(); + } + that.isLoading = false; + }).catch(error => { + that.isLoading = false; + that.$toast.fail("鍔犺浇閰嶇疆澶辫触"); + }); + }, + + // 鏂板娓叉煋宸叉湁鏁版嵁琛ㄦ牸鐨勬柟娉� + renderExistingTable() { + const that = this; + console.log(that.formTbData.temperatureData); + // 浠庣幇鏈夋暟鎹弽鍚戞帹瀵奸�夋嫨椤� + const existingWaters = Object.keys(that.formTbData.temperatureData); + const existingFlows = existingWaters.length > 0 + ? Object.keys(that.formTbData.temperatureData[existingWaters[0]]) + .filter(k => k !== 'temp') + : []; + + // 鐢熸垚琛ㄥご锛堜繚鐣欏師濮媍reateTb鐨勬牸寮忥級 + that.headers = [ + '璁惧畾娓╁害', + '瀹為檯娓╁害锛堚剝锛�', + ...existingFlows.map(f => `${f}`) + ]; + + // 鐢熸垚琛屾暟鎹紙淇濈暀鍘熷缁撴瀯锛� + that.tableTbData = existingWaters.map(water => { + const values = that.formTbData.temperatureData[water]; + return { + temperature: water, + values: Object.fromEntries([ + ['temp', values.temp || ''], + ...existingFlows.map(flow => [flow, values[flow] || '']) + ]) + }; + }); + console.log(that.formTbData.temperatureData); + // 淇濈暀鍘熷婊氬姩閫昏緫 + setTimeout(() => { + const tableEl = document.getElementById('temperature-table'); + if (tableEl) tableEl.scrollIntoView({ behavior: 'smooth' }); + }, 100); + console.log(that.formTbData.temperatureData); + }, + //淇濆瓨鐢熶骇鏃ユ湡 + confirmScDate(value) { + const date = new Date(value); + this.scDate = `${date.getFullYear()}-${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getDate().toString().padStart(2, '0')}`; + //this.rzxxValue = this.scDate; // 鍚屾椂鏇存柊璁よ瘉淇℃伅瀛楁 + console.log(this.scDate); + + var that = this; + var guid1 = that.formData.guid;//涓昏〃id + var mxguid = that.tableData[that.tabActive].guid;//妫�楠岄」鐩殑guid + that.isLoading = true; + that.AxiosHttp("post", 'Ipqc/updateScDate', { + gid: guid1, + mxguid: mxguid, + scDateValue: that.scDate,//杈撳叆鐨勮璇佷俊鎭� + }, true, 0).then(function (res) { + var json = res; + if (json.status == 0) { + that.$notify({ type: 'success', message: '杈撳叆鎴愬姛' }); + that.refreshJYItem();//鍒锋柊妫�楠岄」鐩� + } + else { + that.$toast.fail(json.message); + } + //that.$notify({ type: 'success', message: json.message }); + that.isLoading = false; + }).catch(function (error) { + that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�"); + that.inRzxxValue = null; + that.isLoading = false; + }); + + this.showScDatePicker = false; + }, + + selectRzxx() { + this.showRzxx = true; + this.getRzxxList(); + }, + //鑾峰彇璁よ瘉淇℃伅鐩稿叧鍒楄〃 + getRzxxList() { + var that = this; + that.rzxxOptions = []; + that.isLoading = true; + var mxguid = that.tableData[that.tabActive].guid;//妫�楠岄」鐩殑guid + that.AxiosHttp("post", 'Ipqc/GetRzxxList', { + // 鏍规嵁瀹為檯鎺ュ彛闇�瑕佷紶閫掑弬鏁� + mxguid: mxguid, + }, false) + .then(function (res) { + if (res.status == 0) { + // that.actions = res.data.tbBillList.map(item => { + // return { name: item.defect_name } // 鏍规嵁瀹為檯鏁版嵁缁撴瀯璋冩暣 + // }); + that.rzxxOptions = res.data.tbBillList.map(item => ({ + value: item.defect_name, // 鍋囪guid鏄敮涓�鏍囪瘑绗� + text: item.defect_name // 璁よ瘉淇℃伅鍚嶇О + })); + } else { + that.$toast.fail(res.message); + } + that.isLoading = false; + }) + .catch(function (error) { + that.isLoading = false; + that.$toast.fail("鑾峰彇璁よ瘉淇℃伅澶辫触"); + }); + }, + // 鏂板纭澶氶�夋柟娉� + confirmMultiRzxx() { + const selectedTexts = this.rzxxOptions + .filter(item => this.selectedRzxx.includes(item.value)) + .map(item => item.text); + + // 淇敼杩欓噷锛氱敤鎹㈣绗︽浛浠i�楀彿鍒嗛殧 + this.jymxData.ipqcrzxx = selectedTexts.join('\n'); + this.showRzxx = false; + + // 鏇存柊澶氶�夊�煎埌鍚庣 + this.updateRzxxToServer(selectedTexts); + }, + + //閫夋嫨璁よ瘉淇℃伅 + onRzxxSelect(item) { + this.showRzxx = false; + this.rzxxValue = item.name; + this.rzxxConfirm(); + //this.refreshJYItem();//鍒锋柊妫�楠岄」鐩� + // 濡傛灉闇�瑕佽幏鍙栬缁嗕俊鎭彲鍦ㄦ澶勮皟鐢ㄥ叾浠栨柟娉� + }, + //鏇存柊璁よ瘉淇℃伅浣跨敤鏁伴噺 + updateRzxxNum(value, index) { + // 娣诲姞闃叉姈鍒ゆ柇 + if (this.isLoading) { + return; + } + + const that = this; + that.isLoading = true; + that.AxiosHttp("post", 'Ipqc/saveIpqcrzxxNum', { + guid: that.tableData[that.tabActive].guid, + ipqcrzxxNum: value + }, true, 0).then(res => { + if (res.status == 0) { + //that.$notify({ type: 'success', message: '鏁伴噺鏇存柊鎴愬姛' }); + //that.refreshJYItem();//鍒锋柊妫�楠岄」鐩� + } else { + that.$toast.fail(res.rtnMsg); + } + that.isLoading = false; + }).catch(error => { + that.isLoading = false; + that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�"); + }); + }, + //鏇存柊鏄惁鏈夋棤寮傚懗 + updateCpscs(value) { + // 娣诲姞闃叉姈鍒ゆ柇 + if (this.isLoading) { + return; + } + const that = this; + that.isLoading = true; + if (!value) return; + that.AxiosHttp("post", 'Ipqc/saveIpqCpscs', { + guid: that.tableData[that.tabActive].guid, + ipqCpscs: value + }, true, 0).then(res => { + if (res.status == 0) { + //that.refreshJYItem(); + } else { + that.$toast.fail(res.rtnMsg); + } + that.isLoading = false; + }).catch(error => { + that.isLoading = false; + that.$toast.fail("缃戠粶閿欒锛岃閲嶈瘯锛�"); + }); + }, } }) -- Gitblit v1.9.3