Commit 93d021a968e203abc4c71a086e2eacc54ddb0921
1 parent
e7ee002d
feat: tenant admin list add use tenant identity login
Showing
3 changed files
with
46 additions
and
2 deletions
@@ -14,7 +14,7 @@ enum Api { | @@ -14,7 +14,7 @@ enum Api { | ||
14 | * @description: Get user menu based on id | 14 | * @description: Get user menu based on id |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -export const getMenuList = (args) => { | 17 | +export const getMenuList = (args?: number) => { |
18 | const userStore = useUserStore(); | 18 | const userStore = useUserStore(); |
19 | let url = Api.GetMenuList; | 19 | let url = Api.GetMenuList; |
20 | try { | 20 | try { |
@@ -94,3 +94,9 @@ export function forgetPasswordApi(data) { | @@ -94,3 +94,9 @@ export function forgetPasswordApi(data) { | ||
94 | data, | 94 | data, |
95 | }); | 95 | }); |
96 | } | 96 | } |
97 | + | ||
98 | +export const getUserToken = (id: string) => { | ||
99 | + return defHttp.get<Record<'token' | 'refreshToken', string>>({ | ||
100 | + url: `/third/login/id/${id}`, | ||
101 | + }); | ||
102 | +}; |
@@ -16,6 +16,14 @@ | @@ -16,6 +16,14 @@ | ||
16 | <TableAction | 16 | <TableAction |
17 | :actions="[ | 17 | :actions="[ |
18 | { | 18 | { |
19 | + label: '进入', | ||
20 | + icon: 'ant-design:login-outlined', | ||
21 | + tooltip: '以租户管理员身份登录', | ||
22 | + onClick: handleLoginTenantAdmin.bind(null, record), | ||
23 | + }, | ||
24 | + ]" | ||
25 | + :drop-down-actions="[ | ||
26 | + { | ||
19 | label: '短信通知', | 27 | label: '短信通知', |
20 | icon: 'ant-design:send-outlined', | 28 | icon: 'ant-design:send-outlined', |
21 | tooltip: '发送通知短信', | 29 | tooltip: '发送通知短信', |
@@ -94,6 +102,12 @@ | @@ -94,6 +102,12 @@ | ||
94 | import { MessageTypeEnum, SendResetPasswordEmailMsg } from '/@/api/tenant/tenantInfo'; | 102 | import { MessageTypeEnum, SendResetPasswordEmailMsg } from '/@/api/tenant/tenantInfo'; |
95 | import { useMessage } from '/@/hooks/web/useMessage'; | 103 | import { useMessage } from '/@/hooks/web/useMessage'; |
96 | import { Authority } from '/@/components/Authority'; | 104 | import { Authority } from '/@/components/Authority'; |
105 | + import { getMyInfo, getPermCode, getUserToken } from '/@/api/sys/user'; | ||
106 | + import { useUserStore } from '/@/store/modules/user'; | ||
107 | + import { usePermissionStore } from '/@/store/modules/permission'; | ||
108 | + import { RoleEnum } from '/@/enums/roleEnum'; | ||
109 | + import { useGo } from '/@/hooks/web/usePage'; | ||
110 | + import { PageEnum } from '/@/enums/pageEnum'; | ||
97 | 111 | ||
98 | export default defineComponent({ | 112 | export default defineComponent({ |
99 | name: 'TenantAdminDrawer', | 113 | name: 'TenantAdminDrawer', |
@@ -198,10 +212,15 @@ | @@ -198,10 +212,15 @@ | ||
198 | fixed: 'right', | 212 | fixed: 'right', |
199 | }, | 213 | }, |
200 | }); | 214 | }); |
215 | + | ||
216 | + let firstEnterFlag = true; | ||
201 | //默认传递页面数据 | 217 | //默认传递页面数据 |
202 | const [tenantAdminDrawer, { closeDrawer }] = useDrawerInner(async (data) => { | 218 | const [tenantAdminDrawer, { closeDrawer }] = useDrawerInner(async (data) => { |
203 | tenantId.value = data.record.tenantId; | 219 | tenantId.value = data.record.tenantId; |
204 | - reload(); | 220 | + !firstEnterFlag && reload(); |
221 | + if (firstEnterFlag) { | ||
222 | + firstEnterFlag = false; | ||
223 | + } | ||
205 | }); | 224 | }); |
206 | 225 | ||
207 | //提交按钮 | 226 | //提交按钮 |
@@ -213,6 +232,24 @@ | @@ -213,6 +232,24 @@ | ||
213 | reload(); | 232 | reload(); |
214 | } | 233 | } |
215 | 234 | ||
235 | + const userStore = useUserStore(); | ||
236 | + const permissionStore = usePermissionStore(); | ||
237 | + const go = useGo(); | ||
238 | + async function handleLoginTenantAdmin(record: { tbUser: string; id: string }) { | ||
239 | + try { | ||
240 | + const { token, refreshToken } = await getUserToken(record.id); | ||
241 | + userStore.storeToken(token, refreshToken); | ||
242 | + const userInfo = await getMyInfo(); | ||
243 | + const permissionList = await getPermCode(); | ||
244 | + permissionStore.setPermCodeList(permissionList); | ||
245 | + userStore.setUserInfo(userInfo); | ||
246 | + userStore.setRoleList(userInfo.roles as RoleEnum[]); | ||
247 | + go(PageEnum.BASE_HOME); | ||
248 | + } catch (error) { | ||
249 | + } finally { | ||
250 | + } | ||
251 | + } | ||
252 | + | ||
216 | return { | 253 | return { |
217 | tenantAdminDrawer, | 254 | tenantAdminDrawer, |
218 | handleCreateTenantAdmin, | 255 | handleCreateTenantAdmin, |
@@ -225,6 +262,7 @@ | @@ -225,6 +262,7 @@ | ||
225 | handleDelete, | 262 | handleDelete, |
226 | handleResetPassword, | 263 | handleResetPassword, |
227 | handleSendMsg, | 264 | handleSendMsg, |
265 | + handleLoginTenantAdmin, | ||
228 | }; | 266 | }; |
229 | }, | 267 | }, |
230 | }); | 268 | }); |