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