| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- import { appconfig } from '@/config/bigScreenConfig'
- import { GetUserInitData } from '@/api/APIs'
- const initConfig = JSON.parse(JSON.stringify(appconfig.bigScreenMapSettings.gisResource))
- const groupPageInfo = () => {
- return {
- //集团、分公司信息
- groupProject: [],
- groupName: null,
- groupCodeValue: null,
- isShowGroupPage: null,
- //头部
- projectTreeData: null,
- currentMenuItem: null,//下拉切换
- }
- }
- const projectInfo = () => {
- return {
- //初始范围
- initView: {
- destination: { x: -2002099.8064685483, y: 5125053.48587751, z: 3240386.7848629407 },
- orientation: {
- heading: 6.241173904929705,
- pitch: -0.3248275425737035,
- roll: 6.283185307179586
- }
- },
- //三维图层
- sceneLayerList: [
- 'NETWORK_SJ_PSWS@sxgk#1',
- 'NETWORK_SJ_PSYS@sxgk#1',
- 'NETWORK_SJ_PSWS_Node@sxgk#1',
- 'NETWORK_SJ_PSYS_Node@sxgk#1',
- 'TF_SJ_PSYS_JG_B_3D@sxgk#1',
- 'TF_SJ_PSYS_JG_B_3D@sxgk#2',
- 'TF_SJ_PSWS_JG_B_3D@sxgk#2',
- 'TF_SJ_PSWS_JG_B_3D@sxgk#1'
- ],
- //解决点击冲突
- isClickingPipe: false,
- //地图配置信息
- tdttoken: '75293e320524bb2be0a5f14fa887e46f',
- mapConfig: null,
- isInitViewer: false,//三维场景是否初始化
- mapContainerId: '',//地图容器Id
- //项目级信息
- currentPrjId: null,
- currentProjectInfo: null,//当前项目信息
- currentProjectCode: null,
- currentActive: null,//项目当前激活模块
- customToolList: [],//自定义工具激活集合
- currentTool: '',//当前激活工具
- currentPipeInfo: null,//部件查看当前部件信息
- isShowPipeSpeedInfoCheck: false,//显示进度查看弹窗
- monitorTreeCheckHistory: null,//设备监测树历史记录
- currentDeviceShow: null,//当前查看设备
- isShowExcavationAnalysis: false,//显示开挖分析窗体
- isShowSearchBox: false,//显示搜索栏
- //-->统计分析模块
- currentStatisticalActive: null,
- statisticalAnalysisInfo: null,
- //-->智慧预警模块
- wisdomWarningInfo: null
- }
- }
- const state = { ...groupPageInfo(), ...projectInfo() }
- //检查是否存在已有数据方法
- function some(arr, str) {
- const result = arr.some((item) => {
- if (item.name === str) {
- return true
- }
- })
- return result
- }
- function delOne(arr, str) {
- return arr.filter(item => item.name !== str)
- }
- const mutations = {
- //地图资源设置
- SET_GISSOURCE: (state, payload) => {
- state.mapConfig = payload
- },
- //项目信息设置
- SET_PROJECTTREEDATA: (state, payload) => {
- state.projectTreeData = payload
- state.currentMenuItem = payload[0]
- },
- //部件查看设置
- Active_PipeUnitInfo: (state, data) => {
- },
- Deactive_PipeUnitInfo: (state, data) => {
- },
- //项目级工具集设置
- SET_TOOL: (state, data) => {
- state.currentTool = data.name
- if (!some(state.customToolList, data.name)) {
- state.customToolList.push(data)
- } else {
- state.customToolList = state.customToolList.slice()
- }
- },
- DEL_TOOL: (state, data) => {
- state.customToolList = delOne(state.customToolList, data)
- if (state.customToolList.length > 0) {
- state.currentTool = state.customToolList[state.customToolList.length - 1].name
- }
- },
- DEL_ALLTOOL: (state) => {
- state.customToolList = []
- },
- RESET_Project: (state) => {
- Object.assign(state, projectInfo())
- },
- RESET_ALL: (state) => {
- Object.assign(state, { ...groupPageInfo(), ...projectInfo() })
- }
- }
- function isEmpty(obj) {
- if (Object.keys(obj).length === 0) return true
- else return false
- }
- function short(key) {
- return key.substring(key.indexOf("_") + 1, key.length)
- }
- const actions = {
- //数据服务资源替换
- initGISResource({ commit, state }) {
- return new Promise((resolve, reject) => {
- GetUserInitData({ platform: 1 }).then(res => {
- debugger
- //重置GIS资源值
- Object.keys(appconfig.bigScreenMapSettings.gisResource).forEach(item => appconfig.bigScreenMapSettings.gisResource[item].config = {})
- const result = res.result.progisresource.find(e => e.code == `groupPageMapService_${state.currentProjectCode}`)
- if (!result) {
- commit('SET_GISSOURCE', appconfig.bigScreenMapSettings);
- return resolve(appconfig.bigScreenMapSettings);
- }
- let mapSource = appconfig.bigScreenMapSettings.gisResource
- let terrain = {}, img = {}, scenes = {}, maps = {},
- tiplayers = {}, geometry = {}, theme = {}
- result.config.forEach(item => {
- if (item.key.indexOf('terrain') != -1) terrain[short(item.key)] = { "name": item.name, "url": item.url }
- if (item.key.indexOf('tiled') != -1) img[short(item.key)] = { "name": item.name, "url": item.url }
- if (item.key.indexOf('scene') != -1) scenes[short(item.key)] = { "name": item.name, "url": item.url, ...item }
- if (item.key.indexOf('map') != -1) maps[short(item.key)] = { "name": item.name, "url": item.url }
- if (item.key.indexOf('data') != -1) tiplayers[short(item.key)] = { "name": item.name, "url": item.url }
- if (item.key.indexOf('spatialanalyst') != -1) geometry[short(item.key)] = { "name": item.name, "url": item.url }
- if (item.key.indexOf('theme') != -1) theme[short(item.key)] = { "name": item.name, "url": item.url, ...item }
- });
- Object.keys(mapSource).forEach(item => {
- switch (mapSource[item].type) {
- case "terrain": if (!isEmpty(terrain)) mapSource[item].config = terrain; break;
- case "tiled": if (!isEmpty(img)) mapSource[item].config = img; break;
- case "scene": if (!isEmpty(scenes)) mapSource[item].config = scenes; break;
- case "map": if (!isEmpty(maps)) mapSource[item].config = maps; break;
- case "data": if (!isEmpty(tiplayers)) mapSource[item].config = tiplayers; break;
- case "spatialanalyst": if (!isEmpty(geometry)) mapSource[item].config = geometry; break;
- case "theme": if (!isEmpty(theme)) mapSource[item].config = theme; break;
- }
- })
- appconfig.bigScreenMapSettings.gisResource = mapSource
- commit('SET_GISSOURCE', appconfig.bigScreenMapSettings);
- resolve(appconfig.bigScreenMapSettings);
- }).catch(err => {
- reject(err)
- })
- })
- },
- //设置项目列表
- setProjectTreeData({ commit }, value) {
- commit('SET_PROJECTTREEDATA', value)
- },
- //部件查看使用时功能启动
- activePipeUnitInfo({ commit, state }) {
- },
- //部件查看使用时功能结束
- deactivePipeUnitInfo({ commit, state }) {
- },
- // 添加工具集
- changeToolList({ commit, state }, value) {
- commit('SET_TOOL', value)
- },
- //移除工具集
- removeSingleTool({ commit, state }, value) {
- commit('DEL_TOOL', value)
- },
- //移除所有工具
- removeAllTool({ commit, state }, value) {
- commit('DEL_ALLTOOL', value)
- },
- //重置项目state数据
- resetProjectState({ commit, state }, value) {
- commit('RESET_Project', value)
- },
- //重置state数据
- resetState({ commit, state }, value) {
- commit('RESET_ALL', value)
- },
- }
- export default {
- namespaced: true,
- state,
- mutations,
- actions
- }
|