|
@@ -21,7 +21,7 @@
|
|
|
<template #dept="{ model, field }">
|
|
|
<BasicTree
|
|
|
v-model:value="model[field]"
|
|
|
- :treeData="treeData"
|
|
|
+ :treeData="deptTreeData"
|
|
|
:fieldNames="{ title: 'name', key: 'menuId' }"
|
|
|
:checkable="true"
|
|
|
toolbar
|
|
@@ -36,9 +36,10 @@
|
|
|
import { BasicForm, useForm } from '/@/components/Form/index';
|
|
|
import { formSchema } from './role.data';
|
|
|
import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
|
|
|
- import { BasicTree, TreeItem } from '/@/components/Tree';
|
|
|
+ // TreeItem
|
|
|
+ import { BasicTree } from '/@/components/Tree';
|
|
|
import { makeMenuTree, TreeMenuNode } from '/@/utils/treeUtils';
|
|
|
- import { getMenuList } from '/@/api/system/system';
|
|
|
+ import { getMenuList, deptListApi } from '/@/api/system/system';
|
|
|
|
|
|
export default defineComponent({
|
|
|
name: 'RoleDrawer',
|
|
@@ -46,7 +47,8 @@
|
|
|
emits: ['success', 'register'],
|
|
|
setup(_, { emit }) {
|
|
|
const isUpdate = ref(true);
|
|
|
- const treeData = ref<TreeItem[]>([]);
|
|
|
+ const treeData = ref<TreeMenuNode[]>([]);
|
|
|
+ const deptTreeData = ref<TreeMenuNode[]>([]);
|
|
|
|
|
|
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
|
|
|
labelWidth: 90,
|
|
@@ -60,7 +62,10 @@
|
|
|
// 需要在setFieldsValue之前先填充treeData,否则Tree组件可能会报key not exist警告
|
|
|
if (unref(treeData).length === 0) {
|
|
|
const tData = (await getMenuList()) as any as TreeMenuNode[];
|
|
|
+ const dData = (await deptListApi()) as any as TreeMenuNode[];
|
|
|
+
|
|
|
treeData.value = makeMenuTree(tData);
|
|
|
+ deptTreeData.value = makeMenuTree(dData);
|
|
|
}
|
|
|
isUpdate.value = !!data?.isUpdate;
|
|
|
|
|
@@ -92,6 +97,7 @@
|
|
|
getTitle,
|
|
|
handleSubmit,
|
|
|
treeData,
|
|
|
+ deptTreeData,
|
|
|
};
|
|
|
},
|
|
|
});
|