fix(用户管理): 修复部门树搜索后子节点丢失的问题

搜索部门树时,由于直接修改了原始树数据导致子节点被清空。通过深拷贝部门树数据并显式清空搜索结果的子节点,确保原始树结构不受影响。
This commit is contained in:
dap
2026-01-28 18:47:30 +08:00
parent 048ee5833e
commit bfb2287b2e

View File

@@ -5,7 +5,7 @@ import type { DeptTree } from '#/api/system/user/model';
import { computed, onMounted, ref } from 'vue';
import { listToTree, treeToList } from '@vben/utils';
import { cloneDeep, listToTree, treeToList } from '@vben/utils';
import { SyncOutlined } from '@antdv-next/icons';
import { Empty, Input, Skeleton, SpaceCompact, Tree } from 'antdv-next';
@@ -72,10 +72,11 @@ const deptTreeComputed = computed(() => {
if (!searchValue.value) {
return deptTreeArray.value;
}
const toTree = treeToList(deptTreeArray.value, {
const toTree: DeptTreeArray = treeToList(cloneDeep(deptTreeArray.value), {
id: 'id',
pid: 'parentId',
});
toTree.forEach((i) => (i.children = []));
const filteredTree = toTree.filter((item: DeptTree) =>
item.label.toUpperCase().includes(searchValue.value.toUpperCase()),
);