import { createStore } from 'vuex'
|
import { getTreeList, getUserInfo } from '@/apis'
|
import { equipment } from '@/utils/utils'
|
import { pageCount } from '@/apis/agencyAPI'
|
|
const userInfo = JSON.parse(<string>localStorage.getItem('UserInfo'))
|
const Menu = JSON.parse(<string>localStorage.getItem('MenuList'))
|
const env = JSON.parse(<string>localStorage.getItem('env'))
|
const companyId = localStorage.getItem('companyId')
|
|
export default createStore({
|
state: {
|
// 项目入口环境 DD / H5 / WX / XCX
|
env: env ? env : null,
|
|
// 是否需要适配苹果底部安全距离
|
type: null,
|
|
// 用户信息
|
userInfo: userInfo ? userInfo : {},
|
|
// 菜单权限
|
Menu: Menu ? Menu : [],
|
|
// 待办数量
|
upcomingNum: {
|
d: 0,
|
y: 0
|
},
|
|
// 企业id
|
companyId: companyId ? companyId : null
|
},
|
mutations: {
|
// 设置用户信息
|
setUserInfo (state, data) {
|
state.userInfo = data
|
window.localStorage.setItem('UserInfo', JSON.stringify(data))
|
},
|
// 设置菜单栏权限
|
setMenu (state, data) {
|
state.Menu = data
|
window.localStorage.setItem('MenuList', JSON.stringify(data))
|
},
|
// 设置项目入库
|
setEntrance (state, data) {
|
state.env = data
|
window.localStorage.setItem('env', JSON.stringify(data))
|
},
|
// 设置机型
|
setType (state, data) {
|
state.type = data
|
},
|
// 更新代办数量
|
setNum (state, val) {
|
state.upcomingNum.d = val.d
|
state.upcomingNum.y = val.y
|
},
|
// 获取企业id
|
setCompany(state, id) {
|
state.companyId = id
|
window.localStorage.setItem('companyId', id)
|
}
|
},
|
actions: {
|
// 向后端获取菜单栏权限
|
async getMenuList (content, type) {
|
let res = await getTreeList({ type: type })
|
if (res.code === 200) {
|
content.commit('setMenu', res.data)
|
}
|
},
|
// 向后端获取个人信息
|
async getUserInfos (content): Promise<any> {
|
let res = await getUserInfo()
|
if (res.code === 200) {
|
content.commit('setUserInfo', res.data)
|
return true
|
}
|
},
|
// 判断手机机型
|
mobilePhoneModel (content): void {
|
content.commit('setType', equipment())
|
},
|
// 获取代办数量
|
async getUpcomingNum (content) {
|
let res = await pageCount({})
|
if (res.code === 200) {
|
content.commit('setNum', {d: res.data.startNum, y: res.data.endNum})
|
}
|
}
|
}
|
})
|