From 0b3b3c54a8a6e4012cea104f1c63965215daeff2 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期五, 30 五月 2025 14:46:32 +0800 Subject: [PATCH] 1.首检检验表格生成 --- H5/Js/IPQC_SJ/Add.js | 184 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 145 insertions(+), 39 deletions(-) diff --git a/H5/Js/IPQC_SJ/Add.js b/H5/Js/IPQC_SJ/Add.js index f63bff6..a279da8 100644 --- a/H5/Js/IPQC_SJ/Add.js +++ b/H5/Js/IPQC_SJ/Add.js @@ -2,34 +2,47 @@ el: '#app', data: function () { return { - tableData: [], // 鐢熸垚鐨勮〃鏍兼暟鎹� - formData: { // 琛ㄥ崟鏁版嵁 - temperatureData: {} // 瀛樺偍娓╁害鏁版嵁 + tableTbData: [], // "鍒剁儹鎬ц兘"鐢熸垚鐨勮〃鏍兼暟鎹� + formTbData: { // 琛ㄥ崟鏁版嵁 + 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: '100ml', text: '100ml' }, - { value: '200ml', text: '200ml' }, - { value: '300ml', text: '300ml' }, - { value: '400ml', text: '400ml' }, - { value: '500ml', text: '500ml' }, - { value: '600ml', text: '600ml' }, - { value: '700ml', text: '700ml' }, - { value: '800ml', text: '800ml' }, - { value: '900ml', text: '900ml' }, - { value: '1000ml', text: '1000ml' } - ], + { value: '50ml', text: '50ml' }, + { value: '120ml', text: '120ml' }, + { value: '150ml', text: '150ml' }, + { value: '160ml', text: '160ml' }, + { value: '250ml', text: '250ml' }, + { value: '260ml', text: '260ml' }, + { value: '350ml', text: '350ml' }, + { value: '360ml', text: '360ml' }, + { value: '450ml', text: '450ml' }, + { value: '550ml', text: '550ml' }, + { value: '750ml', text: '750ml' }, + { value: '999ml', text: '999ml' }, + { value: '涓�鍒嗛挓娴侀噺', text: '涓�鍒嗛挓娴侀噺' }, + { value: '涓夊垎閽熸祦閲�', text: '涓夊垎閽熸祦閲�' } + ],//娴侀噺閫夐」 selectedWater: [],// 宸查�夋按娓╁�� selectedFlow: [], // 宸查�夋祦閲忓�� isLoading: false, @@ -117,16 +130,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 = ""; @@ -522,8 +535,8 @@ }, createTb() { // 娓呯┖鏃ф暟鎹� - this.tableData = []; - this.formData.temperatureData = {}; + this.tableTbData = []; + this.formTbData.temperatureData = {}; // 鏍¢獙閫夋嫨 if (this.selectedWater.length === 0 || this.selectedFlow.length === 0) { @@ -532,23 +545,30 @@ } // 鐢熸垚琛ㄥご - 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: this.selectedFlow.map(flow => ({ - flow: flow, - value: '' // 鍒濆绌哄�� - })) + values: Object.fromEntries([ + ['temp', ''], // 鍥哄畾娓╁害瀛楁 + ...this.selectedFlow.map(flow => [flow, '']) + ]) }; - // 鍒濆鍖栬〃鍗曟暟鎹� - this.formData.temperatureData[water] = {}; + // 鍒濆鍖栬〃鍗曟暟鎹粨鏋� + this.$set(this.formTbData.temperatureData, water, {}); + // 娣诲姞鍥哄畾瀛楁鈥濆疄闄呮俯搴︹�滃垵濮嬪寲 + this.$set(this.formTbData.temperatureData[water], 'temp', ''); this.selectedFlow.forEach(flow => { - this.formData.temperatureData[water][flow] = ''; + this.$set(this.formTbData.temperatureData[water], flow, ''); }); return row; @@ -559,6 +579,92 @@ const tableEl = document.getElementById('temperature-table'); if (tableEl) tableEl.scrollIntoView({ behavior: 'smooth' }); }, 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); }, } }) -- Gitblit v1.9.3