From 04b1a9cfde4049be9a38b9832d5289d4a192c883 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期五, 15 五月 2026 16:29:33 +0800
Subject: [PATCH] 加班申请模块和审批流程公共组件

---
 src/store/modules/user.js |   75 +++++++++++++++++++++++--------------
 1 files changed, 47 insertions(+), 28 deletions(-)

diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index a007574..ea358d1 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,18 +1,20 @@
-import {login, logout, getInfo, loginCheck, loginCheckFactory} from '@/api/login'
+import {login, logout, getInfo, loginCheck, loginCheckFactory,tideLogin} from '@/api/login'
 import { getToken, setToken, removeToken } from '@/utils/auth'
 import { isHttp, isEmpty } from "@/utils/validate"
 import defAva from '@/assets/images/profile.jpg'
+import { defineStore } from 'pinia'
 
 const useUserStore = defineStore(
   'user',
   {
-    state: () => ({
-      token: getToken(),
-      id: '',
-      name: '',
-      avatar: '',
-      roles: [],
-      permissions: []
+    state: () => ({
+      token: getToken(),
+      id: '',
+      name: '',
+      avatar: '',
+      roles: [],
+      permissions: [],
+      aiEnabled: 0
     }),
     actions: {
       // 鐧诲綍
@@ -57,29 +59,31 @@
             this.id = user.userId
             this.name = user.userName
             this.avatar = avatar
-            this.currentFactoryName = user.currentFactoryName
-            this.nickName = user.nickName
-            this.roleName = user.roles[0].roleName
-            this.currentDeptId = user.tenantId
-            this.currentLoginTime = this.getCurrentTime()
-            resolve(res)
-          }).catch(error => {
-            reject(error)
-          })
-        })
+            this.currentFactoryName = user.currentFactoryName
+            this.nickName = user.nickName
+            this.roleName = user.roles[0].roleName
+            this.currentDeptId = user.tenantId
+            this.currentLoginTime = this.getCurrentTime()
+            this.aiEnabled = Number(res.aiEnabled) === 1 ? 1 : 0
+            resolve(res)
+          }).catch(error => {
+            reject(error)
+          })
+        })
       },
       // 閫�鍑虹郴缁�
       logOut() {
         return new Promise((resolve, reject) => {
           logout(this.token).then(() => {
-            this.token = ''
-            this.roles = []
-            this.permissions = []
-            removeToken()
-            resolve()
-          }).catch(error => {
-            reject(error)
-          })
+            this.token = ''
+            this.roles = []
+            this.permissions = []
+            this.aiEnabled = 0
+            removeToken()
+            resolve()
+          }).catch(error => {
+            reject(error)
+          })
         })
       },
       // 鐧诲綍鏍¢獙
@@ -98,9 +102,8 @@
       loginCheckFactory(userInfo) {
         const username = userInfo.username.trim()
         const password = userInfo.password
-        const factoryId = userInfo.currentFatoryId
         return new Promise((resolve, reject) => {
-          loginCheckFactory(username, password, factoryId).then(res => {
+          loginCheckFactory(username, password).then(res => {
             setToken(res.token)
             this.token = res.token
             resolve()
@@ -109,6 +112,22 @@
           })
         })
       },
+      TideLogin(code) {
+        return new Promise((resolve, reject) => {
+          tideLogin(code)
+              .then((res) => {
+                setToken(res.token);
+                this.token = res.token
+                Vue.prototype.uploadHeader = {
+                  Authorization: "Bearer " + res.token,
+                };
+                resolve();
+              })
+              .catch((error) => {
+                reject(error);
+              });
+        });
+      },
     }
   })
 

--
Gitblit v1.9.3