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'
}
},
// 批量取消扣车