diff --git a/src/store/modules/map.js b/src/store/modules/map.js index c9f352ae6..fb6ec028a 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -263,7 +263,8 @@ const map = { picture:'', // 当前的客户端 domConfig: null, // 仿真配置 initClient: '', // 仿真初始客户端 - linkSwitchMap: {} // 联动道岔数据 + linkSwitchMap: {}, // 联动道岔数据 + simulationCreatorId: '' }, getters: { @@ -1209,6 +1210,9 @@ const map = { }, setLinkSwitchMap: (state, linkSwitchMap) => { state.linkSwitchMap = linkSwitchMap; + }, + setSimulationCreatorId: (state, creatorId) => { + state.simulationCreatorId = creatorId; } }, @@ -1499,6 +1503,9 @@ const map = { }, updateNccDisplayConfig: ({ commit }, displayConfig) => { commit('updateNccDisplayConfig', displayConfig); + }, + setSimulationCreatorId:({ commit }, creatorId) => { + commit('setSimulationCreatorId', creatorId); } } }; diff --git a/src/views/newMap/display/index.vue b/src/views/newMap/display/index.vue index 788181cab..4464c90c8 100644 --- a/src/views/newMap/display/index.vue +++ b/src/views/newMap/display/index.vue @@ -139,6 +139,7 @@ export default { this.$store.dispatch('runPlan/setRunPlanInfo', resp.data.runPlan); this.$store.dispatch('training/setDomConfig', resp.data.paramVO && resp.data.paramVO.domConfig ? resp.data.paramVO.domConfig : {}); this.$store.dispatch('map/setLinkSwitchMap', resp.data.linkSwitchMap || {}); + this.$store.dispatch('map/setSimulationCreatorId', resp.data.creator.id); if (this.simType === 'METRO') { this.$store.dispatch('runPlan/clear'); const respSl = await getByGroupStationList(this.group); diff --git a/src/views/newMap/display/simulationMenu/simulationMenu.vue b/src/views/newMap/display/simulationMenu/simulationMenu.vue index d8f9a5463..1f1704596 100644 --- a/src/views/newMap/display/simulationMenu/simulationMenu.vue +++ b/src/views/newMap/display/simulationMenu/simulationMenu.vue @@ -98,17 +98,19 @@ export default { }, watch: { '$store.state.socket.simulationOver':function(val) { - this.$alert('您所在仿真已被销毁', '提示', { - confirmButtonText: '确定', - showClose: false, - callback: action => { - if (this.$route.query.newOpen) { - window.close(); - } else { - this.back(); + if (this.$store.state.map.simulationCreatorId !== this.$store.state.user.id) { + this.$alert('您所在仿真已被销毁', '提示', { + confirmButtonText: '确定', + showClose: false, + callback: action => { + if (this.$route.query.newOpen) { + window.close(); + } else { + this.back(); + } } - } - }); + }); + } }, '$store.state.socket.simulationRoleList':function(val) { (val || []).forEach(item => { diff --git a/src/views/newMap/display/trainingDesign/editOperate.vue b/src/views/newMap/display/trainingDesign/editOperate.vue index 1730d3ec6..683040b8f 100644 --- a/src/views/newMap/display/trainingDesign/editOperate.vue +++ b/src/views/newMap/display/trainingDesign/editOperate.vue @@ -127,13 +127,13 @@ export default { this.stepDetail = data.data; this.trainingType = data.type; if (!this.stepDetail.operations) { - this.stepDetail.operations = []; + this.$set(this.stepDetail, 'operations', []); } if (!this.stepDetail.simCommands) { - this.stepDetail.simCommands = []; + this.$set(this.stepDetail, 'simCommands', []); } if (!this.stepDetail.tipPosition) { - this.stepDetail.tipPosition = {}; + this.$set(this.stepDetail, 'tipPosition', {}); } }, clearOperation() {