From dfd2d0218bbcea93b4bfb0e7ca7ac9b1cc1cc7da Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 27 六月 2024 16:08:28 +0800
Subject: [PATCH] 工艺路线树形增加客户编码

---
 src/store/modules/user.ts |  106 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 61 insertions(+), 45 deletions(-)

diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
index b3f1328..66a19cc 100644
--- a/src/store/modules/user.ts
+++ b/src/store/modules/user.ts
@@ -1,23 +1,22 @@
-import type { UserInfo } from '/#/store';
-import type { ErrorMessageMode } from '/#/axios';
+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';
 
@@ -90,7 +89,6 @@
       params: AccountInfo & {
         goHome?: boolean;
         mode?: ErrorMessageMode;
-        
       },
     ): Promise<GetUserInfoModel | null> {
       try {
@@ -100,15 +98,17 @@
         if (!data.IsSuccessed) {
           return Promise.reject(data.LocaleMsg);
         }
-        
+
         // save token
         this.setToken(data.Data?.TOKEN);
-        return this.afterLoginAction(goHome,loginParams.data.password==='000000');
+        return this.afterLoginAction(goHome, loginParams.data.password === '000000');
       } catch (error) {
         return Promise.reject(error);
       }
     },
-    async afterLoginAction(goHome?: boolean,changepwd?:boolean): Promise<GetUserInfoModel | null> {
+    async afterLoginAction(
+      goHome?: boolean,
+      changepwd?: boolean,): Promise<GetUserInfoModel | null> {
       if (!this.getToken) return null;
       // get user info
       const userInfo = await this.getTgUserInfoAction(changepwd);
@@ -118,28 +118,32 @@
         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);
       const userInfo: UserInfo = {
         userId: data.USER_ID,
-        changepwd:changepwd,
+        changepwd: changepwd,
         username: data.USER_NAME,
         realName: data.USER_NAME,
-        orgCode: data.ORG_CODE,
+        orgCode: '', //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[],
       };
@@ -152,23 +156,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: data.ORG_CODE,
-        avatar: '',
-        roles: vUserMenu.Data.Items as unknown as iV_USER_MENU[],
-      };
-      this.setUserInfo(userInfo);
-      //console.log(data[0].LOGINNAME);
       return userInfo;
     },
     /**
@@ -185,9 +172,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: '', //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
      */
@@ -199,6 +214,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