From eb002e9dc850e22100a36ca02ef9be0dee2b96a1 Mon Sep 17 00:00:00 2001 From: he wei <858544502@qq.com> Date: 星期四, 24 四月 2025 14:40:33 +0800 Subject: [PATCH] U 电池实时告警修改 --- src/views/alarmMager/batteryrTimequery.vue | 66 +++++++++++++++++++++++++++----- 1 files changed, 55 insertions(+), 11 deletions(-) diff --git a/src/views/alarmMager/batteryrTimequery.vue b/src/views/alarmMager/batteryrTimequery.vue index aeda3fa..22e8474 100644 --- a/src/views/alarmMager/batteryrTimequery.vue +++ b/src/views/alarmMager/batteryrTimequery.vue @@ -247,6 +247,9 @@ width="50" align="center" > + <template slot-scope="{ row }"> + <el-checkbox :disabled="!isRowSelectable(row)" :value=isSelected(row) @change="handleSelectChange(row, $event)"></el-checkbox> + </template> </el-table-column> <el-table-column label="缂栧彿" type="index" width="50"> </el-table-column> @@ -990,6 +993,8 @@ }, detailsVisible: false, selectedRows: [], + selectNums: [], + backupSelectedNums: [], }; }, components: { @@ -1101,20 +1106,56 @@ ][idx - 1]; export_json_to_excel(tHeader, excelData, fileName); }, - isRowSelectable(row, index) { + isRowSelectable(row) { return row.alarmLevel != 1; }, - toggleRowSelection(row, selected) { - if (selected) { - this.selectedRows.push(row); - } else { - this.selectedRows = this.selectedRows.filter(r => r !== row); - } + updateSelectionState() { + // console.log('updateSelectionState ?', '============='); + this.$nextTick(() => { + // console.log('updateSelectionState', JSON.stringify(this.backupSelectedNums), '============='); + + this.backupSelectedNums.forEach(num => { + const row = this.table1.datas.find(item => item.num === num); + if (row) this.$refs.unconfirmTable.toggleRowSelection(row, true); + }); + }); + }, - + isSelected(row) { + return this.backupSelectedNums.includes(row.num); + }, + handleSelectChange(row, checked) { + // console.log('handleSelectChange?', '============='); + + if (row.alarmLevel == 1) return; // 绂佺敤琛岀洿鎺ヨ繑鍥� + const index = this.selectNums.indexOf(row.num); + if (checked && index === -1) { + this.selectNums.push(row.num); + } else if (!checked && index > -1) { + this.selectNums.splice(index, 1); + } + + }, handleSelect(data) { - // console.log('handleSelect', data, '============='); - this.selectedRows = data; + // console.log('handleSelect ?', data, '============='); + let nums = []; + let selectedRows = []; + // console.log('handleSelect ', data, '============='); + for (let i = 0, len = data.length; i < len; i++) { + if (data[i].alarmLevel != 1) { + nums.push(data[i].num); + selectedRows.push(data[i]); + } else { + this.$refs.unconfirmTable.toggleRowSelection(data[i], false); + } + } + // console.log('nums', nums, 'selectedRows', selectedRows, '============='); + + this.selectNums = nums; + // this.backupSelectedNums = nums; + // this.selectedRows = data.filter(row => row.alarmLevel != 1); + this.selectedRows = selectedRows; + }, // 鎵归噺纭 @@ -1323,8 +1364,11 @@ if (isExportFile) { this.exportFile(list, 1); } else { + // console.log('update tabledata', JSON.stringify(this.selectNums), '============='); + + this.backupSelectedNums = [...this.selectNums]; this.table1.datas = list; - // this.updateSelectionState(); + this.updateSelectionState(); } } else { this.total1 = 0; -- Gitblit v1.9.1