trialProcedureChange(val) {
//val选中的值,trialProcedure处理值的数组,resourcesId匹配的值
this.optionChange(val, 'trialProcedure', 'resourcesId')
},
optionChange(val, arrName, id) {
console.log(val, val.checked);
let data = val.data
if (val.checked) { // 选中
console.log(data);
let arr = []
const handleCondition = (node) => {
arr.push(node[id])
if (node.children && node.children.length) {
/* 循环递归处理子节点 */
for (let i = 0; i < node.children.length; i++) {
handleCondition(node.children[i])
}
}
}
handleCondition(data)
let selectarr = [...this.queryInfo.filter[arrName]]
arr.forEach(item => {
if (!this.queryInfo.filter[arrName].includes(item)) {
selectarr.push(item)
}
})
this.queryInfo.filter[arrName] = [...selectarr]
} else {
let arr = []
const handleCondition = (node) => {
arr.push(node[id])
if (node.children && node.children.length) {
/* 循环递归处理子节点 */
for (let i = 0; i < node.children.length; i++) {
handleCondition(node.children[i])
}
}
}
handleCondition(data)
this.queryInfo.filter[arrName] = this.queryInfo.filter[arrName].filter(item => !arr.includes(item))
}
},