diff --git a/src/views/admin/system/dept/form.vue b/src/views/admin/system/dept/form.vue index 0e5fc77..f046f9d 100644 --- a/src/views/admin/system/dept/form.vue +++ b/src/views/admin/system/dept/form.vue @@ -1,118 +1,279 @@ + + \ No newline at end of file diff --git a/src/views/admin/system/dept/i18n/zh-cn.ts b/src/views/admin/system/dept/i18n/zh-cn.ts index 83f1927..f98c01a 100644 --- a/src/views/admin/system/dept/i18n/zh-cn.ts +++ b/src/views/admin/system/dept/i18n/zh-cn.ts @@ -15,6 +15,7 @@ export default { addNodeText: '添加部门', editNodeText: '编辑部门', delNodeText: '删除部门', + nodeStaffManagementText: '人员管理', tenantNodeErrorText: '当前节点不可操作,请在租户管理功能中维护', view: '树/表视图' }, diff --git a/src/views/admin/system/dept/tree-view.vue b/src/views/admin/system/dept/tree-view.vue index 689b3ad..3521ba7 100644 --- a/src/views/admin/system/dept/tree-view.vue +++ b/src/views/admin/system/dept/tree-view.vue @@ -16,6 +16,7 @@ :node-add="addNode" :node-delete="delNode" :node-edit="editNode" + :node-staff-management="nodeStaffManagement" @on-node-click="onNodeClick" /> @@ -44,6 +45,10 @@ const defineMenus = reactive([ { name: t('sysdept.addNodeText'), command: 'add' }, { name: t('sysdept.editNodeText'), command: 'edit' }, { name: t('sysdept.delNodeText'), command: 'delete' }, + { + name: t('sysdept.nodeStaffManagementText'), + command: 'staffManagement' + }, ]); const cloneNodeDrag = ref(true); @@ -175,6 +180,18 @@ const getOrgData = async () => { }); }; +/** + * 查询和管理该部门下的人员 + * @param {object} node 节点对象 + */ +const nodeStaffManagement = (node) => { + console.log("触发人员管理", node?.id); // 添加此行 + if (!checkNode(node)) return; + + // 确保调用 openStaffManagementDialog 方法 + deptDialogRef.value.openStaffManagementDialog('staffManagement', node?.id); +} + onMounted(() => { getOrgData(); }); @@ -184,6 +201,7 @@ defineExpose({ getOrgData, handleExpand, filter, + nodeStaffManagement, });