From a7219db182f4697abd558bf60d0b656066c915e7 Mon Sep 17 00:00:00 2001 From: huixz <431842517@qq.com> Date: Wed, 9 Jul 2025 16:40:09 +0800 Subject: [PATCH] =?UTF-8?q?=E2=80=9C=E9=83=A8=E9=97=A8=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E2=80=9D=E6=96=B0=E5=A2=9E=E5=8F=B3=E9=94=AE=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E4=BA=BA=E5=91=98=EF=BC=8C=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=90=88=E5=85=A5=EF=BC=8C=E4=BD=86=E6=9C=AA?= =?UTF-8?q?=E7=94=9F=E6=95=88(=E5=8D=95=E7=8B=AC=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=94=9F=E6=95=88)=EF=BC=8C=E6=9A=82=E4=B8=8D=E5=BD=B1?= =?UTF-8?q?=E5=93=8D=E4=B8=BB=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=85=88=E5=90=88?= =?UTF-8?q?=E5=85=A5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/admin/system/dept/form.vue | 321 ++++++++++++++++------ src/views/admin/system/dept/i18n/zh-cn.ts | 1 + src/views/admin/system/dept/tree-view.vue | 18 ++ 3 files changed, 260 insertions(+), 80 deletions(-) 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, });