基础设施记住已选择

This commit is contained in:
guoyue 2022-08-27 15:03:32 +08:00
parent 8a0ac98824
commit 0400fdbbb1
1 changed files with 30 additions and 8 deletions

View File

@ -44,6 +44,11 @@
<el-button type="primary" style="margin-left:10px;margin-top:4px" size="small" @click="clear">
重置
</el-button>
<el-button type="primary" style="margin-left:10px;margin-top:4px" size="small"
@click="clearSelectArray">
清空已选择
</el-button>
</div>
</div>
@ -115,6 +120,7 @@ export default {
showKey: 0,
showModal: false,
selectedArray: [], // id
selectedArrayCopy: [],
displayList: [], // list
btnList: ['视频资源', '云资源', '感知资源'],
showText: {
@ -210,6 +216,8 @@ export default {
this.displayList = JSON.parse(JSON.stringify(arr));
//
this.selectedArray = arr.map(v => v.idtCameraChannel);
this.selectedArrayCopy = JSON.parse(JSON.stringify(arr));
this.dataList = JSON.parse(JSON.stringify(arr));
this.pageData.total = arr.length;
//
@ -303,24 +311,38 @@ export default {
this.searchData.parentId = parentId;
this.getData(parentId)
},
clearSelectArray() {
this.selectedArrayCopy = []
this.selectedArray = []
this.getData()
},
confirmSubmitHandle() {
if (this.selectedArray.length > this.maxNum) {
//
let idtCameraChannelArray = this.selectedArray.map(v => v.idtCameraChannel)
//
let newIdArray = this.selectedArrayCopy.map(v => v.idtCameraChannel)
let idArray = [...new Set(newIdArray.concat(idtCameraChannelArray))]
if (idArray.length > this.maxNum) {
return this.$message.error('最多选择十条数据!');
}
this.showModal = false;
this.displayList = []
let idtCameraChannelArray = this.selectedArray.map(v => v.idtCameraChannel)
this.dataList.map(v => {
if (idtCameraChannelArray.includes(v.idtCameraChannel)) {
let listArray = [].concat(this.selectedArrayCopy, this.dataList);
this.displayList = [];
idArray.map(v => {
let obj = listArray.find(k => k.idtCameraChannel === v)
if (obj) {
this.displayList.push({
channelName: v.channelName
channelName: obj.channelName
})
}
})
this.$emit('update', {
title: this.type,
list: idtCameraChannelArray
list: idArray,
})
this.showModal = false;
},
close() {
this.showModal = false;