diff --git a/.env.development b/.env.development index b387ff05b..ddb549af1 100644 --- a/.env.development +++ b/.env.development @@ -19,3 +19,4 @@ VUE_APP_UPLOAD_API = 'https://upload.joylink.club' # Detail: https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.js VUE_CLI_BABEL_TRANSPILE_MODULES = true +VUE_APP_SOURCE_MAP = true diff --git a/.env.production b/.env.production index 71363ca9f..4c64df13f 100644 --- a/.env.production +++ b/.env.production @@ -5,3 +5,4 @@ NODE_ENV = 'production' VUE_APP_BASE_API = 'https://api.joylink.club/jlcloud' VUE_APP_VOICE_API = 'https://oss.joylink.club/oss/joylink' VUE_APP_UPLOAD_API = 'https://upload.joylink.club' +VUE_APP_SOURCE_MAP = false diff --git a/.env.staging b/.env.staging index d1042b068..9277c1c33 100644 --- a/.env.staging +++ b/.env.staging @@ -5,3 +5,4 @@ NODE_ENV = 'test' VUE_APP_BASE_API = 'https://test.joylink.club/jlcloud' VUE_APP_VOICE_API = 'https://oss.joylink.club/oss/joylink' VUE_APP_UPLOAD_API = 'https://upload.joylink.club' +VUE_APP_SOURCE_MAP = false diff --git a/src/jmapNew/config/skinCode/haerbin_01.js b/src/jmapNew/config/skinCode/haerbin_01.js index 73b0881ef..10dea3cf8 100644 --- a/src/jmapNew/config/skinCode/haerbin_01.js +++ b/src/jmapNew/config/skinCode/haerbin_01.js @@ -389,7 +389,8 @@ class SkinCode extends defaultStyle { fontWeight:'normal', // 字体粗细 textPadding:[2, 6], // 字体边距 borderColor:'', // 字体边框颜色 - textBorderWidth:1 // 字体边框宽度 + textBorderWidth:1, // 字体边框宽度 + noneModeColor: '#FF0' // 无模式时字体颜色 }, syncCentralizeStation: true, // 集中站和下辖车站控制权状态同步 kmPostShow: true, // 公里标显示 diff --git a/src/jmapNew/config/skinCode/nanjing_02.js b/src/jmapNew/config/skinCode/nanjing_02.js index f3831b5a5..43d82e4a1 100644 --- a/src/jmapNew/config/skinCode/nanjing_02.js +++ b/src/jmapNew/config/skinCode/nanjing_02.js @@ -20,7 +20,8 @@ class SkinCode extends defaultStyle { textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle', // 文字垂直对齐方式 - approachColor: '#FFFFFF' + approachColor: '#FFFFFF', + occupyColor: '#FF0000' // 计轴区段占用字体颜色 }, logicText: { z: 10, @@ -82,7 +83,7 @@ class SkinCode extends defaultStyle { width: 5, // 区段宽度 beyondWidth: 0, // 区段宽超出宽度 invadeColor: '#EF0C08', // 区段侵入颜色 - + routeBlockFlashing: true, // 进路锁闭且封锁时闪烁 spareColor: '#ffff00', // 区段空闲颜色 (黄色) communicationOccupiedColor: '#ff1f10', // 区段通信车占用颜色 红色 unCommunicationOccupiedColor: '#A600A6', // 区段非通讯车占用颜色 紫色 @@ -432,14 +433,17 @@ class SkinCode extends defaultStyle { } }; this[deviceType.Station] = { - // 哈尔滨一号线 车站元素 车站名称 + // 车站元素 车站名称 elemnetType:['stationText'], stationText:{ z:0, fontWeight:'normal', // 字体粗细 textPadding:[2, 6], // 字体边距 borderColor:'', // 字体边框颜色 - textBorderWidth:1 // 字体边框宽度 + textBorderWidth:1, // 字体边框宽度 + noneModeFlash: true, // 无控制权模式字体闪烁 + centerModeColor: '#1fdc1f', // 中控字体颜色 + localModeColor: '#fff'// 站控字体颜色 }, syncCentralizeStation: true, // 集中站和下辖车站控制权状态同步 kmPostShow: true, // 公里标显示 diff --git a/src/jmapNew/map.js b/src/jmapNew/map.js index b636cf442..e22b8bd4e 100644 --- a/src/jmapNew/map.js +++ b/src/jmapNew/map.js @@ -482,9 +482,9 @@ class Jlmap { this.$painter.delete(oDevice); } else { this.$painter.update(oDevice); - } - } - + } + } + store.commit('map/mapStationStateUpdate'); } else { if (elem.deviceType === 'TRAIN') { this.isUpdateShowTrainList = true; @@ -647,7 +647,7 @@ class Jlmap { break; case this.events.__Zoom: this.$mouseController.on(this.events.__Zoom, this.optionsHandler); - break; + break; } } } diff --git a/src/jmapNew/shape/Responder/index.js b/src/jmapNew/shape/Responder/index.js index e9610921d..16d97da9e 100644 --- a/src/jmapNew/shape/Responder/index.js +++ b/src/jmapNew/shape/Responder/index.js @@ -40,16 +40,20 @@ export default class Responder extends Group { create() { const model = this.model; - const responderStyle = this.style.Responder || defaultStyle; - const distanceX = responderStyle.distance * Math.cos(model.rotate-90); - const distanceY = responderStyle.distance * Math.sin(model.rotate-90); + const responderStyle = this.style.Responder || defaultStyle; + const radian = -Math.PI / 180 * Number(model.rotate-90); + const distanceX = -responderStyle.distance * Math.cos(radian); + const distanceY = -responderStyle.distance * Math.sin(radian); const blockWidth = responderStyle.block.width || 5; const blockHeight = responderStyle.block.height || 12; const blockStyle = responderStyle.block.mapStyle[model.type] || { fill: '#fff'}; const blockX = model.position.x - blockWidth / 2 - distanceX; - const blockY = model.position.y - blockHeight / 2 - distanceY; - const textX = blockX + model.textOffset.x; - const textY = blockY + model.textOffset.y; + const blockY = model.position.y - blockHeight / 2 - distanceY; + const textRadian = -Math.PI / 180 * Number(180-model.textRotate); + const textDistanceX = model.textOffset.y * Math.sin(textRadian) + model.textOffset.x * Math.cos(textRadian); + const textDistanceY = model.textOffset.y * Math.cos(textRadian) - model.textOffset.x * Math.sin(textRadian); + const textX = blockX + textDistanceX + blockWidth; + const textY = blockY + textDistanceY; const textName = `${model.type}-${model.name}`; const textFill = responderStyle.text.textFill; const origin = [model.position.x, model.position.y]; @@ -100,29 +104,29 @@ export default class Responder extends Group { } }); - this.text = new Text({ - zlevel: this.zlevel, - z: this.z + 1, - style: { - x: textX, - y: textY, - text: textName, - fontFamily: this.style.fontFamily, - fontSize: this.style.fontSize, - textFill: textFill, - textAlign: 'right' - } - }); + this.text = this.name = new Text({ + zlevel: this.zlevel, + z: this.z + 1, + style: { + x: textX, + y: textY, + text: textName, + fontFamily: this.style.fontFamily, + fontSize: this.style.fontSize, + textFill: textFill, + textAlign: 'left' + } + }); if (model.rotate) { - const rotation = -Math.PI / 180 * Number(model.rotate); + const rotation = -Math.PI / 180 * Number(model.rotate+180); [this.block, this.delta1, this.delta2].forEach(el => { this.transformRotation(el, origin, rotation); }); } if (model.textRotate) { - const rotation = -Math.PI / 180 * Number(model.textRotate); + const rotation = -Math.PI / 180 * Number(model.textRotate+180); this.transformRotation(this.text, origin, rotation); } diff --git a/src/jmapNew/shape/Section/index.js b/src/jmapNew/shape/Section/index.js index 531e381af..4b6f3a753 100644 --- a/src/jmapNew/shape/Section/index.js +++ b/src/jmapNew/shape/Section/index.js @@ -154,6 +154,9 @@ export default class Section extends Group { stroke: this.style.Section.line.unCommunicationOccupiedColor, fill:this.style.Section.line.unCommunicationOccupiedColor }); + if (this.name && this.style.Section.name.occupyColor) { + this.name.setStyle({ textFill: this.style.Section.name.occupyColor }); + } } /** ARB故障 */ invalid() { @@ -175,8 +178,8 @@ export default class Section extends Group { /** 封锁 06*/ block(routeLock) { - if (this.sectionBlock) { - this.model.type !== '03' && this.sectionBlock.show(); + if (this.sectionBlock && this.model.type !== '03') { + this.sectionBlock.show(); routeLock && this.style.Section.line.routeBlockFlashing && this.sectionBlock.animateStyle(true, [ { time: 500, styles: { stroke: this.style.backgroundColor } }, { time: 1000, styles: { stroke: this.style.Section.line.blockColor } } diff --git a/src/jmapNew/shape/Station/EStationText.js b/src/jmapNew/shape/Station/EStationText.js index e9f2377b2..19542d1e4 100644 --- a/src/jmapNew/shape/Station/EStationText.js +++ b/src/jmapNew/shape/Station/EStationText.js @@ -5,6 +5,7 @@ class EStationText extends Group { constructor(model) { super(); this.model = model; + this.style = model.style; this.create(); } @@ -64,7 +65,14 @@ class EStationText extends Group { setState() { } - + setAnimateStyle(noneBeforeMode) { + this.stopAnimate(); + const color = noneBeforeMode === 'Center' ? this.style.Station.stationText.centerModeColor : this.style.Station.stationText.localModeColor; + this.stationName.animateStyle(true).when(500, {textFill: '#000'}).when(1000, {textFill: color}).when(1500, {textFill: '#000'}).start(); + } + stopAnimate() { + this.stationName.stopAnimation(true); + } setColor(color) { const style = this.model.style; if (style.Station.StationControl.disPlayNone) { diff --git a/src/jmapNew/shape/Station/index.js b/src/jmapNew/shape/Station/index.js index b222d549d..ac8da8e23 100644 --- a/src/jmapNew/shape/Station/index.js +++ b/src/jmapNew/shape/Station/index.js @@ -26,6 +26,7 @@ export default class Station extends Group { this.z = 40; this.model = model; this.style = style; + this.noneBeforeMode = ''; this.isShowShape = true; this.create(); this.createTurnBack(); // 创建按图折返 @@ -351,6 +352,7 @@ export default class Station extends Group { } handleCenter() { // 中控 + this.noneBeforeMode = 'Center'; this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.greenColor); @@ -368,6 +370,7 @@ export default class Station extends Group { } handleLocal() { // 站控 + this.noneBeforeMode = 'Local'; this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.yellowColor); this.substationControl && this.substationControl.setTextColor(this.style.Station.StationControl.lamp.yellowColor); // 文字颜色 @@ -400,22 +403,14 @@ export default class Station extends Group { } handleNone() { // 空 - // if (this.style.Station.StationControl.disPlayNone) { // 没有控制时显示 黄色 - // this.stationText && this.stationText.setStyle('textFill', '#FFFF00'); - // if (this.model.subheadDisplay) { // 副标题 - // this.subheadText && this.subheadText.setStyle('textFill', '#FFFF00'); - // } - // } - this.stationText.setColor('#FFFF00'); + if (this.style.Station.stationText.noneModeColor) { + this.stationText.setColor(this.style.Station.stationText.noneModeColor); + } + if (this.style.Station.stationText.noneModeFlash) { + this.stationText.setAnimateStyle(this.noneBeforeMode); + } } - // /** 恢复初始状态*/ - // recover() { - // const currentTypeList = this.style.Station.elemnetType; - // currentTypeList.forEach(element => { - // this[element].recover(); - // }); - // } recover() { this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.emergencyControl && this.emergencyControl.setTextColor(this.style.Station.StationControl.text.fontColor); @@ -426,6 +421,7 @@ export default class Station extends Group { this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); + this.stationText && this.stationText.stopAnimate(); } // 设置状态 @@ -433,9 +429,11 @@ export default class Station extends Group { if (!this.isShowShape) return; this.recover(); model.controlMode && this['handle' + model.controlMode](); - if (this.style.Station.syncCentralizeStation && model.controlMode) { + if (this.style.Station.syncCentralizeStation && model.controlMode && model.centralized) { model.chargeStationCodeList.forEach(item => { const device = store.getters['map/getDeviceByCode'](item); + device.controlMode = model.controlMode; + device && device.instance && device.instance.recover(); device && device.instance && device.instance['handle' + model.controlMode](); }); } diff --git a/src/jmapNew/shape/StationStand/index.js b/src/jmapNew/shape/StationStand/index.js index c499ff3fc..c12625734 100644 --- a/src/jmapNew/shape/StationStand/index.js +++ b/src/jmapNew/shape/StationStand/index.js @@ -109,8 +109,8 @@ class StationStand extends Group { if (path.includes('/map/draw')) { this.highlight = new EHighlight(this); this.add(this.highlight); - this.on('mouseout', () => { console.log('====='); this.highlight.mouseout(); }); - this.on('mouseover', () => { console.log('111111'); this.highlight.mouseover(); }); + this.on('mouseout', () => { this.highlight.mouseout(); }); + this.on('mouseover', () => { this.highlight.mouseover(); }); } else { if (this.style.StationStand.mouseOverStyle) { this.mouseEvent = new EMouse(this); diff --git a/src/jmapNew/theme/chengdu_03/menus/menuDialog/setLimitSpeed.vue b/src/jmapNew/theme/chengdu_03/menus/menuDialog/setLimitSpeed.vue index 6c98329ee..dac35243b 100644 --- a/src/jmapNew/theme/chengdu_03/menus/menuDialog/setLimitSpeed.vue +++ b/src/jmapNew/theme/chengdu_03/menus/menuDialog/setLimitSpeed.vue @@ -112,7 +112,6 @@
操作提示 - 11111113
diff --git a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue index bad523bfd..b42e261f6 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue @@ -33,10 +33,10 @@ @@ -156,10 +156,10 @@ @@ -180,8 +180,9 @@ import { deepAssign } from '@/utils/index'; import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'; import CMD from '@/scripts/cmdPlugin/CommandEnum'; import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; -import { TrainingMode } from '@/scripts/ConstDic'; +import { TrainingMode, MouseEvent } from '@/scripts/ConstDic'; import BanIcon from '@/assets/ban-heb.png'; + export default { components: { NoticeInfo @@ -255,27 +256,22 @@ export default { }, isLocal() { return this.$store.state.training.prdType == '01'; + }, + stationContorl() { + return this.getStationControl(this.selected || {}) || this.getStationControl({_type: 'Station', code: this.$store.state.map.showCentralizedStationCode}) || {}; } }, watch: { - 'selected': function (val) { - if (val.code) { - this.dialogVisible = !this.isLocal; - } - }, '$store.state.menuOperation.setMenuChangeCount': function (val) { - const State2SimulationMap = { - '01': 'Local', // 中心调度工作站 - '02': 'Center' // 现地工作站 - }; if (this.selected._type) { - this.modeMatch = true; - const control = this.getStationControl(this.selected); + const State2SimulationMap = { + '01': 'Local', // 现地工作站 + '02': 'Center' // 中心调度工作站 + }; const type = State2SimulationMap[this.$store.state.training.prdType]; - if (control.controlMode != type) { - this.modeMatch = false; + if (this.stationContorl.controlMode != type) { this.clearAllMenuShow(); - if (type == 'Center' && this.selected._type == 'Station') { + if (this.$store.state.training.prdType == '02' && this.selected._type == 'Station') { this.selectedObj = this.selected; if (this.selectedObj._type) { this.canCommand = true; @@ -293,10 +289,9 @@ export default { } }); } - } else { - this.centralizedStationList = new Array(15).fill({}); } - // return false; + } else { + this.centralizedStationList = new Array(15).fill({}); } } @@ -350,10 +345,6 @@ export default { console.error(error); this.$refs.noticeInfo.doShow(); }); - } else { - if (this.$store.state.training.mode != TrainingMode.TEACH) { - this.handleBasicMenu(); - } } }, '$store.state.training.prdType': function (val) { @@ -365,6 +356,26 @@ export default { if (!val) { this.doClose(); } + }, + 'selected': function (val) { + this.initMenus(); + if (val.code && val._event == MouseEvent.Left) { + this.dialogVisible = !this.isLocal; + } else if (!val.code) { + if (this.$store.state.training.mode != TrainingMode.TEACH) { + this.handleBasicMenu(); + } + } + }, + '$store.state.map.showCentralizedStationCode': function(val) { + if (!this.oldSelected) { + this.handleBasicMenu(); + } + }, + '$store.state.map.mapStationStateUpdateCount': function() { + if (!this.selected || !this.selected.code) { + this.handleBasicMenu(); + } } }, mounted() { @@ -531,6 +542,7 @@ export default { }; }, handleBasicMenu() { + const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode); this.deviceHighLight(this.oldDevice, false); if (this.oldClickObj) { this.deviceHighLight(this.oldClickObj, false); @@ -540,9 +552,11 @@ export default { this.centralizedStationList = new Array(15).fill({}); this.basicParamList.forEach((basic, index) => { this.centralizedStationList[index] = basic; + if (basic.disabledName && station) { + basic.disabled = station[basic.disabledName] == basic.mode; + } }); - const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode); this.pushTempData(station ? [station] : []); this.param = { @@ -839,9 +853,9 @@ export default { { name: '' }, { name: '' }, { name: '' }, - { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true, mode: 'None' }, - { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, - { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' }, + { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true, disabledName: 'controlMode', mode: 'Local' }, + { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Local' }, + { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, { name: '' }, { name: '' }, { name: '' }, @@ -856,19 +870,32 @@ export default { // { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, show: false }, // { name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, show: false }, ] : [ - { name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menu, show: false }, - { name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menu, show: false }, - { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, show: false }, - { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, show: false }, - { name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, show: false }, - { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true }, - { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, - { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' }, + { name: '' }, + { name: '' }, + { name: '' }, + { name: '' }, + { name: '' }, + { name: '' }, + { name: '' }, + { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true, disabledName: 'controlMode', mode: 'Local' }, + { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Local' }, + { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, { name: '' }, { name: '' }, { name: '' }, { name: '' }, { name: '关闭索引', cmdType: '', operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' } + + // { name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menu, show: false }, + // { name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menu, show: false }, + // { name: '释放指令', cmdType: '', operate: OperationEvent.Station.humanControlALL.menu, show: false }, + // { name: '重启令解', cmdType: CMD.Station.CMD_STATION_RESTART, operate:OperationEvent.Station.stationRestart.menuButton, show: false, securityCommand: true}, + // { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, show: false }, + // { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, show: false }, + // { name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, show: false }, + // { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true }, + // { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, + // { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' }, ]; this.sectionParamList = [ { name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menuButton, show: false, securityCommand: true }, @@ -912,43 +939,47 @@ export default { { name: '设置保护', cmdType: '', operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, { name: '未评限区', cmdType: '', operate: OperationEvent.Signal.reopenSignal.menuButton, show: false, securityCommand: true } ] : [ - { name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.setAutoTrigger.menuButton, show: false, disabledName: 'ciControl' }, - { name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.cancelAutoTrigger.menuButton, show: false, disabledName: 'ciControl', antonymy: true }, + { name: '关闭信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menuButton, show: false }, + { name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menuButton, show: false }, + { name: '开放信号', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, + { name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menuButton, show: false, securityCommand: true }, { name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menuButton, show: false, disabledName: 'atsControl' }, { name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menuButton, show: false, disabledName: 'atsControl', antonymy: true }, - { name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menuButton, show: false }, - { name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, - { name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menuButton, show: false, securityCommand: true }, - { name: '关闭信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menuButton, show: false } - ]; - this.stationParamList = this.$store.state.training.prdType === '01' ? [ - { name: '' }, - { name: '' }, - { name: '' }, - { name: '' }, - { name: '' }, - { name: '' }, - { name: '' }, - { name: '强行站控', cmdType: '', operate: OperationEvent.StationControl.requestStationControl.menu, securityCommand: true, mode: 'None' }, - { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, - { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'None' }, - { name: '' }, - { name: '' }, - { name: '' }, - { name: '' }, - { name: '关闭索引', cmdType: '', operate: OperationEvent.StationControl.requestStationControl.menu, mode: 'None' } + { name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.setAutoTrigger.menuButton, show: false, disabledName: 'ciControl' }, + { name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.cancelAutoTrigger.menuButton, show: false, disabledName: 'ciControl', antonymy: true }, - // { name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false } - ] : [ - { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menuButton, show: false, disabledName: 'controlMode', mode: 'Center' }, - { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menuButton, show: false, disabledName: 'controlMode', mode: 'None' }, - { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menuButton, show: false }, - { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menuButton, show: false }, - { name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menuButton, show: false }, - { name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menuButton, show: false }, - { name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menuButton, show: false } - // { name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false } + { name: '开放引导', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.reopenSignal.menuButton, show: false, securityCommand: true }, + { name: '车队单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, + { name: '车队单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO, operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, + { name: '设置保护', cmdType: '', operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, + { name: '未评限区', cmdType: '', operate: OperationEvent.Signal.reopenSignal.menuButton, show: false, securityCommand: true } + + // { name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menuButton, show: false }, ]; + this.stationParamList = [ + { name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false, mode: 'None' } + ]; + // [ + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true, disabledName: 'controlMode', mode: 'Local' }, + // { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Local' }, + // { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '' }, + // { name: '关闭索引', cmdType: '', operate: OperationEvent.StationControl.requestStationControl.menu, mode: 'None' }, + // { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menuButton, show: false }, + // { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menuButton, show: false }, + // { name: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menuButton, show: false }, + // { name: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menuButton, show: false } + // ]; this.standParamList = this.$store.state.training.prdType === '01' ? [] : [ { name: '扣车', cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN, operate: OperationEvent.StationStand.setDetainTrain.menuButton, show: false }, { name: '取消扣车', cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN, operate: OperationEvent.StationStand.cancelDetainTrain.menuButton, show: false }, @@ -1071,7 +1102,7 @@ export default { } } - .fake-button-black { + .fake-button-grayk { font-size: 12px; width: 80px; height: 20px; @@ -1108,9 +1139,6 @@ export default { background: #DDDDDD; color: #a0a0a0; cursor: not-allowed; - &:hover, &.active{ - background: none; - } } .__menuButton .el-button { diff --git a/src/scripts/ConstDic.js b/src/scripts/ConstDic.js index 51c66ebd4..39a244814 100644 --- a/src/scripts/ConstDic.js +++ b/src/scripts/ConstDic.js @@ -1,12 +1,11 @@ -// /** -// * 真实设备类型 -// */ -// export const RealDeviceType = { -// Section: '区段', -// Switch: '道岔', -// Signal: '信号机', -// ScreenDoor: '屏蔽门' -// }; +/** + * 鼠标事件 + */ +export const MouseEvent = { + Left: 1, + Right: 2, + Wheel: 3 +} /** * 权限类型 */ @@ -60,14 +59,6 @@ export const OperateMode = { DIRECTIVE: '03' }; -// /** -// * 分发、转赠 -// */ -// export const OperatorModel = { -// DISTRIBUTE: '01', -// TRANSFER: '02' -// }; - /** * 菜单编号 */ @@ -128,6 +119,7 @@ export const IbpOperation = { XXYS: {operate: '09', event: 'XXYS', name: '下行钥匙'}, SXYS: {operate: '11', event: 'SXYS', name: '上行钥匙'} }; + /** * ibp状态显示条件 */ @@ -136,12 +128,14 @@ export const IbpShowCondition = { Show_Open_Screen_Door: {statusKey: 'screenDoorOpenStatus', statusValue:['02'], defaultStatus: 'close'}, Show_Close_Screen_Door: {statusKey: 'screenDoorOpenStatus', statusValue: ['01'], defaultStatus: 'open'} }; + /** 列车类型 */ export const TrainType = { PLAN: '计划车', HEAD: '头码车', MANUAL: '人工车' }; + /** 仿真成员类型 */ export const SimulationType = { DISPATCHER: '行调', diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 92be3d600..109a70250 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -221,7 +221,8 @@ const map = { mapViewLoadedCount: 0, // 地图视图加载完成标识 mapDataLoadedCount: 0, // 地图数据加载完成标识 mapStateLoadedCount: 0, // 地图状态变化完成标识 - mapDataLoadedScreenCount: 0, // 大屏加载完成 + mapDataLoadedScreenCount: 0, // 大屏加载完成 + mapStationStateUpdateCount: 0, // 车站状态刷新 trainDetails: null, // 地图'列车详情'显示 deleteCount: 0, // 绘图快捷删除标识 updateCount: 0, // 绘图快捷修改标识 @@ -716,7 +717,10 @@ const map = { }, mapViewLoadedScreenCountIncrement: (state) => { state.mapDataLoadedScreenCount += 1; - }, + }, + mapStationStateUpdate: (state) => { + state.mapStationStateUpdateCount += 1; + }, operateTrainModel: (state, { model, type }) => { if (state.map && model) { const list = state.map.trainModelList || []; diff --git a/src/views/jlmap3d/drive/drivecontrol/drivecontrol.vue b/src/views/jlmap3d/drive/drivecontrol/drivecontrol.vue index a0986d276..00f3ed686 100644 --- a/src/views/jlmap3d/drive/drivecontrol/drivecontrol.vue +++ b/src/views/jlmap3d/drive/drivecontrol/drivecontrol.vue @@ -286,6 +286,7 @@ import axios from 'axios'; if(newvalue != this.value){ this.value = newvalue; + this.groupnum = newvalue; } }, updatetrainlist(){ diff --git a/src/views/newMap/jlmapNew/index.vue b/src/views/newMap/jlmapNew/index.vue index 9052adce8..1ceaa98ab 100644 --- a/src/views/newMap/jlmapNew/index.vue +++ b/src/views/newMap/jlmapNew/index.vue @@ -325,7 +325,7 @@ export default { this.mapViewLoaded(false); }, // 地图状态更新 - handleStateUpdate() { + handleStateUpdate(list) { this.$store.dispatch('map/mapStateLoaded'); }, // 视图参数改变 diff --git a/src/views/newMap/mapsystemNew/common/index.vue b/src/views/newMap/mapsystemNew/common/index.vue index 15b76e1de..263c0d03e 100644 --- a/src/views/newMap/mapsystemNew/common/index.vue +++ b/src/views/newMap/mapsystemNew/common/index.vue @@ -8,7 +8,7 @@