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" /> + +