治理设备状态
This commit is contained in:
@@ -46,7 +46,7 @@ const info = () => {
|
|||||||
item2.color = config.getColorVal('elementUiPrimary')
|
item2.color = config.getColorVal('elementUiPrimary')
|
||||||
item2.children.forEach((item3: any) => {
|
item2.children.forEach((item3: any) => {
|
||||||
item3.icon = 'el-icon-Platform'
|
item3.icon = 'el-icon-Platform'
|
||||||
item3.level = 1
|
item3.level = 2
|
||||||
item3.color =
|
item3.color =
|
||||||
item3.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
|
item3.comFlag === 2 ? config.getColorVal('elementUiPrimary') : '#e26257 !important'
|
||||||
item3.children.forEach((item4: any) => {
|
item3.children.forEach((item4: any) => {
|
||||||
|
|||||||
@@ -117,13 +117,14 @@ watch(
|
|||||||
() => props.data,
|
() => props.data,
|
||||||
(val, oldVal) => {
|
(val, oldVal) => {
|
||||||
if (val && val.length != 0) {
|
if (val && val.length != 0) {
|
||||||
|
|
||||||
val.map((item: any) => {
|
val.map((item: any) => {
|
||||||
if (item.name == '治理设备') {
|
if (item.name == '治理设备') {
|
||||||
zlDeviceData.value = []
|
zlDeviceData.value = []
|
||||||
item.children.map((vv: any) => {
|
item.children.map((vv: any) => {
|
||||||
zlDeviceData.value.push(vv)
|
zlDeviceData.value.push(vv)
|
||||||
})
|
})
|
||||||
// console.log('🚀 ~ item.children.map ~ zlDeviceData.value:', zlDeviceData.value)
|
zlDevList.value = JSON.parse(JSON.stringify(zlDeviceData.value))
|
||||||
} else if (item.name == '便携式设备') {
|
} else if (item.name == '便携式设备') {
|
||||||
bxsDeviceData.value = []
|
bxsDeviceData.value = []
|
||||||
item.children.map((vv: any) => {
|
item.children.map((vv: any) => {
|
||||||
@@ -155,18 +156,23 @@ watch(filterText, val => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
watch(process, val => {
|
watch(process, val => {
|
||||||
|
|
||||||
if (val == '') {
|
if (val == '') {
|
||||||
zlDevList.value = JSON.parse(JSON.stringify(zlDeviceData.value))
|
zlDevList.value = JSON.parse(JSON.stringify(zlDeviceData.value))
|
||||||
} else {
|
} else {
|
||||||
zlDevList.value = filterProcess(JSON.parse(JSON.stringify(zlDeviceData.value)))
|
zlDevList.value = filterProcess(JSON.parse(JSON.stringify(zlDeviceData.value)))
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
changeDevice(activeName.value)
|
changeDevice(activeName.value)
|
||||||
}, 0)
|
}, 0)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const changeDevice = (val: any) => {
|
const changeDevice = (val: any) => {
|
||||||
console.log('changeDevice', val)
|
|
||||||
let arr1: any = []
|
let arr1: any = []
|
||||||
//zlDeviceData
|
//zlDeviceData
|
||||||
zlDevList.value.forEach((item: any) => {
|
zlDevList.value.forEach((item: any) => {
|
||||||
@@ -231,6 +237,7 @@ const filterNode = (value: string, data: any, node: any) => {
|
|||||||
return chooseNode(value, data, node)
|
return chooseNode(value, data, node)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function filterProcess(nodes: any) {
|
function filterProcess(nodes: any) {
|
||||||
if (process.value == '') {
|
if (process.value == '') {
|
||||||
return nodes
|
return nodes
|
||||||
@@ -240,20 +247,58 @@ function filterProcess(nodes: any) {
|
|||||||
// 递归处理子节点
|
// 递归处理子节点
|
||||||
const children = node.children ? filterProcess(node.children) : []
|
const children = node.children ? filterProcess(node.children) : []
|
||||||
|
|
||||||
// 如果当前节点的process=4,或者有子节点满足条件,则保留当前节点
|
// 对于装置层级(level=2),只保留 process 值匹配的节点
|
||||||
|
if (node.level === 2) {
|
||||||
if (node.process == process.value || children.length > 0) {
|
if (node.process == process.value) {
|
||||||
return {
|
return {
|
||||||
...node,
|
...node,
|
||||||
children: node.children
|
children: children
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
// 对于其他节点:
|
||||||
|
// 1. 如果有满足条件的子节点则保留
|
||||||
|
// 2. 如果本身 process 值匹配则保留
|
||||||
|
// 3. 如果是叶子节点也保留(监测点通常没有子节点)
|
||||||
|
if (children.length > 0 || node.process == process.value ||
|
||||||
|
(!node.children || node.children.length === 0)) {
|
||||||
|
return {
|
||||||
|
...node,
|
||||||
|
children: children
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 否则过滤掉当前节点
|
|
||||||
return null
|
return null
|
||||||
})
|
})
|
||||||
.filter(Boolean) // 移除null节点
|
.filter(Boolean) // 移除null节点
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// function filterProcess(nodes: any) {
|
||||||
|
// if (process.value == '') {
|
||||||
|
// return nodes
|
||||||
|
// }
|
||||||
|
// return nodes
|
||||||
|
// .map(node => {
|
||||||
|
// // 递归处理子节点
|
||||||
|
// const children = node.children ? filterProcess(node.children) : []
|
||||||
|
|
||||||
|
// // 如果当前节点的process=4,或者有子节点满足条件,则保留当前节点
|
||||||
|
|
||||||
|
// if (node.process == process.value || children.length > 0) {
|
||||||
|
// return {
|
||||||
|
// ...node,
|
||||||
|
// children: node.children
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // 否则过滤掉当前节点
|
||||||
|
// return null
|
||||||
|
// })
|
||||||
|
// .filter(Boolean) // 移除null节点
|
||||||
|
// }
|
||||||
// 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符.
|
// 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。name是中文字符,enName是英文字符.
|
||||||
const chooseNode = (value: string, data: any, node: any) => {
|
const chooseNode = (value: string, data: any, node: any) => {
|
||||||
if (data.name.indexOf(value) !== -1) {
|
if (data.name.indexOf(value) !== -1) {
|
||||||
@@ -288,7 +333,9 @@ const treeRef2 = ref<InstanceType<typeof ElTree>>()
|
|||||||
const treeRef3 = ref<InstanceType<typeof ElTree>>()
|
const treeRef3 = ref<InstanceType<typeof ElTree>>()
|
||||||
defineExpose({ treeRef1, treeRef2 })
|
defineExpose({ treeRef1, treeRef2 })
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
||||||
if (zlDeviceData.value.length != 0) {
|
if (zlDeviceData.value.length != 0) {
|
||||||
zlDevList.value = filterProcess(JSON.parse(JSON.stringify(zlDeviceData.value)))
|
zlDevList.value = filterProcess(JSON.parse(JSON.stringify(zlDeviceData.value)))
|
||||||
activeName.value = '0'
|
activeName.value = '0'
|
||||||
|
|||||||
Reference in New Issue
Block a user