|
|
@@ -102,6 +102,8 @@
|
|
|
style="width: 100%"
|
|
|
:row-class-name="rowClassName"
|
|
|
@selection-change="onSelectionChange"
|
|
|
+ @select="ItemChange"
|
|
|
+ @select-all="listChange"
|
|
|
>
|
|
|
<el-table-column type="selection" width="48" :selectable="isRowSelectable" />
|
|
|
<el-table-column label="标题" min-width="140">
|
|
|
@@ -347,7 +349,25 @@ const onTitleInput = () => {
|
|
|
fetchTableData();
|
|
|
}, 300);
|
|
|
};
|
|
|
-
|
|
|
+const ItemChange = (selection, row) => {
|
|
|
+ let item = selection.find(ele => ele.num === row.num)
|
|
|
+ if(!item){//判断为取消
|
|
|
+ selectedRows.value = selectedRows.value.filter(ele => !(ele.isObj == row.isObj && ele.num == row.num))
|
|
|
+ }
|
|
|
+};
|
|
|
+const listChange = (selection) => {
|
|
|
+ let listnum = scenes.value.map(ele => ele.num)
|
|
|
+ let check = selection.every(ele => listnum.includes(ele.num))
|
|
|
+ if(check){//判断为取消
|
|
|
+ selectedRows.value = selectedRows.value.filter(ele => {
|
|
|
+ if(query.value.type == ele.isObj && !listnum.includes(ele.num)){
|
|
|
+ return false
|
|
|
+ }else{
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+};
|
|
|
const onSelectionChange = (rows: Scene[]) => {
|
|
|
console.log(rows, 'rows')
|
|
|
// 保证“已导入”的行始终在选中集合中,并与跨页选中合并
|
|
|
@@ -365,6 +385,7 @@ const onSelectionChange = (rows: Scene[]) => {
|
|
|
map.set(rowKey(r), r);
|
|
|
});
|
|
|
selectedRows.value = Array.from(map.values());
|
|
|
+ console.log(selectedRows.value, 'selectedRows', rows)
|
|
|
};
|
|
|
|
|
|
// 合并当前案件已有场景与新选择的场景,避免重复
|