diff --git a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue index 7741244e9..0c7fd6da2 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue @@ -239,6 +239,8 @@
此站扣车
此站扣车
+
连续扣车
+
连续扣车
取消设置
@@ -360,7 +362,13 @@ export default { State2SimulationMap: { '01': 'Local', // 现地工作站 '02': 'Center' // 中心调度工作站 - } + }, + strategyList: [ // 折返策略 + { value: '01', label: '不折返' }, + { value: '02', label: '缺省折返' }, + { value: '03', label: '换端' }, + { value: '04', label: '自动折返' } + ] }; }, computed: { @@ -370,6 +378,7 @@ export default { ...mapGetters('map', [ 'routeList', 'stationList', + 'stationStandList', 'routeData', 'overlapList', 'overlapData', @@ -546,7 +555,9 @@ export default { const stationContorl = this.stationContorl; this.menuCmdList = new Array(15).fill({}); const lists = list.filter(el => { - if (el.isShow && !el.isShow(this.oldClickObj.roadType)) { + if (el.isShow && this.selectedObj._type == 'Section' && !el.isShow(this.oldClickObj)) { + return false; // standTrack 站台轨 + } else if (el.isShow && this.selectedObj._type == 'Station' && el.isShow(this.selectedObj.ciStation)) { return false; } return el; @@ -831,7 +842,7 @@ export default { this.handleSingalMenu(); } }, - checkConfirmParam() { + checkConfirmParam(row) { this.param = {}; if (this.operate == OperationEvent.Signal.cancelTrainRoute.menuButton.operation || this.operate == OperationEvent.Signal.humanTrainRoute.menuButton.operation) { this.param = { @@ -888,6 +899,12 @@ export default { }; }); } + + if (this.cmdType == CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY) { + this.param = { + val: row.params ? row.params.val : '' + }; + } }, clickCommand(row) { const step = {}; @@ -933,7 +950,7 @@ export default { step.param = this.param; this.$store.dispatch('training/nextNew', step).then(({ valid }) => { if (valid) { - this.checkConfirmParam(); + this.checkConfirmParam(row); this.securityCommand = row.securityCommand || row.next; } else if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); @@ -1179,7 +1196,7 @@ export default { this.operate = row.operation; step.operation = this.operate; step.start = true; - step.param = {'standCode':this.selectedObj.code}; + step.param = row.param || {'standCode':this.selectedObj.code}; this.cmdType = row.cmdType; this.$store.dispatch('training/nextNew', step).then(({ valid }) => { if (valid) { @@ -1188,7 +1205,6 @@ export default { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); } }).catch((error) => { - console.error(error); if (error && error.code == '10017') { EventBus.$emit('sendMsg', {message: error.message}); } else { @@ -1214,6 +1230,19 @@ export default { row.cmdType = CMD.Stand.CMD_STAND_SET_JUMP_STOP; this.stationCommand(row); }, + stationAllJumpTrain() { + const list = this.stationStandList.filter(el => el.right == this.selectedObj.right); + const index = list.findIndex(el => el.code == this.selectedObj.code); + let lists = list.slice(0, index); + if (this.selectedObj.right) { + lists = list.slice(index + 1, 9999); + } + const row = {}; + row.operation = OperationEvent.StationStand.setBulkBuckleTrain.menuButton.operation; + row.cmdType = CMD.Stand.CMD_STAND_SET_HOLD_TRAIN_ALL; + row.param = { 'standCodes': lists.map(el => el.code) }; + this.stationCommand(row); + }, initMenus() { this.basicParamList = this.$store.state.training.prdType === '01' ? [ { name: '自排全开', commandTip: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menu, fillStationCode: true, disabledCb: (stationControl) => ['Center', 'None'].includes(stationControl.controlMode) }, @@ -1257,21 +1286,31 @@ export default { { name: '解封岔芯', commandTip: '解封岔芯', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, { name: '强解岔芯', commandTip: '强解岔芯', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch } ] : [ - { name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, - { name: '轨区消限', commandTip: '取消对轨道区段的限速', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, - { name: '强行消限', commandTip: '强行取消对轨道区段的限速', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, - { name: '强解区段', commandTip: '解锁进路中的轨道区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, - { name: '预复位', commandTip: '预重置计轴区段', cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET, operate: OperationEvent.Section.axlePreReset.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, + { name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '轨区消限', commandTip: '取消对轨道区段的限速', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '强行消限', commandTip: '强行取消对轨道区段的限速', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '强解区段', commandTip: '解锁进路中的轨道区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '预复位', commandTip: '预重置计轴区段', cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET, operate: OperationEvent.Section.axlePreReset.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, { name: '封锁区段', commandTip: '禁止通过该轨道区段排列进路', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menuButton, disabledCb: (stationControl) => !this.modeMatch }, - { name: '解封区段', commandTip: '允许通过该轨道区段排列进路', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch }, + { name: '解封区段', commandTip: '允许通过该轨道区段排列进路', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, - { name: '折返 DTO', commandTip: '折返 DTO', cmdType: CMD.Section.CMD_SECTION_1, operate: OperationEvent.Section.turnBackDTO.menuButton, disabledCb: (stationControl) => !this.modeMatch }, - { name: '取消折返', commandTip: '取消折返', cmdType: CMD.Section.CMD_SECTION_2, operate: OperationEvent.Section.CancelTurnBack.menuButton, disabledCb: (stationControl) => !this.modeMatch }, - { name: '自动折返', commandTip: '自动折返', cmdType: CMD.Section.CMD_SECTION_3, operate: OperationEvent.Section.AutoTurnBack.menuButton, disabledCb: (stationControl) => !this.modeMatch }, - { name: '换上至下', commandTip: '换上至下', cmdType: CMD.Section.CMD_SECTION_4, operate: OperationEvent.Section.PutUpTheDown.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (type) => type == 'RIGHT' }, - { name: '换下至上', commandTip: '换下至上', cmdType: CMD.Section.CMD_SECTION_5, operate: OperationEvent.Section.PutDownTheUp.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (type) => type != 'RIGHT' }, - { name: '终止站停-上', commandTip: '上行终止站停', cmdType: CMD.Section.CMD_SECTION_6, operate: OperationEvent.Section.PutUpStop.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (type) => type == 'RIGHT' }, - { name: '终止站停-下', commandTip: '下行终止站停', cmdType: CMD.Section.CMD_SECTION_7, operate: OperationEvent.Section.PutDownStop.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (type) => type != 'RIGHT' } + { name: '上行不折返', commandTip: '上行不折返', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnUp01, params: {val: '01'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType == 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '下行不折返', commandTip: '下行不折返', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnDown01, params: {val: '01'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType != 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '上行缺省折返', commandTip: '上行缺省折返', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnUp02, params: {val: '02'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType == 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '下行缺省折返', commandTip: '下行缺省折返', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnDown02, params: {val: '02'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType != 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '上行换端', commandTip: '上行换端', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnUp03, params: {val: '03'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType == 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '下行换端', commandTip: '下行换端', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnDown03, params: {val: '03'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType != 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '上行自动折返', commandTip: '上行自动折返', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnUp04, params: {val: '04'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType == 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '下行自动折返', commandTip: '下行自动折返', cmdType: CMD.Section.CMD_STAND_SET_REENTRY_STRATEGY, operate: OperationEvent.Section.setBackStrategy.menuBtnDown04, params: {val: '04'}, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType != 'RIGHT' && section.standTrack && this.$store.state.training.prdType == '02' }, + { name: '车站发车', commandTip: '车站发车', cmdType: CMD.Section.CMD_STAND_EARLY_DEPART, operate: OperationEvent.Section.earlyDeparture.menuBtn, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.standTrack && this.$store.state.training.prdType == '02' }, + + { name: '折返 DTO', commandTip: '折返 DTO', cmdType: CMD.Section.CMD_SECTION_1, operate: OperationEvent.Section.turnBackDTO.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '取消折返', commandTip: '取消折返', cmdType: CMD.Section.CMD_SECTION_2, operate: OperationEvent.Section.CancelTurnBack.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '自动折返', commandTip: '自动折返', cmdType: CMD.Section.CMD_SECTION_3, operate: OperationEvent.Section.AutoTurnBack.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: () => this.$store.state.training.prdType == '01' }, + { name: '换上至下', commandTip: '换上至下', cmdType: CMD.Section.CMD_SECTION_4, operate: OperationEvent.Section.PutUpTheDown.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType == 'RIGHT' && this.$store.state.training.prdType == '01' }, + { name: '换下至上', commandTip: '换下至上', cmdType: CMD.Section.CMD_SECTION_5, operate: OperationEvent.Section.PutDownTheUp.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType != 'RIGHT' && this.$store.state.training.prdType == '01' }, + { name: '终止站停-上', commandTip: '上行终止站停', cmdType: CMD.Section.CMD_SECTION_6, operate: OperationEvent.Section.PutUpStop.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType == 'RIGHT' && this.$store.state.training.prdType == '01' }, + { name: '终止站停-下', commandTip: '下行终止站停', cmdType: CMD.Section.CMD_SECTION_7, operate: OperationEvent.Section.PutDownStop.menuButton, disabledCb: (stationControl) => !this.modeMatch, isShow: (section) => section.roadType != 'RIGHT' && this.$store.state.training.prdType == '01' } ]; this.switchParamList = [ { name: '岔区设限', cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED, operate: OperationEvent.Switch.setSpeed.menuButton, securityCommand: true, disabledCb: (stationControl) => !this.modeMatch}, @@ -1326,6 +1365,13 @@ export default { { name: '关站信号', commandTip: '封锁车站所有信号机', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Local'].includes(stationControl.controlMode) } ] : [ { name: '关站信号', commandTip: '封锁车站所有信号机', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Center'].includes(stationControl.controlMode) }, + + { name: '关区信号', commandTip: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Center'].includes(stationControl.controlMode), isShow: (ciStation) => !ciStation }, + { name: '自排全开', commandTip: '自排全开', cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Center'].includes(stationControl.controlMode), isShow: (ciStation) => !ciStation }, + { name: '自排全关', commandTip: '自排全关', cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Center'].includes(stationControl.controlMode), isShow: (ciStation) => !ciStation }, + { name: '追踪全开', commandTip: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Center'].includes(stationControl.controlMode), isShow: (ciStation) => !ciStation }, + { name: '追踪全关', commandTip: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menuButton, disabledCb: (stationControl) => !this.modeMatch || !['Center'].includes(stationControl.controlMode), isShow: (ciStation) => !ciStation }, + { name: '接收控制', commandTip: '接收控制权', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menuButton, disabledCb: (stationControl) => ['Center'].includes(stationControl.controlMode) }, { name: '交出控制', commandTip: '交出控制权', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menuButton, disabledCb: (stationControl) => ['Local', 'None'].includes(stationControl.controlMode) } ]; diff --git a/src/scripts/cmdPlugin/CommandEnum.js b/src/scripts/cmdPlugin/CommandEnum.js index bd5a9230b..507304c37 100644 --- a/src/scripts/cmdPlugin/CommandEnum.js +++ b/src/scripts/cmdPlugin/CommandEnum.js @@ -161,6 +161,10 @@ export default { CMD_SECTION_OPEN: {value: 'Section_Open', label: '轨道开放'}, /** 轨道关闭 */ CMD_SECTION_CLOSE: {value: 'Section_Close', label: '轨道关闭'}, + /** 设置折返策略 */ + CMD_STAND_SET_REENTRY_STRATEGY: {value:'Stand_Set_Reentry_Strategy', label: '设置折返策略'}, + /** 提前发车 */ + CMD_STAND_EARLY_DEPART: {value:'Stand_Early_Depart', label: '提前发车'}, /** 折返 DTO */ CMD_SECTION_1: {value: 'Section_1', label: '折返 DTO'}, diff --git a/src/scripts/cmdPlugin/OperationHandler.js b/src/scripts/cmdPlugin/OperationHandler.js index 59a55f63b..90756f12f 100644 --- a/src/scripts/cmdPlugin/OperationHandler.js +++ b/src/scripts/cmdPlugin/OperationHandler.js @@ -2157,6 +2157,49 @@ export const OperationEvent = { operation: '423', domId: '_Tips-Section-Put-Down-Stop-menu-Button' } + }, + // 设置折返策略 + setBackStrategy: { + // (南京二号线) 01 不折返 02 缺省折返 03 换端 04 自动折返 + menuBtnUp01: { + operation: '4241', + domId: '_Tips-Section-set-Back-Strategy-Up-menu-01' + }, + menuBtnDown01: { + operation: '4242', + domId: '_Tips-Section-set-Back-Strategy-Down-menu-01' + }, + menuBtnUp02: { + operation: '4243', + domId: '_Tips-Section-set-Back-Strategy-Up-menu-02' + }, + menuBtnDown02: { + operation: '4244', + domId: '_Tips-Section-set-Back-Strategy-Down-menu-02' + }, + menuBtnUp03: { + operation: '4245', + domId: '_Tips-Section-set-Back-Strategy-Up-menu-03' + }, + menuBtnDown03: { + operation: '4246', + domId: '_Tips-Section-set-Back-Strategy-Down-menu-03' + }, + menuBtnUp04: { + operation: '4247', + domId: '_Tips-Section-set-Back-Strategy-Up-menu-04' + }, + menuBtnDown04: { + operation: '4248', + domId: '_Tips-Section-set-Back-Strategy-Down-menu-04' + } + }, + // (南京二号线) 站台轨提前发车 + earlyDeparture: { + menuBtn: { + operation: '425', + domId: '_Tips-Section-EarlyDeparture-menuBtn' + } } }, @@ -2470,6 +2513,10 @@ export const OperationEvent = { choose: { operation: '5151', domId: '_Tips-Stand-setBulkBuckleTrain-Choose' + }, + menuButton: { + operation: '5152', + domId: '_Tips-Stand-setBulkBuckleTrain-menuButton' } }, // 批量取消扣车