From 9617c36d01c6c521f9f0bf8970f595731923a2d8 Mon Sep 17 00:00:00 2001 From: lVAL Date: Mon, 18 Jan 2021 16:53:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A7=E5=88=B6=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=20disabled=20=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/nanjing_02/menus/menuButton.vue | 191 ++++++++++-------- 1 file changed, 104 insertions(+), 87 deletions(-) diff --git a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue index 7ceddbab3..a41122f5c 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue @@ -33,11 +33,11 @@ @@ -159,7 +159,7 @@
{{ item.name }}
{{ item.name }}
{{ item.name }}
-
+
@@ -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,30 +256,23 @@ 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; - } else { - this.dialogVisible = false; - } - }, '$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; - this.clearAllMenuShow(); - if (type == 'Center' && this.selected._type == 'Station') { - this.selectedObj = this.selected; + if (this.stationContorl.controlMode != type) { + this.clearAllMenuShow(); + if (this.$store.state.training.prdType == '02' && this.selected._type == 'Station') { + this.selectedObj = this.selected; if (this.selectedObj._type) { this.canCommand = true; const step = { @@ -289,16 +283,15 @@ export default { this.$store.dispatch('training/nextNew', step).then(({ valid }) => { if (valid) { this.centralizedStationList = new Array(15).fill({}); - this.centralizedStationList[0] = { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }; + this.centralizedStationList[0] = { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }; this.pushTempData([this.selectedObj]); this.param = { stationCode: this.selectedObj.code }; } }); } - } else { - this.centralizedStationList = new Array(15).fill({}); } - // return false; + } else { + this.centralizedStationList = new Array(15).fill({}); } } @@ -352,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) { @@ -367,7 +356,18 @@ 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(); + } + } + }, + }, mounted() { this.initMenus(); @@ -530,6 +530,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); @@ -538,10 +539,12 @@ export default { this.centralizedStationList = new Array(15).fill({}); this.basicParamList.forEach((basic, index) => { - this.centralizedStationList[index] = basic; + 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 = { @@ -680,7 +683,7 @@ export default { this.$store.dispatch('training/nextNew', step).then(({ valid }) => { if (valid && this.securityCommand) { this.secondConfirm = true; - const that = this; + const that = this; this.timer = setTimeout(() => { that.cancle(); }, 15000); @@ -838,10 +841,10 @@ 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: '' }, + { 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: '' }, @@ -855,19 +858,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 }, @@ -911,43 +927,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 }, @@ -1070,7 +1090,7 @@ export default { } } - .fake-button-black { + .fake-button-grayk { font-size: 12px; width: 80px; height: 20px; @@ -1107,9 +1127,6 @@ export default { background: #DDDDDD; color: #a0a0a0; cursor: not-allowed; - &:hover, &.active{ - background: none; - } } .__menuButton .el-button {