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 | }); | ... | ... |