Merge branch 'test_dispaly' of https://git.code.tencent.com/lian-cbtc/jl-client into test_dispaly1
This commit is contained in:
commit
4fbc45780c
@ -15,7 +15,7 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { judgeStationControl } from '@/jmapNew/theme/components/utils/menuJudge.js';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
|
||||
export default {
|
||||
name: 'StationMenu',
|
||||
@ -45,6 +45,73 @@ export default {
|
||||
return {
|
||||
menu: [],
|
||||
menuNormal: [
|
||||
{
|
||||
label: '本地控制许可',
|
||||
children: [
|
||||
{
|
||||
label: '请求',
|
||||
handler: this.setStationControl,
|
||||
cmdType: this.work === 'localWork' ? CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL : CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||
isDisabled: (station, work) => {
|
||||
if (work === 'localWork') {
|
||||
return station.controlMode !== 'Center';
|
||||
} else {
|
||||
return station.controlMode === 'Center';
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '取消',
|
||||
handler: this.setCenterControl,
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||
isDisabled: (station, work) => {
|
||||
if (work === 'localWork') {
|
||||
return station.controlMode === 'Center';
|
||||
} else {
|
||||
return station.controlMode !== 'Center';
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return work === 'localWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '紧急本地控制',
|
||||
handler: this.setEmergencyControl,
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL,
|
||||
isDisabled: (station, work) => {
|
||||
return station.controlMode === 'Emergency';
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return work === 'localWork';
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '进路模式',
|
||||
children: [
|
||||
{
|
||||
label: '自动',
|
||||
handler: this.atsAutoControlALL,
|
||||
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
|
||||
isDisabled: (station, work) => {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
{
|
||||
label: '人工',
|
||||
handler: this.humanControlALL,
|
||||
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING,
|
||||
isDisabled: (station, work) => {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
],
|
||||
isShow: (station, work) => {
|
||||
return work === 'dispatchWork';
|
||||
}
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
{
|
||||
@ -94,12 +161,21 @@ export default {
|
||||
};
|
||||
},
|
||||
initMenu() {
|
||||
const selected = this.selected;
|
||||
const work = this.work;
|
||||
function setDisabledShow(item) {
|
||||
if (item.children) {
|
||||
item.children.forEach(ii => {
|
||||
setDisabledShow(ii);
|
||||
});
|
||||
}
|
||||
item.disabled = item.isDisabled ? item.isDisabled(selected, work) : false;
|
||||
item.show = item.isShow ? item.isShow(selected, work) : true;
|
||||
}
|
||||
if (this.selected.centralized) {
|
||||
this.menu = [];
|
||||
this.menuNormal.forEach(menuItem => {
|
||||
const status = judgeStationControl(this.selected.belongStationCode, this.selected.stationCode, this.work);
|
||||
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) || !status : false;
|
||||
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work, this.lineCode) : true;
|
||||
setDisabledShow(menuItem);
|
||||
this.menu.push(menuItem);
|
||||
});
|
||||
// 故障模式菜单列表
|
||||
@ -149,6 +225,159 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
// 所有进路自排关
|
||||
humanControlALL() {
|
||||
const step = {
|
||||
start: true,
|
||||
code: `${this.selected.code}`,
|
||||
operation: OperationEvent.Station.humanControlALL.menu.operation,
|
||||
param: {
|
||||
stationCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: {
|
||||
code: OperationEvent.Command.commandXian.confirm.operation,
|
||||
name: '所有进路自排关',
|
||||
cmdType: CMD.Station.CMD_STATION_CLOSE_AUTO_SETTING,
|
||||
param: step.param
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
// 所有进路自排开
|
||||
atsAutoControlALL() {
|
||||
const step = {
|
||||
start: true,
|
||||
code: `${this.selected.code}`,
|
||||
operation: OperationEvent.Station.atsAutoControlALL.menu.operation,
|
||||
param: {
|
||||
stationCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: {
|
||||
code: OperationEvent.Command.commandXian.confirm.operation,
|
||||
name: '所有进路自排开',
|
||||
cmdType: CMD.Station.CMD_STATION_OPEN_AUTO_SETTING,
|
||||
param: step.param
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
setPriorityStrategy() {
|
||||
this.getStrategyByStation('侧线优先');
|
||||
},
|
||||
setLineStrategy() {
|
||||
this.getStrategyByStation('直线折返');
|
||||
},
|
||||
setLateralStrategy() {
|
||||
this.getStrategyByStation('侧线折返');
|
||||
},
|
||||
getStrategyByStation(type) {
|
||||
const tbStrategy = this.tbStrategyList.find(strategy=>{
|
||||
return strategy.stationCode == this.selected.code;
|
||||
});
|
||||
if (tbStrategy) {
|
||||
const strategy = tbStrategy.optionList.find(each=>{
|
||||
return each.label == type;
|
||||
});
|
||||
if (strategy) {
|
||||
commitOperate(menuOperate.StationControl.setBackStrategy, {stationCode: this.selected.code, id:strategy.id}, 0).then(({valid, operate})=>{
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: {
|
||||
code: OperationEvent.Command.commandXian.confirm.operation,
|
||||
name: type,
|
||||
cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY,
|
||||
param: {stationCodes:[this.selected.code]}
|
||||
}
|
||||
});
|
||||
}).catch((error) => {
|
||||
console.error(error);
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
setStationControl() {
|
||||
// 请求站控
|
||||
commitOperate(menuOperate.StationControl.requestStationControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: {
|
||||
code: OperationEvent.Command.commandXian.confirm.operation,
|
||||
name: '请求站控',
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL,
|
||||
param: {stationCodes:[this.selected.code]}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
setCenterControl() {
|
||||
// 请求中控
|
||||
commitOperate(menuOperate.StationControl.requestCentralControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: {
|
||||
code: OperationEvent.Command.commandXian.confirm.operation,
|
||||
name: '请求中控',
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||
param: {stationCodes:[this.selected.code]}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
setEmergencyControl() {
|
||||
// 紧急站控
|
||||
commitOperate(menuOperate.StationControl.emergencyStationControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: {
|
||||
code: OperationEvent.Command.commandXian.confirm.operation,
|
||||
name: '紧急站控',
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL,
|
||||
param: {stationCodes:[this.selected.code]}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
undeveloped() {
|
||||
this.doClose();
|
||||
this.$alert('实现中......', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
callback: action => {
|
||||
}
|
||||
});
|
||||
},
|
||||
triggerFaultManagement() {
|
||||
this.$store.dispatch('training/setTriggerFaultCount', this.selected);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user