Files
rd_mes_uniapp/store/modules/employee.js
2025-12-18 14:11:48 +08:00

82 lines
2.2 KiB
JavaScript

import storage from '@/utils/storage'
import constant from '@/utils/constant'
import { getInfo } from '@/api/login'
import { listEmployee } from '@/api/basic/employee'
import { getDepartment } from '@/api/basic/department'
const employee = {
state: {
empId: storage.get(constant.empId),
empCode: storage.get(constant.code),
empName: storage.get(constant.empName),
deptId: storage.get(constant.empDeptId),
deptName: storage.get(constant.empDeptName)
},
mutations: {
SET_ID: (state, empId) => {
state.empId = empId
storage.set(constant.empId, empId)
},
SET_EMP_NAME: (state, empName) => {
state.empName = empName
storage.set(constant.empName, empName)
},
SET_CODE: (state, empCode) => {
state.empCode = empCode
storage.set(constant.code, empCode)
storage.set(constant.empCode, empCode)
},
SET_DEPT_ID: (state, deptId) => {
state.deptId = deptId
storage.set(constant.empDeptId, deptId)
},
SET_DEPT_NAME: (state, deptName) => {
state.deptName = deptName
storage.set(constant.empDeptName, deptName)
}
},
actions: {
// 获取用户信息
async GetEmpInfo({ commit, state }) {
try {
// 1. 获取登录用户信息
const res = await getInfo()
const user = res.user
const empCode = (!user || !user.employeeCode) ? "" : user.employeeCode
commit('SET_CODE', empCode)
// 2. 根据 empCode 查询员工
const empRes = await listEmployee({ empCode })
if (empRes.total !== 1) {
console.warn('未找到员工信息')
return
}
const { id, name, deptId } = empRes.rows[0]
commit('SET_ID', id)
commit('SET_EMP_NAME', name)
commit('SET_DEPT_ID', deptId)
if (!deptId) {
console.warn('该人员未绑定部门')
return
}
// 3. 获取部门信息
const deptRes = await getDepartment(deptId)
if (deptRes.data) {
commit('SET_DEPT_NAME', deptRes.data.departmentTitle)
} else {
console.warn(`未查询到该人员所属部门: ${deptId}`)
}
return deptRes
} catch (error) {
console.error('获取员工信息失败:', error)
throw error
}
}
}
}
export default employee