| | |
| | | formTbData: { // 表单数据 |
| | | temperatureData: {} // 存储的实际温度、实际流量数据 |
| | | }, |
| | | indexZrxx:0,//制热性能index |
| | | headers: [], |
| | | showZr: false, |
| | | waterOptions: [ |
| | |
| | | { value: '550ml', text: '550ml' }, |
| | | { value: '750ml', text: '750ml' }, |
| | | { value: '999ml', text: '999ml' }, |
| | | { value: '1min', text: '一分钟流量' }, |
| | | { value: '3min', text: '三分钟流量' } |
| | | { value: '一分钟流量', text: '一分钟流量' }, |
| | | { value: '三分钟流量', text: '三分钟流量' } |
| | | ],//流量选项 |
| | | selectedWater: [],// 已选水温值 |
| | | selectedFlow: [], // 已选流量值 |
| | |
| | | }, |
| | | |
| | | |
| | | 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 = ""; |
| | |
| | | const headers = [ |
| | | '设定温度', |
| | | '实际温度(℃)', |
| | | ...this.selectedFlow.sort().map(f => `流量${f}`) |
| | | ...this.selectedFlow.sort().map(f => `${f}`) |
| | | ]; |
| | | this.headers = headers; |
| | | console.log(this.headers); |
| | |
| | | }, 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) { |
| | | // 解析存储的数据 |
| | | 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') |
| | | : []; |
| | | |
| | | // 生成表头(保留原始createTb的格式) |
| | | 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); |
| | | }, |
| | | } |
| | | }) |