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) console.log("-----", palyload) if (res.permissions.length == 0) { //权限不足 console.log("权限不足!!") router.push({ path: "/404", query: { result: "权限不足" } }) } commit("SETAUTHMSG", res) } else if (res.result == "no_auth") { //登录失败 console.log("登录失败!!") commit("SETISREQUESTtAUTH", false) router.push({ path: "/404", query: { result: "登录失败" } }) } else { //访问出错 500 console.log("访问出错!!") commit("SETISREQUESTtAUTH", false) router.push({ path: "/404", query: { result: "访问出错" } }) } }) }, 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: {}, })