diff --git a/src/views/Logistics/UserManagement/index.vue b/src/views/Logistics/UserManagement/index.vue index dc2d5ed..f3c604f 100644 --- a/src/views/Logistics/UserManagement/index.vue +++ b/src/views/Logistics/UserManagement/index.vue @@ -9,12 +9,9 @@
组织架构树
+ @current-change="handleTreeChange" v-loading="loading" :expand-on-click-node="false" />
- - - @@ -23,28 +20,28 @@ - + - + - + - + - + @@ -123,31 +120,7 @@ const dialogShow = ref(false); // 新增账户弹窗显示状态 const loading = ref(false) // 树形结构数据 -const treeData = ref([ - { - label: '江苏省电力公司', - children: [ - { - label: '南京市供电公司', - children: [ - { - label: '城东片区', - children: [ - { label: 'A办公楼' }, - { label: 'B办公楼' } - ] - }, - { - label: '城西片区', - children: [ - { label: 'C办公楼' } - ] - } - ] - } - ] - } -]) +const treeData = ref([]) // 树形结构配置 const treeProps = { @@ -155,11 +128,12 @@ const treeProps = { label: 'label' } -// 表单数据 -const formData = ref({ - nodeName: '江苏省电力公司', - nodeCode: 'JS001', - parentNode: '-', +// 节点表单数据 +const JDformData = ref({ + deptName: '江苏省电力公司', + deptId: 'JS001', + parentName: '-', + parentId: '-', createTime: '2023-05-15' }) @@ -201,7 +175,10 @@ function convertToTreeData(data) { type: item.type || '单位', status: item.status === '0' ? '已生效' : item.status === '1' ? '已禁用' : (item.status || '已生效'), projects: item.projects || 0, - originalData: item, // 保留原始数据,用于编辑和删除操作 + originalData: { + ...item, + parentName: item.parentName || '', + }, // 保留原始数据,用于编辑和删除操作 children: item.children && item.children.length > 0 ? convertToTreeData(item.children) : undefined })) } @@ -233,7 +210,21 @@ const getDeptTree = async () => { // 如果数据已经是树形结构(有 children),直接使用 let treeStructure = [] if (rawData.length > 0 && rawData[0].parentId !== undefined) { - // 扁平结构,需要转换 + // 扁平结构,需要先处理 parentName + rawData = rawData.map(item => { + let parentName = '' + if (item.parentId && item.parentId !== 0) { + const parent = rawData.find(p => p.deptId === item.parentId) + if (parent) { + parentName = parent.deptName + } + } + return { + ...item, + parentName, + } + }) + // 转换为树形结构 treeStructure = proxy.handleTree(rawData, "deptId", "parentId", "children") } else { // 已经是树形结构 @@ -256,7 +247,15 @@ const getDeptTree = async () => { // 树形结构点击事件 const handleTreeChange = (data) => { - console.log('Current tree node:', data) + // 赋值节点表单数据 + JDformData.value = { + deptName: data.label, + deptId: data.originalData.deptId, + parentName: data.originalData.parentName || '-', + parentId: data.originalData.parentId || '-', + createTime: data.originalData.createTime || '-' + } + console.log(data,'获取当前节点', JDformData.value) } // 获取状态标签类型