Commit 93d021a968e203abc4c71a086e2eacc54ddb0921
1 parent
e7ee002d
feat: tenant admin list add use tenant identity login
Showing
3 changed files
with
46 additions
and
2 deletions
... | ... | @@ -16,6 +16,14 @@ |
16 | 16 | <TableAction |
17 | 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 | 27 | label: '短信通知', |
20 | 28 | icon: 'ant-design:send-outlined', |
21 | 29 | tooltip: '发送通知短信', |
... | ... | @@ -94,6 +102,12 @@ |
94 | 102 | import { MessageTypeEnum, SendResetPasswordEmailMsg } from '/@/api/tenant/tenantInfo'; |
95 | 103 | import { useMessage } from '/@/hooks/web/useMessage'; |
96 | 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 | 112 | export default defineComponent({ |
99 | 113 | name: 'TenantAdminDrawer', |
... | ... | @@ -198,10 +212,15 @@ |
198 | 212 | fixed: 'right', |
199 | 213 | }, |
200 | 214 | }); |
215 | + | |
216 | + let firstEnterFlag = true; | |
201 | 217 | //默认传递页面数据 |
202 | 218 | const [tenantAdminDrawer, { closeDrawer }] = useDrawerInner(async (data) => { |
203 | 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 | 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 | 253 | return { |
217 | 254 | tenantAdminDrawer, |
218 | 255 | handleCreateTenantAdmin, |
... | ... | @@ -225,6 +262,7 @@ |
225 | 262 | handleDelete, |
226 | 263 | handleResetPassword, |
227 | 264 | handleSendMsg, |
265 | + handleLoginTenantAdmin, | |
228 | 266 | }; |
229 | 267 | }, |
230 | 268 | }); | ... | ... |