修改 冀北 现场问题
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
v-model="form.deviceId"
|
||||
:data="data"
|
||||
filterable
|
||||
:filter-node-method="filterNode"
|
||||
style="width: 100%"
|
||||
@change="changeDevStatus"
|
||||
clearable
|
||||
@@ -101,6 +102,40 @@ const resetForm = () => {
|
||||
formRef.value.resetFields()
|
||||
}
|
||||
}
|
||||
const filterNode = (value: string, data: any, node: any) => {
|
||||
if (!value) return true
|
||||
|
||||
if (data.label) {
|
||||
return chooseNode(value, data, node)
|
||||
}
|
||||
}
|
||||
|
||||
// 过滤父节点 / 子节点 (如果输入的参数是父节点且能匹配,则返回该节点以及其下的所有子节点;如果参数是子节点,则返回该节点的父节点。label是中文字符,enlabel是英文字符.
|
||||
const chooseNode = (value: string, data: any, node: any) => {
|
||||
if (data.label.indexOf(value) !== -1) {
|
||||
return true
|
||||
}
|
||||
const level = node.level
|
||||
// 如果传入的节点本身就是一级节点就不用校验了
|
||||
if (level === 1) {
|
||||
return false
|
||||
}
|
||||
// 先取当前节点的父节点
|
||||
let parentData = node.parent
|
||||
// 遍历当前节点的父节点
|
||||
let index = 0
|
||||
while (index < level - 1) {
|
||||
// 如果匹配到直接返回,此处label值是中文字符,enlabel是英文字符。判断匹配中英文过滤
|
||||
if (parentData.data.label.indexOf(value) !== -1) {
|
||||
return true
|
||||
}
|
||||
// 否则的话再往上一层做匹配
|
||||
parentData = parentData.parent
|
||||
index++
|
||||
}
|
||||
// 没匹配到返回false
|
||||
return false
|
||||
}
|
||||
|
||||
const open = async (text: string, tempData?: any) => {
|
||||
title.value = text
|
||||
@@ -212,4 +247,7 @@ defineExpose({ open })
|
||||
::v-deep .el-tree-node__children > div {
|
||||
display: block !important;
|
||||
}
|
||||
:deep(.el-select__input) {
|
||||
width: 100% !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user