import { menuTree } from './menuTree' import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { baseURL: 'http://rest.apizza.net/mock/cfbb939c147bb6d68372de83af189fee/', // baseURL: 'http://11.100.5.8:8080/', websocketUrl: 'ws://11.100.6.149:8080/monitor/ws', // websocketUrl: 'ws://111.198.10.15:11415/monitor/ws', // websocketUrl: 'ws://localhost:8090/ws', // 全屏 curStatus: 0, // 所有的分块 status: [ {component: 'CityPlan'}, {component: 'CityGovern'}, {component: 'Map2D'}, {component: 'IndustrialEconomy'}, {component: 'SocialLivelihood'} ], currentLayout: 'cityManage', // 当前主题 statusLeft: 'CityManageLeft', // 左边状态, 新layout statusRight: 'CityManageRight', // 右边状态 ,新layout mapStatus: 'cityManage', // 一屏 curStatus1: 0, // 当前需要更新的面板,只有0和1 status1: [ {component: 'CityPlan'}, // 资源环境 {component: 'CityGovern'} // 城市治理 ], // 二屏 status2: [ {component: 'Map2D'} // 二维地图 ], // 三屏 curStatus3: 0, status3: [ {component: 'WisdomIPass'}, // 产业经济 {component: 'SocialLivelihood'} // 智慧民生 ], // 地图菜单-矢量 checkList: [], menuTreeSL: menuTree(), // 1411双屏当前屏幕 doubleScreen: 'baidu', showLoading: false }, // 相当于computed getters: { showLoading (state) { return state.showLoading } }, // 方法,改变state状态 mutations: { PUSH_CHECK_LIST (state, menuId) { state.checkList.push(menuId) }, SPLICE_CHECK_LIST (state, menuId) { let index = state.checkList.indexOf(menuId) state.checkList.splice(index, 1) }, SHOWLOADING (state) { state.showLoading = true }, HIDELOADING (state) { state.showLoading = false }, // 新的状态切换 CHANGESTATUS (state, params) { if (!params) return const currentLayout = state.currentLayout if (params.component === currentLayout) return state.currentLayout = params.component if (params.component === 'cityManage') { state.statusLeft = 'CityManageLeft' state.statusRight = 'CityManageRight' } else if (params.component === 'socialLivelihood') { state.statusLeft = 'SocialLivelihoodLeft' state.statusRight = 'SocialLivelihoodRight' } else if (params.component === 'cityConstruction') { state.statusLeft = 'CityConstructionLeft' state.statusRight = 'CityConstructionRight' } else { state.statusLeft = 'IndustrialEconomyLeft' state.statusRight = 'IndustrialEconomyRight' } }, CHANGESTATUSOLD (state, params) { if (!params) return state.curStatus = params.curStatus let status1 = state.status1 let status2 = state.status2 let status3 = state.status3 let curStatus = state.curStatus if (params.component === 'index') { status1[0].component = 'CityPlan' status1[1].component = 'CityGovern' status2[0].component = 'Map2D' status3[0].component = 'WisdomIPass' status3[1].component = 'SocialLivelihood' state.curStatus = 0 return } if (curStatus === 0) { status1[0].component = params.component state.curStatus++ } else if (curStatus === 1) { status1[1].component = params.component state.curStatus = state.curStatus + 2 } else if (curStatus === 3) { status3[0].component = params.component state.curStatus++ } else if (curStatus === 4) { status3[1].component = params.component state.curStatus = 0 } }, CHANGESTATUS1 (state, params) { let status = state.status1 let curStatus = state.curStatus1 if (!params) return // 如果是总体态势 if (params === 'index') { status[0].component = 'CityPlan' status[1].component = 'CityGovern' state.curStatus1 = 0 return } // 用于判断更新第一个还是第二块面板,若刚更新的是0,则下次更新1,若刚更新1,则下次更新0, // 更换完component去更新curStatus status[curStatus].component = params curStatus === 0 ? state.curStatus1 = 1 : state.curStatus1 = 0 }, CHANGESTATUS3 (state, params) { let status = state.status3 let curStatus = state.curStatus3 if (!params) return if (params === 'index') { status[0].component = 'CityPlan' status[1].component = 'CityGovern' state.curStatus3 = 0 return } status[curStatus].component = params curStatus === 0 ? state.curStatus3 = 1 : state.curStatus3 = 0 }, // 切换doubleScreen CHANGE_DOUBLE_SCREEN (state, params) { state.doubleScreen = params } }, // 提交 mutation actions: { showloader: ({ commit }) => { commit('SHOWLOADING') }, hideloader: ({ commit }) => { commit('HIDELOADING') }, changeStatus: ({ commit }, params) => { commit('CHANGESTATUS', params) }, changeStatus1: ({ commit }, params) => { commit('CHANGESTATUS1', params) }, changeStatus3: ({ commit }, params) => { commit('CHANGESTATUS3', params) }, changeDoubleScreen: ({ commit }, params) => { commit('CHANGE_DOUBLE_SCREEN', params) } } }) export default store