diff --git a/src/views/system/user/DeptTree.vue b/src/views/system/user/DeptTree.vue index ab8ba06..5675219 100644 --- a/src/views/system/user/DeptTree.vue +++ b/src/views/system/user/DeptTree.vue @@ -1,23 +1,21 @@ @@ -25,39 +23,67 @@ import { ElTree } from 'element-plus' import * as DeptApi from '@/api/system/dept' import { defaultProps, handleTree } from '@/utils/tree' - +import { DepartmentApi, DepartmentVO } from '@/api/inspect/inspectdepartment/index' defineOptions({ name: 'SystemUserDeptTree' }) const deptName = ref('') -const deptList = ref([]) // 树形结构 -const treeRef = ref>() +const deptList = ref([]) // 改为普通数组 +const selectedDept = ref('') -/** 获得部门树 */ -const getTree = async () => { - const res = await DeptApi.getSimpleDeptList() - deptList.value = [] - deptList.value.push(...handleTree(res)) +/** 获取科室列表 */ +const getList = async () => { + const res = await DepartmentApi.getListDepartment() + deptList.value = res } -/** 基于名字过滤 */ -const filterNode = (name: string, data: Tree) => { - if (!name) return true - return data.name.includes(name) -} - -/** 处理部门被点击 */ -const handleNodeClick = async (row: { [key: string]: any }) => { - emits('node-click', row) -} -const emits = defineEmits(['node-click']) - -/** 监听deptName */ -watch(deptName, (val) => { - treeRef.value!.filter(val) +/** 过滤后的科室列表 */ +const filteredDeptList = computed(() => { + if (!deptName.value) return deptList.value + return deptList.value.filter(item => + item.departmentName.includes(deptName.value) + ) }) +/** 处理科室选择 */ +const handleDeptChange = (deptId: string | number) => { + const selectedDepartment = deptList.value.find(item => item.departmentCode === deptId) + emits('node-click', selectedDepartment) +} + +const emits = defineEmits(['node-click']) + /** 初始化 */ onMounted(async () => { - await getTree() + await getList() }) + + diff --git a/src/views/system/user/UserForm.vue b/src/views/system/user/UserForm.vue index 630688a..74551d8 100644 --- a/src/views/system/user/UserForm.vue +++ b/src/views/system/user/UserForm.vue @@ -14,15 +14,15 @@ - - + + + + @@ -68,7 +68,7 @@ - + @@ -103,6 +103,7 @@ import * as PostApi from '@/api/system/post' import * as DeptApi from '@/api/system/dept' import * as UserApi from '@/api/system/user' import { FormRules } from 'element-plus' +import { DepartmentApi, DepartmentVO } from '@/api/inspect/inspectdepartment/index' defineOptions({ name: 'SystemUserForm' }) @@ -147,7 +148,7 @@ const formRules = reactive({ ] }) const formRef = ref() // 表单 Ref -const deptList = ref([]) // 树形结构 +const deptList = ref([]) // 树形结构 const postList = ref([] as PostApi.PostVO[]) // 岗位列表 /** 打开弹窗 */ @@ -165,10 +166,11 @@ const open = async (type: string, id?: number) => { formLoading.value = false } } - // 加载部门树 - deptList.value = handleTree(await DeptApi.getSimpleDeptList()) + // 加载科室 + // deptList.value = handleTree(await DeptApi.getSimpleDeptList()) + deptList.value = await DepartmentApi.getListDepartment() // 加载岗位列表 - postList.value = await PostApi.getSimplePostList() + // postList.value = await PostApi.getSimplePostList() } defineExpose({ open }) // 提供 open 方法,用于打开弹窗 diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index dd8395f..53ce655 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -1,7 +1,7 @@