import Vue from 'vue' import Vuex from 'vuex' import { login, queryFloor, queryfmapID } from '@/api/login.js' Vue.use(Vuex) export default new Vuex.Store({ state: { isrequestAuth: false, // 是否请求登录校验接口 permissions: [], //权限信息 "GLSMS_VIEW":"说明书查看"、"GLSMS_SYMBOL_MANAGE": "图例库管理"、 "GLSMS_PLANARGRAPH_MANAGE":"平面图维护" plazas: [], //项目列表 userInfo: { employeename: '', //用户名称:艾宇; orgCode: '', username: 'lengqiang', //账户名称 }, plazaId: '1000423', //项目Id projectName: '', //全局项目名称 floorsArr: [], //楼层数组 floorSelect: [], //楼层下拉框 fmapID: '', haveFengMap: false, //是否有蜂鸟地图的数据 isMessage: true, //是否有发布的图 scpzTable: [], //土建系统图例展示 legendTable: [], //除土建系统图例展示 }, getters: { floorsArr: (state) => state.floorsArr, floorSelect: (state) => state.floorSelect, plazaId: (state) => state.plazaId, plazas: (state) => state.plazas, fmapID: (state) => state.fmapID, haveFengMap: (state) => state.haveFengMap, isMessage: (state) => state.isMessage, scpzTable: (state) => state.scpzTable, legendTable: (state) => state.legendTable, }, mutations: { // 设置是否登陆校验 SETISREQUESTtAUTH(state, palyload) { state.isrequestAuth = palyload }, // 设置相关权限信息 SETAUTHMSG(state, palyload) { state.permissions = palyload.permissions state.plazas = palyload.plazas state.userInfo.employeename = palyload.employeename state.userInfo.orgCode = palyload.orgCode state.userInfo.username = palyload.username }, SETISMESSAGE(state, data) { state.isMessage = data }, SETFLOORS(state, data) { state.floorsArr = data if (data.length > 0) { data.forEach((e) => { let obj = { id: e.gname, name: e.code, } state.floorSelect.push(obj) }) } }, SETMAPID(state, data) { state.fmapID = data }, SETHAVEFENGMAP(state) { state.haveFengMap = true }, // 土建的图例 SETSCPZTABLE(state, data) { state.scpzTable = data }, SETLEGENDTABLE(state, data) { state.legendTable = data }, }, actions: { // 获取项目列表、userId async getUserInfo({ commit }, palyload) { await login({ username: palyload, }).then((res) => { if (res.result == 'success') { commit('SETISREQUESTtAUTH', true) commit('SETAUTHMSG', res) } else { console.log('接口报错!!') commit('SETISREQUESTtAUTH', false) } }) }, getFloors(context) { queryFloor({ plazaId: context.state.plazaId }).then((res) => { if (res.result == 'success') { context.commit('SETFLOORS', res.data) } }) }, async getfmapID(context) { await queryfmapID({ mapId: context.state.plazaId, }).then((res) => { context.commit('SETMAPID', `${context.state.plazaId}_${res.mapVersion}`) }) }, }, modules: {}, })