From b1574c782812b4c50731b2e201646118714bdadc Mon Sep 17 00:00:00 2001 From: shizhongming Date: Wed, 10 Apr 2024 13:43:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=9E=B6=E6=9E=84):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=A7=9F=E6=88=B7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/sys/user.ts | 26 +++++ src/hooks/web/usePermission.ts | 2 +- .../ChangeTenant/ChangeTenantModal.vue | 95 +++++++++++++++++++ .../header/components/user-dropdown/index.vue | 30 +++++- src/locales/lang/en/layout.json | 4 +- src/locales/lang/zh-CN/layout.json | 4 +- .../tenantManager/SysTenantListView.api.ts | 13 +++ .../tenantManager/SysTenantListView.config.ts | 22 ++++- .../components/TenantUserList.vue | 54 ++++++++++- .../views/tenant/tenantManager/lang/zh_CN.ts | 10 ++ src/store/modules/user.ts | 26 ++++- types/store.d.ts | 13 +++ 12 files changed, 284 insertions(+), 15 deletions(-) create mode 100644 src/layouts/default/header/components/ChangeTenant/ChangeTenantModal.vue diff --git a/src/api/sys/user.ts b/src/api/sys/user.ts index c4fd64216..d0eccaac2 100644 --- a/src/api/sys/user.ts +++ b/src/api/sys/user.ts @@ -15,6 +15,8 @@ enum Api { GetPermCode = '/getPermCode', TestRetry = '/testRetry', changePassword = 'sys/auth/changePassword', + listCurrentUserTenant = 'sys/tenant/manager/listCurrentUserTenant', + changeTenant = '/auth/tenant/change', } /** @@ -72,3 +74,27 @@ export const changePasswordApi = (params: ChangePasswordParams) => { data: params, }); }; + +/** + * 查询当前用户租户列表 + */ +export const listCurrentUserTenantApi = () => { + return defHttp.post({ + service: ApiServiceEnum.SMART_SYSTEM, + url: Api.listCurrentUserTenant, + }); +}; + +/** + * 切换租户API + * @param tenantId + */ +export const changeTenantApi = (tenantId: number): Promise => { + return defHttp.postForm({ + service: ApiServiceEnum.SMART_AUTH, + url: Api.changeTenant, + params: { + tenantId, + }, + }); +}; diff --git a/src/hooks/web/usePermission.ts b/src/hooks/web/usePermission.ts index dfe54ae11..a564dbe29 100644 --- a/src/hooks/web/usePermission.ts +++ b/src/hooks/web/usePermission.ts @@ -115,7 +115,7 @@ export function usePermission() { * refresh menu data */ async function refreshMenu() { - resume(); + return resume(); } const getNoPermissionMode = computed(() => appStore.getProjectConfig.noPermissionMode); diff --git a/src/layouts/default/header/components/ChangeTenant/ChangeTenantModal.vue b/src/layouts/default/header/components/ChangeTenant/ChangeTenantModal.vue new file mode 100644 index 000000000..dcf90db14 --- /dev/null +++ b/src/layouts/default/header/components/ChangeTenant/ChangeTenantModal.vue @@ -0,0 +1,95 @@ + + + + + diff --git a/src/layouts/default/header/components/user-dropdown/index.vue b/src/layouts/default/header/components/user-dropdown/index.vue index 911c3331a..7ffc28c76 100644 --- a/src/layouts/default/header/components/user-dropdown/index.vue +++ b/src/layouts/default/header/components/user-dropdown/index.vue @@ -4,7 +4,7 @@ - {{ getUserInfo.realName }} + {{ computedUsername }} @@ -18,6 +18,11 @@ v-if="getShowDoc" /> + +