diff --git a/src/modules/smart-system/components/SysDept/SysDeptTree.vue b/src/modules/smart-system/components/SysDept/SysDeptTree.vue index c6017fc89..6bceb28b9 100644 --- a/src/modules/smart-system/components/SysDept/SysDeptTree.vue +++ b/src/modules/smart-system/components/SysDept/SysDeptTree.vue @@ -97,9 +97,17 @@ if (async) { return unref(dataList); } + const convertDataList = unref(dataList).map(({ deptId, deptName, deptCode, parentId }) => { + return { + deptId, + deptName, + deptCode, + parentId, + }; + }); return ( TreeUtils.convertList2Tree( - dataList.value, + convertDataList, (item) => item.deptId, (item) => item.parentId, 0, diff --git a/src/modules/smart-system/views/dept/SysDeptTreeList.vue b/src/modules/smart-system/views/dept/SysDeptTreeList.vue index 30805a970..aff49f5df 100644 --- a/src/modules/smart-system/views/dept/SysDeptTreeList.vue +++ b/src/modules/smart-system/views/dept/SysDeptTreeList.vue @@ -33,7 +33,7 @@ {{ $t('common.button.delete') }} - +
@@ -67,7 +67,7 @@ import { useModal } from '@/components/Modal'; import { errorMessage, successMessage } from '@/utils/message/SystemNotice'; - import SysDeptTree from './components/SysDeptTree.vue'; + import SysDeptTree from '../../components/SysDept/SysDeptTree.vue'; import SysDeptEdit from './components/SysDeptEdit.vue'; import SysDeptEditModal from './components/SysDeptEditModal.vue'; import { deleteApi, saveUpdateBatchApi } from './SysDept.api'; diff --git a/src/modules/smart-system/views/dept/components/SysDeptEdit.vue b/src/modules/smart-system/views/dept/components/SysDeptEdit.vue index 4d18519f5..0e9c53497 100644 --- a/src/modules/smart-system/views/dept/components/SysDeptEdit.vue +++ b/src/modules/smart-system/views/dept/components/SysDeptEdit.vue @@ -8,7 +8,7 @@ import type { FormSchema } from '@/components/Form'; import { Spin } from 'ant-design-vue'; - import { ref, watch } from 'vue'; + import { nextTick, ref, watch } from 'vue'; import { useForm, BasicForm } from '@/components/Form'; import { propTypes } from '@/utils/propTypes'; import { useI18n } from '@/hooks/web/useI18n'; @@ -28,23 +28,25 @@ watch( () => props.deptId, - async (value) => { - if (!value) { - await resetFields(); - } else { - try { - getLoading.value = true; - const deptData = await getByIdApi(value); - if (deptData.parentDept) { - deptData.parentName = deptData.parentDept.deptName; - } else { - deptData.parentName = '根'; + (value) => { + nextTick(async () => { + if (!value) { + resetFields(); + } else { + try { + getLoading.value = true; + const deptData = await getByIdApi(value); + if (deptData.parentDept) { + deptData.parentName = deptData.parentDept.deptName; + } else { + deptData.parentName = '根'; + } + setFieldsValue(deptData); + } finally { + getLoading.value = false; } - await setFieldsValue(deptData); - } finally { - getLoading.value = false; } - } + }); }, ); diff --git a/src/modules/smart-system/views/dept/components/SysDeptTree.vue b/src/modules/smart-system/views/dept/components/SysDeptTree.vue deleted file mode 100644 index 5d7bafde2..000000000 --- a/src/modules/smart-system/views/dept/components/SysDeptTree.vue +++ /dev/null @@ -1,233 +0,0 @@ - - - - -