初始化仓库
This commit is contained in:
82
store/modules/employee.js
Normal file
82
store/modules/employee.js
Normal file
@@ -0,0 +1,82 @@
|
||||
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
|
||||
Reference in New Issue
Block a user