From ab3960fff89ead0448f054417c92f53ac11cd749 Mon Sep 17 00:00:00 2001 From: xuziqiang <1344691446@qq.com> Date: Wed, 19 Jun 2024 18:23:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hx-ai-intelligent/src/api/origanizemanage.ts | 2 ++ .../organizationManage/departmentManage/index.vue | 40 ++++++++++++++++++++-- .../view/organizationManage/usermanage/index.vue | 13 ++++++- 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/hx-ai-intelligent/src/api/origanizemanage.ts b/hx-ai-intelligent/src/api/origanizemanage.ts index 1471ea7..17ce885 100644 --- a/hx-ai-intelligent/src/api/origanizemanage.ts +++ b/hx-ai-intelligent/src/api/origanizemanage.ts @@ -5,6 +5,8 @@ export enum permission { queryRolePermission = `${BASE_URL}/api/dept/queryRolePermission`, queryFilterDeptPermission = `${BASE_URL}/api/dept/queryFilterDeptPermission`, queryDeptPermission = `${BASE_URL}/api/dept/queryDeptPermission`, + queryDeptPermissionFilter = `${BASE_URL}/api/dept/queryDeptPermissionFilter`, + queryRolePermissionFilter = `${BASE_URL}/api/dept/queryRolePermissionFilter`, } export enum origanizemanage { diff --git a/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue b/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue index 02d0783..098b981 100644 --- a/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue +++ b/hx-ai-intelligent/src/view/organizationManage/departmentManage/index.vue @@ -37,6 +37,7 @@ { return http.post(permission.queryOrgPermission, params).then((res) => { deptPermissionTreeData.value = get(res, 'data'); }); }; + // 子级部门权限树 + const getDeptsonPermissionTree = (params) => { + return http.post(permission.queryDeptPermissionFilter, params).then((res) => { + deptPermissionTreeData.value = get(res, 'data'); + }); + }; + + // 角色权限树 const getRolePermissionTree = (params) => { return http.post(permission.queryFilterDeptPermission, params).then((res) => { rolePermissionTreeData.value = get(res, 'data'); }); }; + // 子级角色权限树 + const getRolesonPermissionTree = (params) => { + return http.post(permission.queryRolePermissionFilter, params).then((res) => { + rolePermissionTreeData.value = get(res, 'data'); + }); + }; + getPermissionTree({ projectId, orgId }); // 部门树 @@ -294,7 +312,7 @@ opMap.type = 'addson'; formData.value = {}; let sourceOrgId = ''; - if (!currentOrgRef.value?.own) { + if (!currentOrgRef.value?.own && orgId !== selectRef.value.deptInfo?.orgId) { sourceOrgId = orgId; } opMap.fuc = (params) => { @@ -524,15 +542,26 @@ selectRef.value = info.node.dataRef; // 确定是否是企业 - if (!selectRef.value.hasOwnProperty('own')) { + if (!selectRef.value.hasOwnProperty('own') && !selectRef.value.hasOwnProperty('orgInfo')) { + // 部门 formData.value = cloneDeep(info.node.dataRef.deptInfo); } else { activeKey.value = 1; currentOrgRef.value = selectRef.value; formData.value = {}; } + if (selectRef.value.deptInfo?.pdeptId) { + // 查询子部门 + getDeptsonPermissionTree({ deptId: selectRef.value.deptInfo?.pdeptId }); + } else { + getPermissionTree({ projectId, orgId }); + } getDeptPermission(); + // 切换部门重置逻辑 deptcheckedKeys.value = []; + rolePermissionTreeData.value = []; + roleCheckedKeys.value = []; + roleTreeSelectedKeys.value = []; }; /** @@ -559,8 +588,13 @@ selectRoleRef.value = info.node.dataRef; roleFormData.value = cloneDeep(info.node.dataRef); roleCheckedKeys.value = []; + if (selectRoleRef.value?.proleId) { + // 查询子部门 + getRolesonPermissionTree({ roleId: selectRoleRef.value?.proleId }); + } else { + getRolePermissionTree({ deptId: selectRef.value.deptInfo.deptId }); + } getRolePermission(); - getRolePermissionTree({ deptId: selectRef.value.deptInfo.deptId }); }; const CancelApartment = () => { diff --git a/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue b/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue index 541c90c..3f106aa 100644 --- a/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue +++ b/hx-ai-intelligent/src/view/organizationManage/usermanage/index.vue @@ -204,20 +204,31 @@ }; const handleOk = () => { - console.log(casData.value, 'formData2.value'); if (casData.value?.length !== 3) { NsMessage.error('未选择角色'); } + const currentOrgId = casData.value[0].value; + const isSameOrg = userAuthList.value.filter(({ orgId }) => { + return orgId === currentOrgId; + }); + if (isSameOrg?.length) { + NsMessage.error('同一组织只能添加一个角色'); + return; + } + console.log(casData.value, userAuthList.value, 'formData2.value'); + const str = casData.value.map((item) => item?.label).join('/'); userAuthList.value.push({ deptRoleInfoList: str, roleId: casData.value[2].value, roleName: casData.value[2].label, + orgId: casData.value[0].value, } as never); handleClose(); }; const handleClose = () => { addformvisible.value = false; + casData.value = []; modalFormRef.value.reset(); };