import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Store({ state: { editCmd: '', //编辑器编辑命令 legendObj: null, //获取的相关图例数据obj graphId: '', //图 id 用于读图 id: '', // id 用于读图 isPub: 0, // 用于读图 区分读取 已发布 or 未发布 projectId: 'Pj1101050029', // projectId categoryId: '', //类型id 用于读图 tupoName: '', //拓扑图名称 version: "", //版本号 equipmentItemList: [], // 图上相关的设备实例 equipmentItemNum: 0 //图上相关的设备实例的数量 }, mutations: { // 修改编辑器命令 SETCHOICELEHEND(state, data) { state.editCmd = data; }, // 修改编辑器图例 SETLEGENDOBJ(state, data) { state.legendObj = data; }, // 设置项目id SETPROJECT(state, data) { state.graphId = data.graphId; //图 id 用于读图 state.id = data.id; // id 用于读图 // projectId: '' // projectId }, // 设置项目id SETISPUB(state, val) { state.isPub = val; // 是否发布 用于读图 }, // 设置类型id SETCATEGROY(state, val) { state.categoryId = val.categoryId; state.tupoName = val.name; //拓扑图名称 state.version = val.version; //版本号 }, // 增加设备实例 item ADDEQUIPITEM(state, item): void { state.equipmentItemList.push(item); state.equipmentItemNum = state.equipmentItemList.length; }, // 删除设备实例 item EDITEQUIPITEM(state): void { // 如果设备实例数组中parent 为null 则删除该数组 let arr1 = state.equipmentItemList; if (!arr1.length) return; for (var i = 0; i < arr1.length; i++) { if (!arr1[i].parent) { arr1.splice(i, 1); i--;//i需要自减,否则每次删除都会讲原数组索引发生变化 } }; state.equipmentItemList = arr1; state.equipmentItemNum = state.equipmentItemList.length } }, actions: { }, modules: { } })