From 16e9746e5da1ac0485fde18e71fb7bf8ee376d42 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 19 Jan 2026 11:38:00 +0800
Subject: [PATCH] Merge branch 'master' of http://139.196.74.78:10010/r/jagzwxm/ja_web

---
 applications/task-work-order/src/store/modules/user.js |  769 +++++++++++++++++++++++++++++------------------------------
 1 files changed, 379 insertions(+), 390 deletions(-)

diff --git a/applications/task-work-order/src/store/modules/user.js b/applications/task-work-order/src/store/modules/user.js
index a111e36..969c21a 100644
--- a/applications/task-work-order/src/store/modules/user.js
+++ b/applications/task-work-order/src/store/modules/user.js
@@ -1,396 +1,385 @@
-import {
-  setToken,
-  setRefreshToken,
-  removeToken,
-  removeRefreshToken,
-  getRefreshToken,
-} from '@/utils/auth';
-import { setStore, getStore } from '@/utils/store';
-import { validatenull } from '@/utils/validate';
-import { deepClone } from '@/utils/util';
+import { setToken, setRefreshToken, removeToken, removeRefreshToken, getRefreshToken } from '@/utils/auth'
+import { setStore, getStore } from '@/utils/store'
+import { validatenull } from '@/utils/validate'
+import { deepClone } from '@/utils/util'
 import defaultAva from '@/assets/images/defaultava.png'
 import {
-  loginByUsername,
-  loginBySocial,
-  loginBySso,
-  loginByPhone,
-  getUserInfo,
-  logout,
-  refreshToken,
-  getButtons,
-  registerUser,
-  getParentDeptInfo
-} from '@/api/user';
-import { getRoutes, getTopMenu } from '@/api/system/menu';
-import { formatPath } from '@/router/avue-router';
-import { ElMessage } from 'element-plus';
-import { encrypt } from '@/utils/sm2';
-import md5 from 'js-md5';
-
+	loginByUsername,
+	loginBySocial,
+	loginBySso,
+	loginByPhone,
+	getUserInfo,
+	logout,
+	refreshToken,
+	getButtons,
+	registerUser,
+	getParentDeptInfo,
+} from '@/api/user'
+import { getRoutes, getTopMenu } from '@/api/system/menu'
+import { formatPath } from '@/router/avue-router'
+import { ElMessage } from 'element-plus'
+import { encrypt } from '@/utils/sm2'
+import md5 from 'js-md5'
 
 const user = {
-  state: {
-    tenantId: getStore({ name: 'tenantId' }) || '',
-    userInfo: getStore({ name: 'userInfo' }) || [],
-    permission: getStore({ name: 'permission' }) || {},
-    roles: [],
-    menuId: {},
-    menu: getStore({ name: 'menu' }) || [],
-    menuAll: getStore({ name: 'menuAll' }) || [],
-    token: getStore({ name: 'token' }) || '',
-    refreshToken: getStore({ name: 'refreshToken' }) || '',
-    parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
+	state: {
+		tenantId: getStore({ name: 'tenantId' }) || '',
+		userInfo: getStore({ name: 'userInfo' }) || [],
+		permission: getStore({ name: 'permission' }) || {},
+		roles: [],
+		menuId: {},
+		menu: getStore({ name: 'menu' }) || [],
+		menuAll: getStore({ name: 'menuAll' }) || [],
+		token: getStore({ name: 'token' }) || '',
+		refreshToken: getStore({ name: 'refreshToken' }) || '',
+		parentDeptInfo: getStore({ name: 'parentDeptInfo' }) || '',
+	},
+	actions: {
+		//根据用户名登录
+		LoginByUsername({ commit }, userInfo = {}) {
+			return new Promise((resolve, reject) => {
+				loginByUsername(
+					userInfo.tenantId,
+					userInfo.deptId,
+					userInfo.roleId,
+					userInfo.username,
+					md5(userInfo.password),
+					userInfo.type,
+					userInfo.key,
+					userInfo.code
+				)
+					.then(res => {
+						const data = res.data
+						if (data.error_description) {
+							ElMessage({
+								message: data.error_description,
+								type: 'error',
+							})
+						} else {
+							commit('SET_TOKEN', data.access_token)
+							commit('SET_REFRESH_TOKEN', data.refresh_token)
+							commit('SET_TENANT_ID', data.tenant_id)
+							commit('SET_USER_INFO', data)
+							commit('SET_PARENT_DEPT_INFO', data.dept_id)
+							commit('DEL_ALL_TAG')
+							commit('CLEAR_LOCK')
+						}
+						resolve()
+					})
+					.catch(err => {
+						reject(err)
+					})
+			})
+		},
+		//根据第三方信息登录
+		LoginBySocial({ commit }, userInfo) {
+			return new Promise((resolve, reject) => {
+				loginBySocial(userInfo.tenantId, userInfo.source, userInfo.code, userInfo.state)
+					.then(res => {
+						const data = res.data
+						if (data.error_description) {
+							ElMessage({
+								message: data.error_description,
+								type: 'error',
+							})
+						} else {
+							commit('SET_TOKEN', data.access_token)
+							commit('SET_REFRESH_TOKEN', data.refresh_token)
+							commit('SET_USER_INFO', data)
+							commit('SET_TENANT_ID', data.tenant_id)
+							commit('DEL_ALL_TAG')
+							commit('CLEAR_LOCK')
+						}
+						resolve()
+					})
+					.catch(err => {
+						reject(err)
+					})
+			})
+		},
+		//根据单点信息登录
+		LoginBySso({ commit }, userInfo) {
+			return new Promise((resolve, reject) => {
+				loginBySso(userInfo.state, userInfo.code)
+					.then(res => {
+						const data = res.data
+						if (data.error_description) {
+							ElMessage({
+								message: data.error_description,
+								type: 'error',
+							})
+						} else {
+							commit('SET_TOKEN', data.access_token)
+							commit('SET_REFRESH_TOKEN', data.refresh_token)
+							commit('SET_USER_INFO', data)
+							commit('SET_TENANT_ID', data.tenant_id)
+							commit('DEL_ALL_TAG')
+							commit('CLEAR_LOCK')
+						}
+						resolve()
+					})
+					.catch(err => {
+						reject(err)
+					})
+			})
+		},
+		//根据手机信息登录
+		LoginByPhone({ commit }, userInfo) {
+			return new Promise((resolve, reject) => {
+				loginByPhone(userInfo.tenantId, encrypt(userInfo.phone), userInfo.codeId, userInfo.codeValue)
+					.then(res => {
+						const data = res.data
+						if (data.error_description) {
+							ElMessage({
+								message: data.error_description,
+								type: 'error',
+							})
+						} else {
+							commit('SET_TOKEN', data.access_token)
+							commit('SET_REFRESH_TOKEN', data.refresh_token)
+							commit('SET_USER_INFO', data)
+							commit('SET_TENANT_ID', data.tenant_id)
+							commit('DEL_ALL_TAG')
+							commit('CLEAR_LOCK')
+						}
+						resolve()
+					})
+					.catch(err => {
+						reject(err)
+					})
+			})
+		},
+		//用户注册
+		RegisterUser({ commit }, userInfo = {}) {
+			return new Promise((resolve, reject) => {
+				registerUser(
+					userInfo.tenantId,
+					userInfo.name,
+					userInfo.account,
+					encrypt(userInfo.password),
+					userInfo.phone,
+					userInfo.email
+				).then(res => {
+					const data = res.data
+					if (data.error_description) {
+						ElMessage({
+							message: data.error_description,
+							type: 'error',
+						})
+						reject(data.error_description)
+					} else {
+						commit('SET_TOKEN', data.access_token)
+						commit('SET_REFRESH_TOKEN', data.refresh_token)
+						commit('SET_USER_INFO', data)
+						commit('SET_TENANT_ID', data.tenant_id)
+						commit('DEL_ALL_TAG')
+						commit('CLEAR_LOCK')
+					}
+					resolve()
+				})
+			})
+		},
+		GetUserInfo({ commit }) {
+			return new Promise((resolve, reject) => {
+				getUserInfo()
+					.then(res => {
+						const data = res.data.data
+						commit('SET_ROLES', data.roles)
+						resolve(data)
+					})
+					.catch(err => {
+						reject(err)
+					})
+			})
+		},
+		//刷新token
+		RefreshToken({ state, commit }, userInfo) {
+			return new Promise((resolve, reject) => {
+				refreshToken(
+					getRefreshToken(),
+					state.tenantId,
+					!validatenull(userInfo) ? userInfo.deptId : state.userInfo.dept_id,
+					!validatenull(userInfo) ? userInfo.roleId : state.userInfo.role_id
+				)
+					.then(res => {
+						const data = res.data
+						commit('SET_TOKEN', data.access_token)
+						commit('SET_REFRESH_TOKEN', data.refresh_token)
+						commit('SET_USER_INFO', data)
+						resolve()
+					})
+					.catch(error => {
+						reject(error)
+					})
+			})
+		},
+		// 登出
+		LogOut({ commit }) {
+			return new Promise((resolve, reject) => {
+				logout()
+					.then(() => {
+						commit('SET_TOKEN', '')
+						commit('SET_MENU_ALL_NULL', [])
+						commit('SET_MENU', [])
+						commit('SET_ROLES', [])
+						commit('DEL_ALL_TAG', [])
+						commit('CLEAR_LOCK')
+						removeToken()
+						removeRefreshToken()
+						resolve()
+					})
+					.catch(error => {
+						reject(error)
+					})
+			})
+		},
+		//注销session
+		FedLogOut({ commit }) {
+			return new Promise(resolve => {
+				commit('SET_TOKEN', '')
+				commit('SET_MENU_ALL_NULL', [])
+				commit('SET_MENU', [])
+				commit('SET_ROLES', [])
+				commit('DEL_ALL_TAG', [])
+				commit('CLEAR_LOCK')
+				removeToken()
+				removeRefreshToken()
+				removeToken()
+				resolve()
+			})
+		},
+		GetTopMenu() {
+			return new Promise(resolve => {
+				getTopMenu().then(res => {
+					const data = res.data.data || []
+					resolve(data)
+				})
+			})
+		},
+		GetMenu({ commit, dispatch }, tenantId) {
+			const errLogOut = () => {
+				dispatch('LogOut').then(() => {
+					const env = import.meta.env.VITE_APP_ENV
+					const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
+					env === 'development'
+						? (window.location.href = '/task-work-order/login')
+						: window.location.replace(`${adminUrl}#/login`)
+				})
+			}
+			return new Promise(resolve => {
+				getRoutes({ tenantId, sysType: 6 })
+					.then(res => {
+						const data = res.data.data
+						let menu = deepClone(data)
+						if (!res.data?.data?.length) {
+							errLogOut()
+							return
+						}
+						menu.forEach(ele => formatPath(ele, true))
+						commit('SET_MENU', menu)
+						commit('SET_MENU_ALL', menu)
+						dispatch('GetButtons')
+						resolve(menu)
+					})
+					.catch(err => {
+						errLogOut()
+					})
+			})
+		},
+		GetButtons({ commit }) {
+			return new Promise(resolve => {
+				getButtons({ sysType: 6 }).then(res => {
+					const data = res.data.data
+					commit('SET_PERMISSION', data)
+					resolve()
+				})
+			})
+		},
+	},
+	mutations: {
+		SET_PARENT_DEPT_INFO(state, deptId) {
+			getParentDeptInfo({ deptId: deptId }).then(res => {
+				const data = res.data.data
+				state.parentDeptInfo = data
+				setStore({ name: 'parentDeptInfo', content: data })
+			})
+		},
+		SET_TOKEN: (state, token) => {
+			setToken(token)
+			state.token = token
+			setStore({ name: 'token', content: state.token })
+		},
+		SET_REFRESH_TOKEN: (state, refreshToken) => {
+			setRefreshToken(refreshToken)
+			state.refreshToken = refreshToken
+			setStore({ name: 'refreshToken', content: state.refreshToken })
+		},
+		SET_MENU_ID(state, menuId) {
+			state.menuId = menuId
+		},
+		SET_TENANT_ID: (state, tenantId) => {
+			state.tenantId = tenantId
+			setStore({ name: 'tenantId', content: state.tenantId })
+		},
+		SET_USER_INFO: (state, userInfo) => {
+			if (validatenull(userInfo.user_id) && validatenull(userInfo.account)) {
+				state.userInfo = { user_name: 'unauth', role_name: 'unauth' }
+			} else {
+				if (validatenull(userInfo.avatar)) {
+					userInfo.avatar = defaultAva
+				}
+				state.userInfo = userInfo
+			}
+			setStore({ name: 'userInfo', content: state.userInfo })
+		},
+		SET_MENU_ALL: (state, menuAll) => {
+			let menu = state.menuAll
+			menuAll.forEach(ele => {
+				let index = menu.findIndex(item => item.path === ele.path)
+				if (index === -1) {
+					menu.push(ele)
+				} else {
+					menu[index] = ele
+				}
+			})
+			state.menuAll = menu
+			setStore({ name: 'menuAll', content: state.menuAll })
+		},
+		SET_MENU_ALL_NULL: state => {
+			state.menuAll = []
+			setStore({ name: 'menuAll', content: state.menuAll })
+		},
+		SET_MENU: (state, menu) => {
+			state.menu = menu
+			setStore({ name: 'menu', content: state.menu })
+		},
+		SET_ROLES: (state, roles) => {
+			state.roles = roles
+		},
+		SET_PERMISSION: (state, permission) => {
+			let result = []
 
-  },
-  actions: {
-    //根据用户名登录
-    LoginByUsername({ commit }, userInfo = {}) {
-      return new Promise((resolve, reject) => {
-        loginByUsername(
-          userInfo.tenantId,
-          userInfo.deptId,
-          userInfo.roleId,
-          userInfo.username,
-          md5(userInfo.password),
-          userInfo.type,
-          userInfo.key,
-          userInfo.code
-        )
-          .then(res => {
-            const data = res.data;
-            if (data.error_description) {
-              ElMessage({
-                message: data.error_description,
-                type: 'error',
-              });
-            } else {
-              commit('SET_TOKEN', data.access_token);
-              commit('SET_REFRESH_TOKEN', data.refresh_token);
-              commit('SET_TENANT_ID', data.tenant_id);
-              commit('SET_USER_INFO', data);
-              commit('SET_PARENT_DEPT_INFO', data.dept_id);
-              commit('DEL_ALL_TAG');
-              commit('CLEAR_LOCK');
-            }
-            resolve();
-          })
-          .catch(err => {
-            reject(err);
-          });
-      });
-    },
-    //根据第三方信息登录
-    LoginBySocial({ commit }, userInfo) {
-      return new Promise((resolve, reject) => {
-        loginBySocial(userInfo.tenantId, userInfo.source, userInfo.code, userInfo.state)
-          .then(res => {
-            const data = res.data;
-            if (data.error_description) {
-              ElMessage({
-                message: data.error_description,
-                type: 'error',
-              });
-            } else {
-              commit('SET_TOKEN', data.access_token);
-              commit('SET_REFRESH_TOKEN', data.refresh_token);
-              commit('SET_USER_INFO', data);
-              commit('SET_TENANT_ID', data.tenant_id);
-              commit('DEL_ALL_TAG');
-              commit('CLEAR_LOCK');
-            }
-            resolve();
-          })
-          .catch(err => {
-            reject(err);
-          });
-      });
-    },
-    //根据单点信息登录
-    LoginBySso({ commit }, userInfo) {
-      return new Promise((resolve, reject) => {
-        loginBySso(userInfo.state, userInfo.code)
-          .then(res => {
-            const data = res.data;
-            if (data.error_description) {
-              ElMessage({
-                message: data.error_description,
-                type: 'error',
-              });
-            } else {
-              commit('SET_TOKEN', data.access_token);
-              commit('SET_REFRESH_TOKEN', data.refresh_token);
-              commit('SET_USER_INFO', data);
-              commit('SET_TENANT_ID', data.tenant_id);
-              commit('DEL_ALL_TAG');
-              commit('CLEAR_LOCK');
-            }
-            resolve();
-          })
-          .catch(err => {
-            reject(err);
-          });
-      });
-    },
-    //根据手机信息登录
-    LoginByPhone({ commit }, userInfo) {
-      return new Promise((resolve, reject) => {
-        loginByPhone(
-          userInfo.tenantId,
-          encrypt(userInfo.phone),
-          userInfo.codeId,
-          userInfo.codeValue
-        )
-          .then(res => {
-            const data = res.data;
-            if (data.error_description) {
-              ElMessage({
-                message: data.error_description,
-                type: 'error',
-              });
-            } else {
-              commit('SET_TOKEN', data.access_token);
-              commit('SET_REFRESH_TOKEN', data.refresh_token);
-              commit('SET_USER_INFO', data);
-              commit('SET_TENANT_ID', data.tenant_id);
-              commit('DEL_ALL_TAG');
-              commit('CLEAR_LOCK');
-            }
-            resolve();
-          })
-          .catch(err => {
-            reject(err);
-          });
-      });
-    },
-    //用户注册
-    RegisterUser({ commit }, userInfo = {}) {
-      return new Promise((resolve, reject) => {
-        registerUser(
-          userInfo.tenantId,
-          userInfo.name,
-          userInfo.account,
-          encrypt(userInfo.password),
-          userInfo.phone,
-          userInfo.email
-        ).then(res => {
-          const data = res.data;
-          if (data.error_description) {
-            ElMessage({
-              message: data.error_description,
-              type: 'error',
-            });
-            reject(data.error_description);
-          } else {
-            commit('SET_TOKEN', data.access_token);
-            commit('SET_REFRESH_TOKEN', data.refresh_token);
-            commit('SET_USER_INFO', data);
-            commit('SET_TENANT_ID', data.tenant_id);
-            commit('DEL_ALL_TAG');
-            commit('CLEAR_LOCK');
-          }
-          resolve();
-        });
-      });
-    },
-    GetUserInfo({ commit }) {
-      return new Promise((resolve, reject) => {
-        getUserInfo()
-          .then(res => {
-            const data = res.data.data;
-            commit('SET_ROLES', data.roles);
-            resolve(data);
-          })
-          .catch(err => {
-            reject(err);
-          });
-      });
-    },
-    //刷新token
-    RefreshToken({ state, commit }, userInfo) {
-      return new Promise((resolve, reject) => {
-        refreshToken(
-          getRefreshToken(),
-          state.tenantId,
-          !validatenull(userInfo) ? userInfo.deptId : state.userInfo.dept_id,
-          !validatenull(userInfo) ? userInfo.roleId : state.userInfo.role_id
-        )
-          .then(res => {
-            const data = res.data;
-            commit('SET_TOKEN', data.access_token);
-            commit('SET_REFRESH_TOKEN', data.refresh_token);
-            commit('SET_USER_INFO', data);
-            resolve();
-          })
-          .catch(error => {
-            reject(error);
-          });
-      });
-    },
-    // 登出
-    LogOut({ commit }) {
-      return new Promise((resolve, reject) => {
-        logout()
-          .then(() => {
-            commit('SET_TOKEN', '');
-            commit('SET_MENU_ALL_NULL', []);
-            commit('SET_MENU', []);
-            commit('SET_ROLES', []);
-            commit('DEL_ALL_TAG', []);
-            commit('CLEAR_LOCK');
-            removeToken();
-            removeRefreshToken();
-            resolve();
-          })
-          .catch(error => {
-            reject(error);
-          });
-      });
-    },
-    //注销session
-    FedLogOut({ commit }) {
-      return new Promise(resolve => {
-        commit('SET_TOKEN', '');
-        commit('SET_MENU_ALL_NULL', []);
-        commit('SET_MENU', []);
-        commit('SET_ROLES', []);
-        commit('DEL_ALL_TAG', []);
-        commit('CLEAR_LOCK');
-        removeToken();
-        removeRefreshToken();
-        removeToken();
-        resolve();
-      });
-    },
-    GetTopMenu() {
-      return new Promise(resolve => {
-        getTopMenu().then(res => {
-          const data = res.data.data || [];
-          resolve(data);
-        });
-      });
-    },
-    GetMenu({ commit, dispatch }, tenantId) {
-      const errLogOut = () => {
-        dispatch('LogOut').then(()=>{
-          const env = import.meta.env.VITE_APP_ENV
-          const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
-          env === 'development'
-            ? window.location.href = "/manage/login"
-            : window.location.replace(`${adminUrl}#/login`)
-        })
-      }
-      return new Promise(resolve => {
-        getRoutes({tenantId,sysType: 6}).then(res => {
-          const data = res.data.data;
-          let menu = deepClone(data);
-          if (!res.data?.data?.length){
-            errLogOut()
-            return
-          }
-          menu.forEach(ele => formatPath(ele, true));
-          commit('SET_MENU', menu);
-          commit('SET_MENU_ALL', menu);
-          dispatch('GetButtons');
-          resolve(menu);
-        }).catch(err =>{
-          errLogOut()
-        })
-      });
-    },
-    GetButtons({ commit }) {
-      return new Promise(resolve => {
-        getButtons({sysType: 6}).then(res => {
-          const data = res.data.data;
-          commit('SET_PERMISSION', data);
-          resolve();
-        });
-      });
-    },
-  },
-  mutations: {
-    SET_PARENT_DEPT_INFO(state, deptId){
-      getParentDeptInfo({deptId:deptId}).then(res=>{
-        const data = res.data.data;
-        state.parentDeptInfo = data;
-        setStore({ name: 'parentDeptInfo', content: data });
-      })
-    },
-    SET_TOKEN: (state, token) => {
-      setToken(token);
-      state.token = token;
-      setStore({ name: 'token', content: state.token });
-    },
-    SET_REFRESH_TOKEN: (state, refreshToken) => {
-      setRefreshToken(refreshToken);
-      state.refreshToken = refreshToken;
-      setStore({ name: 'refreshToken', content: state.refreshToken });
-    },
-    SET_MENU_ID(state, menuId) {
-      state.menuId = menuId;
-    },
-    SET_TENANT_ID: (state, tenantId) => {
-      state.tenantId = tenantId;
-      setStore({ name: 'tenantId', content: state.tenantId });
-    },
-    SET_USER_INFO: (state, userInfo) => {
-      if (validatenull(userInfo.user_id) && validatenull(userInfo.account)) {
-        state.userInfo = { user_name: 'unauth', role_name: 'unauth' };
-      } else {
-        if (validatenull(userInfo.avatar)) {
-          userInfo.avatar = defaultAva;
-        }
-        state.userInfo = userInfo;
-      }
-      setStore({ name: 'userInfo', content: state.userInfo });
-    },
-    SET_MENU_ALL: (state, menuAll) => {
-      let menu = state.menuAll;
-      menuAll.forEach(ele => {
-        let index = menu.findIndex(item => item.path === ele.path);
-        if (index === -1) {
-          menu.push(ele);
-        } else {
-          menu[index] = ele;
-        }
-      });
-      state.menuAll = menu;
-      setStore({ name: 'menuAll', content: state.menuAll });
-    },
-    SET_MENU_ALL_NULL: state => {
-      state.menuAll = [];
-      setStore({ name: 'menuAll', content: state.menuAll });
-    },
-    SET_MENU: (state, menu) => {
-      state.menu = menu;
-      setStore({ name: 'menu', content: state.menu });
-    },
-    SET_ROLES: (state, roles) => {
-      state.roles = roles;
-    },
-    SET_PERMISSION: (state, permission) => {
-      let result = [];
+			function getCode(list) {
+				list.forEach(ele => {
+					if (typeof ele === 'object') {
+						const children = ele.children
+						const code = ele.code
+						if (children) {
+							getCode(children)
+						} else {
+							result.push(code)
+						}
+					}
+				})
+			}
 
-      function getCode(list) {
-        list.forEach(ele => {
-          if (typeof ele === 'object') {
-            const children = ele.children;
-            const code = ele.code;
-            if (children) {
-              getCode(children);
-            } else {
-              result.push(code);
-            }
-          }
-        });
-      }
-
-      getCode(permission);
-      state.permission = {};
-      result.forEach(ele => {
-        state.permission[ele] = true;
-      });
-      setStore({ name: 'permission', content: state.permission, type: 'session' });
-    },
-  },
-};
-export default user;
+			getCode(permission)
+			state.permission = {}
+			result.forEach(ele => {
+				state.permission[ele] = true
+			})
+			setStore({ name: 'permission', content: state.permission, type: 'session' })
+		},
+	},
+}
+export default user

--
Gitblit v1.9.3