import Vue from 'vue' import Vuex from 'vuex' import { login, queryFloor, queryfmapID } from '@/api/login.js' import { queryBrand } from '@/api/public.js' import axios from 'axios' import router from '../router' Vue.use(Vuex) export default new Vuex.Store({ state: { // ssoToken: 'admin:lengqiang', ssoToken: null, isPreview: false, lastRoute: '', isrequestAuth: true, // 是否请求登录校验接口 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: [], //除土建系统图例展示 remarksText: '', //备注 bunkObj: {}, // 铺位名称 currentFloor: {}, //当前选中的楼层信息 }, getters: { isPreview: (state) => state.isPreview, ssoToken: (state) => state.ssoToken, lastRoute: (state) => state.lastRoute, 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, remarksText: (state) => state.remarksText, bunkObj: (state) => state.bunkObj, }, mutations: { SETISPREVIEW(state, data) { state.isPreview = data }, SETSSOTOKEN(state, data) { state.ssoToken = data }, // 设置是否登陆校验 SETISREQUESTtAUTH(state, palyload) { state.isrequestAuth = palyload }, SETLASTROUTER(state, data) { state.lastRoute = data }, // 设置相关权限信息 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 }, SETREMARKSTEXT(state, data) { state.remarksText = data }, SETBUNKOBJ(state, data) { state.bunkObj = data }, SETCURRENTFLOOR(state, data) { state.currentFloor = data }, }, actions: { // 获取项目列表、userId async getUserInfo({ commit }, palyload) { await login({}).then((res) => { if (res.result == 'success') { // token校验成功 拿到权限 commit('SETISREQUESTtAUTH', true) if (res.permissions.length == 0) { router.push('/404') } commit('SETAUTHMSG', res) } else { commit('SETISREQUESTtAUTH', false) router.push('/404') } }) }, 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}`) }) }, async getBrand(context) { let data = { plazaId: context.state.plazaId, } await queryBrand({ data, }).then((res) => { let obj = {} if (res.data.data) { let Data = res.data.data Data.forEach((i) => { obj[i.bunkdesc] = i }) } context.commit('SETBUNKOBJ', obj) }) }, }, modules: {}, })