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 | 201 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 176 insertions(+), 25 deletions(-) diff --git a/H5/Js/IPQC_SJ/Add.js b/H5/Js/IPQC_SJ/Add.js index e87d5e3..a279da8 100644 --- a/H5/Js/IPQC_SJ/Add.js +++ b/H5/Js/IPQC_SJ/Add.js @@ -2,29 +2,47 @@ el: '#app', data: function () { return { + 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: '100', text: '100ml' }, - { value: '200', text: '200ml' }, - { value: '300', text: '300ml' }, - { value: '400', text: '400ml' }, - { value: '500', text: '500ml' }, - { value: '600', text: '600ml' }, - { value: '700', text: '700ml' }, - { value: '800', text: '800ml' }, - { value: '900', text: '900ml' }, - { value: '1000', 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, @@ -112,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 = ""; @@ -515,5 +533,138 @@ that.init();//鍒锋柊妫�楠岄」鐩� }) }, + createTb() { + // 娓呯┖鏃ф暟鎹� + this.tableTbData = []; + this.formTbData.temperatureData = {}; + + // 鏍¢獙閫夋嫨 + if (this.selectedWater.length === 0 || this.selectedFlow.length === 0) { + this.$toast.fail('璇峰厛閫夋嫨姘存俯鍜屾祦閲�'); + return; + } + + // 鐢熸垚琛ㄥご + // 淇敼headers鐢熸垚閫昏緫 鈫� + const headers = [ + '璁惧畾娓╁害', + '瀹為檯娓╁害锛堚剝锛�', + ...this.selectedFlow.sort().map(f => `${f}`) + ]; + this.headers = headers; + console.log(this.headers); + // 鐢熸垚琛屾暟鎹� + this.tableTbData = this.selectedWater.sort((a,b) => a - b).map(water => { + const row = { + temperature: water === '甯告俯姘�' ? water : water, + 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, ''); + }); + + return row; + }); + + // 鑷姩婊氬姩鍒拌〃鏍煎尯鍩� + setTimeout(() => { + 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); + }, } -}) \ No newline at end of file +}) -- Gitblit v1.9.3