|
@@ -10,7 +10,7 @@
|
|
|
<a-tree
|
|
<a-tree
|
|
|
v-if="treeData.length > 0"
|
|
v-if="treeData.length > 0"
|
|
|
:tree-data="filteredTreeData"
|
|
:tree-data="filteredTreeData"
|
|
|
- :field-names="{ key: 'id', title: 'name', children: 'children' }"
|
|
|
|
|
|
|
+ :field-names="{ key: 'id', title: 'name', children: 'children', disabled: 'disabled' }"
|
|
|
:checked-keys="checkedKeys"
|
|
:checked-keys="checkedKeys"
|
|
|
:expanded-keys="expandedKeys"
|
|
:expanded-keys="expandedKeys"
|
|
|
:auto-expand-parent="autoExpandParent"
|
|
:auto-expand-parent="autoExpandParent"
|
|
@@ -154,7 +154,7 @@
|
|
|
// 替换原来的onSelect方法
|
|
// 替换原来的onSelect方法
|
|
|
const onCheck = (checkedKeysValue, { checked, node, checkedNodes }) => {
|
|
const onCheck = (checkedKeysValue, { checked, node, checkedNodes }) => {
|
|
|
// 过滤掉非叶子节点
|
|
// 过滤掉非叶子节点
|
|
|
- const leafNodes = checkedNodes.filter((node) => node.isLeaf)
|
|
|
|
|
|
|
+ const leafNodes = checkedNodes.filter((node) => node.isLeaf && node.infoType == 'user')
|
|
|
checkedKeys.value = leafNodes.map((node) => node.id)
|
|
checkedKeys.value = leafNodes.map((node) => node.id)
|
|
|
selectedUsers.value = leafNodes.map((node) => ({
|
|
selectedUsers.value = leafNodes.map((node) => ({
|
|
|
id: node.id,
|
|
id: node.id,
|
|
@@ -186,12 +186,32 @@
|
|
|
}
|
|
}
|
|
|
const augmentNode = (node) => {
|
|
const augmentNode = (node) => {
|
|
|
if (node.children) {
|
|
if (node.children) {
|
|
|
- node.isLeaf = false // 有children的节点标记为非叶子节点
|
|
|
|
|
|
|
+ node.isLeaf = false
|
|
|
node.children.forEach((child) => augmentNode(child))
|
|
node.children.forEach((child) => augmentNode(child))
|
|
|
} else {
|
|
} else {
|
|
|
- node.isLeaf = true // 无children的节点标记为叶子节点
|
|
|
|
|
|
|
+ node.isLeaf = true
|
|
|
|
|
+ // node.disabled = node.infoType !== 'user' // 动态设置 disabled
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ const filterUsers = (nodes) => {
|
|
|
|
|
+ return nodes.reduce((acc, node) => {
|
|
|
|
|
+ if (node.infoType === 'user') {
|
|
|
|
|
+ // 如果当前节点是 user 类型,直接加入结果
|
|
|
|
|
+ acc.push(node)
|
|
|
|
|
+ } else if (node.children) {
|
|
|
|
|
+ // 如果有子节点,递归处理子节点
|
|
|
|
|
+ const filteredChildren = filterUsers(node.children)
|
|
|
|
|
+ if (filteredChildren.length > 0) {
|
|
|
|
|
+ // 如果子节点中有符合条件的,复制原节点并替换 children
|
|
|
|
|
+ acc.push({
|
|
|
|
|
+ ...node,
|
|
|
|
|
+ children: filteredChildren
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return acc
|
|
|
|
|
+ }, [])
|
|
|
|
|
+ }
|
|
|
const getOrgUserTreeRespectively = () => {
|
|
const getOrgUserTreeRespectively = () => {
|
|
|
resourceAuditApi
|
|
resourceAuditApi
|
|
|
.orgUserTreeSelector()
|
|
.orgUserTreeSelector()
|
|
@@ -202,6 +222,7 @@
|
|
|
// if (treeData.value.length > 0 && treeData.value[0]?.id) {
|
|
// if (treeData.value.length > 0 && treeData.value[0]?.id) {
|
|
|
// expandedKeys.value = [treeData.value[0].id]
|
|
// expandedKeys.value = [treeData.value[0].id]
|
|
|
// }
|
|
// }
|
|
|
|
|
+ // treeData.value = filterUsers(res.data)
|
|
|
treeData.value = res.data
|
|
treeData.value = res.data
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|