import uc from '@/api/uc.js' import store from '@/store/modules/login' const state = { currentUserDetail: null, currentOrgDetail: null, dimensions: null, currentDimension: null, orgs: null, users: [], //列表数据 userInfo: {}, orgData: null, pagination: {}, //分页参数 total: 0, //列表数据总条数 postData: null, roleData: null, jobData: null, postCharge: {}, postMap: {}, demData: null, orgTotal: 0, postTotal: 0, roleTotal: 0, jobTotal: 0, demTotal: 0, pwdStrategy: {}, //默认密码策略 } const getters = {} const actions = { // 加载当前用户详情 loadCurrentUserDetail({ commit, state }) { const currentUser = store.state.currentUser if (currentUser && currentUser.account) { return new Promise((resolve, reject) => { uc.getUserByAccount(currentUser.account, (resp) => { resolve(resp) commit('setCurrentUserDetail', resp) commit('setPostCharge', resp.post) commit('setCurrentUserOrg', resp.org) }) }) } // } }, //获取默认密码策略 getDefPwdStrategy({ commit, state }) { return new Promise((resolve, reject) => { uc.getDefPwdStrategy((response) => { commit('setPwdStrategy', response) resolve(response) }) }) }, //修改密码 modifyPwd({ commit, state }, data) { return new Promise((resolve, reject) => { uc.modifyPwd(data, (resp) => { resolve(resp) }) }) }, // 获取用户信息 getCurrent({ commit, state }) { return new Promise((resolve, reject) => { uc.getCurrent((rep) => { resolve(rep) }) }) }, // 加载组织维度 loadDimension({ commit, state }) { uc.getAllDimension((rep) => { commit('setDimensions', rep) }) }, // 通过父组织ID查询组织 loadOrgsByParentId({ commit, state }, parentId) { return new Promise((resolve, reject) => { uc.getOrgsByParentIdAndDemension( parentId, state.currentDimension, (rep) => { resolve(rep) }, (err) => { reject(err) } ) }) }, // 更新每页下拉显示数据 setPaginationSize({ commit, state }, size) { commit('setPaginationSize', size) }, // 更新第几页 setPaginationPageNum({ commit, state }, currentPage) { commit('setPaginationPageNum', currentPage) }, // 通过组织ID获取用户 loadUsersByOrgId({ commit, state }, pagination) { uc.getUsersByOrgId(pagination, (response) => { commit('setUsers', response.data.rows) //用户数据 commit('setTotal', response.data.total) //总数据条数 let pageBean = { page: response.data.page, pageSize: response.data.pageSize, showTotal: 'true', } //接口方法返回的pageBean commit('setPagination', pageBean) //显示第几页,每页显示多少条 }) }, // 查询组织 queryOrg({ commit, state }, pagination) { uc.queryOrgByFilter(pagination, (rep) => { commit('setOrgData', rep.data) commit('setOrgTotal', rep.data.total) //总数据条数 let pageBean = { page: rep.data.page, pageSize: rep.data.pageSize, showTotal: 'true', } //接口方法返回的pageBean commit('setPagination', pageBean) //显示第几页,每页显示多少条 }) }, // 查询岗位 queryPost({ commit, state }, pagination) { uc.getOrgPostPage(pagination, (rep) => { commit('setPostData', rep.data) commit('setPostTotal', rep.data.total) //总数据条数 let pageBean = { page: rep.data.page, pageSize: rep.data.pageSize, showTotal: 'true', } //接口方法返回的pageBean commit('setPagination', pageBean) //显示第几页,每页显示多少条 }) }, // 查询角色 queryRole({ commit, state }, pagination) { uc.getRolePage(pagination, (rep) => { commit('setRoleData', rep.data) commit('setRoleTotal', rep.data.total) //总数据条数 let pageBean = { page: rep.data.page, pageSize: rep.data.pageSize, showTotal: 'true', } //接口方法返回的pageBean commit('setPagination', pageBean) //显示第几页,每页显示多少条 }) }, // 查询职务 queryJob({ commit, state }, pagination) { uc.getJobPage(pagination, (rep) => { commit('setJobData', rep.data) commit('setJobTotal', rep.data.total) //总数据条数 let pageBean = { page: rep.data.page, pageSize: rep.data.pageSize, showTotal: 'true', } //接口方法返回的pageBean commit('setPagination', pageBean) //显示第几页,每页显示多少条 }) }, setpostMap({ commit, state }, data) { commit('setpostMap', data) }, // 查询维度列表 getDemPage({ commit, state }, pageBean) { uc.getDemPage(pageBean, (rep) => { commit('setDemData', rep.data) commit('setDemTotal', rep.data.total) //总数据条数 let pageBean = { page: rep.data.page, pageSize: rep.data.pageSize, showTotal: 'true', } //接口方法返回的pageBean commit('setPagination', pageBean) //显示第几页,每页显示多少条 }) }, setcurrentOrg({ commit, state }, data) { commit('setcurrentOrg', data) }, } const mutations = { setcurrentOrg(state, data) { state.currentOrgDetail = data }, setUserInfo(state, userInfo) { state.userInfo = userInfo }, setpostMap(state, data) { sessionStorage.setItem( state.currentUserDetail.user.id + '-CurPostId', data.postCharge.postId ) state.postMap = data.postMap state.postCharge = { post: { id: data.postCharge.postId, name: data.postCharge.postName }, org: { id: data.postCharge.orgId, name: data.postCharge.orgName }, } }, setCurrentUserDetail(state, data) { if (data && data.role && data.role.roleName) { data.role = data.role.roleName.split('|') } state.currentUserDetail = data }, //获取当前主岗位 没有则取第一个岗位 setPostCharge(state, data) { if (data) { let setMasterPostId = sessionStorage.getItem( state.currentUserDetail.user.id + '-CurPostId' ) for (let item in data) { if (setMasterPostId) { if (item == setMasterPostId) { state.postCharge = { post: { id: data[item].postId, name: data[item].postName, code: data[item].postCode, }, org: { id: data[item].orgId, name: data[item].orgName, code: data[item].orgCode, }, } data[item].disabled = true break } } else { for (let org in state.currentUserDetail.org) { if ( data[item].orgName == state.currentUserDetail.org[org].orgName && data[item].isMaster == '1' ) { state.postCharge = { post: { id: data[item].postId, name: data[item].postName, code: data[item].postCode, }, org: { id: data[item].orgId, name: data[item].orgName, code: data[item].orgCode, }, } data[item].disabled = true } else { data[item].disabled = false } } } } //如果没有主岗位取第一个 if (!state.postCharge.post) { for (let item in data) { state.postCharge = { post: { id: data[item].postId, name: data[item].postName, code: data[item].postCode, }, org: { id: data[item].orgId, name: data[item].orgName, code: data[item].orgCode, }, } data[item].disabled = true break } } state.postMap = data } }, //获取当前主部门 没有则取第一个部门 setCurrentUserOrg(state, data) { if (data) { for (let item in data) { if (data[item].isMaster == '1') { state.currentOrgDetail = { id: data[item].orgId, name: data[item].orgName, code: data[item].orgCode, } break } } //如果没有主岗位取第一个 if (!state.postCharge.id) { for (let item in data) { state.currentOrgDetail = { id: data[item].orgId, name: data[item].orgName, code: data[item].orgCode, } break } } } }, setDimensions(state, data) { state.dimensions = data }, setCurrentDimension(state, dimensionId) { state.currentDimension = dimensionId }, setOrgs(state, data) { state.orgs = data }, clearOrgs(state) { state.orgs = null }, setUsers(state, users) { state.users = users }, setOrgData(state, data) { state.orgData = data.rows }, setPostData(state, data) { state.postData = data.rows }, setRoleData(state, data) { state.roleData = data.rows }, setJobData(state, data) { state.jobData = data.rows }, setDemData(state, data) { state.demData = data.rows }, setPagination(state, pagination) { state.pagination = pagination }, setOrgPagination(state, pagination) { state.orgpagination = pagination }, setPaginationSize(state, size) { state.pagination.pageSize = size }, setPaginationPageNum(state, currentPage) { state.pagination.page = currentPage }, setTotal(state, total) { state.total = total }, setOrgTotal(state, total) { state.orgTotal = total }, setPostTotal(state, total) { state.postTotal = total }, setRoleTotal(state, total) { state.roleTotal = total }, setJobTotal(state, total) { state.jobTotal = total }, setDemTotal(state, total) { state.demTotal = total }, setPwdStrategy(state, pwdStrategy) { state.pwdStrategy = pwdStrategy }, } export default { namespaced: true, state, getters, actions, mutations, }