Newer
Older
CloudBrainNew / src / store / index.js
wangxitong on 29 Apr 2021 5 KB 0429 submit
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