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:liujiandong', // 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, permissions: (state) => state.permissions, }, 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) { await login({ returnTree: true, }) .then((res) => { // 获取用户当前权限 console.log(res.result) if (res.result === "success") { commit("STOREACCESSLEVEL", res.level) commit("SETAUTHMSG", res) let level = res.level console.log("window.opener", window.opener) if (window.opener && window.opener.__fromGroupPage) { 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/overview", query: { plazaId: res.treeData[0].ccode, }, }) } else { router.push({ path: "./group", }) } } // 给oA头添加名称 // 指定条问题 window.wd_fm_info = { profile: { username: encodeURIComponent(res.username), }, } } }) .catch((err) => { console.log("getuserfo catch", err) // router.push({ // path: '/404', // }) // commit('SETISREQUESTtAUTH', err) }) }, async getUserInfoNoPath({ commit }, palyload) { await login({ returnTree: true, }) .then((res) => { if (res.result === "success") { // commit('STOREACCESSLEVEL', res.level) commit("SETAUTHMSG", res) window.wd_fm_info = { profile: { username: encodeURIComponent(res.username), }, } } }) .catch((err) => { console.log("getuserfo catch", err) // router.push({ // path: '/404', // }) // commit('SETISREQUESTtAUTH', err) }) }, 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: {}, })