From 50111114eb8254fe4d6fc15e9781f2c47e3db74a Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期三, 24 七月 2024 00:12:52 +0800 Subject: [PATCH] 删除工艺路线绑定 --- src/store/modules/user.ts | 118 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 74 insertions(+), 44 deletions(-) diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index c68d796..b04afdd 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -1,28 +1,34 @@ -import type { UserInfo } from '/#/store'; -import type { ErrorMessageMode } from '/#/axios'; +/* + * @Description: file content + * @Author: Ben Lin + * @version: + * @Date: 2024-06-18 15:09:47 + * @LastEditors: Ben Lin + * @LastEditTime: 2024-07-17 20:52:52 + */ +import type { UserInfo } from '#/store'; +import type { ErrorMessageMode } from '#/axios'; import { defineStore } from 'pinia'; -import { store } from '/@/store'; -import { RoleEnum } from '/@/enums/roleEnum'; -import { PageEnum } from '/@/enums/pageEnum'; -import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY } from '/@/enums/cacheEnum'; -import { getAuthCache, setAuthCache } from '/@/utils/auth'; -import { GetUserInfoModel, LoginParams } from '/@/api/sys/model/userModel'; -import { doLogout, getTgUserInfo, getUserInfo, loginApi } from '/@/api/sys/user'; -import { useI18n } from '/@/hooks/web/useI18n'; -import { useMessage } from '/@/hooks/web/useMessage'; -import { router } from '/@/router'; -import { usePermissionStore } from '/@/store/modules/permission'; +import { store } from '@/store'; +import { RoleEnum } from '@/enums/roleEnum'; +import { PageEnum } from '@/enums/pageEnum'; +import { ROLES_KEY, TOKEN_KEY, USER_INFO_KEY } from '@/enums/cacheEnum'; +import { getAuthCache, setAuthCache } from '@/utils/auth'; +import { GetUserInfoModel, LoginParams } from '@/api/sys/model/userModel'; +import { doLogout, getTgUserInfo, getUserInfo, loginApi } from '@/api/sys/user'; +import { useI18n } from '@/hooks/web/useI18n'; +import { useMessage } from '@/hooks/web/useMessage'; +import { router } from '@/router'; +import { usePermissionStore } from '@/store/modules/permission'; import { RouteRecordRaw } from 'vue-router'; -import { PAGE_NOT_FOUND_ROUTE } from '/@/router/routes/basic'; -import { isArray, isEmpty } from '/@/utils/is'; -import { AccountInfo } from '/@/api/tigerapi/model/systemModel'; - +import { PAGE_NOT_FOUND_ROUTE } from '@/router/routes/basic'; +import { isArray } from '@/utils/is'; import { h } from 'vue'; +import { AccountInfo } from '/@/api/tigerapi/model/systemModel'; import { getMenuAuthList } from '/@/api/sys/menu'; import { iV_USER_MENU } from '/@/api/tigerapi/model/vModel'; -import { useGlobSetting } from '/@/hooks/setting'; +import { getSysParam } from '/@/api/tigerapi/system'; -const globSetting = useGlobSetting(); interface UserState { userInfo: Nullable<UserInfo>; token?: string; @@ -122,19 +128,22 @@ this.setSessionTimeout(false); } else { // const permissionStore = usePermissionStore(); + + // // 鍔ㄦ�佽矾鐢卞姞杞斤紙棣栨锛� // if (!permissionStore.isDynamicAddedRoute) { // const routes = await permissionStore.buildRoutesAction(); - // routes.forEach((route) => { + // [...routes, PAGE_NOT_FOUND_ROUTE].forEach((route) => { // router.addRoute(route as unknown as RouteRecordRaw); // }); - // router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw); + // // 璁板綍鍔ㄦ�佽矾鐢卞姞杞藉畬鎴� // permissionStore.setDynamicAddedRoute(true); // } + goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME)); } return userInfo; }, - async getUserInfoAction(changepwd: boolean): Promise<UserInfo | null> { + async getUserInfoAction(changepwd?: boolean): Promise<UserInfo | null> { if (!this.getToken) return null; const data = await getTgUserInfo(); const vUserMenu = await getMenuAuthList(data.USER_ID); @@ -143,11 +152,21 @@ changepwd: changepwd, username: data.USER_NAME, realName: data.USER_NAME, - orgCode: globSetting.useOrg == 'true' ? data.ORG_CODE : '', - prodCode: globSetting.useOrg == 'false' ? data.ORG_CODE : '', + orgCode: data.ORG_CODE, //globSetting.useOrg == 'Y' ? data.ORG_CODE : '', + prodCode: data.FTY_CODE, //globSetting.useOrg == 'N' ? data.ORG_CODE : '', avatar: '', roles: vUserMenu.Data.Items as unknown as iV_USER_MENU[], + byOrg: false, + byProd: false, + byWh: false, }; + /* 浠庣郴缁熷弬鏁拌幏鍙栧惎鐢ㄥ摢绉嶆潈闄� */ + var action = await getSysParam({ group: 'ByAuthActive' }); + if (action.IsSuccessed) { + userInfo.byOrg = action.Data.filter((x) => x.PARAM_CODE == 'ByOrgActive')[0].PARAM_VALUE == 'Y'; + userInfo.byProd = action.Data.filter((x) => x.PARAM_CODE == 'ByProdActive')[0].PARAM_VALUE == 'Y'; + userInfo.byWh = action.Data.filter((x) => x.PARAM_CODE == 'ByWhActive')[0].PARAM_VALUE == 'Y'; + } const { roles = [] } = userInfo; if (isArray(roles)) { const roleList = roles.map((item) => item.value) as RoleEnum[]; @@ -157,24 +176,6 @@ this.setRoleList([]); } this.setUserInfo(userInfo); - return userInfo; - }, - async getTgUserInfoAction(changepwd: boolean, orgCode?: string): Promise<UserInfo | null> { - if (!this.getToken) return null; - const data = await getTgUserInfo(); - const vUserMenu = await getMenuAuthList(data.USER_ID); - const userInfo: UserInfo = { - userId: data.USER_ID, - username: data.USER_NAME, - changepwd: changepwd, - realName: data.USER_NAME, - orgCode: globSetting.useOrg == 'true' ? data.ORG_CODE : '', - prodCode: globSetting.useOrg == 'false' ? data.FTY_CODE : '', - avatar: '', - roles: vUserMenu.Data.Items as unknown as iV_USER_MENU[], - }; - this.setUserInfo(userInfo); - //console.log(data[0].LOGINNAME); return userInfo; }, /** @@ -191,9 +192,37 @@ this.setToken(undefined); this.setSessionTimeout(false); this.setUserInfo(null); - goLogin && router.push(PageEnum.BASE_LOGIN); + if (goLogin) { + // 鐩存帴鍥炵櫥闄嗛〉 + router.replace(PageEnum.BASE_LOGIN); + } else { + // 鍥炵櫥闄嗛〉甯︿笂褰撳墠璺敱鍦板潃 + router.replace({ + path: PageEnum.BASE_LOGIN, + query: { + redirect: encodeURIComponent(router.currentRoute.value.fullPath), + }, + }); + } }, - + async getTgUserInfoAction(changepwd?: boolean, orgCode?: string): Promise<UserInfo | null> { + if (!this.getToken) return null; + const data = await getTgUserInfo(); + const vUserMenu = await getMenuAuthList(data.USER_ID); + const userInfo: UserInfo = { + userId: data.USER_ID, + username: data.USER_NAME, + changepwd: changepwd, + realName: data.USER_NAME, + orgCode: data.ORG_CODE, //globSetting.useOrg == 'Y' ? data.ORG_CODE : '', + prodCode: data.FTY_CODE, //globSetting.useOrg == 'N' ? data.FTY_CODE : '', + avatar: '', + roles: vUserMenu.Data.Items as unknown as iV_USER_MENU[], + }; + this.setUserInfo(userInfo); + //console.log(data[0].LOGINNAME); + return userInfo; + }, /** * @description: Confirm before logging out */ @@ -205,6 +234,7 @@ title: () => h('span', t('sys.app.logoutTip')), content: () => h('span', t('sys.app.logoutMessage')), onOk: async () => { + // 涓诲姩鐧诲嚭锛屼笉甯edirect鍦板潃 await this.logout(true); }, }); -- Gitblit v1.9.3