调整南京二号线 行调操作---> ibp局部控制盘、车站、轨道

This commit is contained in:
zyy 2021-05-17 18:16:22 +08:00
parent 17f25b1e0b
commit 9a2785f126
3 changed files with 116 additions and 19 deletions

View File

@ -239,6 +239,8 @@
<div class="station_buttonGroupL">
<div v-if="allowDetain" :id="setDetainTrainId" class="stationButton" @click="stationDetainTrain">此站扣车</div>
<div v-else class="stationButton disabled">此站扣车</div>
<div v-if="allowJump" :id="setJumpStopId" class="stationButton station_jumpTrain" @click="stationAllJumpTrain">连续扣车</div>
<div v-else class="stationButton station_jumpTrain disabled">连续扣车</div>
</div>
<div class="station_buttonGroupR">
<div v-if="allowCancle" :id="cancelTrainId" class="stationButton" @click="stationCancleTrain">取消设置</div>
@ -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) }
];

View File

@ -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'},

View File

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