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:chuyushu', // ssoToken: '', // ssoToken: null, plazaName: '', isPreview: false, lastRoute: '', isrequestAuth: null, // 是否请求登录校验接口 permissions: [], //权限信息 "GLSMS_VIEW":"说明书查看"、"GLSMS_SYMBOL_MANAGE": "图例库管理"、 "GLSMS_PLANARGRAPH_MANAGE":"平面图维护" plazas: [], //项目列表 userInfo: { employeename: '', //用户名称:艾宇; orgCode: '', username: 'lengqiang', //账户名称 }, plazaId: '', //项目Id projectName: '', //全局项目名称 floorsArr: [], //楼层数组 floorSelect: [], //楼层下拉框 fmapID: '', haveFengMap: -1, //是否有蜂鸟地图的数据 -1为等待 0 为失败 1 为成功 isMessage: true, //是否有发布的图 scpzTable: [], //土建装饰图例展示 legendTable: [], //除土建装饰图例展示 remarksText: '', //备注 // defaultComment: '', bunkObj: {}, // 铺位名称 currentFloor: {}, //当前选中的楼层信息 accessLevel: -1, // 权限级别 showView: 1, categoryId: 'GDXT', //当前选中的系统 isGetmap: false, //是否可以请求底图(在项目中方可请求) planNum: '', //主要设备房 展示备注需要 typeNum: '', //图例数量 展示备注需要 }, getters: { plazaName: (state) => state.plazaName, accessLevel: (state) => state.accessLevel, 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, showView: (state) => state.showView, isGetmap: (state) => state.isGetmap, planNum: (state) => state.planNum, typeNum: (state) => state.typeNum, isrequestAuth: (state) => state.isrequestAuth, }, mutations: { SETPLAZENAME(state, data) { state.plazaName = data }, SETSHOWVIEW(state, data) { state.showView = data }, 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.floorSelect = [] 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, data) { state.haveFengMap = data }, // 土建的图例 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 }, STOREACCESSLEVEL(state, data) { state.accessLevel = data }, STOREPLAZAID(state, id) { state.plazaId = id if (id) { state.isGetmap = true } else { state.isGetmap = false } }, /** * 修改 categoryId */ SETCATEGORYID(state, data) { state.categoryId = data }, SETISGETMAP(state, data) { state.isGetmap = data }, SETPLANNUM(state, data) { state.planNum = data }, SETTYPENUM(state, data) { state.typeNum = data }, }, actions: { // 获取项目列表、userId async getUserInfo({ commit }, palyload) { console.log('getUserInfo', 1) await login({ returnTree: true, }) .then((res) => { // 获取用户当前权限 console.log(res.result) if (res.result === 'success') { console.log('getUserInfo', 2) commit('STOREACCESSLEVEL', res.level) let level = res.level if (window.opener) { let data = window.opener.__fromGroupPage level = data.level commit('SETPLAZENAME', data.plazaName) localStorage.setItem('PLAZAID', data.plazaId) commit('STOREPLAZAID', data.plazaId) router.push({ path: './home/homepage', }) } else { if (level === 0) { if (res.treeData[0].ccode) { localStorage.setItem('PLAZAID', res.treeData[0].ccode) commit('STOREPLAZAID', res.treeData[0].ccode) commit('SETPLAZENAME', res.treeData[0].cname) } router.push({ path: './home/homepage', }) } else { router.push({ path: './group', }) } } // commit('SETISREQUESTtAUTH', false) // commit('SETISREQUESTtAUTH', false) } }) .catch((err) => { console.log('getuserfo catch', err) // router.push({ // path: '/404', // }) commit('SETISREQUESTtAUTH', err) }) console.log('getUserInfo', 3) }, async getFloors(context) { await queryFloor({ plazaId: localStorage.getItem('PLAZAID') || context.state.plazaId, }).then((res) => { if (res.result == 'success') { context.commit('SETFLOORS', res.data) } }) }, async getfmapID(context) { await queryfmapID({ mapId: localStorage.getItem('PLAZAID') || context.state.plazaId, }).then((res) => { context.commit('SETMAPID', `${localStorage.getItem('PLAZAID') || context.state.plazaId}_${res.mapVersion}`) }) }, async getBrand(context) { let data = { plazaId: `${localStorage.getItem('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: {}, })