Merge branch 'test'
This commit is contained in:
commit
6337b5f8da
@ -70,7 +70,7 @@ export default {
|
|||||||
},
|
},
|
||||||
subscribeMessage(res) {
|
subscribeMessage(res) {
|
||||||
if (this.$refs.deomonTopic && !window.location.href.includes('trainroom')) {
|
if (this.$refs.deomonTopic && !window.location.href.includes('trainroom')) {
|
||||||
if (getSessionStorage('project') != 'refereeJsxt' && getSessionStorage('project') != 'jsxt') {
|
if (getSessionStorage('project') != 'refereeJsxt' && getSessionStorage('project') != 'jsxt' && !(getSessionStorage('project').includes('design'))) {
|
||||||
this.$refs.deomonTopic.doShow(res);
|
this.$refs.deomonTopic.doShow(res);
|
||||||
}
|
}
|
||||||
this.$store.dispatch('socket/setRoomInvite');
|
this.$store.dispatch('socket/setRoomInvite');
|
||||||
|
@ -18,6 +18,15 @@ export function setFailureMode(data, group) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 设置自动故障(新版)*/
|
||||||
|
export function setFailureModeNew(data, group) {
|
||||||
|
return request({
|
||||||
|
url: `/simulation/${group}/faultMode`,
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仿真系统按计划行车
|
* 仿真系统按计划行车
|
||||||
*/
|
*/
|
||||||
|
@ -54,6 +54,7 @@ export default {
|
|||||||
signalDeblock: 'Signal unsealing',
|
signalDeblock: 'Signal unsealing',
|
||||||
signalReopen: 'Signal reopen',
|
signalReopen: 'Signal reopen',
|
||||||
guideRouteHandle: 'Guide Route handling',
|
guideRouteHandle: 'Guide Route handling',
|
||||||
|
guide: 'Guide',
|
||||||
setInterlockAutoRoute: 'Set Interlock for Auto Routing',
|
setInterlockAutoRoute: 'Set Interlock for Auto Routing',
|
||||||
cancelInterlockAutoRoute: 'Cancel Interlock setting for Auto Routing',
|
cancelInterlockAutoRoute: 'Cancel Interlock setting for Auto Routing',
|
||||||
setInterlockAutoTrigger: 'Set Interlock for Auto Trigger',
|
setInterlockAutoTrigger: 'Set Interlock for Auto Trigger',
|
||||||
|
@ -54,6 +54,7 @@ export default {
|
|||||||
signalDeblock: '信号解封',
|
signalDeblock: '信号解封',
|
||||||
signalReopen: '信号重开',
|
signalReopen: '信号重开',
|
||||||
guideRouteHandle: '引导进路办理',
|
guideRouteHandle: '引导进路办理',
|
||||||
|
guide: '引导',
|
||||||
setInterlockAutoRoute: '设置联锁自动进路',
|
setInterlockAutoRoute: '设置联锁自动进路',
|
||||||
cancelInterlockAutoRoute: '取消联锁自动进路',
|
cancelInterlockAutoRoute: '取消联锁自动进路',
|
||||||
setInterlockAutoTrigger: '设置联锁自动触发',
|
setInterlockAutoTrigger: '设置联锁自动触发',
|
||||||
|
@ -207,53 +207,9 @@ function updateIscsListByDevice(state, name, device) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function updateIscsData(state, device) {
|
export function updateIscsData(state, device) {
|
||||||
// const state = store.state;
|
let type = device._type;
|
||||||
switch (device._type) {
|
if (type) {
|
||||||
case deviceType.Vidicon : updateIscsListByDevice(state, 'vidiconList', device); break;
|
type = type.replace(type[0], type[0].toLowerCase()) + 'List';
|
||||||
case deviceType.VidiconCloud : updateIscsListByDevice(state, 'vidiconCloudList', device); break;
|
updateIscsListByDevice(state, type, device);
|
||||||
case deviceType.ManualAlarmButton : updateIscsListByDevice(state, 'manualAlarmButtonList', device); break;
|
|
||||||
case deviceType.FireHydranAlarmButton: updateIscsListByDevice(state, 'fireHydranAlarmButtonList', device); break;
|
|
||||||
case deviceType.GasFireControl: updateIscsListByDevice(state, 'gasFireControlList', device); break;
|
|
||||||
case deviceType.SmokeDetector: updateIscsListByDevice(state, 'smokeDetectorList', device); break;
|
|
||||||
case deviceType.TemperatureDetector: updateIscsListByDevice(state, 'temperatureDetectorList', device); break;
|
|
||||||
case deviceType.PlatformScreenDoor: updateIscsListByDevice(state, 'platformScreenDoorList', device); break;
|
|
||||||
case deviceType.FrozenPump : updateIscsListByDevice(state, 'frozenPumpList', device); break;
|
|
||||||
case deviceType.Ventilator : updateIscsListByDevice(state, 'ventilatorList', device); break;
|
|
||||||
case deviceType.Chiller : updateIscsListByDevice(state, 'chillerList', device); break;
|
|
||||||
case deviceType.CoolTower : updateIscsListByDevice(state, 'coolTowerList', device); break;
|
|
||||||
case deviceType.EndDoor: updateIscsListByDevice(state, 'endDoorList', device); break;
|
|
||||||
case deviceType.BorderRadius: updateIscsListByDevice(state, 'borderRadiusList', device); break;
|
|
||||||
case deviceType.BrakeMachine: updateIscsListByDevice(state, 'brakeMachineList', device); break;
|
|
||||||
case deviceType.EntranceGuard: updateIscsListByDevice(state, 'entranceGuardList', device); break;
|
|
||||||
case deviceType.TicketMachine: updateIscsListByDevice(state, 'ticketMachineList', device); break;
|
|
||||||
case deviceType.SemiAutomaticTicketMachine: updateIscsListByDevice(state, 'semiAutomaticTicketMachineList', device); break;
|
|
||||||
case deviceType.AirConditioner: updateIscsListByDevice(state, 'airConditionerList', device); break;
|
|
||||||
case deviceType.OrbitalVentilator: updateIscsListByDevice(state, 'orbitalVentilatorList', device); break;
|
|
||||||
case deviceType.JetFan: updateIscsListByDevice(state, 'jetFanList', device); break;
|
|
||||||
case deviceType.TunnelFan: updateIscsListByDevice(state, 'tunnelFanList', device); break;
|
|
||||||
case deviceType.FireDamper: updateIscsListByDevice(state, 'fireDamperList', device); break;
|
|
||||||
case deviceType.SmookExhaustFd: updateIscsListByDevice(state, 'smookExhaustFdList', device); break;
|
|
||||||
case deviceType.SmookProofFd: updateIscsListByDevice(state, 'smookProofFdList', device); break;
|
|
||||||
case deviceType.VolumeControlDamper: updateIscsListByDevice(state, 'volumeControlDamperList', device); break;
|
|
||||||
case deviceType.IscsRect: updateIscsListByDevice(state, 'iscsRectList', device); break;
|
|
||||||
case deviceType.IscsText: updateIscsListByDevice(state, 'iscsTextList', device); break;
|
|
||||||
case deviceType.IscsLine: updateIscsListByDevice(state, 'iscsLineList', device); break;
|
|
||||||
case deviceType.Escalator: updateIscsListByDevice(state, 'escalatorList', device); break;
|
|
||||||
case deviceType.StairControl: updateIscsListByDevice(state, 'stairControlList', device); break;
|
|
||||||
case deviceType.FasBrakeMachine: updateIscsListByDevice(state, 'fasBrakeMachineList', device); break;
|
|
||||||
case deviceType.Staircase: updateIscsListByDevice(state, 'staircaseList', device); break;
|
|
||||||
case deviceType.SingleStaircase: updateIscsListByDevice(state, 'singleStaircaseList', device); break;
|
|
||||||
case deviceType.ArcStatus: updateIscsListByDevice(state, 'arcStatusList', device); break;
|
|
||||||
case deviceType.IscsButton: updateIscsListByDevice(state, 'iscsButtonList', device); break;
|
|
||||||
case deviceType.StateTable: updateIscsListByDevice(state, 'stateTableList', device); break;
|
|
||||||
case deviceType.LightingGroup: updateIscsListByDevice(state, 'lightingGroupList', device); break;
|
|
||||||
case deviceType.BalancedElectric: updateIscsListByDevice(state, 'balancedElectricList', device); break;
|
|
||||||
case deviceType.ElectricButterflyValve: updateIscsListByDevice(state, 'electricButterflyValveList', device); break;
|
|
||||||
case deviceType.Cistern: updateIscsListByDevice(state, 'cisternList', device); break;
|
|
||||||
case deviceType.Electrically: updateIscsListByDevice(state, 'electricallyList', device); break;
|
|
||||||
case deviceType.Stairs: updateIscsListByDevice(state, 'stairsList', device); break;
|
|
||||||
case deviceType.Elevator: updateIscsListByDevice(state, 'elevatorList', device); break;
|
|
||||||
case deviceType.Draught: updateIscsListByDevice(state, 'draughtList', device); break;
|
|
||||||
case deviceType.IscsImage: updateIscsListByDevice(state, 'iscsImageList', device); break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -301,6 +301,7 @@ class SkinCode extends defaultStyle {
|
|||||||
block: true, // 联合图形封锁状态
|
block: true, // 联合图形封锁状态
|
||||||
flashingColors: '#D600D5', // 联合图形封锁闪烁显示颜色
|
flashingColors: '#D600D5', // 联合图形封锁闪烁显示颜色
|
||||||
fork: true, // 挤岔专用(如有挤岔操作 变为true)
|
fork: true, // 挤岔专用(如有挤岔操作 变为true)
|
||||||
|
faultStatus: true, // 宁波失表状态用 挤岔表示
|
||||||
forKColor: 'red' // 挤岔颜色 配合挤岔专用
|
forKColor: 'red' // 挤岔颜色 配合挤岔专用
|
||||||
},
|
},
|
||||||
arcBlcok: { // 圆形封锁图形
|
arcBlcok: { // 圆形封锁图形
|
||||||
|
@ -217,12 +217,13 @@ class Jlmap {
|
|||||||
const code = elem.code;
|
const code = elem.code;
|
||||||
const type = elem._type;
|
const type = elem._type;
|
||||||
const oDevice = this.mapDevice[code] || deviceFactory(type, elem, this.showConfig);
|
const oDevice = this.mapDevice[code] || deviceFactory(type, elem, this.showConfig);
|
||||||
|
// const oDevice = deviceFactory(type, elem, this.showConfig);
|
||||||
const nDevice = deepAssign(oDevice || {}, elem);
|
const nDevice = deepAssign(oDevice || {}, elem);
|
||||||
this.$painter.delete(oDevice);
|
this.$painter.delete(oDevice);
|
||||||
delete this.mapDevice[code];
|
delete this.mapDevice[code];
|
||||||
if (!elem._dispose) {
|
if (!elem._dispose) {
|
||||||
this.mapDevice[code] = nDevice;
|
this.mapDevice[code] = nDevice;
|
||||||
this.$painter.add(nDevice);
|
this.$painter.add(nDevice); // 重新赋值instance
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -347,12 +347,16 @@ export default class Switch extends Group {
|
|||||||
|
|
||||||
}
|
}
|
||||||
setSwitchFault(split) {
|
setSwitchFault(split) {
|
||||||
if (this.model.switchFaultCode && split) {
|
if (this.style.Switch.jointImg.faultStatus && split) {
|
||||||
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
|
this.setForkAction(); // 道岔挤岔 宁波线失表状态
|
||||||
switchFault.instance.setControlColor('#F00', true);
|
} else {
|
||||||
} else if (this.model.switchFaultCode && !split) {
|
if (this.model.switchFaultCode && split) {
|
||||||
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
|
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
|
||||||
switchFault.instance.setControlColor(this.style.backgroundColor, false);
|
switchFault.instance.setControlColor('#F00', true);
|
||||||
|
} else if (this.model.switchFaultCode && !split) {
|
||||||
|
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
|
||||||
|
switchFault.instance.setControlColor(this.style.backgroundColor, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** 挤叉*/
|
/** 挤叉*/
|
||||||
|
@ -110,6 +110,8 @@ import ManageUser from './menuDialog/manageUser';
|
|||||||
import HelpAbout from './menuDialog/helpAbout';
|
import HelpAbout from './menuDialog/helpAbout';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
|
import { State2SimulationMap } from '@/scripts/cmdPlugin/Config';
|
||||||
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuBar',
|
name: 'MenuBar',
|
||||||
@ -141,7 +143,7 @@ export default {
|
|||||||
valid: true,
|
valid: true,
|
||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: {
|
||||||
local: [
|
Local: [
|
||||||
{
|
{
|
||||||
title: '系统',
|
title: '系统',
|
||||||
operate: OperationEvent.Command.mBar.system,
|
operate: OperationEvent.Command.mBar.system,
|
||||||
@ -386,7 +388,7 @@ export default {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
central: [
|
Center: [
|
||||||
{
|
{
|
||||||
title: '系统',
|
title: '系统',
|
||||||
operate: OperationEvent.Command.mBar.system,
|
operate: OperationEvent.Command.mBar.system,
|
||||||
@ -699,8 +701,10 @@ export default {
|
|||||||
return list;
|
return list;
|
||||||
},
|
},
|
||||||
initMenu(menu) {
|
initMenu(menu) {
|
||||||
if (this.menu[2]) {
|
const type = State2SimulationMap[this.$store.state.training.prdType];
|
||||||
this.menu[2].children = this.initStationList();
|
this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[type], this.$store.state.training.operatemode);
|
||||||
|
if (this.menu[3]) {
|
||||||
|
this.menu[3].children = this.initStationList();
|
||||||
}
|
}
|
||||||
this.clickEvent();
|
this.clickEvent();
|
||||||
this.closeMenu(true);
|
this.closeMenu(true);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="isShowBtn" menuButtonclass="menu menuButton" style="height: 45px;" :style="{left: point.x+'px', bottom: point.y+'px' }">
|
<div v-if="isShowBtn" id="menuButtons_box" class="menu menuButton" style="height:45px;" :style="{left: point.x+'px', bottom: point.y+'px' }">
|
||||||
<button
|
<button
|
||||||
:id="Signal.arrangementRoute.button.domId"
|
:id="Signal.arrangementRoute.button.domId"
|
||||||
:style="{display: 'block', float: 'left', width: width+'px', backgroundColor:buttonUpColor}"
|
:style="{display: 'block', float: 'left', width: width+'px', backgroundColor:buttonUpColor}"
|
||||||
|
@ -44,37 +44,35 @@ export default {
|
|||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
title() {
|
title() {
|
||||||
if (this.dialogShow) {
|
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
|
||||||
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
|
return '区段设置限速';
|
||||||
return '区段设置限速';
|
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
|
||||||
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
|
return '区段取消限速';
|
||||||
return '区段取消限速';
|
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
|
||||||
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
|
return '道岔设置限速';
|
||||||
return '道岔设置限速';
|
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
|
||||||
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
|
return '道岔取消限速';
|
||||||
return '道岔取消限速';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return '';
|
||||||
},
|
},
|
||||||
domIdCancel() {
|
domIdCancel() {
|
||||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
},
|
},
|
||||||
domIdConfirm() {
|
domIdConfirm() {
|
||||||
if (this.dialogShow) {
|
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
|
||||||
if (this.operation === OperationEvent.Section.setSpeed.order.operation) {
|
/** 区段设置限速*/
|
||||||
/** 区段设置限速*/
|
return OperationEvent.Section.setSpeed.confirm.domId;
|
||||||
return OperationEvent.Section.setSpeed.confirm.domId;
|
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
|
||||||
} else if (this.operation === OperationEvent.Section.cancelSpeed.order.operation) {
|
/** 区段取消限速*/
|
||||||
/** 区段取消限速*/
|
return OperationEvent.Section.cancelSpeed.confirm.domId;
|
||||||
return OperationEvent.Section.cancelSpeed.confirm.domId;
|
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
|
||||||
} else if (this.operation === OperationEvent.Switch.setSpeed.order.operation) {
|
/** 道岔设置限速*/
|
||||||
/** 道岔设置限速*/
|
return OperationEvent.Switch.setSpeed.confirm.domId;
|
||||||
return OperationEvent.Switch.setSpeed.confirm.domId;
|
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
|
||||||
} else if (this.operation === OperationEvent.Switch.cancelSpeed.order.operation) {
|
/** 道岔取消限速*/
|
||||||
/** 道岔取消限速*/
|
return OperationEvent.Switch.cancelSpeed.confirm.domId;
|
||||||
return OperationEvent.Switch.cancelSpeed.confirm.domId;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
return '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -128,7 +126,7 @@ export default {
|
|||||||
this.$emit('setOperate', { step: 1, success: true });
|
this.$emit('setOperate', { step: 1, success: true });
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.$emit('setOperate', { step: 0, success: false });
|
this.$emit('setOperate', { step: 0, success: false });
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -147,7 +145,7 @@ export default {
|
|||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(() => {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -26,8 +26,6 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ConfirmTip',
|
name: 'ConfirmTip',
|
||||||
data() {
|
data() {
|
||||||
@ -42,9 +40,7 @@ export default {
|
|||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
title() {
|
title() {
|
||||||
if (this.dialogShow) {
|
return '提示';
|
||||||
return '提示';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
@ -78,7 +78,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
// import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'PasswordBox',
|
name: 'PasswordBox',
|
||||||
@ -87,7 +87,7 @@ export default {
|
|||||||
/* 写死的初始密码*/
|
/* 写死的初始密码*/
|
||||||
correctPassword: '123',
|
correctPassword: '123',
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
operation: null,
|
operation: '',
|
||||||
checkHasInput: false,
|
checkHasInput: false,
|
||||||
/* 输入值*/
|
/* 输入值*/
|
||||||
passwordCheck: '',
|
passwordCheck: '',
|
||||||
@ -109,7 +109,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
domIdConfirm() {
|
domIdConfirm() {
|
||||||
return this.dialogShow ? OperationEvent.Command.close.password.domId : '';
|
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -120,6 +120,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
doShow(operate) {
|
doShow(operate) {
|
||||||
this.operate = operate || {};
|
this.operate = operate || {};
|
||||||
|
this.operation = operate.operation;
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.checkHasInput = false;
|
this.checkHasInput = false;
|
||||||
this.$nextTick(function () {
|
this.$nextTick(function () {
|
||||||
|
@ -63,7 +63,10 @@
|
|||||||
</el-table>
|
</el-table>
|
||||||
</div>
|
</div>
|
||||||
<el-row justify="center" class="button-group">
|
<el-row justify="center" class="button-group">
|
||||||
<el-col :span="5" :offset="19">
|
<el-col :span="10" :offset="2">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" :offset="4">
|
||||||
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -164,6 +167,24 @@ export default {
|
|||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
},
|
||||||
|
commit() {
|
||||||
|
const operate = {
|
||||||
|
send: true,
|
||||||
|
operation: OperationEvent.Signal.detail.menu.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.loading = true;
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.doClose();
|
||||||
|
this.$refs.noticeInfo.doShow(operate);
|
||||||
|
});
|
||||||
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Command.cancel.menu.operation
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
|
@ -101,6 +101,7 @@ export default {
|
|||||||
tableStyle: {
|
tableStyle: {
|
||||||
'border-bottom': 'none'
|
'border-bottom': 'none'
|
||||||
},
|
},
|
||||||
|
commitDisabled:true,
|
||||||
controlTypeNameMap: {
|
controlTypeNameMap: {
|
||||||
'01': '折返',
|
'01': '折返',
|
||||||
'02': '直通'
|
'02': '直通'
|
||||||
@ -119,18 +120,11 @@ export default {
|
|||||||
return this.dialogShow ? OperationEvent.Signal.guide.choose.domId : '';
|
return this.dialogShow ? OperationEvent.Signal.guide.choose.domId : '';
|
||||||
},
|
},
|
||||||
domIdConfirm() {
|
domIdConfirm() {
|
||||||
return this.dialogShow ? OperationEvent.Signal.guide.menu.domId : '';
|
return this.dialogShow ? OperationEvent.Signal.guide.confirm.domId : '';
|
||||||
},
|
},
|
||||||
title() {
|
title() {
|
||||||
return '办理引导进路';
|
return '办理引导进路';
|
||||||
},
|
},
|
||||||
commitDisabled() {
|
|
||||||
let disabled = true;
|
|
||||||
if (this.row) {
|
|
||||||
disabled = !this.row.canSetting;
|
|
||||||
}
|
|
||||||
return disabled;
|
|
||||||
},
|
|
||||||
...mapGetters('map', [
|
...mapGetters('map', [
|
||||||
'signalList',
|
'signalList',
|
||||||
'mapConfig'
|
'mapConfig'
|
||||||
@ -177,6 +171,7 @@ export default {
|
|||||||
},
|
},
|
||||||
doShow(operate, selected, tempData) {
|
doShow(operate, selected, tempData) {
|
||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
|
this.commitDisabled = true;
|
||||||
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
// 如果不是断点激活,而是第一次显示,则需要设置初始值
|
||||||
if (!this.dialogShow) {
|
if (!this.dialogShow) {
|
||||||
this.signalName = '';
|
this.signalName = '';
|
||||||
@ -204,11 +199,12 @@ export default {
|
|||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
},
|
||||||
clickEvent(row, event, column) {
|
clickEvent(row, event, column) {
|
||||||
this.computedCommitDisabled(row);
|
this.commitDisabled = false;
|
||||||
this.row = row;
|
this.row = row;
|
||||||
if (row) {
|
if (row) {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Signal.guide.choose.operation
|
operation: OperationEvent.Signal.guide.choose.operation,
|
||||||
|
val: row.code
|
||||||
};
|
};
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
@ -219,12 +215,11 @@ export default {
|
|||||||
},
|
},
|
||||||
// 办理引导进路
|
// 办理引导进路
|
||||||
commit() {
|
commit() {
|
||||||
if (this.row && this.row.canSetting) {
|
if (this.row && this.row.code) {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Signal.guide.confirm.operation,
|
operation: OperationEvent.Signal.guide.confirm.operation,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||||
val: this.row.code,
|
|
||||||
param: {
|
param: {
|
||||||
routeCode: this.row.code
|
routeCode: this.row.code
|
||||||
}
|
}
|
||||||
@ -234,7 +229,6 @@ export default {
|
|||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
this.doClose();
|
this.doClose();
|
||||||
} else {
|
} else {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -259,9 +253,6 @@ export default {
|
|||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
});
|
});
|
||||||
},
|
|
||||||
computedCommitDisabled(row) {
|
|
||||||
this.commitDisabled = !row.canSetting;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -193,7 +193,7 @@ export default {
|
|||||||
|
|
||||||
clickEvent(row, event, column) {
|
clickEvent(row, event, column) {
|
||||||
this.highlight = false;
|
this.highlight = false;
|
||||||
if (row && !row.disabled) {
|
if (row && row.code) {
|
||||||
this.highlight = true;
|
this.highlight = true;
|
||||||
this.selection = [row];
|
this.selection = [row];
|
||||||
this.commitDisabled = false;
|
this.commitDisabled = false;
|
||||||
@ -201,7 +201,8 @@ export default {
|
|||||||
this.row = row;
|
this.row = row;
|
||||||
// 设置选中指令
|
// 设置选中指令
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: ''
|
operation: '',
|
||||||
|
val: row.code
|
||||||
};
|
};
|
||||||
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
|
if (this.operation == OperationEvent.Signal.humanControl.menu.operation) {
|
||||||
/** 进路交人工控*/
|
/** 进路交人工控*/
|
||||||
@ -231,9 +232,8 @@ export default {
|
|||||||
humanControl() {
|
humanControl() {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Signal.humanControl.menu.operation,
|
operation: this.operation,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||||
val: this.row.code,
|
|
||||||
param: {
|
param: {
|
||||||
routeCodeList: [this.row.code]
|
routeCodeList: [this.row.code]
|
||||||
}
|
}
|
||||||
@ -255,9 +255,8 @@ export default {
|
|||||||
atsAutoControl() {
|
atsAutoControl() {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Signal.atsAutoControl.menu.operation,
|
operation: this.operation,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||||
val: this.row.code,
|
|
||||||
param: {
|
param: {
|
||||||
routeCodeList: [this.row.code]
|
routeCodeList: [this.row.code]
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,8 @@ export default {
|
|||||||
|
|
||||||
// 设置选中指令
|
// 设置选中指令
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Signal.arrangementRoute.choose.operation
|
operation: OperationEvent.Signal.arrangementRoute.choose.operation,
|
||||||
|
val: row.code
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
@ -262,7 +263,6 @@ export default {
|
|||||||
if (this.row && this.row.canSetting) {
|
if (this.row && this.row.canSetting) {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Signal.arrangementRoute.menu.operation,
|
operation: OperationEvent.Signal.arrangementRoute.menu.operation,
|
||||||
val: this.row.code,
|
|
||||||
param: {
|
param: {
|
||||||
routeCode: this.row.code
|
routeCode: this.row.code
|
||||||
}
|
}
|
||||||
@ -272,7 +272,7 @@ export default {
|
|||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (valid) {
|
if (valid) {
|
||||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_ROUTE;
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
this.$refs.passwordBox.doShow(operate);
|
this.$refs.passwordBox.doShow(operate);
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
@ -287,9 +287,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: data.operation,
|
operation: data.operation,
|
||||||
cmdType: data.cmdType,
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||||
val: data.val,
|
|
||||||
param: data.param
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
@ -95,17 +95,7 @@
|
|||||||
指定列车跳停</el-radio>
|
指定列车跳停</el-radio>
|
||||||
<div style="float: left;">
|
<div style="float: left;">
|
||||||
<span>车组号</span>
|
<span>车组号</span>
|
||||||
<el-input
|
|
||||||
v-if="radio1 != 2"
|
|
||||||
:id="domIdJumpStop"
|
|
||||||
v-model="tripNumber"
|
|
||||||
style="width: 120px; margin-left: 20px;"
|
|
||||||
size="small"
|
|
||||||
:disabled="radio == '01'"
|
|
||||||
@blur="handleTrainNoBlur"
|
|
||||||
/>
|
|
||||||
<el-select
|
<el-select
|
||||||
v-if="radio1 == 2"
|
|
||||||
:id="domIdCancelJumpStop"
|
:id="domIdCancelJumpStop"
|
||||||
v-model="tripNumber"
|
v-model="tripNumber"
|
||||||
style="width: 120px; margin-left: 20px;"
|
style="width: 120px; margin-left: 20px;"
|
||||||
@ -170,10 +160,9 @@
|
|||||||
style="display: block; text-align: left; margin-left: 0; float: left;"
|
style="display: block; text-align: left; margin-left: 0; float: left;"
|
||||||
>
|
>
|
||||||
人工</el-radio>
|
人工</el-radio>
|
||||||
<div style="float: left; margin-left: 20px;">
|
<div v-if="radio2 == 2" style="float: left; margin-left: 20px;">
|
||||||
<span v-if="radio2 == 2">运行等级</span>
|
<span>运行等级</span>
|
||||||
<el-select
|
<el-select
|
||||||
v-if="radio2 == 2"
|
|
||||||
:id="domIdRunLevel"
|
:id="domIdRunLevel"
|
||||||
v-model="trainRunlevel"
|
v-model="trainRunlevel"
|
||||||
style="width: 120px; margin-left: 20px;"
|
style="width: 120px; margin-left: 20px;"
|
||||||
@ -189,6 +178,17 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="radio2 == 1" style="float: left; margin-left: 20px;">
|
||||||
|
<span>停站时间</span>
|
||||||
|
<el-input
|
||||||
|
:id="domIdStopTime"
|
||||||
|
v-model="trainStopTime"
|
||||||
|
style="width: 120px; margin-left: 20px;"
|
||||||
|
size="small"
|
||||||
|
:disabled="radio == '01'"
|
||||||
|
@blur="handleTrainStopTime"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -264,6 +264,7 @@ export default {
|
|||||||
tripNumber: '',
|
tripNumber: '',
|
||||||
effective: '01',
|
effective: '01',
|
||||||
trainRunlevel: 2,
|
trainRunlevel: 2,
|
||||||
|
trainStopTime: 0,
|
||||||
disabledTime: true
|
disabledTime: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -290,9 +291,9 @@ export default {
|
|||||||
return this.dialogShow ? OperationEvent.StationStand.cancelJumpStop.select.domId : '';
|
return this.dialogShow ? OperationEvent.StationStand.cancelJumpStop.select.domId : '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
domIdJumpStop() {
|
// domIdJumpStop() {
|
||||||
return this.dialogShow ? OperationEvent.StationStand.setJumpStop.choose.domId : '';
|
// return this.dialogShow ? OperationEvent.StationStand.setJumpStop.choose.domId : '';
|
||||||
},
|
// },
|
||||||
domIdCancelJumpStop() {
|
domIdCancelJumpStop() {
|
||||||
return this.dialogShow ? OperationEvent.StationStand.cancelJumpStop.choose.domId : '';
|
return this.dialogShow ? OperationEvent.StationStand.cancelJumpStop.choose.domId : '';
|
||||||
},
|
},
|
||||||
@ -319,7 +320,7 @@ export default {
|
|||||||
title() {
|
title() {
|
||||||
if (this.operation == OperationEvent.StationStand.setDetainTrain.menu.operation) {
|
if (this.operation == OperationEvent.StationStand.setDetainTrain.menu.operation) {
|
||||||
return '扣车';
|
return '扣车';
|
||||||
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrain.menu.operation) {
|
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrain.menu.operation || this.operation == OperationEvent.StationStand.cancelDetainTrainAll.menu.operation) {
|
||||||
return '取消扣车';
|
return '取消扣车';
|
||||||
} else if (this.operation == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
} else if (this.operation == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
||||||
return '设置跳停';
|
return '设置跳停';
|
||||||
@ -335,33 +336,34 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
operation(data) {
|
operation(data) {
|
||||||
this.JumpStop = false;
|
if (data != OperationEvent.StationStand.cancelDetainTrainAll.menu.operation) {
|
||||||
this.RunLevel = false;
|
this.JumpStop = false;
|
||||||
this.DetainTrain = false;
|
this.RunLevel = false;
|
||||||
this.radio = '01';
|
this.DetainTrain = false;
|
||||||
this.radio1 = '1';
|
|
||||||
this.radio2 = '1';
|
|
||||||
this.effective = '01';
|
|
||||||
if (data == OperationEvent.StationStand.setDetainTrain.menu.operation) {
|
|
||||||
this.radio1 = '1';
|
|
||||||
this.radio = '01';
|
this.radio = '01';
|
||||||
this.DetainTrain = true;
|
|
||||||
} else if (data == OperationEvent.StationStand.cancelDetainTrain.menu.operation) {
|
|
||||||
this.radio1 = '2';
|
|
||||||
this.radio = '01';
|
|
||||||
this.DetainTrain = true;
|
|
||||||
} else if (data == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
|
||||||
this.JumpStop = true;
|
|
||||||
this.radio1 = '1';
|
this.radio1 = '1';
|
||||||
} else if (data == OperationEvent.StationStand.cancelJumpStop.menu.operation) {
|
|
||||||
this.JumpStop = true;
|
|
||||||
this.radio1 = '2';
|
|
||||||
} else if (data == OperationEvent.StationStand.setStopTime.menu.operation) {
|
|
||||||
this.RunLevel = true;
|
|
||||||
this.radio2 = '1';
|
this.radio2 = '1';
|
||||||
} else if (data == OperationEvent.StationStand.setRunLevel.menu.operation) {
|
if (data == OperationEvent.StationStand.setDetainTrain.menu.operation) {
|
||||||
this.RunLevel = true;
|
this.radio1 = '1';
|
||||||
this.radio2 = '2';
|
this.radio = '01';
|
||||||
|
this.DetainTrain = true;
|
||||||
|
} else if (data == OperationEvent.StationStand.cancelDetainTrain.menu.operation) {
|
||||||
|
this.radio1 = '2';
|
||||||
|
this.radio = '01';
|
||||||
|
this.DetainTrain = true;
|
||||||
|
} else if (data == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
||||||
|
this.JumpStop = true;
|
||||||
|
this.radio1 = '1';
|
||||||
|
} else if (data == OperationEvent.StationStand.cancelJumpStop.menu.operation) {
|
||||||
|
this.JumpStop = true;
|
||||||
|
this.radio1 = '2';
|
||||||
|
} else if (data == OperationEvent.StationStand.setStopTime.menu.operation) {
|
||||||
|
this.RunLevel = true;
|
||||||
|
this.radio2 = '1';
|
||||||
|
} else if (data == OperationEvent.StationStand.setRunLevel.menu.operation) {
|
||||||
|
this.RunLevel = true;
|
||||||
|
this.radio2 = '2';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -390,9 +392,8 @@ export default {
|
|||||||
}
|
}
|
||||||
if (this.operation == OperationEvent.StationStand.setJumpStop.menu.operation || this.operation == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
if (this.operation == OperationEvent.StationStand.setJumpStop.menu.operation || this.operation == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
||||||
this.radio = selected.direction;
|
this.radio = selected.direction;
|
||||||
} else if (this.operation == OperationEvent.StationStand.setStopTime.menu.operation) {
|
|
||||||
this.effective = '01';
|
|
||||||
}
|
}
|
||||||
|
this.effective = '02';
|
||||||
this.radio = '01';
|
this.radio = '01';
|
||||||
this.disabledTime = true;
|
this.disabledTime = true;
|
||||||
this.trainList = this.map.trainList; // 加载列车数据
|
this.trainList = this.map.trainList; // 加载列车数据
|
||||||
@ -407,79 +408,53 @@ export default {
|
|||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
this.operation = '';
|
this.operation = '';
|
||||||
|
this.trainStopTime = 0;
|
||||||
},
|
},
|
||||||
choose(upDown) {
|
choose(upDown) { // 取消扣车 请求code码
|
||||||
// 取消扣车 请求code码
|
const operate = {
|
||||||
|
operation: OperationEvent.StationStand.cancelDetainTrain.choose.operation,
|
||||||
|
val: this.radio
|
||||||
|
};
|
||||||
|
if (this.radio == '02' || this.radio == '03') {
|
||||||
|
this.operation = OperationEvent.StationStand.cancelDetainTrainAll.menu.operation;
|
||||||
|
} else {
|
||||||
|
this.operation = OperationEvent.StationStand.cancelDetainTrain.menu.operation;
|
||||||
|
}
|
||||||
|
this.handleBreak(operate);
|
||||||
|
},
|
||||||
|
trainNoSelectChange(upDown) { // 跳停 选择车组号
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.StationStand.cancelDetainTrain.choose.operation
|
operation: OperationEvent.StationStand.cancelDetainTrain.choose.operation
|
||||||
};
|
};
|
||||||
|
this.handleBreak(operate);
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
handleTrainNoBlur() { // 设置跳停 填写车组号
|
|
||||||
const operate = {
|
|
||||||
operation: OperationEvent.StationStand.cancelDetainTrain.choose.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
trainNoSelectChange(upDown) { // 取消跳停 选择车组号
|
|
||||||
const operate = {
|
|
||||||
operation: OperationEvent.StationStand.cancelDetainTrain.choose.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
chooseJumpStop(upDown) {
|
chooseJumpStop(upDown) {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: ''
|
operation: ''
|
||||||
};
|
};
|
||||||
if (this.radio == '02') {
|
|
||||||
this.tripNumber = '';
|
|
||||||
}
|
|
||||||
if (this.radio1 == '1') { // 跳停选择
|
if (this.radio1 == '1') { // 跳停选择
|
||||||
operate.operation = OperationEvent.StationStand.setJumpStop.select.operation;
|
operate.operation = OperationEvent.StationStand.setJumpStop.select.operation;
|
||||||
} else { // 取消跳停选择
|
} else { // 取消跳停选择
|
||||||
operate.operation = OperationEvent.StationStand.cancelJumpStop.select.operation;
|
operate.operation = OperationEvent.StationStand.cancelJumpStop.select.operation;
|
||||||
}
|
}
|
||||||
|
this.handleBreak(operate);
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
chooseEffective(effective) {
|
chooseEffective(effective) {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: ''
|
operation: '',
|
||||||
|
val: effective
|
||||||
};
|
};
|
||||||
if (this.radio2 == '1') { // 设置停站时间
|
if (this.radio2 == '1') { // 设置停站时间
|
||||||
operate.operation = OperationEvent.StationStand.setStopTime.choose2.operation;
|
operate.operation = OperationEvent.StationStand.setStopTime.choose2.operation;
|
||||||
} else { // 设置站间运行等级
|
} else { // 设置站间运行等级
|
||||||
operate.operation = OperationEvent.StationStand.setRunLevel.choose2.operation;
|
operate.operation = OperationEvent.StationStand.setRunLevel.choose2.operation;
|
||||||
}
|
}
|
||||||
|
this.handleBreak(operate);
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
chooseStopTime(upDown) {
|
chooseStopTime(upDown) {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: ''
|
operation: '',
|
||||||
|
val: this.radio
|
||||||
};
|
};
|
||||||
if (this.radio2 == '1') { // 设置停站时间
|
if (this.radio2 == '1') { // 设置停站时间
|
||||||
operate.operation = OperationEvent.StationStand.setStopTime.choose1.operation;
|
operate.operation = OperationEvent.StationStand.setStopTime.choose1.operation;
|
||||||
@ -489,25 +464,12 @@ export default {
|
|||||||
if (this.radio === '01') {
|
if (this.radio === '01') {
|
||||||
this.disabledTime = true;
|
this.disabledTime = true;
|
||||||
this.trainRunlevel = 2;
|
this.trainRunlevel = 2;
|
||||||
|
this.effective = '02';
|
||||||
} else {
|
} else {
|
||||||
this.disabledTime = false;
|
this.disabledTime = false;
|
||||||
|
this.effective = '01';
|
||||||
}
|
}
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.handleBreak(operate);
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
stopTimeBlur() {
|
|
||||||
const operate = {
|
|
||||||
operation: OperationEvent.StationStand.setStopTime.input.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
trainNoSelectLevel(upDown) {
|
trainNoSelectLevel(upDown) {
|
||||||
const operate = {
|
const operate = {
|
||||||
@ -517,17 +479,24 @@ export default {
|
|||||||
standRunLevel: `${upDown}`
|
standRunLevel: `${upDown}`
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
this.handleBreak(operate);
|
||||||
|
},
|
||||||
|
handleTrainStopTime() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.StationStand.setStopTime.input.operation,
|
||||||
|
val: `${this.trainStopTime}`
|
||||||
|
};
|
||||||
|
this.handleBreak(operate);
|
||||||
|
},
|
||||||
|
handleBreak(operate) { // 断点记录
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
if (valid) {
|
valid && this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
if (this.operation == OperationEvent.StationStand.setDetainTrain.menu.operation) {
|
if (this.operation == OperationEvent.StationStand.setDetainTrain.menu.operation) {
|
||||||
this.setDetainTrain(); /** 设置扣车*/
|
this.setDetainTrain(); /** 设置扣车*/
|
||||||
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrain.menu.operation) {
|
} else if (this.operation == OperationEvent.StationStand.cancelDetainTrain.menu.operation || this.operation == OperationEvent.StationStand.cancelDetainTrainAll.menu.operation) {
|
||||||
this.cancelDetainTrain(); /** 取消扣车*/
|
this.cancelDetainTrain(); /** 取消扣车*/
|
||||||
} else if (this.operation == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
} else if (this.operation == OperationEvent.StationStand.setJumpStop.menu.operation) {
|
||||||
this.setJumpStop(); /** 设置跳停*/
|
this.setJumpStop(); /** 设置跳停*/
|
||||||
@ -554,30 +523,22 @@ export default {
|
|||||||
if (!valid) {
|
if (!valid) {
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
this.$refs.noticeInfo.doShow(operate);
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow(operate, [error.message]);
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消扣车
|
// 取消扣车
|
||||||
cancelDetainTrain() {
|
cancelDetainTrain() {
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation,
|
operation: this.operation,
|
||||||
cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
|
cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
|
||||||
val: `${this.radio}`,
|
|
||||||
param: {
|
param: {
|
||||||
standAllLine: `${this.radio}`
|
standAllLine: `${this.radio}`
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
if (this.radio == '02') {
|
|
||||||
operate.operation = OperationEvent.StationStand.cancelDetainTrainAll.menu.operation;
|
|
||||||
operate['val'] = '02';
|
|
||||||
} else if (this.radio == '03') {
|
|
||||||
operate.operation = OperationEvent.StationStand.cancelDetainTrainAll.menu.operation;
|
|
||||||
operate['val'] = '01';
|
|
||||||
}
|
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
@ -586,10 +547,10 @@ export default {
|
|||||||
if (!valid) {
|
if (!valid) {
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
this.$refs.noticeInfo.doShow(operate);
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow(operate, [error.message]);
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 设置跳停
|
// 设置跳停
|
||||||
@ -609,10 +570,10 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow(operate, [error.message]);
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消跳停
|
// 取消跳停
|
||||||
@ -632,22 +593,21 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow(operate, [error.message]);
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 设置停站时间
|
// 设置停站时间
|
||||||
setStopTime() {
|
setStopTime() {
|
||||||
const forver = this.effective == '01';
|
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.StationStand.setStopTime.menu.operation,
|
operation: OperationEvent.StationStand.setStopTime.menu.operation,
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME,
|
||||||
param: {
|
param: {
|
||||||
parkingTime: this.radio == '01' ? -1 : 1,
|
parkingTime: this.radio == '01' ? -1 : this.trainStopTime,
|
||||||
parkingAlwaysValid: forver
|
parkingAlwaysValid: `${this.effective != '01'}`
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -657,30 +617,21 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow(operate, [error.message]);
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 设置运行速度
|
// 设置运行速度
|
||||||
setRunLevel() {
|
setRunLevel() {
|
||||||
|
|
||||||
const forver = this.effective == '01';
|
|
||||||
// let val = this.radio;
|
|
||||||
// if (this.radio == '02') {
|
|
||||||
// val = `${this.radio}::${this.trainRunlevel}::${forver}`;
|
|
||||||
// } else {
|
|
||||||
// val = `${this.radio}::01::${forver}`;
|
|
||||||
// }
|
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.StationStand.setRunLevel.menu.operation,
|
operation: OperationEvent.StationStand.setRunLevel.menu.operation,
|
||||||
cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME,
|
cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME,
|
||||||
param: {
|
param: {
|
||||||
// standStopControl: `${this.radio}`,
|
|
||||||
runLevelTime: this.radio === '02' ? this.trainRunlevel : 2,
|
runLevelTime: this.radio === '02' ? this.trainRunlevel : 2,
|
||||||
runLevelTimeForever: forver
|
runLevelTimeForever: `${this.effective != '01'}`
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -690,10 +641,10 @@ export default {
|
|||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch(() => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$refs.noticeInfo.doShow(operate, [error.message]);
|
this.$refs.noticeInfo.doShow();
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
@ -713,8 +664,13 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style lang="scss" scoped>
|
||||||
.stand-detain-train .context {
|
.stand-detain-train .context {
|
||||||
height: 80px !important;
|
height: 80px !important;
|
||||||
}
|
}
|
||||||
|
/deep/ {
|
||||||
|
.el-input--mini .el-input__icon{
|
||||||
|
line-height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -727,7 +727,7 @@ export default {
|
|||||||
initMenu(menu) {
|
initMenu(menu) {
|
||||||
this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[State2SimulationMap[this.$store.state.training.prdType]], this.$store.state.training.operatemode);
|
this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[State2SimulationMap[this.$store.state.training.prdType]], this.$store.state.training.operatemode);
|
||||||
if (this.menu.length) {
|
if (this.menu.length) {
|
||||||
this.menu[2].children = this.initStationList();
|
this.menu[3].children = this.initStationList();
|
||||||
this.clickEvent();
|
this.clickEvent();
|
||||||
this.closeMenu(true);
|
this.closeMenu(true);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="isShowBtn" class="menu" style="height: 45px;" :style="{left: point.x+'px', top: point.y+'px' }">
|
<div v-if="isShowBtn" id="menuButtons_box" class="menu" style="height: 45px;" :style="{left: point.x+'px', top: point.y+'px' }">
|
||||||
<button :id="Signal.arrangementRoute.button.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown(Signal.arrangementRoute.button.operation, ['Signal'])">
|
<button :id="Signal.arrangementRoute.button.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown(Signal.arrangementRoute.button.operation, ['Signal'])">
|
||||||
<span style="color: black">
|
<span style="color: black">
|
||||||
<center><b>排</b><b>列</b></center>
|
<center><b>排</b><b>列</b></center>
|
||||||
@ -73,7 +73,7 @@
|
|||||||
<center><b>封</b></center>
|
<center><b>封</b></center>
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button :id="MixinCommand.functionButton.button.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown(MixinCommand.functionButton.button.operation, ['StationStand', 'AutoTurnBack', 'AutomaticRoute'])">
|
<button :id="MixinCommand.functionButton.button.domId" class="button_box" :style="{width: width+'px', backgroundColor:buttonUpColor}" @click="buttonDown(MixinCommand.functionButton.button.operation, ['StationStand', 'AutoTurnBack', 'AutomaticRoute', 'Station'])">
|
||||||
<span style="color: black">
|
<span style="color: black">
|
||||||
<center>
|
<center>
|
||||||
<b style="color:#4B4B99">功</b>
|
<b style="color:#4B4B99">功</b>
|
||||||
@ -275,7 +275,6 @@ export default {
|
|||||||
this.deviceList = [];
|
this.deviceList = [];
|
||||||
if (operation != this.Command.cancel.clearMbm.operation) {
|
if (operation != this.Command.cancel.clearMbm.operation) {
|
||||||
const operate = {
|
const operate = {
|
||||||
type: 'mbm',
|
|
||||||
operation: operation
|
operation: operation
|
||||||
};
|
};
|
||||||
const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation, this.Switch.unlock.button.operation, this.MixinCommand.unblock.button.operation, this.Station.guideLock.button.operation];
|
const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation, this.Switch.unlock.button.operation, this.MixinCommand.unblock.button.operation, this.Station.guideLock.button.operation];
|
||||||
@ -374,6 +373,21 @@ export default {
|
|||||||
const route = this.routeData[model.automaticRouteCode];
|
const route = this.routeData[model.automaticRouteCode];
|
||||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_CI_AUTO;
|
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_CI_AUTO;
|
||||||
operate.param = {signalCode: route.startSignalCode};
|
operate.param = {signalCode: route.startSignalCode};
|
||||||
|
} else if (model._type === 'Station') {
|
||||||
|
switch (subType) {
|
||||||
|
case 'substation':
|
||||||
|
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL;
|
||||||
|
operate.param = {stationCodes: [model.code]};
|
||||||
|
break;
|
||||||
|
case 'center':
|
||||||
|
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL;
|
||||||
|
operate.param = {stationCodes: [model.code]};
|
||||||
|
break;
|
||||||
|
case 'emergency':
|
||||||
|
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL;
|
||||||
|
operate.param = {stationCodes: [model.code]};
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid, response }) => {}).catch((error) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid, response }) => {}).catch((error) => {
|
||||||
this.deviceList = [];
|
this.deviceList = [];
|
||||||
@ -576,33 +590,47 @@ export default {
|
|||||||
const model = this.$store.state.menuOperation.selected; // 选择设备
|
const model = this.$store.state.menuOperation.selected; // 选择设备
|
||||||
const subType = this.$store.state.menuOperation.subType; // 选择设备的子元素
|
const subType = this.$store.state.menuOperation.subType; // 选择设备的子元素
|
||||||
const switchOperation = [this.Switch.lock.button.operation, this.Switch.unlock.button.operation, this.Switch.locate.button.operation, this.Switch.reverse.button.operation];
|
const switchOperation = [this.Switch.lock.button.operation, this.Switch.unlock.button.operation, this.Switch.locate.button.operation, this.Switch.reverse.button.operation];
|
||||||
if (buttonOperation && this.commandTypeList.includes(model._type)) {
|
|
||||||
this.deviceList.push(model);
|
if (buttonOperation && buttonOperation === this.MixinCommand.functionButton.button.operation) {
|
||||||
if (buttonOperation === this.Signal.arrangementRoute.button.operation) {
|
this.handelFunctionButton(model, subType);
|
||||||
this.arrangementRouteOperation(this.deviceList);
|
} else {
|
||||||
} else if (buttonOperation === this.MixinCommand.functionButton.button.operation) {
|
const station = this.$store.getters['map/getDeviceByCode'](model.stationCode);
|
||||||
this.handelFunctionButton(model, subType);
|
if (station) {
|
||||||
} else if (buttonOperation === this.MixinCommand.totalCancel.button.operation) {
|
if (station.controlMode == 'Local' || station.controlMode == 'Emergency') {
|
||||||
this.handelTotalCancel(model, subType);
|
if (buttonOperation && this.commandTypeList.includes(model._type)) {
|
||||||
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation) {
|
this.deviceList.push(model);
|
||||||
this.handleTotalHumanSolution(model);
|
if (buttonOperation === this.Signal.arrangementRoute.button.operation) {
|
||||||
} else if (buttonOperation === this.Signal.guide.button.operation) {
|
this.arrangementRouteOperation(this.deviceList);
|
||||||
this.handleGuideRoute(this.deviceList);
|
} else if (buttonOperation === this.MixinCommand.totalCancel.button.operation) {
|
||||||
} else if (buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) {
|
this.handelTotalCancel(model, subType);
|
||||||
this.handelControlRoute(model);
|
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation) {
|
||||||
} else if (switchOperation.includes(buttonOperation)) {
|
this.handleTotalHumanSolution(model);
|
||||||
this.handelSwitchOperate(model);
|
} else if (buttonOperation === this.Signal.guide.button.operation) {
|
||||||
} else if (buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) {
|
this.handleGuideRoute(this.deviceList);
|
||||||
this.handelBlockOrUnblock(model);
|
} else if (buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) {
|
||||||
} else if (buttonOperation === this.Station.guideLock.button.operation) {
|
this.handelControlRoute(model);
|
||||||
this.handelGuideLock(model);
|
} else if (switchOperation.includes(buttonOperation)) {
|
||||||
|
this.handelSwitchOperate(model);
|
||||||
|
} else if (buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) {
|
||||||
|
this.handelBlockOrUnblock(model);
|
||||||
|
} else if (buttonOperation === this.Station.guideLock.button.operation) {
|
||||||
|
this.handelGuideLock(model);
|
||||||
|
} else {
|
||||||
|
Handler.clear(); // 清空操作组
|
||||||
|
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Handler.clear(); // 清空操作组
|
||||||
|
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Handler.clear(); // 清空操作组
|
||||||
|
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Handler.clear(); // 清空操作组
|
Handler.clear(); // 清空操作组
|
||||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
Handler.clear(); // 清空操作组
|
|
||||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" />
|
<pop-menu ref="popMenu" :menu="menu" />
|
||||||
<route-selection ref="routeSelection" />
|
<route-selection ref="routeSelection" />
|
||||||
<route-control ref="routeControl" :pop-class="'chengdou-03__systerm'" />
|
<route-control ref="routeControl" pop-class="chengdou-03__systerm" />
|
||||||
<route-detail ref="routeDetail" />
|
<route-detail ref="routeDetail" />
|
||||||
<route-guide ref="routeGuide" />
|
<route-guide ref="routeGuide" />
|
||||||
<route-hand-control ref="routeHandControl" />
|
<route-hand-control ref="routeHandControl" />
|
||||||
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
|
||||||
<password-box ref="passwordBox" pop-class="'chengdou-03__systerm'" @checkOver="passWordCommit" />
|
<password-box ref="passwordBox" pop-class="chengdou-03__systerm" @checkOver="passWordCommit" />
|
||||||
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -55,41 +55,41 @@ export default {
|
|||||||
menu: [],
|
menu: [],
|
||||||
menuNormal: {
|
menuNormal: {
|
||||||
Local: [
|
Local: [
|
||||||
{
|
// {
|
||||||
label: '办理进路',
|
// label: '办理进路',
|
||||||
handler: this.arrangementRoute,
|
// handler: this.arrangementRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
// cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
label: '办理引导进路',
|
// label: '办理引导进路',
|
||||||
handler: this.guide,
|
// handler: this.guide,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
// cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
label: '取消进路',
|
// label: '取消进路',
|
||||||
handler: this.cancelTrainRoute,
|
// handler: this.cancelTrainRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
// cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
label: '总人解', // 取消引导进路
|
// label: '总人解', // 取消引导进路
|
||||||
handler: this.humanTrainRoute,
|
// handler: this.humanTrainRoute,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
// cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
label: '进路收人工控',
|
// label: '进路收人工控',
|
||||||
handler: this.humanControl,
|
// handler: this.humanControl,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
// cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
label: '进路交自动控',
|
// label: '进路交自动控',
|
||||||
handler: this.atsAutoControl,
|
// handler: this.atsAutoControl,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
// cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
label: '进路信息',
|
// label: '进路信息',
|
||||||
handler: this.detail,
|
// handler: this.detail,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
// cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||||
}
|
// }
|
||||||
],
|
],
|
||||||
Center: [
|
Center: [
|
||||||
{
|
{
|
||||||
@ -277,7 +277,6 @@ export default {
|
|||||||
start: true,
|
start: true,
|
||||||
code: `${this.selected.code}`,
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Signal.guide.menu.operation,
|
operation: OperationEvent.Signal.guide.menu.operation,
|
||||||
operateNext: OperationEvent.Signal.guide.confirm.operation,
|
|
||||||
param: {
|
param: {
|
||||||
signalCode: `${this.selected.code}`
|
signalCode: `${this.selected.code}`
|
||||||
}
|
}
|
||||||
@ -291,7 +290,7 @@ export default {
|
|||||||
routes.push(elem);
|
routes.push(elem);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.$refs.passwordBox.doShow({step: step, selected: this.selected, routesList: routes});
|
this.$refs.passwordBox.doShow({...step, ...{selected: this.selected}, ...{routesList: routes}});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -325,7 +324,7 @@ export default {
|
|||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$refs.passwordBox.doShow({step: step, selected: this.selected});
|
this.$refs.passwordBox.doShow({...step, ...{selected: this.selected}});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -452,11 +451,20 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
passWordCommit(data) {
|
passWordCommit(data) {
|
||||||
if (data.step.operation === OperationEvent.Signal.guide.menu.operation) {
|
const step = {
|
||||||
this.$refs.routeGuide.doShow(data.step.operation, data.selected, data.routesList);
|
operation: data.operation
|
||||||
} else if (data.step.operation === OperationEvent.Signal.humanTrainRoute.menu.operation) {
|
};
|
||||||
this.$refs.routeControl.doShow(data.step, data.selected);
|
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||||
}
|
if (valid) {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (data.operation === OperationEvent.Signal.guide.menu.operation) {
|
||||||
|
this.$refs.routeGuide.doShow(data, data.selected, data.routesList);
|
||||||
|
} else if (data.operation === OperationEvent.Signal.humanTrainRoute.menu.operation) {
|
||||||
|
this.$refs.routeControl.doShow(data, data.selected);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -172,6 +172,7 @@ export default {
|
|||||||
lock() {
|
lock() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.lock.menu.operation,
|
operation: OperationEvent.Switch.lock.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -188,6 +189,7 @@ export default {
|
|||||||
unlock() {
|
unlock() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.unlock.menu.operation,
|
operation: OperationEvent.Switch.unlock.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -204,6 +206,7 @@ export default {
|
|||||||
block() {
|
block() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.block.menu.operation,
|
operation: OperationEvent.Switch.block.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -220,6 +223,7 @@ export default {
|
|||||||
unblock() {
|
unblock() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.unblock.menu.operation,
|
operation: OperationEvent.Switch.unblock.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -236,6 +240,7 @@ export default {
|
|||||||
fault() {
|
fault() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.fault.menu.operation,
|
operation: OperationEvent.Switch.fault.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -252,6 +257,7 @@ export default {
|
|||||||
active() {
|
active() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.active.menu.operation,
|
operation: OperationEvent.Switch.active.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -268,6 +274,7 @@ export default {
|
|||||||
locate() {
|
locate() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.locate.menu.operation,
|
operation: OperationEvent.Switch.locate.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
@ -284,6 +291,7 @@ export default {
|
|||||||
reverse() {
|
reverse() {
|
||||||
const operate = {
|
const operate = {
|
||||||
start: true,
|
start: true,
|
||||||
|
code: `${this.selected.code}`,
|
||||||
operation: OperationEvent.Switch.reverse.menu.operation,
|
operation: OperationEvent.Switch.reverse.menu.operation,
|
||||||
param: {
|
param: {
|
||||||
switchCode: this.selected.code
|
switchCode: this.selected.code
|
||||||
|
@ -1,208 +1,215 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="chengdou-03__systerm alarm-detail" :title="level+'级告警详细信息'" :visible.sync="show" width="760px"
|
<el-dialog
|
||||||
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
v-dialogDrag
|
||||||
<el-form label-width="80px" size="mini">
|
class="chengdou-03__systerm alarm-detail"
|
||||||
<el-row>
|
:title="level+'级告警详细信息'"
|
||||||
<el-col :span="8">
|
:visible.sync="show"
|
||||||
<el-form-item label="线路名称">
|
width="760px"
|
||||||
<el-input v-model="model.lineName" disabled></el-input>
|
:before-close="doClose"
|
||||||
</el-form-item>
|
:z-index="2000"
|
||||||
</el-col>
|
:modal="false"
|
||||||
<el-col :span="8">
|
:close-on-click-modal="false"
|
||||||
<el-form-item label="单位名称">
|
>
|
||||||
<el-input v-model="model.unitName" disabled></el-input>
|
<el-form label-width="80px" size="mini">
|
||||||
</el-form-item>
|
<el-row>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
<el-col :span="8">
|
<el-form-item label="线路名称">
|
||||||
<el-form-item label="模块名称">
|
<el-input v-model="model.lineName" disabled />
|
||||||
<el-input v-model="model.moduleName" disabled></el-input>
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="8">
|
||||||
</el-row>
|
<el-form-item label="单位名称">
|
||||||
<el-row>
|
<el-input v-model="model.unitName" disabled />
|
||||||
<el-col :span="9">
|
</el-form-item>
|
||||||
<el-form-item label="报警时间">
|
</el-col>
|
||||||
<el-date-picker v-model="model.alarmDate" type="datetime" placeholder="选择日期时间" disabled>
|
<el-col :span="8">
|
||||||
</el-date-picker>
|
<el-form-item label="模块名称">
|
||||||
</el-form-item>
|
<el-input v-model="model.moduleName" disabled />
|
||||||
</el-col>
|
</el-form-item>
|
||||||
<el-col :span="7">
|
</el-col>
|
||||||
<el-form-item>
|
</el-row>
|
||||||
<span slot="label">等 级</span>
|
<el-row>
|
||||||
<el-input v-model="model.level" disabled></el-input>
|
<el-col :span="9">
|
||||||
</el-form-item>
|
<el-form-item label="报警时间">
|
||||||
</el-col>
|
<el-date-picker v-model="model.alarmDate" type="datetime" placeholder="选择日期时间" disabled />
|
||||||
<el-col :span="8">
|
</el-form-item>
|
||||||
<el-form-item label="确认状态">
|
</el-col>
|
||||||
<el-input v-model="model.confirm" disabled></el-input>
|
<el-col :span="7">
|
||||||
</el-form-item>
|
<el-form-item>
|
||||||
</el-col>
|
<span slot="label">等 级</span>
|
||||||
</el-row>
|
<el-input v-model="model.level" disabled />
|
||||||
<el-row>
|
</el-form-item>
|
||||||
<el-col :span="9" class="alarm-type">
|
</el-col>
|
||||||
<el-form-item>
|
<el-col :span="8">
|
||||||
<span slot="label">类  型</span>
|
<el-form-item label="确认状态">
|
||||||
<el-input v-model="model.type" disabled></el-input>
|
<el-input v-model="model.confirm" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="15" class="alarm-child-type">
|
</el-row>
|
||||||
<el-form-item label="子类型">
|
<el-row>
|
||||||
<el-input v-model="model.childType" disabled></el-input>
|
<el-col :span="9" class="alarm-type">
|
||||||
</el-form-item>
|
<el-form-item>
|
||||||
</el-col>
|
<span slot="label">类  型</span>
|
||||||
</el-row>
|
<el-input v-model="model.type" disabled />
|
||||||
<el-form-item label="时间摘要">
|
</el-form-item>
|
||||||
<el-input v-model="model.timeSummary" disabled></el-input>
|
</el-col>
|
||||||
</el-form-item>
|
<el-col :span="15" class="alarm-child-type">
|
||||||
<el-form-item label="推荐操作">
|
<el-form-item label="子类型">
|
||||||
<el-input v-model="model.recommendedOperation" disabled></el-input>
|
<el-input v-model="model.childType" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div class="alarm-detail-description">
|
</el-col>
|
||||||
<span> 报警详细描述</span><br>
|
</el-row>
|
||||||
<el-input type="textarea" :rows="5" placeholder="请输入内容" v-model="model.alarmDetail" disabled>
|
<el-form-item label="时间摘要">
|
||||||
</el-input>
|
<el-input v-model="model.timeSummary" disabled />
|
||||||
</div>
|
</el-form-item>
|
||||||
</el-form>
|
<el-form-item label="推荐操作">
|
||||||
<el-row class="button-group">
|
<el-input v-model="model.recommendedOperation" disabled />
|
||||||
<el-col :span="3" :offset="9">
|
</el-form-item>
|
||||||
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确 定</el-button>
|
<div class="alarm-detail-description">
|
||||||
</el-col>
|
<span> 报警详细描述</span><br>
|
||||||
<el-col :span="10">
|
<el-input v-model="model.alarmDetail" type="textarea" :rows="5" placeholder="请输入内容" disabled />
|
||||||
<span style="line-height:26px">未确认{{level}}级报警数目:1</span>
|
</div>
|
||||||
</el-col>
|
</el-form>
|
||||||
</el-row>
|
<el-row class="button-group">
|
||||||
</span>
|
<el-col :span="3" :offset="9">
|
||||||
</el-dialog>
|
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确 定</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="10">
|
||||||
|
<span style="line-height:26px">未确认{{ level }}级报警数目:1</span>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AlarmDetail',
|
name: 'AlarmDetail',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
level: 0,
|
level: 0,
|
||||||
operate: null,
|
operate: null,
|
||||||
controlProps: {
|
controlProps: {
|
||||||
'01': '中控',
|
'01': '中控',
|
||||||
'02': '站控'
|
'02': '站控'
|
||||||
},
|
},
|
||||||
model: {
|
model: {
|
||||||
lineName: '',
|
lineName: '',
|
||||||
unitName: '',
|
unitName: '',
|
||||||
moduleName: '',
|
moduleName: '',
|
||||||
level: '',
|
level: '',
|
||||||
confirm: '',
|
confirm: '',
|
||||||
alarmDate: '',
|
alarmDate: '',
|
||||||
type: '',
|
type: '',
|
||||||
childType: '',
|
childType: '',
|
||||||
timeSummary: '',
|
timeSummary: '',
|
||||||
recommendedOperation: '',
|
recommendedOperation: '',
|
||||||
alarmDetail: ''
|
alarmDetail: ''
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapGetters('map', [
|
||||||
|
'name'
|
||||||
|
]),
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
computed: {
|
domIdCancel() {
|
||||||
...mapGetters('map', [
|
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
|
||||||
'name',
|
}
|
||||||
]),
|
},
|
||||||
show() {
|
watch: {
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
// '$store.state.socket.msgHead': function (elem) {
|
||||||
},
|
// if (elem && elem.hasOwnProperty('success')) {
|
||||||
domIdCancel() {
|
// if (elem.success) {
|
||||||
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
|
// const operate = this.$store.state.training.operate;
|
||||||
},
|
// console.log(elem);
|
||||||
},
|
// elem.stationCodes.forEach(stationCode => {
|
||||||
watch: {
|
// const station = this.$store.getters['map/getDeviceByCode'](elem.stationCodes);
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
// const newOperate = {
|
||||||
if (elem && elem.hasOwnProperty('success')) {
|
// type: operate.type,
|
||||||
if (elem.success) {
|
// name: station.name
|
||||||
let operate = this.$store.state.training.operate;
|
// };
|
||||||
let control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
|
||||||
let station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
|
||||||
let newOperate = {
|
|
||||||
type: operate.type,
|
|
||||||
name: station.name,
|
|
||||||
}
|
|
||||||
|
|
||||||
this.doShow(newOperate);
|
// this.doShow(newOperate);
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
},
|
// }
|
||||||
},
|
// }
|
||||||
mounted() {
|
},
|
||||||
this.$nextTick(() => {
|
mounted() {
|
||||||
this.$store.dispatch('training/tipReload');
|
this.$nextTick(() => {
|
||||||
})
|
this.$store.dispatch('training/tipReload');
|
||||||
},
|
});
|
||||||
methods: {
|
},
|
||||||
doShow(operate) {
|
methods: {
|
||||||
this.operate = operate || {};
|
doShow(operate) {
|
||||||
this.model = {
|
this.operate = operate || {};
|
||||||
lineName: this.name,
|
this.model = {
|
||||||
unitName: this.operate.name,
|
lineName: this.name,
|
||||||
moduleName: 'CMM控制模式转换模式',
|
unitName: this.operate.name,
|
||||||
level: '0级告警',
|
moduleName: 'CMM控制模式转换模式',
|
||||||
confirm: '确认状态',
|
level: '0级告警',
|
||||||
alarmDate: new Date(),
|
confirm: '确认状态',
|
||||||
type: '系统事件',
|
alarmDate: new Date(),
|
||||||
childType: '依据信号设备操作命令设置控制模式',
|
type: '系统事件',
|
||||||
timeSummary: '控制模式摘要',
|
childType: '依据信号设备操作命令设置控制模式',
|
||||||
recommendedOperation: '',
|
timeSummary: '控制模式摘要',
|
||||||
alarmDetail: `控制模式转换:${this.operate.name}由中控转为站控模式!`
|
recommendedOperation: '',
|
||||||
}
|
alarmDetail: `控制模式转换:${this.operate.name}由中控转为站控模式!`
|
||||||
this.dialogShow = true;
|
};
|
||||||
this.$nextTick(function () {
|
this.dialogShow = true;
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$nextTick(function () {
|
||||||
});
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
this.$store.dispatch('socket/shiftMsgQueue');
|
|
||||||
}
|
|
||||||
this.dialogShow = false;
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
});
|
||||||
cancel() {
|
},
|
||||||
let operate = {
|
doClose() {
|
||||||
type: this.operate.type,
|
if (this.dialogShow) {
|
||||||
operation: OperationEvent.Command.close.alarm.operation,
|
this.$store.dispatch('socket/shiftMsgQueue');
|
||||||
}
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
commit() {
|
|
||||||
let operate = {
|
|
||||||
type: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.alarm.operation,
|
|
||||||
}
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
isClose() {
|
|
||||||
return this.dialogShow;
|
|
||||||
}
|
}
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.alarm.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.alarm.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
isClose() {
|
||||||
|
return this.dialogShow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||||
@import "src/styles/mixin.scss";
|
@import "src/styles/mixin.scss";
|
||||||
|
|
||||||
|
|
||||||
.alarm-type .el-input {
|
.alarm-type .el-input {
|
||||||
width: 220px;
|
width: 220px;
|
||||||
}
|
}
|
||||||
|
@ -64,6 +64,7 @@
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
// import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
// import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RequestControl',
|
name: 'RequestControl',
|
||||||
@ -77,26 +78,19 @@ export default {
|
|||||||
disabledRefuse: false,
|
disabledRefuse: false,
|
||||||
requestInfo: '调度员1工作站',
|
requestInfo: '调度员1工作站',
|
||||||
controlProps: {
|
controlProps: {
|
||||||
'01': '中控',
|
'Center': '中控',
|
||||||
'02': '站控'
|
'Local': '站控',
|
||||||
|
'Emergency': '紧急站控'
|
||||||
},
|
},
|
||||||
selection: [],
|
selection: [],
|
||||||
tableData: [],
|
tableData: [],
|
||||||
timer: null,
|
timer: null,
|
||||||
timeout: 61,
|
timeout: 61,
|
||||||
count: 0
|
count: 0,
|
||||||
|
targetStatus: ''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
targetStatus() {
|
|
||||||
if (this.$store.state.training.prdType == '01') {
|
|
||||||
return '01';
|
|
||||||
}
|
|
||||||
if (this.$store.state.training.prdType == '02') {
|
|
||||||
return '02';
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
show() {
|
show() {
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
@ -118,10 +112,8 @@ export default {
|
|||||||
deep: true
|
deep: true
|
||||||
},
|
},
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
'$store.state.socket.msgHead': function (elem) {
|
||||||
if (elem && !elem.hasOwnProperty('success') && !elem.hasOwnProperty('timeout')) {
|
if (elem && elem.hasOwnProperty('success')) {
|
||||||
if (elem.stationControlCode) {
|
this.doShow(elem);
|
||||||
this.doShow(elem);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -164,53 +156,45 @@ export default {
|
|||||||
this.disabledAgree = this.selection.length <= 0;
|
this.disabledAgree = this.selection.length <= 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
updateTableData(code) {
|
updateTableData(data) {
|
||||||
this.tableData = [];
|
this.tableData = [];
|
||||||
|
this.targetStatus = 'Center';
|
||||||
const model = {
|
if (data.operateType == 'CM_Reply_Station_Control') {
|
||||||
code: code,
|
this.targetStatus = 'Local';
|
||||||
operate: '',
|
} else if (data.operateType == 'CM_Emergency_Station_Control') {
|
||||||
control: { code: '', name: '' },
|
this.targetStatus = 'Emergency';
|
||||||
target: { code: '', name: '' },
|
|
||||||
agree: false,
|
|
||||||
disabled: false
|
|
||||||
};
|
|
||||||
|
|
||||||
const device = this.$store.getters['map/getDeviceByCode'](code);
|
|
||||||
if (device) {
|
|
||||||
const control = (device || {}).state;
|
|
||||||
if (control) {
|
|
||||||
model.control = { status: control.status, name: this.controlProps[control.status] };
|
|
||||||
model.target = { status: this.targetStatus, name: this.controlProps[this.targetStatus] };
|
|
||||||
}
|
|
||||||
|
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](device.stationCode);
|
|
||||||
if (station) {
|
|
||||||
model.operate = station.name || '';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
data.stationCodes.forEach(code => {
|
||||||
|
const model = {
|
||||||
|
code: code,
|
||||||
|
operate: '',
|
||||||
|
control: { code: '', name: '' },
|
||||||
|
target: { code: '', name: '' },
|
||||||
|
agree: false,
|
||||||
|
disabled: false
|
||||||
|
};
|
||||||
|
|
||||||
this.tableData.push(model);
|
const station = this.$store.getters['map/getDeviceByCode'](code);
|
||||||
|
if (station) {
|
||||||
|
const control = (station || {}).controlMode;
|
||||||
|
if (control) {
|
||||||
|
model.control = { status: control, name: this.controlProps[control] };
|
||||||
|
model.target = { status: this.targetStatus, name: this.controlProps[this.targetStatus] };
|
||||||
|
}
|
||||||
|
|
||||||
|
if (station) {
|
||||||
|
model.operate = station.name || '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.tableData.push(model);
|
||||||
|
});
|
||||||
},
|
},
|
||||||
doShow(msgHead) {
|
doShow(data) {
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.disabledAgree = true;
|
this.disabledAgree = true;
|
||||||
this.createTimer();
|
this.createTimer();
|
||||||
this.updateTableData(msgHead.stationControlCode);
|
this.updateTableData(data);
|
||||||
|
|
||||||
const operate = {
|
|
||||||
start: true,
|
|
||||||
|
|
||||||
operation: OperationEvent.StationControl.controlResponse.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.disabledAgree = false;
|
this.disabledAgree = false;
|
||||||
@ -253,12 +237,9 @@ export default {
|
|||||||
},
|
},
|
||||||
agree() {
|
agree() {
|
||||||
const operate = {
|
const operate = {
|
||||||
send: true,
|
|
||||||
over: true,
|
over: true,
|
||||||
|
|
||||||
operation: OperationEvent.StationControl.controlResponse.agree.operation,
|
operation: OperationEvent.StationControl.controlResponse.agree.operation,
|
||||||
val: this.selection[0].code,
|
cmdType: CMD.ControlConvertMenu.CMD_CM_REPLY_STATION_CONTROL
|
||||||
prdType: this.$store.state.training.prdType
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.clearTimer();
|
this.clearTimer();
|
||||||
@ -274,12 +255,7 @@ export default {
|
|||||||
},
|
},
|
||||||
refuse() {
|
refuse() {
|
||||||
const operate = {
|
const operate = {
|
||||||
send: true,
|
operation: OperationEvent.StationControl.controlResponse.refuse.operation
|
||||||
over: true,
|
|
||||||
|
|
||||||
operation: OperationEvent.StationControl.controlResponse.refuse.operation,
|
|
||||||
val: this.tableData[0].code,
|
|
||||||
prdType: this.$store.state.training.prdType
|
|
||||||
};
|
};
|
||||||
|
|
||||||
this.clearTimer();
|
this.clearTimer();
|
||||||
|
@ -1,106 +1,114 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog class="chengdou-03__systerm cmd-notice" title="操作命令提示" :visible.sync="show" width="400px" :before-close="doClose"
|
<el-dialog
|
||||||
:zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
|
v-dialogDrag
|
||||||
<span>{{name}},{{msg}}!</span>
|
class="chengdou-03__systerm cmd-notice"
|
||||||
<el-row class="button-group">
|
title="操作命令提示"
|
||||||
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确认</el-button>
|
:visible.sync="show"
|
||||||
</el-row>
|
width="400px"
|
||||||
</el-dialog>
|
:before-close="doClose"
|
||||||
|
:z-index="2000"
|
||||||
|
:modal="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<span>{{ name }},{{ msg }}!</span>
|
||||||
|
<el-row class="button-group">
|
||||||
|
<el-button :id="domIdCancel" type="primary" :loading="loading" @click="commit">确认</el-button>
|
||||||
|
</el-row>
|
||||||
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
export default {
|
export default {
|
||||||
name: 'CmdNotice',
|
name: 'CmdNotice',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
operate: null,
|
operate: null,
|
||||||
name: '',
|
name: '',
|
||||||
msg: ''
|
msg: ''
|
||||||
}
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
computed: {
|
domIdCancel() {
|
||||||
show() {
|
return this.dialogShow ? OperationEvent.Command.close.notice.domId : '';
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
}
|
||||||
},
|
},
|
||||||
domIdCancel() {
|
watch: {
|
||||||
return this.dialogShow ? OperationEvent.Command.close.notice.domId : '';
|
// '$store.state.socket.msgHead': function (elem) {
|
||||||
},
|
// if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
|
||||||
},
|
// let operate = this.$store.state.training.operate;
|
||||||
watch: {
|
// let control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
// let station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
||||||
if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
|
// let newOperate = {
|
||||||
let operate = this.$store.state.training.operate;
|
// type: operate.type,
|
||||||
let control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
// name: station.name,
|
||||||
let station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
// }
|
||||||
let newOperate = {
|
|
||||||
type: operate.type,
|
|
||||||
name: station.name,
|
|
||||||
}
|
|
||||||
|
|
||||||
if (elem.timeout) {
|
// if (elem.timeout) {
|
||||||
newOperate['msg'] = '请求超时';
|
// newOperate['msg'] = '请求超时';
|
||||||
this.doShow(newOperate);
|
// this.doShow(newOperate);
|
||||||
} else if (!elem.success) {
|
// } else if (!elem.success) {
|
||||||
newOperate['msg'] = '请求拒绝';
|
// newOperate['msg'] = '请求拒绝';
|
||||||
this.doShow(newOperate);
|
// this.doShow(newOperate);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$store.dispatch('training/tipReload');
|
this.$store.dispatch('training/tipReload');
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
doShow(operate) {
|
doShow(operate) {
|
||||||
this.operate = operate || {};
|
this.operate = operate || {};
|
||||||
this.name = this.operate.name || '';
|
this.name = this.operate.name || '';
|
||||||
this.msg = this.operate.msg || '';
|
this.msg = this.operate.msg || '';
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.$nextTick(function () {
|
this.$nextTick(function () {
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
});
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
this.$store.dispatch('socket/shiftMsgQueue');
|
|
||||||
}
|
|
||||||
this.dialogShow = false;
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
},
|
});
|
||||||
cancel() {
|
},
|
||||||
let operate = {
|
doClose() {
|
||||||
operation: this.operate.type,
|
if (this.dialogShow) {
|
||||||
operation: OperationEvent.Command.close.notice.operation,
|
this.$store.dispatch('socket/shiftMsgQueue');
|
||||||
}
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
commit() {
|
|
||||||
let operate = {
|
|
||||||
type: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.notice.operation,
|
|
||||||
}
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
isClose() {
|
|
||||||
return this.dialogShow;
|
|
||||||
}
|
}
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
const operate = {
|
||||||
|
type: this.operate.type,
|
||||||
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
isClose() {
|
||||||
|
return this.dialogShow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,90 +1,88 @@
|
|||||||
|
// SECTION 区段
|
||||||
|
// SWITCH 道岔
|
||||||
|
// SIGNAL 信号机
|
||||||
|
// START_SIGNAL 进路起始信号机
|
||||||
|
// END_SIGNAL 进路终端信号机
|
||||||
|
|
||||||
|
// STATION 车站
|
||||||
|
// STAND 站台
|
||||||
|
// ROUTE 进路
|
||||||
|
// CYCLE 自动折返
|
||||||
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
export default {
|
export default {
|
||||||
list: [
|
list: [
|
||||||
// 信号机列表
|
// 信号机列表
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0201',
|
operateType: CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '办理进路({3} 进路)',
|
trainingName: '办理进路({3} 进路)',
|
||||||
trainingRemark: '办理进路功能',
|
trainingRemark: '办理进路功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【办理进路】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【办理进路】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
|
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【执行】按钮' },
|
||||||
|
{ deviceType: '04', orderNum: 4, operateCode: '301', tip: '输入密码123,点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0201',
|
operateType: CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '办理进路({3} 进路)',
|
trainingName: '办理进路({3} 进路)',
|
||||||
trainingRemark: '办理进路功能',
|
trainingRemark: '办理进路功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3010', tip: '鼠标左键点击【{5}】' },
|
{ deviceType: '04', orderNum: 2, operateCode: '3010', tip: '鼠标左键点击【{5}】', codeType:'START_SIGNAL' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '3010', tip: '鼠标左键点击【{5}】', val: '{4}' }
|
{ deviceType: '04', orderNum: 3, operateCode: '3010', tip: '鼠标左键点击【{5}】', codeType:'END_SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0216',
|
operateType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '办理引导进路({3})',
|
trainingName: '办理引导进路({3})',
|
||||||
trainingRemark: '进路办理信号引导',
|
trainingRemark: '进路办理信号引导',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【办理引导进路】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【办理引导进路】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3086', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' }, // 进路编号值不正确
|
{ deviceType: '04', orderNum: 2, operateCode: '308', tip: '输入密码123,点击【确定】按钮' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '308', tip: '鼠标左键点击【确认】按钮' }
|
{ deviceType: '04', orderNum: 3, operateCode: '3086', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
|
||||||
|
{ deviceType: '04', orderNum: 4, operateCode: '3082', tip: '鼠标左键点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0216',
|
operateType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '引导进路({3})[进路未锁闭]',
|
trainingName: '引导进路({3})[进路未锁闭]',
|
||||||
trainingRemark: '进路办理信号引导',
|
trainingRemark: '进路办理信号引导',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3080', tip: '鼠标左键点击【引导进路】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3080', tip: '鼠标左键点击【引导进路】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3080', tip: '鼠标左键点击【{5}】'}, // 进路编号值不正确
|
{ deviceType: '04', orderNum: 2, operateCode: '3080', tip: '鼠标左键点击【{5}】', codeType:'START_SIGNAL'}, // 进路编号值不正确
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '0011', tip: '输入密码123,点击【确定】按钮' },
|
{ deviceType: '04', orderNum: 3, operateCode: '3080', tip: '输入密码123,点击【确定】按钮' },
|
||||||
{ deviceType: '04', orderNum: 4, operateCode: '3080', tip: '鼠标左键点击【{5}】', val: '{4}' }
|
{ deviceType: '04', orderNum: 4, operateCode: '3080', tip: '鼠标左键点击【{5}】', codeType:'END_SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '待定',
|
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
|
||||||
skinCode: '04',
|
|
||||||
trainingName: '引导进路({3})[进路锁闭]',
|
|
||||||
trainingRemark: '进路办理信号引导',
|
|
||||||
trainingType: '02',
|
|
||||||
productTypes: ['01'],
|
|
||||||
stepVOList: [
|
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3080', tip: '鼠标左键点击【引导进路】' },
|
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3080', tip: '鼠标左键点击【{5}】', val: '{4}' }, // 进路编号值不正确
|
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '0011', tip: '输入密码123,点击【确定】按钮' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
maxDuration: 15,
|
|
||||||
minDuration: 8,
|
|
||||||
operateType: '0202',
|
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '取消进路({3} 进路)',
|
trainingName: '取消进路({3} 进路)',
|
||||||
trainingRemark: '取消进路功能',
|
trainingRemark: '取消进路功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
|
||||||
@ -94,26 +92,26 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0202',
|
operateType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '总取消({3} 进路)',
|
trainingName: '总取消({3} 进路)',
|
||||||
trainingRemark: '总取消功能',
|
trainingRemark: '总取消功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3030', tip: '鼠标左键点击【总取消】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3030', tip: '鼠标左键点击【总取消】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3051', tip: '输入密码123,点击【确定】按钮' },
|
{ deviceType: '04', orderNum: 2, operateCode: '3030', tip: '输入密码123,点击【确定】按钮' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '3030', tip: '鼠标左键点击【{5}】按钮', val: '{6}' }
|
{ deviceType: '04', orderNum: 3, operateCode: '3030', tip: '鼠标左键点击【{5}】按钮', codeType:'SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{ // 不生成实训
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0215', // 新增数据字典code
|
operateType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '总人解({3})',
|
trainingName: '总人解({3})',
|
||||||
trainingRemark: '总人解',
|
trainingRemark: '总人解',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '305', tip: '鼠标右键菜单选择【总人解】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '305', tip: '鼠标右键菜单选择【总人解】' },
|
||||||
@ -121,14 +119,14 @@ export default {
|
|||||||
{ deviceType: '04', orderNum: 3, operateCode: '3051', tip: '输入密码123456,点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 3, operateCode: '3051', tip: '输入密码123456,点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{ // 不生成实训
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0215', // 新增数据字典code
|
operateType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '总人解({3})',
|
trainingName: '总人解({3})',
|
||||||
trainingRemark: '总人解',
|
trainingRemark: '总人解',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3050', tip: '鼠标左键点击【总人解】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3050', tip: '鼠标左键点击【总人解】' },
|
||||||
@ -139,98 +137,98 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 8,
|
maxDuration: 8,
|
||||||
minDuration: 5,
|
minDuration: 5,
|
||||||
operateType: '0206',
|
operateType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '信号重开({3} 进路)',
|
trainingName: '信号重开({3} 进路)',
|
||||||
trainingRemark: '信号重开功能',
|
trainingRemark: '信号重开功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】', val: '{6}' },
|
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 8,
|
maxDuration: 8,
|
||||||
minDuration: 5,
|
minDuration: 5,
|
||||||
operateType: '0206',
|
operateType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '信号重开({3} 进路)',
|
trainingName: '信号重开({3} 进路)',
|
||||||
trainingRemark: '信号重开功能',
|
trainingRemark: '信号重开功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【{5}】', val: '{6}' }
|
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0203',
|
operateType: CMD.Signal.CMD_SIGNAL_BLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '信号封锁({5})',
|
trainingName: '信号封锁({5})',
|
||||||
trainingRemark: '信号封闭',
|
trainingRemark: '信号封锁',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封锁】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '3061', tip: '输入密码123,点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 3, operateCode: '306', tip: '输入密码123,点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0203',
|
operateType: CMD.Signal.CMD_SIGNAL_BLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '信号封锁({5})',
|
trainingName: '信号封锁({5})',
|
||||||
trainingRemark: '信号封锁功能',
|
trainingRemark: '信号封锁功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '2991', tip: '鼠标左键菜单选择【封锁】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '2991', tip: '鼠标左键菜单选择【封锁】' },
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '2991', tip: '鼠标左键点击【{5}】', val: '{6}' }
|
{ deviceType: '04', orderNum: 1, operateCode: '2991', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0204',
|
operateType: CMD.Signal.CMD_SIGNAL_UNBLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '信号解封({5})',
|
trainingName: '信号解封({5})',
|
||||||
trainingRemark: '信号解封',
|
trainingRemark: '信号解封',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '307', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '04', orderNum: 2, operateCode: '307', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '3072', tip: '输入密码123,点击【确认】按钮' }
|
{ deviceType: '04', orderNum: 3, operateCode: '307', tip: '输入密码123,点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0204',
|
operateType: CMD.Signal.CMD_SIGNAL_UNBLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '信号解封({5})',
|
trainingName: '信号解封({5})',
|
||||||
trainingRemark: '信号解封功能',
|
trainingRemark: '信号解封功能',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '2992', tip: '鼠标左键菜单选择【解封】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '2992', tip: '鼠标左键菜单选择【解封】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '0011', tip: '输入密码123,点击【确认】按钮' },
|
{ deviceType: '04', orderNum: 2, operateCode: '2992', tip: '输入密码123,点击【确认】按钮' },
|
||||||
{ deviceType: '04', orderNum: 3, operateCode: '2992', tip: '鼠标左键点击【{5}】', val: '{6}' }
|
{ deviceType: '04', orderNum: 3, operateCode: '2992', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0209',
|
operateType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '进路收人工控({5})',
|
trainingName: '进路收人工控({5})',
|
||||||
trainingRemark: '进路收人工控',
|
trainingRemark: '进路收人工控',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路收人工控】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路收人工控】' },
|
||||||
@ -241,25 +239,25 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0209',
|
operateType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '人工控({5})',
|
trainingName: '人工控({5})',
|
||||||
trainingRemark: '人工控',
|
trainingRemark: '人工控',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '3140', tip: '鼠标左键点击【人工控】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3140', tip: '鼠标左键点击【人工控】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3140', tip: '鼠标左键点击【{3}】', val: '{6}' }
|
{ deviceType: '04', orderNum: 2, operateCode: '3140', tip: '鼠标左键点击【{3}】', codeType:'SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0208',
|
operateType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '进路交自动控({5})',
|
trainingName: '进路交自动控({5})',
|
||||||
trainingRemark: '进路交自动控',
|
trainingRemark: '进路交自动控',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
|
||||||
@ -270,259 +268,258 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0208',
|
operateType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '自动控({5})',
|
trainingName: '自动控({5})',
|
||||||
trainingRemark: '自动控',
|
trainingRemark: '自动控',
|
||||||
trainingType: '02',
|
trainingType: 'Signal',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: 'mbm', orderNum: 1, operateCode: '3150', tip: '鼠标左键点击【自动控】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '3150', tip: '鼠标左键点击【自动控】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '3150', tip: '鼠标左键点击【{3}】', val: '{6}' }
|
{ deviceType: '04', orderNum: 2, operateCode: '3150', tip: '鼠标左键点击【{3}】', codeType:'SIGNAL' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{ // 未生成实训
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0210',
|
operateType:CMD.Signal.CMD_SIGNAL_DETAIL.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '查询进路信息({5})',
|
trainingName: '查询进路信息({5} 信号机)',
|
||||||
trainingRemark: '查询进路信息',
|
trainingRemark: '查询进路信息',
|
||||||
trainingType: '02',
|
trainingType:'Signal',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【进路信息】' },
|
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【进路信息】' },
|
||||||
{ deviceType: '04', orderNum: 2, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// 道岔列表
|
// 道岔列表
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0312', // 0312 新增定位字典
|
operateType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION.value, // 0312 新增定位字典
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '单操到定位({7})',
|
trainingName: '单操到定位({7})',
|
||||||
trainingRemark: '单操到定位({15})',
|
trainingRemark: '单操到定位({15})',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标右键菜单选择【单操到定位】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标右键菜单选择【单操到定位】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0312',
|
operateType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '单操到定位({7})',
|
trainingName: '单操到定位({7})',
|
||||||
trainingRemark: '单操到定位({7})',
|
trainingRemark: '单操到定位({7})',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '1010', tip: '鼠标左键菜单选择【道岔定操】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '1010', tip: '鼠标左键菜单选择【道岔定操】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '1010', tip: '鼠标左键点击【{7}】', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '1010', tip: '鼠标左键点击【{7}】', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0313', // 0313 新增定位字典
|
operateType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION.value, // 0313 新增定位字典
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '单操到反位({7})',
|
trainingName: '单操到反位({7})',
|
||||||
trainingRemark: '单操到反位({7})',
|
trainingRemark: '单操到反位({7})',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【单操到反位】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【单操到反位】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0313',
|
operateType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '单操到反位({7})',
|
trainingName: '单操到反位({7})',
|
||||||
trainingRemark: '单操到反位({7})',
|
trainingRemark: '单操到反位({7})',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '1020', tip: '鼠标左键菜单选择【道岔反操】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '1020', tip: '鼠标左键菜单选择【道岔反操】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '1020', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '1020', tip: '鼠标左键点击【{7}】按钮', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0301',
|
operateType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔单锁({7})',
|
trainingName: '道岔单锁({7})',
|
||||||
trainingRemark: '道岔单锁功能',
|
trainingRemark: '道岔单锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0301',
|
operateType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔单锁({7})',
|
trainingName: '道岔单锁({7})',
|
||||||
trainingRemark: '道岔单锁功能',
|
trainingRemark: '道岔单锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'], // 现地操作
|
productTypes: ['01'], // 现地操作
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '1030', tip: '鼠标左键菜单选择【道岔单锁】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '1030', tip: '鼠标左键菜单选择【道岔单锁】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '1030', tip: '鼠标左键点击【{{7}}】', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '1030', tip: '鼠标左键点击【{{7}}】', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0302',
|
operateType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔解锁({7})',
|
trainingName: '道岔解锁({7})',
|
||||||
trainingRemark: '道岔解锁功能',
|
trainingRemark: '道岔解锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔解锁】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔解锁】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0305',
|
operateType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔解锁({7})',
|
trainingName: '道岔解锁({7})',
|
||||||
trainingRemark: '道岔解锁功能',
|
trainingRemark: '道岔解锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '1040', tip: '鼠标左键菜单选择【道岔解锁】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '1040', tip: '鼠标左键菜单选择【道岔解锁】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '0011', tip: '输入密码123,点击【确认】按钮' },
|
{ deviceType: '02', orderNum: 2, operateCode: '1040', tip: '输入密码123,点击【确认】按钮' },
|
||||||
{ deviceType: '02', orderNum: 3, operateCode: '1040', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 3, operateCode: '1040', tip: '鼠标左键点击【{7}】按钮', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0303',
|
operateType: CMD.Switch.CMD_SWITCH_BLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔封锁({7})',
|
trainingName: '道岔封锁({7})',
|
||||||
trainingRemark: '道岔封锁功能',
|
trainingRemark: '道岔封锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' },
|
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' },
|
||||||
{ deviceType: '02', orderNum: 3, operateCode: '0011', tip: '输入密码123,点击【确定】按钮' }
|
{ deviceType: '02', orderNum: 3, operateCode: '105', tip: '输入密码123,点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0305',
|
operateType: CMD.Switch.CMD_SWITCH_BLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔封锁({7})',
|
trainingName: '道岔封锁({7})',
|
||||||
trainingRemark: '道岔封锁功能',
|
trainingRemark: '道岔封锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '2991', tip: '鼠标左键菜单选择【封锁】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '2991', tip: '鼠标左键菜单选择【封锁】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '2991', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 2, operateCode: '2991', tip: '鼠标左键点击【{7}】按钮', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0304',
|
operateType: CMD.Switch.CMD_SWITCH_UNBLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔解封({7})',
|
trainingName: '道岔解封({7})',
|
||||||
trainingRemark: '道岔解封功能',
|
trainingRemark: '道岔解封功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '02', orderNum: 3, operateCode: '0011', tip: '输入密码123,点击【确认】按钮' }
|
{ deviceType: '02', orderNum: 3, operateCode: '106', tip: '输入密码123,点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0305',
|
operateType: CMD.Switch.CMD_SWITCH_UNBLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '道岔解封({7})',
|
trainingName: '道岔解封({7})',
|
||||||
trainingRemark: '道岔解封功能',
|
trainingRemark: '道岔解封功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '2992', tip: '鼠标左键菜单选择【解封】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '2992', tip: '鼠标左键菜单选择【解封】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '0011', tip: '输入密码123,点击【确认】按钮' },
|
{ deviceType: '02', orderNum: 2, operateCode: '2992', tip: '输入密码123,点击【确认】按钮' },
|
||||||
{ deviceType: '02', orderNum: 3, operateCode: '2992', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
|
{ deviceType: '02', orderNum: 3, operateCode: '2992', tip: '鼠标左键点击【{7}】按钮', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 20,
|
maxDuration: 20,
|
||||||
minDuration: 10,
|
minDuration: 10,
|
||||||
operateType: '0306',
|
operateType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '区故解({7})',
|
trainingName: '区故解({7})',
|
||||||
trainingRemark: '道岔区段故障解锁功能',
|
trainingRemark: '道岔区段故障解锁功能',
|
||||||
trainingType: '03',
|
trainingType: 'Switch',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【区故解】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【区故解】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '109', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '02', orderNum: 2, operateCode: '109', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '02', orderNum: 3, operateCode: '1092', tip: '输入密码123,点击【确认】按钮' }
|
{ deviceType: '02', orderNum: 3, operateCode: '109', tip: '输入密码123,点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// 区段列表
|
// 区段列表
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0401',
|
operateType: CMD.Section.CMD_SECTION_FAULT_UNLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '区故解({8}{9})',
|
trainingName: '区故解({8}{9})',
|
||||||
trainingRemark: '故障解锁功能',
|
trainingRemark: '故障解锁功能',
|
||||||
trainingType: '04',
|
trainingType: 'Section',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区故解】' },
|
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区故解】' },
|
||||||
{ deviceType: '03', orderNum: 2, operateCode: '402', tip: '鼠标左键点击【确认】按钮' },
|
{ deviceType: '03', orderNum: 2, operateCode: '402', tip: '鼠标左键点击【确认】按钮' },
|
||||||
{ deviceType: '03', orderNum: 3, operateCode: '0011', tip: '输入密码123,点击【确认】按钮' }
|
{ deviceType: '03', orderNum: 3, operateCode: '402', tip: '输入密码123,点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0401',
|
operateType: CMD.Section.CMD_SECTION_FAULT_UNLOCK.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '区故解({9})',
|
trainingName: '区故解({9})',
|
||||||
trainingRemark: '故障解锁功能',
|
trainingRemark: '故障解锁功能',
|
||||||
trainingType: '04',
|
trainingType: 'Section',
|
||||||
productTypes: ['01'],
|
productTypes: ['01'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '03', orderNum: 1, operateCode: '4020', tip: '鼠标右键菜单选择【区故解】' },
|
{ deviceType: '03', orderNum: 1, operateCode: '4020', tip: '鼠标右键菜单选择【区故解】' },
|
||||||
{ deviceType: '03', orderNum: 2, operateCode: '0011', tip: '输入密码123,点击【确认】按钮' },
|
{ deviceType: '03', orderNum: 2, operateCode: '4020', tip: '输入密码123,点击【确认】按钮' },
|
||||||
{ deviceType: '03', orderNum: 3, operateCode: '4020', tip: '鼠标左键点击【{9}】', val: '{18}' },
|
{ deviceType: '03', orderNum: 3, operateCode: '4020', tip: '鼠标左键点击【{9}】', codeType:'SECTION' }
|
||||||
{ deviceType: '03', orderNum: 4, operateCode: '00012', tip: '鼠标左键点击【清除】' }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{ // 未生成实训
|
||||||
maxDuration: 15, // 自动生成实训失败
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0409',
|
operateType: CMD.Section.CMD_SECTION_DETAILS.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '属性({8}{9})',
|
trainingName: '属性({8}{9})',
|
||||||
trainingRemark: '区段详情({8}{9})',
|
trainingRemark: '区段详情({8}{9})',
|
||||||
trainingType: '04',
|
trainingType: 'Section',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '03', orderNum: 1, operateCode: '410', tip: '鼠标右键菜单选择【属性】' },
|
{ deviceType: '03', orderNum: 1, operateCode: '410', tip: '鼠标右键菜单选择【属性】' },
|
||||||
@ -533,11 +530,11 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0501',
|
operateType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置扣车({10}-{12}站台)',
|
trainingName: '设置扣车({10}-{12}站台)',
|
||||||
trainingRemark: '设置扣车功能',
|
trainingRemark: '设置扣车功能',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【设置扣车】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【设置扣车】' },
|
||||||
@ -547,11 +544,11 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0502',
|
operateType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '取消扣车({10}-{12}站台)',
|
trainingName: '取消扣车({10}-{12}站台)',
|
||||||
trainingRemark: '设置取消扣车功能',
|
trainingRemark: '设置取消扣车功能',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
|
||||||
@ -561,148 +558,146 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0502',
|
operateType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '取消扣车({10}-{12}站台)',
|
trainingName: '取消扣车({10}-{12}站台)',
|
||||||
trainingRemark: '设置取消扣车功能(上行全线)',
|
trainingRemark: '设置取消扣车功能(上行全线)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5051', tip: '鼠标左键点击【上行全线】按钮', val: '02' },
|
{ deviceType: '06', orderNum: 2, operateCode: '5051', tip: '鼠标左键点击【上行全线】按钮', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '02' }
|
{ deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0505',
|
operateType: CMD.Stand.CMD_STAND_SET_JUMP_STOP.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置跳停({10}-{12}站台)',
|
trainingName: '设置跳停({10}-{12}站台)',
|
||||||
trainingRemark: '设置跳停功能',
|
trainingRemark: '设置跳停功能',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0506',
|
operateType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '取消跳停({10}-{12}站台)',
|
trainingName: '取消跳停({10}-{12}站台)',
|
||||||
trainingRemark: '设置取消跳停功能',
|
trainingRemark: '设置取消跳停功能',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
|
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0508',
|
operateType: CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置停站时间({10}-{12}站台)',
|
trainingName: '设置停站时间({10}-{12}站台)',
|
||||||
trainingRemark: '设置停站时间(自动, 一直有效)',
|
trainingRemark: '设置停站时间(自动, 一直有效)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5093', tip: '鼠标左键点击,选择【自动】', val: '02' },
|
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
|
||||||
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '01::0::true' }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0508',
|
operateType: CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置停站时间({10}-{12}站台)',
|
trainingName: '设置停站时间({10}-{12}站台)',
|
||||||
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
|
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' },
|
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' },
|
||||||
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '标左键点击,选择【一直有效】', val: '02' },
|
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '标左键点击,选择【一直有效】', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' }
|
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0508',
|
operateType: CMD.Stand.CMD_STAND_SET_PARK_TIME.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置停站时间({10}-{12}站台)',
|
trainingName: '设置停站时间({10}-{12}站台)',
|
||||||
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
|
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' },
|
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' },
|
||||||
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' }
|
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0509',
|
operateType: CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置站间运行等级({10}-{12}站台)',
|
trainingName: '设置站间运行等级({10}-{12}站台)',
|
||||||
trainingRemark: '设置站间运行等级(自动, 一直有效)',
|
trainingRemark: '设置站间运行等级(自动, 一直有效)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5107', tip: '标左键点击,选择【一直有效】', val: '02' },
|
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
|
||||||
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '01::01::true' }
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0509',
|
operateType: CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置站间运行等级({10}-{12}站台)',
|
trainingName: '设置站间运行等级({10}-{12}站台)',
|
||||||
trainingRemark: '设置站间运行等级(人工, 常速, 一直有效)',
|
trainingRemark: '设置站间运行等级(人工, 常速, 一直有效)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5106', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
{ deviceType: '06', orderNum: 2, operateCode: '5106', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 3, operateCode: '5107', tip: '鼠标左键点击,取消选择【一直有效】', val: '02' },
|
{ deviceType: '06', orderNum: 3, operateCode: '5107', tip: '鼠标左键点击,取消选择【一直有效】', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '02::01::true' }
|
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType: '0509',
|
operateType: CMD.Stand.CMD_STAND_SET_RUN_TIME.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '设置站间运行等级({10}-{12}站台)',
|
trainingName: '设置站间运行等级({10}-{12}站台)',
|
||||||
trainingRemark: '设置站间运行等级(人工, 常速, 一次有效)',
|
trainingRemark: '设置站间运行等级(人工, 常速, 一次有效)',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
|
||||||
{ deviceType: '06', orderNum: 2, operateCode: '5106', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
{ deviceType: '06', orderNum: 2, operateCode: '5106', tip: '鼠标左键点击,选择【人工】', val: '02' },
|
||||||
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '02::01::false' }
|
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
maxDuration: 8, // 自动生成实训失败
|
maxDuration: 8, // 自动生成实训失败
|
||||||
minDuration: 5,
|
minDuration: 5,
|
||||||
operateType: '0507',
|
operateType: CMD.Stand.CMD_STAND_VIEW_STATUS.value,
|
||||||
skinCode: '04',
|
skinCode: '04',
|
||||||
trainingName: '属性({10}-{12}站台)',
|
trainingName: '属性({10}-{12}站台)',
|
||||||
trainingRemark: '查询站台状态功能',
|
trainingRemark: '查询站台状态功能',
|
||||||
trainingType: '05',
|
trainingType: 'Stand',
|
||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【属性】' },
|
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【属性】' },
|
||||||
|
@ -78,6 +78,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
import OperationHandler from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'PasswordBox',
|
name: 'PasswordBox',
|
||||||
@ -91,7 +92,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
correctPassword: '123', // 写死的初始密码
|
correctPassword: '123', // 写死的初始密码
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
operation: null,
|
operation: '',
|
||||||
checkHasInput: false,
|
checkHasInput: false,
|
||||||
passwordCheck: '', // 输入值
|
passwordCheck: '', // 输入值
|
||||||
encryptionPassword: '', // 输入值替换为对应长度的星号
|
encryptionPassword: '', // 输入值替换为对应长度的星号
|
||||||
@ -111,7 +112,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
domIdConfirm() {
|
domIdConfirm() {
|
||||||
return this.dialogShow ? OperationEvent.Command.close.password.domId : '';
|
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -123,6 +124,8 @@ export default {
|
|||||||
doShow(operate) {
|
doShow(operate) {
|
||||||
this.operate = operate || {};
|
this.operate = operate || {};
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
|
this.operation = operate.operation;
|
||||||
|
console.log(this.operation, operate);
|
||||||
this.checkHasInput = false;
|
this.checkHasInput = false;
|
||||||
this.$nextTick(function () {
|
this.$nextTick(function () {
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
@ -136,9 +139,9 @@ export default {
|
|||||||
},
|
},
|
||||||
commit() { // 确定
|
commit() { // 确定
|
||||||
if (this.passwordCheck === this.correctPassword) {
|
if (this.passwordCheck === this.correctPassword) {
|
||||||
this.$emit('checkOver', this.operate);
|
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.inputClear();
|
this.inputClear();
|
||||||
|
this.$emit('checkOver', this.operate);
|
||||||
} else {
|
} else {
|
||||||
this.showMistake = true;
|
this.showMistake = true;
|
||||||
}
|
}
|
||||||
|
@ -257,19 +257,31 @@ export default {
|
|||||||
},
|
},
|
||||||
// 信号封锁
|
// 信号封锁
|
||||||
lock() {
|
lock() {
|
||||||
this.sendCommand(menuOperate.Signal.lock);
|
switch (this.popClass) {
|
||||||
|
case 'chengdou-03__systerm':
|
||||||
|
this.sendCommandNext(menuOperate.Signal.lock).then(operate => {
|
||||||
|
this.$refs.password.doShow(operate);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
default: this.sendCommand(menuOperate.Signal.lock);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 信号解封
|
// 信号解封
|
||||||
unlock() {
|
unlock() {
|
||||||
this.sendCommandNext(menuOperate.Signal.unlock).then(operate => {
|
switch (this.popClass) {
|
||||||
this.$refs.password.doShow(operate);
|
case 'chengdou-03__systerm':
|
||||||
});
|
this.sendCommandNext(menuOperate.Signal.unlock).then(operate => {
|
||||||
|
this.$refs.password.doShow(operate);
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
default: this.sendCommand(menuOperate.Signal.unlock);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
passWordCommit(data) { // 密码二次确认
|
passWordCommit(data) { // 密码二次确认
|
||||||
const operate = {
|
const operate = {
|
||||||
over: true,
|
over: true,
|
||||||
operation: OperationEvent.Signal.unlock.confirm.operation,
|
operation: data.operation,
|
||||||
cmdType: menuOperate.Signal.unlock.cmdType
|
cmdType: data.cmdType
|
||||||
};
|
};
|
||||||
this.sendCommand(operate);
|
this.sendCommand(operate);
|
||||||
},
|
},
|
||||||
|
@ -187,6 +187,7 @@ export default {
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
this.doClose();
|
||||||
this.$refs.passwordBox.doShow(operate);
|
this.$refs.passwordBox.doShow(operate);
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag class="xian-01__systerm train-control" :title="title" :visible.sync="show" width="370px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
<el-dialog v-dialogDrag :class="popClass + ' train-control'" :title="title" :visible.sync="show" width="370px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||||
<el-form ref="form" size="small" label-width="120px" :model="formModel" :rules="rules">
|
<el-form ref="form" size="small" label-width="120px" :model="formModel" :rules="rules">
|
||||||
<el-form-item :label="this.$t('menu.groupNumber')+this.$t('global.colon')" prop="groupNumber">
|
<el-form-item :label="this.$t('menu.groupNumber')+this.$t('global.colon')" prop="groupNumber">
|
||||||
<el-select
|
<el-select
|
||||||
@ -75,26 +75,31 @@
|
|||||||
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
|
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<confirm-train ref="confirmTrain" />
|
<notice-info ref="noticeInfo" :pop-class="popClass" />
|
||||||
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import ConfirmTrain from './childDialog/confirmTrain';
|
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
|
||||||
import Handler from '@/scripts/cmdPlugin/Handler';
|
import Handler from '@/scripts/cmdPlugin/Handler';
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
import {getTrainDetailBytripNumber} from '@/api/simulation';
|
import {getTrainDetailBytripNumber} from '@/api/simulation';
|
||||||
|
import NoticeInfo from '../childDialog/noticeInfo';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'TrainControl',
|
name: 'TrainControl',
|
||||||
components: {
|
components: {
|
||||||
ConfirmTrain,
|
|
||||||
NoticeInfo
|
NoticeInfo
|
||||||
},
|
},
|
||||||
|
props: {
|
||||||
|
popClass: {
|
||||||
|
type: String,
|
||||||
|
default() {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
trainList: [],
|
trainList: [],
|
||||||
@ -112,16 +117,16 @@ export default {
|
|||||||
],
|
],
|
||||||
rules: {
|
rules: {
|
||||||
groupNumber: [
|
groupNumber: [
|
||||||
{ required: true, message: this.$t('rules.selectGroupNumber'), trigger: 'change' }
|
{ required: true, message: '请选择车组号', trigger: 'change' }
|
||||||
],
|
],
|
||||||
type: [
|
type: [
|
||||||
{ required: true, message: this.$t('rules.selectATrainType'), trigger: 'change' }
|
{ required: true, message: '请选择列车类型', trigger: 'change' }
|
||||||
],
|
],
|
||||||
tripNumber: [
|
tripNumber: [
|
||||||
{ required: true, message: this.$t('rules.enterTheTripNumber'), trigger: 'blur' }
|
{ required: true, message: '请输入车次号', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
destinationCode: [
|
destinationCode: [
|
||||||
{ required: true, message: this.$t('rules.enterTheTargetCode'), trigger: 'blur' }
|
{ required: true, message: '请输入目的地号', trigger: 'blur' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
operation: null,
|
operation: null,
|
||||||
@ -223,9 +228,9 @@ export default {
|
|||||||
},
|
},
|
||||||
title() {
|
title() {
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
||||||
return this.$t('menu.menuTrain.addTrainId');
|
return '添加列车识别号';
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
||||||
return this.$t('menu.menuTrain.editTrainId');
|
return '修改列车识别号';
|
||||||
}
|
}
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@ -425,7 +430,6 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Command.cancel.menu.operation
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
@ -210,6 +210,11 @@ export const menuOperate = {
|
|||||||
// 计轴预复位
|
// 计轴预复位
|
||||||
operation: OperationEvent.Switch.axlePreReset.menu.operation,
|
operation: OperationEvent.Switch.axlePreReset.menu.operation,
|
||||||
cmdType: CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET
|
cmdType: CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET
|
||||||
|
},
|
||||||
|
hookLock:{
|
||||||
|
// 道岔钩锁
|
||||||
|
operation: OperationEvent.Switch.hookLock.menu.operation,
|
||||||
|
cmdType: CMD.Switch.CMD_SWITCH_HOOK_LOCK
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
StationStand:{
|
StationStand:{
|
||||||
|
@ -89,16 +89,36 @@ export default {
|
|||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
},
|
},
|
||||||
domIdChoose() {
|
domIdChoose() {
|
||||||
return this.dialogShow ? OperationEvent.Switch.unlock.choose.domId : '';
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unlock.choose.domId; // 道岔解锁
|
||||||
|
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unblock.choose.domId; // 道岔解封
|
||||||
|
}
|
||||||
|
return '';
|
||||||
},
|
},
|
||||||
confirmId1() {
|
confirmId1() {
|
||||||
return this.dialogShow ? OperationEvent.Switch.unlock.confirm1.domId : '';
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unlock.confirm1.domId; // 道岔解锁
|
||||||
|
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unblock.confirm1.domId; // 道岔解封
|
||||||
|
}
|
||||||
|
return '';
|
||||||
},
|
},
|
||||||
confirmId2() {
|
confirmId2() {
|
||||||
return this.dialogShow ? OperationEvent.Switch.unlock.confirm2.domId : '';
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unlock.confirm2.domId; // 道岔解锁
|
||||||
|
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unblock.confirm2.domId; // 道岔解封
|
||||||
|
}
|
||||||
|
return '';
|
||||||
},
|
},
|
||||||
domIdConfirm() {
|
domIdConfirm() {
|
||||||
return this.dialogShow ? OperationEvent.Switch.unlock.confirm.domId : '';
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unlock.confirm.domId; // 道岔解锁
|
||||||
|
} else if (this.operation == OperationEvent.Switch.unblock.menu.operation) {
|
||||||
|
return OperationEvent.Switch.unblock.confirm.domId; // 道岔解封
|
||||||
|
}
|
||||||
|
return '';
|
||||||
},
|
},
|
||||||
title() {
|
title() {
|
||||||
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
if (this.operation == OperationEvent.Switch.unlock.menu.operation) {
|
||||||
|
@ -105,6 +105,16 @@ export default {
|
|||||||
handler: this.atsAutoControl,
|
handler: this.atsAutoControl,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '设置联锁自动进路',
|
||||||
|
handler: this.setAutoInterlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '取消联锁自动进路',
|
||||||
|
handler: this.cancelAutoInterlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: '设置联锁自动触发',
|
label: '设置联锁自动触发',
|
||||||
handler: this.setAutoTrigger,
|
handler: this.setAutoTrigger,
|
||||||
@ -349,6 +359,22 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
// 设置联锁自动进路
|
||||||
|
setAutoInterlock() {
|
||||||
|
commitOperate(menuOperate.Signal.setAutoInterlock, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
|
if (valid) {
|
||||||
|
this.$refs.routeControl.doShow(operate, this.selected);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 取消联锁自动进路
|
||||||
|
cancelAutoInterlock() {
|
||||||
|
commitOperate(menuOperate.Signal.cancelAutoInterlock, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
|
if (valid) {
|
||||||
|
this.$refs.routeControl.doShow(operate, this.selected);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
// 设置通过模式
|
// 设置通过模式
|
||||||
singalPassModel(selectType) {
|
singalPassModel(selectType) {
|
||||||
commitOperate(menuOperate.Signal.setAutoInterlock, {signalCode:selectType.code}, 3).then(({valid, operate})=>{
|
commitOperate(menuOperate.Signal.setAutoInterlock, {signalCode:selectType.code}, 3).then(({valid, operate})=>{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-dialogDrag
|
v-dialogDrag
|
||||||
class="foshan-01__systerm cmd-notice"
|
class="fuzhou-01__systerm cmd-notice"
|
||||||
title="操作命令提示"
|
title="操作命令提示"
|
||||||
:visible.sync="show"
|
:visible.sync="show"
|
||||||
width="400px"
|
width="400px"
|
||||||
@ -18,7 +18,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { OperationEvent } from '@/scripts/ConstDic';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
export default {
|
export default {
|
||||||
name: 'CmdNotice',
|
name: 'CmdNotice',
|
||||||
data() {
|
data() {
|
||||||
@ -40,20 +40,16 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
'$store.state.socket.msgHead': function (elem) {
|
||||||
if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
|
if (elem && elem.type == 'resp' && (elem.timeout || !elem.agree)) {
|
||||||
const operate = this.$store.state.training.operate;
|
const station = this.$store.getters['map/getDeviceByCode'](elem.stationCodes[0]);
|
||||||
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
|
||||||
const newOperate = {
|
const newOperate = {
|
||||||
type: operate.type,
|
|
||||||
name: station.name
|
name: station.name
|
||||||
};
|
};
|
||||||
|
|
||||||
if (elem.timeout) {
|
if (elem.timeout) {
|
||||||
newOperate['msg'] = '请求超时';
|
newOperate['msg'] = this.$t('menu.passiveDialog.requestTimedOut');
|
||||||
this.doShow(newOperate);
|
this.doShow(newOperate);
|
||||||
} else if (!elem.success) {
|
} else if (!elem.agree) {
|
||||||
newOperate['msg'] = '请求拒绝';
|
newOperate['msg'] = this.$t('menu.passiveDialog.requestRejection');
|
||||||
this.doShow(newOperate);
|
this.doShow(newOperate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -83,11 +79,10 @@ export default {
|
|||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
const operate = {
|
const operate = {
|
||||||
operation: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.notice.operation
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -96,10 +91,9 @@ export default {
|
|||||||
},
|
},
|
||||||
commit() {
|
commit() {
|
||||||
const operate = {
|
const operate = {
|
||||||
type: this.operate.type,
|
|
||||||
operation: OperationEvent.Command.close.notice.operation
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
};
|
};
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
|
@ -213,7 +213,7 @@ export default {
|
|||||||
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
|
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ // 无法生成实训
|
{ // 暂不生成实训
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType:CMD.Stand.CMD_STAND_EARLY_DEPART.value,
|
operateType:CMD.Stand.CMD_STAND_EARLY_DEPART.value,
|
||||||
@ -276,10 +276,10 @@ export default {
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{ // 无法生成实训
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType:CMD.Switch.CMD_SWITCH_CUT_OFF.value,
|
operateType:CMD.Switch.CMD_SWITCH_BLOCK.value,
|
||||||
skinCode: '08',
|
skinCode: '08',
|
||||||
trainingName: '道岔封闭({7} 道岔)',
|
trainingName: '道岔封闭({7} 道岔)',
|
||||||
trainingRemark: '道岔封闭功能',
|
trainingRemark: '道岔封闭功能',
|
||||||
@ -290,10 +290,10 @@ export default {
|
|||||||
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ // 无法生成实训
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType:CMD.Switch.CMD_SWITCH_ACTIVE.value,
|
operateType:CMD.Switch.CMD_SWITCH_UNBLOCK.value,
|
||||||
skinCode: '08',
|
skinCode: '08',
|
||||||
trainingName: '道岔解封({7} 道岔)',
|
trainingName: '道岔解封({7} 道岔)',
|
||||||
trainingRemark: '道岔解封功能',
|
trainingRemark: '道岔解封功能',
|
||||||
@ -301,13 +301,16 @@ export default {
|
|||||||
productTypes: ['02'],
|
productTypes: ['02'],
|
||||||
stepVOList: [
|
stepVOList: [
|
||||||
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
|
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
|
||||||
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '02', orderNum: 2, operateCode: '1063', tip: '鼠标左键点击【确定】'},
|
||||||
|
{ deviceType: '02', orderNum: 3, operateCode: '1066', tip: '鼠标左键点击【{7}】', val: '{17}'},
|
||||||
|
{ deviceType: '02', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确定】'},
|
||||||
|
{ deviceType: '02', orderNum: 5, operateCode: '1062', tip: '鼠标左键点击【关闭】'}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ // 无法生成实训
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType:CMD.Switch.CMD_SWITCH_CUT_OFF.value,
|
operateType:CMD.Switch.CMD_SWITCH_BLOCK.value,
|
||||||
skinCode: '08',
|
skinCode: '08',
|
||||||
trainingName: '道岔封闭({7} 道岔)',
|
trainingName: '道岔封闭({7} 道岔)',
|
||||||
trainingRemark: '道岔封闭功能',
|
trainingRemark: '道岔封闭功能',
|
||||||
@ -318,10 +321,10 @@ export default {
|
|||||||
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
|
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ // 无法生成实训
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType:CMD.Switch.CMD_SWITCH_ACTIVE.value,
|
operateType:CMD.Switch.CMD_SWITCH_UNBLOCK.value,
|
||||||
skinCode: '08',
|
skinCode: '08',
|
||||||
trainingName: '道岔解封({7} 道岔)',
|
trainingName: '道岔解封({7} 道岔)',
|
||||||
trainingRemark: '道岔解封功能',
|
trainingRemark: '道岔解封功能',
|
||||||
@ -451,7 +454,7 @@ export default {
|
|||||||
{
|
{
|
||||||
maxDuration: 15,
|
maxDuration: 15,
|
||||||
minDuration: 8,
|
minDuration: 8,
|
||||||
operateType:CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
|
operateType: CMD.Signal.CMD_SIGNAL_SET_ROUTE.value,
|
||||||
skinCode: '08',
|
skinCode: '08',
|
||||||
trainingName: '排列进路({3} 进路)',
|
trainingName: '排列进路({3} 进路)',
|
||||||
trainingRemark: '排列进路功能',
|
trainingRemark: '排列进路功能',
|
||||||
@ -477,7 +480,7 @@ export default {
|
|||||||
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ // 生成实训步骤有问题
|
{
|
||||||
maxDuration: 8,
|
maxDuration: 8,
|
||||||
minDuration: 5,
|
minDuration: 5,
|
||||||
operateType:CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
|
operateType:CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE.value,
|
||||||
@ -549,7 +552,7 @@ export default {
|
|||||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{ // 无法生成实训
|
{ // 暂不生成实训
|
||||||
maxDuration: 8,
|
maxDuration: 8,
|
||||||
minDuration: 5,
|
minDuration: 5,
|
||||||
operateType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
|
operateType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
|
||||||
@ -605,19 +608,5 @@ export default {
|
|||||||
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' }
|
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
// {
|
|
||||||
// maxDuration: 8,
|
|
||||||
// minDuration: 5,
|
|
||||||
// operateType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE.value,
|
|
||||||
// skinCode: '08',
|
|
||||||
// trainingName: '总取消({3} 进路)',
|
|
||||||
// trainingRemark: '总取消',
|
|
||||||
// trainingType:'Signal',
|
|
||||||
// productTypes: ['01'],
|
|
||||||
// stepVOList: [
|
|
||||||
// { deviceType: '04', orderNum: 1, operateCode: '2994', tip: '鼠标左键点击【总取消】' },
|
|
||||||
// { deviceType: '04', orderNum: 2, operateCode: '2294', tip: '鼠标左键点击选择该信号机', codeType:'SIGNAL'}
|
|
||||||
// ]
|
|
||||||
// }
|
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
<span class="base-label">{{ $t('menu.commandInformation') }}</span>
|
<span class="base-label">{{ $t('menu.commandInformation') }}</span>
|
||||||
<el-form label-position="center" size="mini">
|
<el-form label-position="center" size="mini">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="6">
|
||||||
<el-form-item :label="this.$t('menu.type')" label-width="40px">
|
<el-form-item :label="this.$t('menu.type')" label-width="40px">
|
||||||
<el-select v-model="operation" size="small" disabled>
|
<el-select v-model="operation" size="small" disabled>
|
||||||
<el-option
|
<el-option
|
||||||
@ -27,8 +27,8 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="9">
|
||||||
<el-form-item :label="this.$t('menu.stationName')" label-width="80px">
|
<el-form-item :label="this.$t('menu.stationName')" label-width="120px">
|
||||||
<el-input v-model="stationName" size="small" disabled />
|
<el-input v-model="stationName" size="small" disabled />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -116,7 +116,7 @@ export default {
|
|||||||
typeList() {
|
typeList() {
|
||||||
return [
|
return [
|
||||||
{ code: OperationEvent.Signal.unlock.menu.operation, name: this.$t('menu.menuSignal.signalDeblock') },
|
{ code: OperationEvent.Signal.unlock.menu.operation, name: this.$t('menu.menuSignal.signalDeblock') },
|
||||||
{ code: OperationEvent.Signal.guide.menu.operation, name: this.$t('menu.menuSignal.guideRouteHandle') }
|
{ code: OperationEvent.Signal.guide.menu.operation, name: '办理引导进路' }
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
show() {
|
show() {
|
||||||
|
@ -1,440 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-dialog v-dialogDrag class="fuzhou-01__systerm train-control" :title="title" :visible.sync="show" width="370px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
|
||||||
<el-form ref="form" size="small" label-width="120px" :model="formModel" :rules="rules">
|
|
||||||
<el-form-item :label="this.$t('menu.groupNumber')+this.$t('global.colon')" prop="groupNumber">
|
|
||||||
<el-select
|
|
||||||
:id="domIdTrainNumber"
|
|
||||||
v-model="formModel.groupNumber"
|
|
||||||
filterable
|
|
||||||
:disabled="trainNumberIsDisabled"
|
|
||||||
@change="trainNumberChange"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="train in trainList"
|
|
||||||
:key="train.groupNumber"
|
|
||||||
:label="train.groupNumber"
|
|
||||||
:value="train.groupNumber"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="type" label-width="0px">
|
|
||||||
<el-radio-group
|
|
||||||
:id="domIdTrainType"
|
|
||||||
v-model="formModel.type"
|
|
||||||
style="margin-left: 45px;"
|
|
||||||
@change="trainTypeChange"
|
|
||||||
>
|
|
||||||
<el-radio :label="'PLAN'">{{ $t('menu.planTrain') }}</el-radio>
|
|
||||||
<el-radio :label="'HEAD'">{{ $t('menu.headCodeTrain') }}</el-radio>
|
|
||||||
<el-radio :label="'MANUAL'" style="margin-top:5px;">{{ $t('menu.artificialTrain') }}</el-radio>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="formModel.type == 'PLAN'|| formModel.type == 'HEAD'" prop="serviceNumber">
|
|
||||||
<span slot="label">{{ $t('menu.serviceNumber') + ':' }}</span>
|
|
||||||
<el-input
|
|
||||||
:id="domIdServerNo"
|
|
||||||
v-model="formModel.serviceNumber"
|
|
||||||
:disabled="serverNoIsDisabled"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="formModel.type == 'PLAN'" :label="this.$t('menu.tripNumber')+this.$t('global.colon')" prop="tripNumber">
|
|
||||||
<el-input
|
|
||||||
:id="domIdTrainNo"
|
|
||||||
v-model="formModel.tripNumber"
|
|
||||||
maxlength="4"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="formModel.type == 'PLAN' || formModel.type == 'HEAD'" :label="this.$t('menu.targetCode')+this.$t('global.colon')" prop="destinationCode">
|
|
||||||
<el-input
|
|
||||||
:id="domIdTargetCode"
|
|
||||||
v-model="formModel.destinationCode"
|
|
||||||
:disabled="formModel.type !== 'HEAD'"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="formModel.type == 'MANUAL'" :label="this.$t('menu.category')+this.$t('global.colon')" prop="category">
|
|
||||||
<el-select
|
|
||||||
:id="domIdTrainNumber"
|
|
||||||
v-model="formModel.category"
|
|
||||||
filterable
|
|
||||||
:disabled="true"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in categoryList"
|
|
||||||
:key="item.value"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.value"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<el-row justify="center" class="button-group">
|
|
||||||
<el-col :span="10" :offset="2">
|
|
||||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">{{ $t('global.confirm') }}</el-button>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="8" :offset="4">
|
|
||||||
<el-button :id="domIdCancel" @click="cancel">{{ $t('global.cancel') }}</el-button>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<confirm-train ref="confirmTrain" />
|
|
||||||
<notice-info ref="noticeInfo" pop-class="fuzhou-01__systerm" />
|
|
||||||
</el-dialog>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { mapGetters } from 'vuex';
|
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|
||||||
import ConfirmTrain from './childDialog/confirmTrain';
|
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
|
||||||
import Handler from '@/scripts/cmdPlugin/Handler';
|
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
|
||||||
import {getTrainDetailBytripNumber} from '@/api/simulation';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'TrainControl',
|
|
||||||
components: {
|
|
||||||
ConfirmTrain,
|
|
||||||
NoticeInfo
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
trainList: [],
|
|
||||||
serviceNumber:'',
|
|
||||||
formModel: {
|
|
||||||
tripNumber: '',
|
|
||||||
groupNumber: '',
|
|
||||||
type: 'PLAN',
|
|
||||||
serviceNumber: '',
|
|
||||||
destinationCode: '',
|
|
||||||
category: 'MM'
|
|
||||||
},
|
|
||||||
categoryList: [
|
|
||||||
{ name: 'MM', value: '01' }
|
|
||||||
],
|
|
||||||
rules: {
|
|
||||||
groupNumber: [
|
|
||||||
{ required: true, message: this.$t('rules.selectGroupNumber'), trigger: 'change' }
|
|
||||||
],
|
|
||||||
type: [
|
|
||||||
{ required: true, message: this.$t('rules.selectATrainType'), trigger: 'change' }
|
|
||||||
],
|
|
||||||
tripNumber: [
|
|
||||||
{ required: true, message: this.$t('rules.enterTheTripNumber'), trigger: 'blur' }
|
|
||||||
],
|
|
||||||
destinationCode: [
|
|
||||||
{ required: true, message: this.$t('rules.enterTheTargetCode'), trigger: 'blur' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
operation: null,
|
|
||||||
dialogShow: false,
|
|
||||||
loading: false,
|
|
||||||
direction: 0
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
...mapGetters('map', [
|
|
||||||
'map'
|
|
||||||
]),
|
|
||||||
serverNoIsDisabled() {
|
|
||||||
return true;
|
|
||||||
},
|
|
||||||
trainNumberIsDisabled() {
|
|
||||||
if (this.operation != OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
show() {
|
|
||||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
|
||||||
},
|
|
||||||
domIdTrainNumber() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 添加列车识别号*/
|
|
||||||
return OperationEvent.Train.addTrainId.trainNumberChange.domId;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
return OperationEvent.Train.editTrainId.trainNumberChange.domId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
domIdTrainNo() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 添加列车识别号*/
|
|
||||||
return OperationEvent.Train.addTrainId.trainNoChange.domId;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
return OperationEvent.Train.editTrainId.trainNoChange.domId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
domIdTrainType() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 添加列车识别号*/
|
|
||||||
return OperationEvent.Train.addTrainId.trainTypeChange.domId;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
return OperationEvent.Train.editTrainId.trainTypeChange.domId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
domIdServerNo() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 添加列车识别号*/
|
|
||||||
return OperationEvent.Train.addTrainId.serverNoChange.domId;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
return OperationEvent.Train.editTrainId.serverNoChange.domId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
domIdTargetCode() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 添加列车识别号*/
|
|
||||||
return OperationEvent.Train.addTrainId.targetCodeChange.domId;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
return OperationEvent.Train.editTrainId.targetCodeChange.domId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
domIdConfirm() {
|
|
||||||
if (this.dialogShow) {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 添加列车识别号*/
|
|
||||||
return OperationEvent.Train.addTrainId.menu.domId;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
return OperationEvent.Train.editTrainId.menu.domId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
domIdCancel() {
|
|
||||||
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
|
||||||
},
|
|
||||||
title() {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
return this.$t('menu.menuTrain.addTrainId');
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
return this.$t('menu.menuTrain.editTrainId');
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
'formModel.tripNumber': function(val) {
|
|
||||||
if (val.length == 4) {
|
|
||||||
this.trainNoChange(val);
|
|
||||||
} else {
|
|
||||||
this.formModel = {
|
|
||||||
groupNumber: this.formModel.groupNumber,
|
|
||||||
tripNumber: val,
|
|
||||||
type: this.formModel.type,
|
|
||||||
serviceNumber: '',
|
|
||||||
targetCode: '',
|
|
||||||
category: 'MM'
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$store.dispatch('training/tipReload');
|
|
||||||
});
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
loadInitData(map) {},
|
|
||||||
doShow(operate, selected) {
|
|
||||||
// 如果不是断点激活,则需要对初始值进行初始化
|
|
||||||
if (!this.dialogShow) {
|
|
||||||
this.operation = operate.operation;
|
|
||||||
}
|
|
||||||
const model = this.$store.getters['map/getDeviceByCode'](selected.code);
|
|
||||||
this.serviceNumber = model.serviceNumber;
|
|
||||||
this.formModel = {
|
|
||||||
groupNumber: model.groupNumber,
|
|
||||||
tripNumber: model.tripNumber,
|
|
||||||
type: model.type ? model.type : 'PLAN',
|
|
||||||
serviceNumber: model.serviceNumber,
|
|
||||||
destinationCode: model.destinationCode,
|
|
||||||
category: 'MM'
|
|
||||||
};
|
|
||||||
/** 加载列车数据*/
|
|
||||||
this.loadInitData(this.map);
|
|
||||||
this.dialogShow = true;
|
|
||||||
this.$nextTick(function () {
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
});
|
|
||||||
},
|
|
||||||
doClose() {
|
|
||||||
this.loading = false;
|
|
||||||
this.dialogShow = false;
|
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
|
||||||
this.$store.dispatch('map/setTrainWindowShow', false);
|
|
||||||
},
|
|
||||||
trainNumberChange(groupNumber) {
|
|
||||||
const operate = {
|
|
||||||
groupNumber: groupNumber,
|
|
||||||
operation: ''
|
|
||||||
};
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
operate.operation = OperationEvent.Train.addTrainId.trainNumberChange.operation;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
operate.operation = OperationEvent.Train.editTrainId.trainNumberChange.operation;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
trainTypeChange(trainType) {
|
|
||||||
if (trainType === 'HEAD') {
|
|
||||||
this.formModel.serviceNumber = '';
|
|
||||||
} else if (trainType === 'PLAN' && this.serviceNumber) {
|
|
||||||
this.formModel.serviceNumber = this.serviceNumber;
|
|
||||||
}
|
|
||||||
const operate = {
|
|
||||||
type: trainType,
|
|
||||||
operation: ''
|
|
||||||
};
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
operate.operation = OperationEvent.Train.addTrainId.trainTypeChange.operation;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
operate.operation = OperationEvent.Train.editTrainId.trainTypeChange.operation;
|
|
||||||
}
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
trainNoChange(tripNumber) {
|
|
||||||
const operate = {
|
|
||||||
tripNumber: tripNumber,
|
|
||||||
operation: ''
|
|
||||||
};
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
operate.operation = OperationEvent.Train.addTrainId.trainNoChange.operation;
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
operate.operation = OperationEvent.Train.editTrainId.trainNoChange.operation;
|
|
||||||
}
|
|
||||||
Handler.undo(1);
|
|
||||||
getTrainDetailBytripNumber(this.$route.query.group, {tripNumber:tripNumber}).then(resp => {
|
|
||||||
if (resp.data) {
|
|
||||||
this.formModel.serviceNumber = resp.data.serviceNumber;
|
|
||||||
this.formModel.destinationCode = resp.data.destinationCode;
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.$message.error('获取列车信息失败!');
|
|
||||||
});
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
commit() {
|
|
||||||
if (this.operation == OperationEvent.Train.addTrainId.menu.operation) {
|
|
||||||
/** 增加列车识别号*/
|
|
||||||
this.addTrainId();
|
|
||||||
} else if (this.operation == OperationEvent.Train.editTrainId.menu.operation) {
|
|
||||||
/** 修改列车识别号*/
|
|
||||||
this.editTrainId();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 增加列车识别号
|
|
||||||
addTrainId() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
const params = {
|
|
||||||
groupNumber: this.formModel.groupNumber,
|
|
||||||
type: this.formModel.type,
|
|
||||||
serviceNumber: '',
|
|
||||||
tripNumber: '',
|
|
||||||
destinationCode: ''
|
|
||||||
};
|
|
||||||
if (this.formModel.type === 'PLAN') {
|
|
||||||
params.serviceNumber = this.formModel.serviceNumber;
|
|
||||||
params.tripNumber = this.formModel.tripNumber;
|
|
||||||
params.destinationCode = this.formModel.destinationCode;
|
|
||||||
} else if (this.formModel.type === 'HEAD') {
|
|
||||||
params.tripNumber = this.formModel.tripNumber;
|
|
||||||
params.destinationCode = this.formModel.destinationCode;
|
|
||||||
}
|
|
||||||
commitOperate(menuOperate.TrainWindow.addTrainId, params, 2).then(({valid})=>{
|
|
||||||
this.loading = false;
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false;
|
|
||||||
this.doClose();
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
// 修改列车识别号
|
|
||||||
editTrainId() {
|
|
||||||
this.$refs['form'].validate((valid) => {
|
|
||||||
if (valid) {
|
|
||||||
const params = {
|
|
||||||
groupNumber: this.formModel.groupNumber,
|
|
||||||
type: this.formModel.type,
|
|
||||||
serviceNumber: '',
|
|
||||||
tripNumber: '',
|
|
||||||
destinationCode: ''
|
|
||||||
};
|
|
||||||
if (this.formModel.type === 'PLAN') {
|
|
||||||
params.serviceNumber = this.formModel.serviceNumber;
|
|
||||||
params.tripNumber = this.formModel.tripNumber;
|
|
||||||
params.destinationCode = this.formModel.destinationCode;
|
|
||||||
} else if (this.formModel.type === 'HEAD') {
|
|
||||||
params.tripNumber = this.formModel.tripNumber;
|
|
||||||
params.destinationCode = this.formModel.destinationCode;
|
|
||||||
}
|
|
||||||
commitOperate(menuOperate.TrainWindow.editTrainId, params, 2).then(({valid})=>{
|
|
||||||
this.loading = false;
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.loading = false;
|
|
||||||
this.doClose();
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
cancel() {
|
|
||||||
const operate = {
|
|
||||||
|
|
||||||
operation: OperationEvent.Command.cancel.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
|
||||||
this.doClose();
|
|
||||||
}
|
|
||||||
}).catch(() => {
|
|
||||||
this.doClose();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -108,6 +108,11 @@ export default {
|
|||||||
handler: this.active,
|
handler: this.active,
|
||||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuSection.sectionAxisPreReset'),
|
||||||
|
handler: this.axlePreReset,
|
||||||
|
cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSection.sectionBlockade'),
|
label: this.$t('menu.menuSection.sectionBlockade'),
|
||||||
handler: this.lock,
|
handler: this.lock,
|
||||||
|
@ -108,6 +108,11 @@ export default {
|
|||||||
label: this.$t('menu.menuSignal.signalOff'),
|
label: this.$t('menu.menuSignal.signalOff'),
|
||||||
handler: this.signalClose,
|
handler: this.signalClose,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
|
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '查询进路控制模式',
|
||||||
|
handler: this.detail,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
Center: [
|
||||||
@ -141,6 +146,31 @@ export default {
|
|||||||
handler: this.reopenSignal,
|
handler: this.reopenSignal,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuSignal.guide'),
|
||||||
|
handler: this.guide,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuSignal.setInterlockAutoRoute'),
|
||||||
|
handler: this.setAutoInterlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuSignal.cancelInterlockAutoRoute'),
|
||||||
|
handler: this.cancelAutoInterlock,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuSignal.setInterlockAutoTrigger'),
|
||||||
|
handler: this.setAutoTrigger,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: this.$t('menu.menuSignal.cancelInterlockAutoTrigger'),
|
||||||
|
handler: this.cancelAutoTrigger,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuSignal.humanControl'),
|
label: this.$t('menu.menuSignal.humanControl'),
|
||||||
handler: this.humanControl,
|
handler: this.humanControl,
|
||||||
@ -150,6 +180,11 @@ export default {
|
|||||||
label: this.$t('menu.menuSignal.atsAutoControl'),
|
label: this.$t('menu.menuSignal.atsAutoControl'),
|
||||||
handler: this.atsAutoControl,
|
handler: this.atsAutoControl,
|
||||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '查询进路控制模式',
|
||||||
|
handler: this.detail,
|
||||||
|
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -346,27 +381,15 @@ export default {
|
|||||||
this.$refs.routeHandControl.doShow(operate, this.selected, this.getRouteList(this.selected));
|
this.$refs.routeHandControl.doShow(operate, this.selected, this.getRouteList(this.selected));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
// 查询进路状态
|
// 查询进路状态
|
||||||
// detail() {
|
detail() {
|
||||||
// const step = {
|
commitOperate(menuOperate.Signal.detail, {signalCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
// start: true,
|
if (valid) {
|
||||||
// code: `${this.selected.code}`,
|
this.$refs.routeDetail.doShow(operate, this.selected, this.getRouteList(this.selected));
|
||||||
// operation: OperationEvent.Signal.detail.menu.operation,
|
}
|
||||||
// param: {
|
});
|
||||||
// Signal_Code: `${this.selected.code}`
|
}
|
||||||
// }
|
|
||||||
// };
|
|
||||||
// this.$store.dispatch('training/next', step).then(({ valid }) => {
|
|
||||||
// if (valid) {
|
|
||||||
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
// querySignalStatus(this.group, {signalCode: `${this.selected.code}`}).then(resp => {
|
|
||||||
// const tempData = resp.data;
|
|
||||||
// this.$refs.routeDetail.doShow(step, this.selected, tempData);
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" />
|
<pop-menu ref="popMenu" :menu="menu" />
|
||||||
<notice-info ref="noticeInfo" pop-class="fuzhou-01__systerm" />
|
<notice-info ref="noticeInfo" pop-class="fuzhou-01__systerm" />
|
||||||
<train-control ref="trainControl" />
|
<train-control ref="trainControl" pop-class="fuzhou-01__systerm" />
|
||||||
<train-delete ref="trainDelete" />
|
<train-delete ref="trainDelete" />
|
||||||
<train-move ref="trainMove" />
|
<train-move ref="trainMove" />
|
||||||
<train-switch ref="trainSwitch" />
|
<train-switch ref="trainSwitch" />
|
||||||
@ -17,7 +17,7 @@ import { mapGetters } from 'vuex';
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import TrainControl from './dialog/trainControl';
|
import TrainControl from '@/jmapNew/theme/components/menus/dialog/trainControl';
|
||||||
import TrainDelete from './dialog/trainDelete';
|
import TrainDelete from './dialog/trainDelete';
|
||||||
import TrainMove from './dialog/trainMove';
|
import TrainMove from './dialog/trainMove';
|
||||||
import TrainSwitch from './dialog/trainSwitch';
|
import TrainSwitch from './dialog/trainSwitch';
|
||||||
|
@ -41,8 +41,7 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
'$store.state.socket.msgHead': function (elem) {
|
||||||
if (elem && elem.type == 'resp' && (elem.timeout || !elem.agree)) {
|
if (elem && elem.type == 'resp' && (elem.timeout || !elem.agree)) {
|
||||||
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
const station = this.$store.getters['map/getDeviceByCode'](elem.stationCodes[0]);
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
|
||||||
const newOperate = {
|
const newOperate = {
|
||||||
name: station.name
|
name: station.name
|
||||||
};
|
};
|
||||||
@ -83,8 +82,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Command.close.notice.operation
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
};
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -95,7 +93,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Command.close.notice.operation
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
};
|
};
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
|
156
src/jmapNew/theme/xian_01/menus/dialog/switchHookLock.vue
Normal file
156
src/jmapNew/theme/xian_01/menus/dialog/switchHookLock.vue
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
v-dialogDrag
|
||||||
|
class="xian-01__systerm switch-control"
|
||||||
|
:title="title"
|
||||||
|
:visible.sync="show"
|
||||||
|
width="300px"
|
||||||
|
:before-close="doClose"
|
||||||
|
:z-index="2000"
|
||||||
|
:modal="false"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
>
|
||||||
|
<el-row class="header">
|
||||||
|
<el-col :span="11"><span>车站名称</span></el-col>
|
||||||
|
<el-col :span="11" :offset="2"><span>道岔</span></el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-input v-model="stationName" size="small" disabled />
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11" :offset="2">
|
||||||
|
<el-input v-model="switchName" size="small" disabled />
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<div style="padding: 10px 15px; border: 1px double lightgray;height: 60px;margin-top: 15px;">
|
||||||
|
<span class="base-label" style="left:-10px;background:#f0f0f0;">钩锁位置</span>
|
||||||
|
<div style=" position: relative; top:-10px;">
|
||||||
|
<el-radio-group v-model="normal" @change="chooseNormal">
|
||||||
|
<el-radio :id="normal? '': domIdChoose1" :label="true">定位</el-radio>
|
||||||
|
<el-radio :id="!normal? '': domIdChoose1" :label="false">反位</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-row justify="center" class="button-group">
|
||||||
|
<el-col :span="10" :offset="2">
|
||||||
|
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" :offset="4">
|
||||||
|
<el-button :id="domIdCancel" @click="cancel">取 消</el-button>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
export default {
|
||||||
|
name: 'SwitchHookLock',
|
||||||
|
components: {
|
||||||
|
NoticeInfo
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogShow: false,
|
||||||
|
loading: false,
|
||||||
|
selected: null,
|
||||||
|
operation: '',
|
||||||
|
stationName: '',
|
||||||
|
switchName: '',
|
||||||
|
normal:false
|
||||||
|
};
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
show() {
|
||||||
|
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||||
|
},
|
||||||
|
domIdCancel() {
|
||||||
|
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
|
||||||
|
},
|
||||||
|
domIdConfirm() {
|
||||||
|
return this.dialogShow ? OperationEvent.Switch.hookLock.confirm.domId : '';
|
||||||
|
},
|
||||||
|
domIdChoose1() {
|
||||||
|
return this.dialogShow ? OperationEvent.Switch.hookLock.choose1.domId : '';
|
||||||
|
},
|
||||||
|
title() {
|
||||||
|
return '道岔钩锁';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$store.dispatch('training/tipReload');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
doShow(operate, selected) {
|
||||||
|
this.selected = selected;
|
||||||
|
if (!this.dialogShow) {
|
||||||
|
this.switchName = '';
|
||||||
|
this.stationName = '';
|
||||||
|
if (selected && selected._type.toUpperCase() === 'Switch'.toUpperCase()) {
|
||||||
|
this.switchName = selected.name;
|
||||||
|
const station = this.$store.getters['map/getDeviceByCode'](selected.stationCode);
|
||||||
|
if (station) {
|
||||||
|
this.stationName = station.name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (selected.normal) {
|
||||||
|
this.normal = true;
|
||||||
|
} else {
|
||||||
|
this.normal = false;
|
||||||
|
}
|
||||||
|
this.operation = operate.operation;
|
||||||
|
this.dialogShow = true;
|
||||||
|
this.$nextTick(function () {
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
chooseNormal(normal) {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.StationStand.setStopTime.choose1.operation,
|
||||||
|
val: `${normal}`,
|
||||||
|
param: {}
|
||||||
|
};
|
||||||
|
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
doClose() {
|
||||||
|
this.loading = false;
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
|
},
|
||||||
|
commit() {
|
||||||
|
this.loading = true;
|
||||||
|
commitOperate(menuOperate.Switch.hookLock, {normal: this.normal}, 2).then(({valid, operate})=>{
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.doClose();
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
cancel() {
|
||||||
|
const operate = {
|
||||||
|
operation: OperationEvent.Command.cancel.menu.operation
|
||||||
|
};
|
||||||
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
if (valid) {
|
||||||
|
this.doClose();
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
this.doClose();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
@ -4,6 +4,7 @@
|
|||||||
<switch-control ref="switchControl" :pop-class="'xian-01__systerm'" />
|
<switch-control ref="switchControl" :pop-class="'xian-01__systerm'" />
|
||||||
<switch-cmd-control ref="switchCmdControl" />
|
<switch-cmd-control ref="switchCmdControl" />
|
||||||
<speed-cmd-control ref="speedCmdControl" />
|
<speed-cmd-control ref="speedCmdControl" />
|
||||||
|
<switch-hook-lock ref="switchHookLock" />
|
||||||
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
|
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
|
||||||
<set-fault ref="setFault" pop-class="xian-01__systerm" />
|
<set-fault ref="setFault" pop-class="xian-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
@ -15,11 +16,13 @@ import SwitchControl from '@/jmapNew/theme/components/menus/dialog/switchControl
|
|||||||
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import SwitchCmdControl from './dialog/switchCmdControl';
|
import SwitchCmdControl from './dialog/switchCmdControl';
|
||||||
import SpeedCmdControl from './dialog/speedCmdControl';
|
import SpeedCmdControl from './dialog/speedCmdControl';
|
||||||
|
import SwitchHookLock from './dialog/switchHookLock';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
|
||||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -30,6 +33,7 @@ export default {
|
|||||||
SwitchCmdControl,
|
SwitchCmdControl,
|
||||||
SpeedCmdControl,
|
SpeedCmdControl,
|
||||||
NoticeInfo,
|
NoticeInfo,
|
||||||
|
SwitchHookLock,
|
||||||
SetFault
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
@ -99,6 +103,11 @@ export default {
|
|||||||
label: '道岔取消限速',
|
label: '道岔取消限速',
|
||||||
handler: this.cancelSpeed,
|
handler: this.cancelSpeed,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED
|
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔钩锁',
|
||||||
|
handler: this.hookLock,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_HOOK_LOCK
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
Center: [
|
Center: [
|
||||||
@ -151,6 +160,11 @@ export default {
|
|||||||
label: '取消限速',
|
label: '取消限速',
|
||||||
handler: this.cancelSpeed,
|
handler: this.cancelSpeed,
|
||||||
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED
|
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '道岔钩锁',
|
||||||
|
handler: this.hookLock,
|
||||||
|
cmdType:CMD.Switch.CMD_SWITCH_HOOK_LOCK
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -319,6 +333,14 @@ export default {
|
|||||||
this.$refs.speedCmdControl.doShow(operate, this.selected);
|
this.$refs.speedCmdControl.doShow(operate, this.selected);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
},
|
||||||
|
// 道岔钩锁
|
||||||
|
hookLock() {
|
||||||
|
commitOperate(menuOperate.Switch.hookLock, {switchCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||||
|
if (valid) {
|
||||||
|
this.$refs.switchHookLock.doShow(operate, this.selected);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" pop-menu-class="xian-01__systerm" />
|
<pop-menu ref="popMenu" :menu="menu" pop-menu-class="xian-01__systerm" />
|
||||||
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
|
<notice-info ref="noticeInfo" pop-class="xian-01__systerm" />
|
||||||
<train-control ref="trainControl" />
|
<train-control ref="trainControl" pop-class="xian-01__systerm" />
|
||||||
<train-delete ref="trainDelete" />
|
<train-delete ref="trainDelete" />
|
||||||
<train-move ref="trainMove" />
|
<train-move ref="trainMove" />
|
||||||
<train-switch ref="trainSwitch" />
|
<train-switch ref="trainSwitch" />
|
||||||
@ -18,7 +18,7 @@ import { mapGetters } from 'vuex';
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import TrainControl from './dialog/trainControl';
|
import TrainControl from '@/jmapNew/theme/components/menus/dialog/trainControl';
|
||||||
import TrainDelete from './dialog/trainDelete';
|
import TrainDelete from './dialog/trainDelete';
|
||||||
import TrainMove from './dialog/trainMove';
|
import TrainMove from './dialog/trainMove';
|
||||||
import TrainSwitch from './dialog/trainSwitch';
|
import TrainSwitch from './dialog/trainSwitch';
|
||||||
|
@ -41,12 +41,10 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
'$store.state.socket.msgHead': function (elem) {
|
'$store.state.socket.msgHead': function (elem) {
|
||||||
if (elem && elem.type == 'resp' && (elem.timeout || !elem.agree)) {
|
if (elem && elem.type == 'resp' && (elem.timeout || !elem.agree)) {
|
||||||
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
|
const station = this.$store.getters['map/getDeviceByCode'](elem.stationCodes[0]);
|
||||||
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
|
|
||||||
const newOperate = {
|
const newOperate = {
|
||||||
name: station.name
|
name: station.name
|
||||||
};
|
};
|
||||||
|
|
||||||
if (elem.timeout) {
|
if (elem.timeout) {
|
||||||
newOperate['msg'] = this.$t('menu.passiveDialog.requestTimedOut');
|
newOperate['msg'] = this.$t('menu.passiveDialog.requestTimedOut');
|
||||||
this.doShow(newOperate);
|
this.doShow(newOperate);
|
||||||
@ -84,7 +82,7 @@ export default {
|
|||||||
operation: OperationEvent.Command.close.notice.operation
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
};
|
};
|
||||||
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
@ -95,7 +93,7 @@ export default {
|
|||||||
const operate = {
|
const operate = {
|
||||||
operation: OperationEvent.Command.close.notice.operation
|
operation: OperationEvent.Command.close.notice.operation
|
||||||
};
|
};
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
|
@ -45,7 +45,9 @@ export default {
|
|||||||
/** 道岔区段封锁 */
|
/** 道岔区段封锁 */
|
||||||
CMD_SWITCH_SECTION_BLOCK: {value: 'Switch_Section_Block', label: '道岔区段封锁'},
|
CMD_SWITCH_SECTION_BLOCK: {value: 'Switch_Section_Block', label: '道岔区段封锁'},
|
||||||
/** 道岔区段解封 */
|
/** 道岔区段解封 */
|
||||||
CMD_SWITCH_SECTION_UNBLOCK: {value: 'Switch_Section_Unblock', label: '道岔区段解封'}
|
CMD_SWITCH_SECTION_UNBLOCK: {value: 'Switch_Section_Unblock', label: '道岔区段解封'},
|
||||||
|
/** 道岔钩锁 **/
|
||||||
|
CMD_SWITCH_HOOK_LOCK:{value:'Switch_Hook_Lock', label:'道岔钩锁'}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 控制模式操作
|
// 控制模式操作
|
||||||
|
@ -60,7 +60,6 @@ class Handler {
|
|||||||
command = CommandHandler.getCommand(cmdType, wholeParam);
|
command = CommandHandler.getCommand(cmdType, wholeParam);
|
||||||
if (command && command.isError) {
|
if (command && command.isError) {
|
||||||
this.operations.pop();
|
this.operations.pop();
|
||||||
store.dispatch('training/setTempStep', null);
|
|
||||||
command = null;
|
command = null;
|
||||||
} else if (command && command.isOver) {
|
} else if (command && command.isOver) {
|
||||||
this.clear();
|
this.clear();
|
||||||
|
@ -541,6 +541,21 @@ export const OperationEvent = {
|
|||||||
operation: '1174',
|
operation: '1174',
|
||||||
domId: '_Tips-Switch-Alxe-Effective-Confirm-2'
|
domId: '_Tips-Switch-Alxe-Effective-Confirm-2'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 道岔钩锁
|
||||||
|
hookLock:{
|
||||||
|
menu: {
|
||||||
|
operation: '118',
|
||||||
|
domId: '_Tips-Switch-Hook-Lock'
|
||||||
|
},
|
||||||
|
choose1: {
|
||||||
|
operation: '1181',
|
||||||
|
domId: '_Tips-Switch-Hook-Lock-Choose-1'
|
||||||
|
},
|
||||||
|
confirm: {
|
||||||
|
operation: '1182',
|
||||||
|
domId: '_Tips-Switch-Hook-Lock-Confirm'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -1,14 +1,10 @@
|
|||||||
import store from '@/store/index_APP_TARGET';
|
|
||||||
import LangStorage from '@/utils/lang';
|
|
||||||
import Handler from './Handler.js';
|
import Handler from './Handler.js';
|
||||||
import { TrainingMode } from '@/scripts/ConstDic';
|
import { TrainingMode } from '@/scripts/ConstDic';
|
||||||
import { Message } from 'element-ui';
|
|
||||||
|
|
||||||
class ValidateHandler {
|
class ValidateHandler {
|
||||||
vaildate(mode, operate) {
|
vaildate(mode, operate) {
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
case TrainingMode.EDIT: // 编辑制作模式
|
|
||||||
return this.vaildate_edit(operate);
|
|
||||||
case TrainingMode.PRACTICE: // 练习模式
|
case TrainingMode.PRACTICE: // 练习模式
|
||||||
return this.vaildate_tips(operate);
|
return this.vaildate_tips(operate);
|
||||||
case TrainingMode.TEACH: // 教学模式
|
case TrainingMode.TEACH: // 教学模式
|
||||||
@ -18,22 +14,6 @@ class ValidateHandler {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
vaildate_edit(operate) {
|
|
||||||
let vaild = true;
|
|
||||||
if (Handler.getOperateBreakStatus()) {
|
|
||||||
const tip = LangStorage.getLang() == 'en' ? 'Please enter a hint and click next' : '请输入提示并点击下一步';
|
|
||||||
Message.error(tip);
|
|
||||||
Handler.pop();
|
|
||||||
vaild = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Handler.getTrainingStart()) {
|
|
||||||
store.dispatch('training/setTempStep', operate);
|
|
||||||
}
|
|
||||||
|
|
||||||
return vaild;
|
|
||||||
}
|
|
||||||
|
|
||||||
vaildate_tips(operate) {
|
vaildate_tips(operate) {
|
||||||
let valid = true;
|
let valid = true;
|
||||||
if (Handler.getTrainingStart()) {
|
if (Handler.getTrainingStart()) {
|
||||||
|
@ -20,7 +20,6 @@ OperateConverter.prototype = {
|
|||||||
if (command && command.error) {
|
if (command && command.error) {
|
||||||
// 命令错误,可以回退或清空(暂用回退)
|
// 命令错误,可以回退或清空(暂用回退)
|
||||||
OperateHandler.operates.pop();
|
OperateHandler.operates.pop();
|
||||||
store.dispatch('training/setTempStep', null);
|
|
||||||
command = null;
|
command = null;
|
||||||
} else if (command && command.over) {
|
} else if (command && command.over) {
|
||||||
// 清空操作组
|
// 清空操作组
|
||||||
|
@ -4,8 +4,6 @@ import OperateConverter from '@/scripts/plugin/OperateConvert2Command';
|
|||||||
import { TrainingMode } from '@/scripts/ConstDic';
|
import { TrainingMode } from '@/scripts/ConstDic';
|
||||||
import { getConverter } from '@/scripts/plugin/Converter/manager';
|
import { getConverter } from '@/scripts/plugin/Converter/manager';
|
||||||
import { sendTrainingNextStep } from '@/api/jmap/training';
|
import { sendTrainingNextStep } from '@/api/jmap/training';
|
||||||
import { Message } from 'element-ui';
|
|
||||||
import LangStorage from '@/utils/lang';
|
|
||||||
|
|
||||||
var OperateHandler = function () {
|
var OperateHandler = function () {
|
||||||
};
|
};
|
||||||
@ -67,19 +65,7 @@ OperateHandler.prototype = {
|
|||||||
|
|
||||||
let valid = true;
|
let valid = true;
|
||||||
const mode = this.getTrainingMode();
|
const mode = this.getTrainingMode();
|
||||||
if (TrainingMode.EDIT === mode) {
|
if (TrainingMode.TEACH === mode || TrainingMode.PRACTICE === mode) {
|
||||||
// 编辑制作模式
|
|
||||||
if (this.getOperateBreakStatus()) {
|
|
||||||
valid = false;
|
|
||||||
const tip = LangStorage.getLang() == 'en' ? 'Please enter a hint and click next' : '请输入提示并点击下一步';
|
|
||||||
Message.error(tip);
|
|
||||||
this.operates.pop();
|
|
||||||
return valid;
|
|
||||||
}
|
|
||||||
if (this.getTrainingStart()) {
|
|
||||||
store.dispatch('training/setTempStep', operate);
|
|
||||||
}
|
|
||||||
} else if (TrainingMode.TEACH === mode || TrainingMode.PRACTICE === mode) {
|
|
||||||
// 教学模式/练习模式
|
// 教学模式/练习模式
|
||||||
if (this.getTrainingStart()) {
|
if (this.getTrainingStart()) {
|
||||||
valid = this.judge(operate);
|
valid = this.judge(operate);
|
||||||
|
@ -106,6 +106,9 @@ const exam = {
|
|||||||
countUsedTime({ commit }) {
|
countUsedTime({ commit }) {
|
||||||
commit('countUsedTime');
|
commit('countUsedTime');
|
||||||
},
|
},
|
||||||
|
stopCountTime({ commit }) {
|
||||||
|
commit('stopCountTime');
|
||||||
|
},
|
||||||
setRuleList({ commit }, ruleList) {
|
setRuleList({ commit }, ruleList) {
|
||||||
commit('setRuleList', ruleList);
|
commit('setRuleList', ruleList);
|
||||||
},
|
},
|
||||||
|
@ -172,6 +172,23 @@ function recover(state, models) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 过滤空值 删除
|
||||||
|
function filtrationModel(models) {
|
||||||
|
models.forEach(model => {
|
||||||
|
for (const key in model) {
|
||||||
|
if (typeof model[key] == 'string') {
|
||||||
|
if (!model[key]) {
|
||||||
|
delete model[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (model[key] == null || model[key] == undefined) {
|
||||||
|
delete model[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return models;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实训状态数据
|
* 实训状态数据
|
||||||
*/
|
*/
|
||||||
@ -927,10 +944,12 @@ const map = {
|
|||||||
if (!(models instanceof Array)) {
|
if (!(models instanceof Array)) {
|
||||||
models = [models];
|
models = [models];
|
||||||
}
|
}
|
||||||
|
// 过滤 空/null/undefined value 值
|
||||||
|
const dictList = filtrationModel(models);
|
||||||
|
|
||||||
// 查找向上关联需要一起删除的设备
|
// 查找向上关联需要一起删除的设备
|
||||||
const dict = {};
|
const dict = {};
|
||||||
models.forEach((model) => {
|
dictList.forEach((model) => {
|
||||||
if (model['_dispose']) {
|
if (model['_dispose']) {
|
||||||
queryDeleteModels(state, model, dict);
|
queryDeleteModels(state, model, dict);
|
||||||
} else {
|
} else {
|
||||||
|
@ -21,7 +21,6 @@ const training = {
|
|||||||
offsetStationCode: '', // 偏移到车站
|
offsetStationCode: '', // 偏移到车站
|
||||||
rezoomCount: 0, // 车站变更标识
|
rezoomCount: 0, // 车站变更标识
|
||||||
steps: [], // 实训步骤数据
|
steps: [], // 实训步骤数据
|
||||||
tempStep: {}, // 临时步骤数据(编辑模式)
|
|
||||||
order: -1, // 实训进行到第几步
|
order: -1, // 实训进行到第几步
|
||||||
orderCount: 0, // 步骤变更标识
|
orderCount: 0, // 步骤变更标识
|
||||||
operateErrMsg: '', // 操作错误提示信息
|
operateErrMsg: '', // 操作错误提示信息
|
||||||
@ -39,9 +38,6 @@ const training = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getters: {
|
getters: {
|
||||||
tempStep: (state) => {
|
|
||||||
return state.tempStep;
|
|
||||||
},
|
|
||||||
steps: (state) => {
|
steps: (state) => {
|
||||||
return state.steps;
|
return state.steps;
|
||||||
},
|
},
|
||||||
@ -152,10 +148,6 @@ const training = {
|
|||||||
state.orderCount += 1;
|
state.orderCount += 1;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
setTempStep: (state, step) => {
|
|
||||||
state.tempStep = step;
|
|
||||||
},
|
|
||||||
|
|
||||||
setOperateErrMsg: (state, errMsg) => {
|
setOperateErrMsg: (state, errMsg) => {
|
||||||
state.operateErrMsg = errMsg;
|
state.operateErrMsg = errMsg;
|
||||||
},
|
},
|
||||||
@ -508,13 +500,6 @@ const training = {
|
|||||||
commit('updateMapState', deviceStatus);
|
commit('updateMapState', deviceStatus);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置临时步骤数据
|
|
||||||
*/
|
|
||||||
setTempStep: ({ commit }, step) => {
|
|
||||||
commit('setTempStep', step);
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始教学模式
|
* 开始教学模式
|
||||||
*/
|
*/
|
||||||
|
@ -130,10 +130,10 @@ export function getCountTime(data) {
|
|||||||
|
|
||||||
// 对象 深拷贝
|
// 对象 深拷贝
|
||||||
export function deepClone(item) {
|
export function deepClone(item) {
|
||||||
const target = item.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象
|
const target = item.constructor === Array ? [] : {};
|
||||||
for (const keys in item) {
|
for (const keys in item) {
|
||||||
if (item.hasOwnProperty(keys) && keys != 'instance') { // instance 对面不拷贝
|
if (item.hasOwnProperty(keys) && keys != 'instance') { // instance 对面不拷贝
|
||||||
if (item[keys] && typeof item[keys] === 'object') { // 如果值是对象,就递归一下
|
if (item[keys] && typeof item[keys] === 'object') {
|
||||||
target[keys] = item[keys].constructor === Array ? [] : {};
|
target[keys] = item[keys].constructor === Array ? [] : {};
|
||||||
target[keys] = deepClone(item[keys]);
|
target[keys] = deepClone(item[keys]);
|
||||||
} else {
|
} else {
|
||||||
@ -146,10 +146,10 @@ export function deepClone(item) {
|
|||||||
|
|
||||||
// 对象深拷贝并赋值
|
// 对象深拷贝并赋值
|
||||||
export function deepAssign(obj, item) {
|
export function deepAssign(obj, item) {
|
||||||
const target = item.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象
|
const target = item.constructor === Array ? [] : {};
|
||||||
for (const keys in item) {
|
for (const keys in item) {
|
||||||
if (item.hasOwnProperty(keys) && keys != 'instance') { // instance 对面不拷贝
|
if (item.hasOwnProperty(keys) && keys != 'instance') { // instance 对面不拷贝
|
||||||
if (item[keys] && typeof item[keys] == 'object') { // 如果值是对象,就递归一下
|
if (item[keys] && typeof item[keys] == 'object') {
|
||||||
const targetObj = item[keys].constructor == Array ? [] : {};
|
const targetObj = item[keys].constructor == Array ? [] : {};
|
||||||
target[keys] = deepAssign(targetObj, item[keys]);
|
target[keys] = deepAssign(targetObj, item[keys]);
|
||||||
} else {
|
} else {
|
||||||
@ -160,27 +160,3 @@ export function deepAssign(obj, item) {
|
|||||||
return Object.assign(obj, target);
|
return Object.assign(obj, target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 对象深拷贝并赋值
|
|
||||||
export function deepAssigns(obj, item) {
|
|
||||||
const target = item.constructor === Array ? [] : {}; // 判断复制的目标是数组还是对象
|
|
||||||
for (const keys in obj) {
|
|
||||||
if (item.hasOwnProperty(keys) && keys != 'instance') { // instance 对面不拷贝
|
|
||||||
if (item[keys] && typeof item[keys] == 'object') { // 如果值是对象,就递归一下
|
|
||||||
const targetObj = item[keys].constructor == Array ? [] : {};
|
|
||||||
target[keys] = deepAssign(targetObj, item[keys]);
|
|
||||||
} else {
|
|
||||||
target[keys] = item[keys];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (typeof obj[keys] == 'boolean') {
|
|
||||||
target[keys] = false;
|
|
||||||
} else if (typeof obj[keys] == 'number') {
|
|
||||||
target[keys] = 0;
|
|
||||||
} else if (typeof obj[keys] == 'string') {
|
|
||||||
target[keys] = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return Object.assign(obj, target);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -161,6 +161,14 @@ export default {
|
|||||||
let endTime;
|
let endTime;
|
||||||
let startTime;
|
let startTime;
|
||||||
if (this.formModel.date) {
|
if (this.formModel.date) {
|
||||||
|
const h = new Date().getHours();
|
||||||
|
const m = new Date().getMinutes();
|
||||||
|
if (+new Date(this.formModel.date[0]) < +new Date()) {
|
||||||
|
this.formModel.date[0] = `${this.formModel.date[0].split(' ')[0]} ${h < 10 ? '0' + h : h }:${m < 10 ? '0' + m : m }:00`;
|
||||||
|
}
|
||||||
|
if (+new Date(this.formModel.date[1]) < +new Date()) {
|
||||||
|
this.formModel.date[1] = `${this.formModel.date[1].split(' ')[0]} ${h < 10 ? '0' + h : h }:${m < 10 ? '0' + m : m }:00`;
|
||||||
|
}
|
||||||
endTime = this.formModel.date[1];
|
endTime = this.formModel.date[1];
|
||||||
startTime = this.formModel.date[0];
|
startTime = this.formModel.date[0];
|
||||||
}
|
}
|
||||||
|
@ -65,6 +65,8 @@ export default {
|
|||||||
getSubSystemDetail(this.$route.params.subSystem).then(resp =>{
|
getSubSystemDetail(this.$route.params.subSystem).then(resp =>{
|
||||||
if (resp.data) {
|
if (resp.data) {
|
||||||
this.tableData = resp.data.lessonList;
|
this.tableData = resp.data.lessonList;
|
||||||
|
} else {
|
||||||
|
this.tableData = [];
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
if (error.code == 30001) {
|
if (error.code == 30001) {
|
||||||
|
@ -174,6 +174,7 @@ import IbpKey from './ibpKey';
|
|||||||
import IbpClock from './ibpClock';
|
import IbpClock from './ibpClock';
|
||||||
import IbpRotateTip from './ibpRotateTip';
|
import IbpRotateTip from './ibpRotateTip';
|
||||||
import { putIbpDrawData, getIbpInfo } from '@/api/ibp';
|
import { putIbpDrawData, getIbpInfo } from '@/api/ibp';
|
||||||
|
import {getStationList} from '@/api/runplan';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'IbpOperate',
|
name: 'IbpOperate',
|
||||||
@ -200,28 +201,34 @@ export default {
|
|||||||
return {
|
return {
|
||||||
enabledTab: 'Background',
|
enabledTab: 'Background',
|
||||||
data: '',
|
data: '',
|
||||||
stationOptions:[
|
stationOptions:[],
|
||||||
{
|
// stationOptions:[
|
||||||
value: 'Station_203_0.07533',
|
// {
|
||||||
// label: '通化门站'
|
// value: 'Station_203_0.07533',
|
||||||
label: '车站一'
|
// // label: '通化门站'
|
||||||
},
|
// label: '车站一'
|
||||||
{
|
// },
|
||||||
value: 'Station_207_0.62282',
|
// {
|
||||||
// label: '枣园站'
|
// value: 'Station_207_0.62282',
|
||||||
label: '车站二'
|
// // label: '枣园站'
|
||||||
},
|
// label: '车站二'
|
||||||
{
|
// },
|
||||||
value: 'Station_209_0.95175',
|
// {
|
||||||
label: '车站三'
|
// value: 'Station_209_0.95175',
|
||||||
// label: '后卫寨站'
|
// label: '车站三'
|
||||||
}
|
// // label: '后卫寨站'
|
||||||
],
|
// }
|
||||||
|
// ],
|
||||||
// drawData: {},
|
// drawData: {},
|
||||||
stationCode: '',
|
// stationCode: '',
|
||||||
height: this.$store.state.app.height - 190
|
height: this.$store.state.app.height - 190
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed:{
|
||||||
|
stationCode() {
|
||||||
|
return this.$route.query.stationCode;
|
||||||
|
}
|
||||||
|
},
|
||||||
watch: {
|
watch: {
|
||||||
'$store.state.ibp.rightClickCount': function (val) {
|
'$store.state.ibp.rightClickCount': function (val) {
|
||||||
const model = this.$store.getters['ibp/updateDeviceData'];
|
const model = this.$store.getters['ibp/updateDeviceData'];
|
||||||
@ -230,6 +237,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async created() {
|
async created() {
|
||||||
try {
|
try {
|
||||||
|
const resp = await getStationList(this.$route.query.mapId);
|
||||||
const res = await getIbpInfo(this.$route.query.ibpId);
|
const res = await getIbpInfo(this.$route.query.ibpId);
|
||||||
if (res.data.data) {
|
if (res.data.data) {
|
||||||
const drawData = JSON.parse(res.data.data).drawData;
|
const drawData = JSON.parse(res.data.data).drawData;
|
||||||
@ -237,6 +245,12 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
this.setEmptyShow();
|
this.setEmptyShow();
|
||||||
}
|
}
|
||||||
|
if (resp.data && resp.data.length > 0) {
|
||||||
|
const stationList = resp.data;
|
||||||
|
stationList.forEach(station=>{
|
||||||
|
this.stationOptions.push({label:station.name, value:station.code});
|
||||||
|
});
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log('error', error);
|
console.log('error', error);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<div v-if="chapterShow" class="box">
|
<div v-if="chapterShow" class="box">
|
||||||
<chapter-edit ref="chapter" @refresh="refresh" />
|
<chapter-edit ref="chapter" @refresh="refresh" />
|
||||||
</div>
|
</div>
|
||||||
<div v-if="treeShow" class="box">
|
<div v-if="sortTreeShow" class="box">
|
||||||
<sort-tree ref="sortTree" @refresh="refresh" />
|
<sort-tree ref="sortTree" @refresh="refresh" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -30,7 +30,7 @@ export default {
|
|||||||
isNew: true,
|
isNew: true,
|
||||||
lessonShow: true,
|
lessonShow: true,
|
||||||
chapterShow: false,
|
chapterShow: false,
|
||||||
treeShow: false,
|
sortTreeShow: false,
|
||||||
menuoper: {},
|
menuoper: {},
|
||||||
demoObj: null
|
demoObj: null
|
||||||
};
|
};
|
||||||
@ -45,49 +45,19 @@ export default {
|
|||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
$route() {
|
$route() {
|
||||||
const data = this.$route.query;
|
this.initData();
|
||||||
switch (this.$route.params.type) {
|
|
||||||
case 'lessonCreate':
|
|
||||||
this.lessonCreate(data);
|
|
||||||
break;
|
|
||||||
case 'lessonEdit':
|
|
||||||
this.lessonEdit(data);
|
|
||||||
break;
|
|
||||||
case 'chapterCreate':
|
|
||||||
this.chapterCreate(data);
|
|
||||||
break;
|
|
||||||
case 'chapterEdit':
|
|
||||||
this.chapterEdit(data);
|
|
||||||
break;
|
|
||||||
case 'treeSort':
|
|
||||||
this.treeSort(data);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
const data = this.$route.query;
|
this.initData();
|
||||||
switch (this.$route.params.type) {
|
|
||||||
case 'lessonCreate':
|
|
||||||
this.lessonCreate(data);
|
|
||||||
break;
|
|
||||||
case 'lessonEdit':
|
|
||||||
this.lessonEdit(data);
|
|
||||||
break;
|
|
||||||
case 'chapterCreate':
|
|
||||||
this.chapterCreate(data);
|
|
||||||
break;
|
|
||||||
case 'chapterEdit':
|
|
||||||
this.chapterEdit(data);
|
|
||||||
break;
|
|
||||||
case 'treeSort':
|
|
||||||
this.treeSort(data);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
initData() {
|
||||||
|
const data = this.$route.query;
|
||||||
|
this.runFunc(this.$route.params.type, data);
|
||||||
|
},
|
||||||
exchangeShow(model) {
|
exchangeShow(model) {
|
||||||
['lessonShow', 'chapterShow', 'treeShow'].forEach(elem => {
|
['lessonShow', 'chapterShow', 'sortTreeShow'].forEach(elem => {
|
||||||
if (model[elem]) {
|
if (model[elem]) {
|
||||||
this[elem] = true;
|
this[elem] = true;
|
||||||
} else {
|
} else {
|
||||||
@ -95,40 +65,37 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
lessonCreate(data) {
|
runFunc(func, data) {
|
||||||
this.isNew = true;
|
// 策略模式
|
||||||
this.exchangeShow({ lessonShow: true });
|
return this[func](data);
|
||||||
|
},
|
||||||
|
toNextPage(type, isCreate, data) {
|
||||||
|
this.isNew = isCreate;
|
||||||
|
const typeShow = {};
|
||||||
|
typeShow[type + 'Show'] = true;
|
||||||
|
this.exchangeShow(typeShow);
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.lesson.initData(true, data);
|
if (type != 'sortTree') {
|
||||||
|
this.$refs[type].initData(isCreate, data);
|
||||||
|
} else {
|
||||||
|
this.$refs[type].initData(data);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
lessonCreate(data) {
|
||||||
|
this.toNextPage('lesson', true, data);
|
||||||
|
},
|
||||||
lessonEdit(data) {
|
lessonEdit(data) {
|
||||||
this.isNew = false;
|
this.toNextPage('lesson', false, data);
|
||||||
this.exchangeShow({ lessonShow: true });
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.lesson.initData(false, data);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
chapterCreate(data) {
|
chapterCreate(data) {
|
||||||
this.isNew = true;
|
this.toNextPage('chapter', true, data);
|
||||||
this.exchangeShow({ chapterShow: true });
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.chapter.initData(true, data);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
chapterEdit(data) {
|
chapterEdit(data) {
|
||||||
this.isNew = false;
|
this.toNextPage('chapter', false, data);
|
||||||
this.exchangeShow({ chapterShow: true });
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.chapter.initData(false, data);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
treeSort(data) {
|
treeSort(data) {
|
||||||
this.isNew = false;
|
this.toNextPage('sortTree', false, data);
|
||||||
this.exchangeShow({ treeShow: true });
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.sortTree.initData(data);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
refresh(filterSelect) {
|
refresh(filterSelect) {
|
||||||
this.$emit('refresh');
|
this.$emit('refresh');
|
||||||
|
@ -126,10 +126,15 @@ export default {
|
|||||||
components: { QrcodeVue, FloatPart },
|
components: { QrcodeVue, FloatPart },
|
||||||
data() {
|
data() {
|
||||||
const validateUsername = (rule, value, callback) => {
|
const validateUsername = (rule, value, callback) => {
|
||||||
if (value.length < 5 && !this.project.endsWith('gzb')) {
|
// if (value.length < 5 && !this.project.endsWith('gzb')) {
|
||||||
callback(new Error(this.$t('login.enterTheCorrectUserName')));
|
// callback(new Error(this.$t('login.enterTheCorrectUserName')));
|
||||||
} else {
|
// } else {
|
||||||
|
// callback();
|
||||||
|
// }
|
||||||
|
if (value) {
|
||||||
callback();
|
callback();
|
||||||
|
} else {
|
||||||
|
callback(new Error('请输入用户名'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const validatePass = (rule, value, callback) => {
|
const validatePass = (rule, value, callback) => {
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="handleShow">
|
<div class="handleShow">
|
||||||
<span v-if="show" class="el-icon-arrow-right" @click="handleSliderShow(true)">{{ $t('display.lesson.unfold') }}</span>
|
<span v-if="show" class="el-icon-arrow-right" style="cursor:pointer" @click="handleSliderShow(true)">{{ $t('display.lesson.unfold') }}</span>
|
||||||
<span v-else class="el-icon-arrow-left" @click="handleSliderShow(false)">{{ $t('display.lesson.fold') }}</span>
|
<span v-else class="el-icon-arrow-left" style="cursor:pointer" @click="handleSliderShow(false)">{{ $t('display.lesson.fold') }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="slider-tree">
|
<div class="slider-tree">
|
||||||
<el-scrollbar wrap-class="scrollbar-wrapper" style="background: #fff;">
|
<el-scrollbar wrap-class="scrollbar-wrapper" style="background: #fff;">
|
||||||
|
@ -151,6 +151,7 @@ export default {
|
|||||||
if (data == 'min') {
|
if (data == 'min') {
|
||||||
this.minimize = true;
|
this.minimize = true;
|
||||||
this.$refs.chatSetting.doClose();
|
this.$refs.chatSetting.doClose();
|
||||||
|
this.$refs.createGroup.doClose();
|
||||||
} else {
|
} else {
|
||||||
this.minimize = false;
|
this.minimize = false;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogShow" width="800px" :before-close="doClose" :modal="false">
|
<!-- <el-dialog v-dialogDrag :title="title" :visible.sync="dialogShow" width="800px" :before-close="doClose" :modal="false"> -->
|
||||||
|
<div v-show="dialogShow" id="faultChoose">
|
||||||
|
<div class="falutChooseTitle">{{ title }}</div>
|
||||||
|
<div class="closeFalutChoose" @click="closeFaultChoose">
|
||||||
|
<span class="el-icon-close closeFalutChooseIn" />
|
||||||
|
</div>
|
||||||
<div class="draft">
|
<div class="draft">
|
||||||
<el-radio-group v-model="auto">
|
<el-radio-group v-model="auto">
|
||||||
<el-radio :label="false" border>{{ $t('display.faultChoose.manual') }}</el-radio>
|
<el-radio :label="false" border>{{ $t('display.faultChoose.manual') }}</el-radio>
|
||||||
@ -7,17 +12,58 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="auto" class="card">
|
<div v-if="auto" class="card">
|
||||||
<QueryListPage ref="pageRules" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
<QueryListPage ref="pageRules" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" class="queryList" />
|
||||||
|
<div v-if="isAdd" class="addRules">
|
||||||
|
<div class="addRulesInner">
|
||||||
|
<div class="addRulesInnerTitle">新增故障</div>
|
||||||
|
<div class="closeAddRulesInner" @click="isAdd = false">
|
||||||
|
<span class="el-icon-close closeAddRulesIn" />
|
||||||
|
</div>
|
||||||
|
<el-form ref="form" :model="faultRule" label-width="100px" style="margin-left:15px;">
|
||||||
|
<el-form-item label="目标设备">
|
||||||
|
<!-- faultRule.targetDeviceCode -->
|
||||||
|
<el-input v-model="targetDevice" disabled size="small" class="inputModelClass" />
|
||||||
|
<el-button :type="field === 'targetActive' ? 'danger' : 'primary'" size="small" @click="hover('targetActive')">{{ $t('map.activate') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="故障类型">
|
||||||
|
<el-input v-model="faultRule.faultType" size="small" class="inputModelClass" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="触发设备">
|
||||||
|
<!-- faultRule.condition.triggerDeviceCode -->
|
||||||
|
<el-input v-model="triggerDevice" size="small" disabled class="inputModelClass" />
|
||||||
|
<el-button :type="field === 'triggerActive' ? 'danger' : 'primary'" size="small" @click="hover('triggerActive')">{{ $t('map.activate') }}</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="触发后状态">
|
||||||
|
<!-- <el-input v-model="faultRule.condition.triggerDeviceStatus" size="small" class="inputModelClass" /> -->
|
||||||
|
<el-select v-model="faultRule.condition.triggerDeviceStatus" placeholder="请选择" class="inputModelClass">
|
||||||
|
<el-option
|
||||||
|
v-for="item in triggerStatusList"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<span class="addRulesFooter">
|
||||||
|
<el-button size="medium" type="primary" @click="addRulesCreate">{{ $t('global.confirm') }}</el-button>
|
||||||
|
<el-button size="medium" @click="addRulesClose">{{ $t('global.cancel') }}</el-button>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span slot="footer" class="dialog-footer">
|
<!-- <span slot="footer" class="dialog-footer"> -->
|
||||||
|
<span class="faultChooseFoot">
|
||||||
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
||||||
<el-button type="primary" :loading="loading" @click="handleConfirm">{{ $t('global.confirm') }}</el-button>
|
<el-button type="primary" :loading="loading" @click="handleConfirm">{{ $t('global.confirm') }}</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-dialog>
|
</div>
|
||||||
|
|
||||||
|
<!-- </el-dialog> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getFailureGenerateRules, setFailureMode } from '@/api/simulation';
|
import { getFailureGenerateRules, setFailureModeNew } from '@/api/simulation';
|
||||||
import { FaultStatusEnum } from '@/scripts/FaultDic';
|
import { FaultStatusEnum } from '@/scripts/FaultDic';
|
||||||
import ModelType from '@/jmap/constant/deviceType';
|
import ModelType from '@/jmap/constant/deviceType';
|
||||||
|
|
||||||
@ -28,14 +74,35 @@ export default {
|
|||||||
group: {
|
group: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true
|
required: true
|
||||||
|
},
|
||||||
|
offset: {
|
||||||
|
type: Number,
|
||||||
|
required: true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false,
|
loading: false,
|
||||||
|
isAdd:false,
|
||||||
deviceMap: {},
|
deviceMap: {},
|
||||||
auto: false,
|
auto: false,
|
||||||
|
field:'',
|
||||||
|
triggerStatusList:[],
|
||||||
|
faultRule:{
|
||||||
|
targetDeviceCode:'',
|
||||||
|
targetDeviceType:'',
|
||||||
|
lineCode:'',
|
||||||
|
faultType:'',
|
||||||
|
condition:{
|
||||||
|
triggerDeviceCode:'',
|
||||||
|
triggerDeviceStatus:'',
|
||||||
|
triggerDeviceType :'',
|
||||||
|
type:''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
targetDevice:'',
|
||||||
|
triggerDevice:'',
|
||||||
pagerConfig: {
|
pagerConfig: {
|
||||||
pageSize: 'pageSize',
|
pageSize: 'pageSize',
|
||||||
pageIndex: 'pageNum'
|
pageIndex: 'pageNum'
|
||||||
@ -63,6 +130,9 @@ export default {
|
|||||||
title: this.$t('display.faultChoose.triggerTarget'),
|
title: this.$t('display.faultChoose.triggerTarget'),
|
||||||
prop: 'target'
|
prop: 'target'
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
actions: [
|
||||||
|
{ text: this.$t('global.add'), handler: this.handleAdd }
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -75,6 +145,18 @@ export default {
|
|||||||
return this.$route.query.lineCode;
|
return this.$route.query.lineCode;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch:{
|
||||||
|
// $store.state.config.menuBarLoadedCount
|
||||||
|
'offset': function (val) {
|
||||||
|
this.dragEvent();
|
||||||
|
},
|
||||||
|
'$store.state.menuOperation.selectedCount':function(em) {
|
||||||
|
const device = this.$store.state.menuOperation.selected;
|
||||||
|
if (device.code) {
|
||||||
|
this.deviceSelect(device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.$Dictionary.physicalViewType().then(list => {
|
this.$Dictionary.physicalViewType().then(list => {
|
||||||
this.deviceMap = [];
|
this.deviceMap = [];
|
||||||
@ -107,8 +189,46 @@ export default {
|
|||||||
|
|
||||||
return name;
|
return name;
|
||||||
},
|
},
|
||||||
|
closeFaultChoose() {
|
||||||
|
this.dialogShow = false;
|
||||||
|
this.isAdd = false;
|
||||||
|
},
|
||||||
|
deviceSelect(em) {
|
||||||
|
if (this.field.toUpperCase() === 'targetActive'.toUpperCase()) {
|
||||||
|
this.faultRule.targetDeviceType = em._type.toUpperCase();
|
||||||
|
this.faultRule.targetDeviceCode = em.code;
|
||||||
|
if (em._type.toUpperCase() === 'Section'.toUpperCase() && em.parentName) {
|
||||||
|
this.targetDevice = em._type + '-' + em.parentName + '-' + em.name;
|
||||||
|
} else {
|
||||||
|
this.targetDevice = em._type + '-' + em.name;
|
||||||
|
}
|
||||||
|
this.field = '';
|
||||||
|
} else if (this.field.toUpperCase() === 'triggerActive'.toUpperCase()) {
|
||||||
|
this.faultRule.condition.triggerDeviceType = em._type.toUpperCase();
|
||||||
|
this.faultRule.condition.triggerDeviceCode = em.code;
|
||||||
|
if (em._type.toUpperCase() === 'Section'.toUpperCase() && em.parentName) {
|
||||||
|
this.triggerDevice = em._type + '-' + em.parentName + '-' + em.name;
|
||||||
|
} else {
|
||||||
|
this.triggerDevice = em._type + '-' + em.name;
|
||||||
|
}
|
||||||
|
this.field = '';
|
||||||
|
}
|
||||||
|
// faultRule:{
|
||||||
|
// targetDeviceCode:'',
|
||||||
|
// targetDeviceType:'',
|
||||||
|
// lineCode:'',
|
||||||
|
// faultType:'',
|
||||||
|
// condition:{
|
||||||
|
// triggerDeviceCode:'',
|
||||||
|
// triggerDeviceStatus:'',
|
||||||
|
// triggerDeviceType :'',
|
||||||
|
// type:''
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
},
|
||||||
doShow() {
|
doShow() {
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
|
this.faultRule.lineCode = this.$route.query.lineCode;
|
||||||
this.queryList.data = [];
|
this.queryList.data = [];
|
||||||
getFailureGenerateRules({ skin: this.lineCode, group: this.group }).then(response => {
|
getFailureGenerateRules({ skin: this.lineCode, group: this.group }).then(response => {
|
||||||
const data = response.data;
|
const data = response.data;
|
||||||
@ -121,9 +241,25 @@ export default {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
hover(field) {
|
||||||
|
if (this.field == '') {
|
||||||
|
// if (this.isFirstTips) {
|
||||||
|
// this.$message('请在右侧地图上选择操作');
|
||||||
|
// this.isFirstTips = false;
|
||||||
|
// }
|
||||||
|
this.field = field;
|
||||||
|
// this.$store.dispatch('scriptRecord/updateIsScriptCommand', true);
|
||||||
|
} else {
|
||||||
|
this.field = '';
|
||||||
|
// this.$store.dispatch('scriptRecord/updateIsScriptCommand', false);
|
||||||
|
}
|
||||||
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
},
|
},
|
||||||
|
handleAdd() {
|
||||||
|
this.isAdd = true;
|
||||||
|
},
|
||||||
getFailureModel(auto) {
|
getFailureModel(auto) {
|
||||||
const model = { auto };
|
const model = { auto };
|
||||||
if (auto) {
|
if (auto) {
|
||||||
@ -138,7 +274,7 @@ export default {
|
|||||||
handleConfirm() {
|
handleConfirm() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
const faultModel = this.getFailureModel(this.auto);
|
const faultModel = this.getFailureModel(this.auto);
|
||||||
setFailureMode(faultModel, this.group).then(() => {
|
setFailureModeNew(faultModel, this.group).then(() => {
|
||||||
this.$message.success(this.$t('display.faultChoose.setFaultSuccess'));
|
this.$message.success(this.$t('display.faultChoose.setFaultSuccess'));
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$messageBox(this.$t('display.faultChoose.setFaultFail'));
|
this.$messageBox(this.$t('display.faultChoose.setFaultFail'));
|
||||||
@ -149,6 +285,79 @@ export default {
|
|||||||
},
|
},
|
||||||
reloadTable() {
|
reloadTable() {
|
||||||
this.queryList.reload();
|
this.queryList.reload();
|
||||||
|
},
|
||||||
|
addRulesCreate() {
|
||||||
|
|
||||||
|
},
|
||||||
|
addRulesClose() {
|
||||||
|
this.$refs.form.resetForm();
|
||||||
|
this.targetDevice = '';
|
||||||
|
this.triggerDevice = '';
|
||||||
|
this.isAdd = false;
|
||||||
|
},
|
||||||
|
dragEvent() {
|
||||||
|
const offset = this.offset;
|
||||||
|
const dialogHeaderEl = document.querySelector('.falutChooseTitle');
|
||||||
|
const dragDom = document.querySelector('#faultChoose');
|
||||||
|
dialogHeaderEl.style.cursor = 'move';
|
||||||
|
|
||||||
|
/** 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);*/
|
||||||
|
const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
|
||||||
|
|
||||||
|
dialogHeaderEl.onmousedown = (e) => {
|
||||||
|
/** 鼠标按下,计算当前元素距离可视区的距离*/
|
||||||
|
const disX = e.clientX - dialogHeaderEl.offsetLeft;
|
||||||
|
const disY = e.clientY - dialogHeaderEl.offsetTop;
|
||||||
|
|
||||||
|
/** 获取到的值带px 正则匹配替换*/
|
||||||
|
let styL, styT;
|
||||||
|
|
||||||
|
/** 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px*/
|
||||||
|
if (sty.left.includes('%')) {
|
||||||
|
// eslint-disable-next-line no-useless-escape
|
||||||
|
styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
|
||||||
|
styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
|
||||||
|
} else {
|
||||||
|
// eslint-disable-next-line no-useless-escape
|
||||||
|
styL = +sty.left.replace(/\px/g, '');
|
||||||
|
// eslint-disable-next-line no-useless-escape
|
||||||
|
styT = +sty.top.replace(/\px/g, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
document.onmousemove = function (e) {
|
||||||
|
/** 通过事件委托,计算移动的距离*/
|
||||||
|
const l = e.clientX - disX;
|
||||||
|
const t = e.clientY - disY;
|
||||||
|
|
||||||
|
/** 移动当前元素*/
|
||||||
|
// dragDom.style.left = `${l + styL}px`;
|
||||||
|
// dragDom.style.top = `${t + styT}px`;
|
||||||
|
|
||||||
|
/** 移动当前元素*/
|
||||||
|
if (l + styL < 0) {
|
||||||
|
dragDom.style.left = `0px`;
|
||||||
|
} else if (l + styL > document.body.clientWidth - dragDom.clientWidth - 10) {
|
||||||
|
dragDom.style.left = `${document.body.clientWidth - dragDom.clientWidth - 10}px`;
|
||||||
|
} else {
|
||||||
|
dragDom.style.left = `${l + styL}px`;
|
||||||
|
}
|
||||||
|
if (t + styT <= offset) {
|
||||||
|
dragDom.style.top = offset + `px`;
|
||||||
|
} else if (t + styT > document.body.clientHeight - dragDom.clientHeight - 10) {
|
||||||
|
dragDom.style.top = `${document.body.clientHeight - dragDom.clientHeight - 10}px`;
|
||||||
|
} else {
|
||||||
|
dragDom.style.top = `${t + styT}px`;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 将此时的位置传出去*/
|
||||||
|
// binding.value({ x: e.pageX, y: e.pageY });
|
||||||
|
};
|
||||||
|
|
||||||
|
document.onmouseup = function () {
|
||||||
|
document.onmousemove = null;
|
||||||
|
document.onmouseup = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -158,4 +367,84 @@ export default {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
.falutChooseTitle{
|
||||||
|
padding: 15px;
|
||||||
|
cursor: all-scroll;
|
||||||
|
}
|
||||||
|
#faultChoose{
|
||||||
|
width: 900px;
|
||||||
|
position: absolute;
|
||||||
|
left: 30%;
|
||||||
|
top: 20%;
|
||||||
|
background: #fff;
|
||||||
|
padding:0px 0px 15px 0px;
|
||||||
|
// transform: translate3d(-50%,-50%,0);
|
||||||
|
border-radius: 6px;
|
||||||
|
z-index:999;
|
||||||
|
}
|
||||||
|
.faultChooseFoot{
|
||||||
|
display: inline-block;
|
||||||
|
float: right;
|
||||||
|
margin-right: 20px;
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.closeFalutChoose{
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
top: 0px;
|
||||||
|
width: 35px;
|
||||||
|
height: 35px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.closeFalutChooseIn{
|
||||||
|
font-size: 20px;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.addRules{
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
left: 0;
|
||||||
|
top: 0px;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.addRulesInner{
|
||||||
|
position: relative;
|
||||||
|
width: 380px;
|
||||||
|
height: 345px;
|
||||||
|
margin-top:46px;
|
||||||
|
background: #fff;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px #ccc solid;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
box-shadow: 3px 3px 3px #a0a0a0;
|
||||||
|
z-index:2;
|
||||||
|
}
|
||||||
|
.queryList{
|
||||||
|
height: 300px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.inputModelClass{
|
||||||
|
width:150px;
|
||||||
|
}
|
||||||
|
.addRulesInnerTitle{
|
||||||
|
padding: 10px;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
.closeAddRulesInner{
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
top: 9px;
|
||||||
|
width: 19px;
|
||||||
|
height: 19px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.closeAddRulesIn{
|
||||||
|
font-size: 19px;
|
||||||
|
}
|
||||||
|
.addRulesFooter{
|
||||||
|
margin-left: 116px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -10,12 +10,9 @@
|
|||||||
ref="menuDemon"
|
ref="menuDemon"
|
||||||
:offset="offset"
|
:offset="offset"
|
||||||
:offset-bottom="offsetBottom"
|
:offset-bottom="offsetBottom"
|
||||||
:group="group"
|
:script-id="scriptId"
|
||||||
:quest-id="questId"
|
|
||||||
:user-role="userRole"
|
|
||||||
@tryTime="tryTime"
|
|
||||||
@hidepanel="hidepanel"
|
|
||||||
@quitQuest="quitQuest"
|
@quitQuest="quitQuest"
|
||||||
|
@hidepanel="hidepanel"
|
||||||
@showScheduling="showScheduling"
|
@showScheduling="showScheduling"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@ -24,7 +21,6 @@
|
|||||||
ref="menuSchema"
|
ref="menuSchema"
|
||||||
:offset="offset"
|
:offset="offset"
|
||||||
:offset-bottom="offsetBottom"
|
:offset-bottom="offsetBottom"
|
||||||
:group="group"
|
|
||||||
:show-station="showStation"
|
:show-station="showStation"
|
||||||
:station-list="stationList"
|
:station-list="stationList"
|
||||||
:show-select-station="showSelectStation"
|
:show-select-station="showSelectStation"
|
||||||
@ -42,7 +38,7 @@
|
|||||||
<fault-choose ref="faultChoose" :group="group" />
|
<fault-choose ref="faultChoose" :group="group" />
|
||||||
<run-plan-Load ref="runPlanLoad" :group="group" />
|
<run-plan-Load ref="runPlanLoad" :group="group" />
|
||||||
<run-plan-view ref="runPlanView" :group="group" />
|
<run-plan-view ref="runPlanView" :group="group" />
|
||||||
<add-quest ref="addQuest" @selectQuest="selectQuest" />
|
<!-- <add-quest ref="addQuest" @selectQuest="selectQuestNew" /> -->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -54,16 +50,14 @@ import MapSystemDraft from '@/views/newMap/mapsystemNew/index';
|
|||||||
import MenuDemon from '@/views/newMap/displayNew/menuDemon';
|
import MenuDemon from '@/views/newMap/displayNew/menuDemon';
|
||||||
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
import MenuSchema from '@/views/newMap/displayNew/menuSchema';
|
||||||
import MenuSystemTime from '@/views/newMap/displayNew/menuSystemTime';
|
import MenuSystemTime from '@/views/newMap/displayNew/menuSystemTime';
|
||||||
import AddQuest from './demon/addQuest';
|
// import AddQuest from './demon/addQuest';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { setGoodsTryUse } from '@/api/management/goods';
|
import { setGoodsTryUse } from '@/api/management/goods';
|
||||||
import { clearSimulation, getSimulationInfoNew, scriptExecuteNew } from '@/api/simulation';
|
import { clearSimulation, getSimulationInfoNew } from '@/api/simulation';
|
||||||
import { OperateMode, TrainingMode } from '@/scripts/ConstDic';
|
import { OperateMode, TrainingMode } from '@/scripts/ConstDic';
|
||||||
import { checkLoginLine } from '@/api/login';
|
import { checkLoginLine } from '@/api/login';
|
||||||
import { loadNewMapDataByGroup } from '@/utils/loaddata';
|
import { loadNewMapDataByGroup } from '@/utils/loaddata';
|
||||||
import { EventBus } from '@/scripts/event-bus';
|
import { EventBus } from '@/scripts/event-bus';
|
||||||
import Vue from 'vue';
|
|
||||||
import {loadDraftScript, loadDraftScriptNew} from '@/api/designPlatform';
|
|
||||||
|
|
||||||
// 三维
|
// 三维
|
||||||
// import Jl3dSimulation from '@/views/jlmap3d/simulation/jl3dsimulation';
|
// import Jl3dSimulation from '@/views/jlmap3d/simulation/jl3dsimulation';
|
||||||
@ -76,7 +70,7 @@ export default {
|
|||||||
RunPlanLoad,
|
RunPlanLoad,
|
||||||
RunPlanView,
|
RunPlanView,
|
||||||
FaultChoose,
|
FaultChoose,
|
||||||
AddQuest,
|
// AddQuest,
|
||||||
MapSystemDraft,
|
MapSystemDraft,
|
||||||
MenuDemon,
|
MenuDemon,
|
||||||
MenuSchema,
|
MenuSchema,
|
||||||
@ -108,7 +102,7 @@ export default {
|
|||||||
panelShow: true,
|
panelShow: true,
|
||||||
simulationShow: false,
|
simulationShow: false,
|
||||||
drivingShow: false,
|
drivingShow: false,
|
||||||
questId: 0, // 加载任务的Id
|
scriptId:0, // 加载任务的Id
|
||||||
showStation: '',
|
showStation: '',
|
||||||
stationList: [],
|
stationList: [],
|
||||||
showSelectStation: false, // 是否展示现地选择设备集中站select
|
showSelectStation: false, // 是否展示现地选择设备集中站select
|
||||||
@ -212,9 +206,6 @@ export default {
|
|||||||
this.group = this.$route.query.group || '';
|
this.group = this.$route.query.group || '';
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
EventBus.$on('clearCheckLogin', () => {
|
|
||||||
this.clearCheckLogin();
|
|
||||||
});
|
|
||||||
await this.setWindowSize();
|
await this.setWindowSize();
|
||||||
await this.initLoadData();
|
await this.initLoadData();
|
||||||
this.switchMode('01');
|
this.switchMode('01');
|
||||||
@ -224,7 +215,6 @@ export default {
|
|||||||
await this.quit();
|
await this.quit();
|
||||||
await this.$store.dispatch('training/reset');
|
await this.$store.dispatch('training/reset');
|
||||||
await this.$store.dispatch('map/mapClear');
|
await this.$store.dispatch('map/mapClear');
|
||||||
EventBus.$off('clearCheckLogin');
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 清除检查在线定时器
|
// 清除检查在线定时器
|
||||||
@ -274,6 +264,10 @@ export default {
|
|||||||
mousemove(e) {
|
mousemove(e) {
|
||||||
this.mouseNum = 1;
|
this.mouseNum = 1;
|
||||||
},
|
},
|
||||||
|
// 退出脚本
|
||||||
|
async quitQuest() {
|
||||||
|
this.scriptId = 0;
|
||||||
|
},
|
||||||
setPosition() {
|
setPosition() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
let offset = 15;
|
let offset = 15;
|
||||||
@ -355,41 +349,18 @@ export default {
|
|||||||
const row = {group: this.$route.query.group, id: this.$route.query.scriptId};
|
const row = {group: this.$route.query.group, id: this.$route.query.scriptId};
|
||||||
this.$refs.addQuest.handleLoad(1, row);
|
this.$refs.addQuest.handleLoad(1, row);
|
||||||
},
|
},
|
||||||
|
// selectQuestNew(row, id, mapLocation, roleName) {
|
||||||
|
// this.$refs.
|
||||||
|
// },
|
||||||
// 选择脚本
|
// 选择脚本
|
||||||
async selectQuest(row, id, mapLocation, roleName) {
|
async selectQuest(row) {
|
||||||
try {
|
this.scriptId = parseInt(row.id);
|
||||||
const res = this.drawWay ? await loadDraftScriptNew(id, this.group) : await loadDraftScript(row.id, id, this.group);
|
if (this.isDemon) {
|
||||||
if (res && res.code == 200) {
|
this.$refs.menuDemon.initLoadPage();
|
||||||
this.questId = parseInt(row.id);
|
}
|
||||||
if (mapLocation) {
|
if (this.isScript) {
|
||||||
const newMapLocation = {'offsetX': mapLocation.x, 'offsetY': mapLocation.y, 'scaleRate': mapLocation.scale};
|
this.$refs.menuScript.initLoadPage();
|
||||||
Vue.prototype.$jlmap.setOptions(newMapLocation);
|
|
||||||
}
|
|
||||||
if (this.drawWay) {
|
|
||||||
scriptExecuteNew(this.group).then(data=>{
|
|
||||||
}).catch(error=>{
|
|
||||||
console.log(error);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// if (res.data && res.data.mapLocation) {
|
|
||||||
// const mapLocation={'offsetX': res.data.mapLocation.x, 'offsetY': res.data.mapLocation.y, 'scaleRate': res.data.mapLocation.scale};
|
|
||||||
// Vue.prototype.$jlmap.setOptions(mapLocation);
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
if (this.$refs.menuDemon) {
|
|
||||||
await this.$refs.menuDemon.initLoadPage();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.$refs.menuScript) {
|
|
||||||
await this.$refs.menuScript.initLoadPage();
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
this.$messageBox(error.message);
|
|
||||||
}
|
}
|
||||||
},
|
|
||||||
// 退出脚本
|
|
||||||
async quitQuest() {
|
|
||||||
this.questId = 0;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 通过id加载地图数据
|
// 通过id加载地图数据
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<chat-box ref="chatbox" :group="group" :user-role="userRole" />
|
<chat-box ref="chatbox" :group="group" :user-role="userRole" />
|
||||||
<div class="display-card" :style="{top: offset+'px'}">
|
<!-- :style="{top: offset+'px'}" -->
|
||||||
|
<div class="display-card">
|
||||||
<el-row>
|
<el-row>
|
||||||
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
|
<!-- :style="{bottom: offsetBottom + 'px'}" -->
|
||||||
|
<div class="display-draft">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isShowScheduling && !dataError" type="primary" @click="jumpScheduling">{{ $t('display.demon.dispatchingPlan') }}</el-button>
|
<el-button v-if="isShowScheduling && !dataError" type="primary" @click="jumpScheduling">{{ $t('display.demon.dispatchingPlan') }}</el-button>
|
||||||
<el-button v-if="!isShowScheduling && !dataError" type="jl3dpassflow" @click="jumpjl3dpassflow">{{ jl3dpassflow }}</el-button>
|
<el-button v-if="!isShowScheduling && !dataError" type="jl3dpassflow" @click="jumpjl3dpassflow">{{ jl3dpassflow }}</el-button>
|
||||||
@ -40,6 +42,7 @@ import { ranAsPlan, exitRunPlan, clearSimulation, getSimulationInfoNew } from '@
|
|||||||
import { PermissionType } from '@/scripts/ConstDic';
|
import { PermissionType } from '@/scripts/ConstDic';
|
||||||
import { getCountTime } from '@/utils/index';
|
import { getCountTime } from '@/utils/index';
|
||||||
import { quitScriptNew, scriptRePreview } from '@/api/simulation';
|
import { quitScriptNew, scriptRePreview } from '@/api/simulation';
|
||||||
|
import { setGoodsTryUse } from '@/api/management/goods';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuDemon',
|
name: 'MenuDemon',
|
||||||
@ -48,10 +51,6 @@ export default {
|
|||||||
ChatBox
|
ChatBox
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
@ -60,27 +59,17 @@ export default {
|
|||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
questId: {
|
scriptId: {
|
||||||
type: Number,
|
type: Number,
|
||||||
default() {
|
default() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showStation: {
|
|
||||||
type: String,
|
|
||||||
default() {
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
},
|
|
||||||
dataError: {
|
dataError: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default() {
|
default() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
},
|
|
||||||
userRole: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
@ -107,7 +96,7 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isShowQuest() {
|
isShowQuest() {
|
||||||
return this.questId;
|
return this.scriptId;
|
||||||
},
|
},
|
||||||
isShowScheduling() {
|
isShowScheduling() {
|
||||||
return this.$route.query.prdType == '05';
|
return this.$route.query.prdType == '05';
|
||||||
@ -117,6 +106,20 @@ export default {
|
|||||||
},
|
},
|
||||||
isHebLine() {
|
isHebLine() {
|
||||||
return this.$route.query.lineCode === '07';
|
return this.$route.query.lineCode === '07';
|
||||||
|
},
|
||||||
|
group() {
|
||||||
|
return this.$route.query.group;
|
||||||
|
},
|
||||||
|
userRole() {
|
||||||
|
if (this.$route.query.prdType == '02') {
|
||||||
|
return 'DISPATCHER';
|
||||||
|
} else if (this.$route.query.prdType == '01') {
|
||||||
|
return 'STATION_SUPERVISOR';
|
||||||
|
} else if (this.$route.query.prdType == '04') {
|
||||||
|
return 'DRIVER';
|
||||||
|
} else {
|
||||||
|
return 'AUDIENCE';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -236,7 +239,7 @@ export default {
|
|||||||
quitScriptNew(this.group).then(resp => {
|
quitScriptNew(this.group).then(resp => {
|
||||||
scriptRePreview(this.group).then(resp=>{
|
scriptRePreview(this.group).then(resp=>{
|
||||||
getSimulationInfoNew(this.group).then(()=>{
|
getSimulationInfoNew(this.group).then(()=>{
|
||||||
this.$emit('quitQuest');
|
this.quitQuest();
|
||||||
this.initLoadPage();
|
this.initLoadPage();
|
||||||
this.clearAllData();
|
this.clearAllData();
|
||||||
}).catch(()=>{
|
}).catch(()=>{
|
||||||
@ -251,7 +254,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
quitScriptNew(this.group).then(resp => {
|
quitScriptNew(this.group).then(resp => {
|
||||||
getSimulationInfoNew(this.group).then(()=>{
|
getSimulationInfoNew(this.group).then(()=>{
|
||||||
this.$emit('quitQuest');
|
this.quitQuest();
|
||||||
this.initLoadPage();
|
this.initLoadPage();
|
||||||
this.clearAllData();
|
this.clearAllData();
|
||||||
}).catch(()=>{
|
}).catch(()=>{
|
||||||
@ -262,6 +265,10 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
quitQuest() {
|
||||||
|
this.$emit('quitQuest');
|
||||||
|
this.$store.dispatch('scriptRecord/updateSimulationPause', false);
|
||||||
|
},
|
||||||
clearAllData() {
|
clearAllData() {
|
||||||
this.$refs.chatbox.clearAllData();
|
this.$refs.chatbox.clearAllData();
|
||||||
},
|
},
|
||||||
@ -289,7 +296,11 @@ export default {
|
|||||||
},
|
},
|
||||||
setTryTime() {
|
setTryTime() {
|
||||||
if (this.try) {
|
if (this.try) {
|
||||||
this.$emit('tryTime', { time: this.tryTime, goodsId: this.goodsId });
|
const data = { time: this.tryTime, goodsId: this.goodsId };
|
||||||
|
if (data.goodsId) {
|
||||||
|
setGoodsTryUse(data);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
change3dname() {
|
change3dname() {
|
||||||
|
@ -33,10 +33,6 @@ export default {
|
|||||||
TipExamList
|
TipExamList
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
@ -82,6 +78,9 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
group() {
|
||||||
|
return this.$route.query.group;
|
||||||
|
},
|
||||||
formatUsedTime() {
|
formatUsedTime() {
|
||||||
return timeFormat(this.$store.state.training.usedTime);
|
return timeFormat(this.$store.state.training.usedTime);
|
||||||
}
|
}
|
||||||
|
@ -22,34 +22,28 @@
|
|||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<tip-training-detail :training-obj="trainingObj" :offset-bottom="offsetBottom + tipBottom" />
|
<tip-training-detail :training-obj="trainingObj" :offset-bottom="offsetBottom + tipBottom" />
|
||||||
|
<left-slider v-if="isShowLeftSlider" :offset-bottom="offsetBottom" @overallTranslation="overallTranslation" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import TipTrainingDetail from './tipTrainingDetail';
|
import TipTrainingDetail from './tipTrainingDetail';
|
||||||
|
import LeftSlider from '@/views/newMap/displayNew/LeftSlider';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { Notification } from 'element-ui';
|
import { Notification } from 'element-ui';
|
||||||
import { startTrainingNew, endTrainingNew } from '@/api/jmap/training';
|
import { startTrainingNew, endTrainingNew } from '@/api/jmap/training';
|
||||||
import { trainingNotifyNew } from '@/api/simulation';
|
import { trainingNotifyNew } from '@/api/simulation';
|
||||||
import { TrainingMode, UrlConfig } from '@/scripts/ConstDic';
|
import { TrainingMode, UrlConfig } from '@/scripts/ConstDic';
|
||||||
import { timeFormat } from '@/utils/date';
|
import { timeFormat } from '@/utils/date';
|
||||||
|
import { getTrainingStepsDetailNew } from '@/api/jmap/training';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuLesson',
|
name: 'MenuLesson',
|
||||||
components: {
|
components: {
|
||||||
TipTrainingDetail
|
TipTrainingDetail,
|
||||||
|
LeftSlider
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
trainingObj: {
|
|
||||||
type: Object,
|
|
||||||
default() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
@ -91,6 +85,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
timeInterval: null,
|
timeInterval: null,
|
||||||
TrainingMode: TrainingMode,
|
TrainingMode: TrainingMode,
|
||||||
|
trainingObj:{},
|
||||||
demoMode: TrainingMode.TEACH,
|
demoMode: TrainingMode.TEACH,
|
||||||
isDisable: false,
|
isDisable: false,
|
||||||
backDisable: false,
|
backDisable: false,
|
||||||
@ -104,11 +99,17 @@ export default {
|
|||||||
'usedTime',
|
'usedTime',
|
||||||
'basicInfo'
|
'basicInfo'
|
||||||
]),
|
]),
|
||||||
|
group() {
|
||||||
|
return this.$route.query.group;
|
||||||
|
},
|
||||||
formatScore() {
|
formatScore() {
|
||||||
return this.score;
|
return this.score;
|
||||||
},
|
},
|
||||||
formatUsedTime() {
|
formatUsedTime() {
|
||||||
return timeFormat(this.usedTime);
|
return timeFormat(this.usedTime);
|
||||||
|
},
|
||||||
|
isShowLeftSlider() {
|
||||||
|
return this.$route.query.lessonId != '0';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -121,6 +122,15 @@ export default {
|
|||||||
this.isDisable = false;
|
this.isDisable = false;
|
||||||
},
|
},
|
||||||
'$store.state.map.mapViewLoadedCount': function (val) {
|
'$store.state.map.mapViewLoadedCount': function (val) {
|
||||||
|
if (this.$route.query.trainingId) {
|
||||||
|
getTrainingStepsDetailNew(this.$route.query.trainingId, { group: this.group }).then(resp => {
|
||||||
|
this.trainingObj = resp.data;
|
||||||
|
this.$store.dispatch('training/setTrainingData', this.trainingObj);
|
||||||
|
|
||||||
|
}).catch(error => {
|
||||||
|
this.$messageBox(`初始化失败实训内容失败: ${error.message}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
this.$store.dispatch('training/end', null);
|
this.$store.dispatch('training/end', null);
|
||||||
this.$store.dispatch('training/reset');
|
this.$store.dispatch('training/reset');
|
||||||
this.$store.dispatch('training/emitTipFresh');
|
this.$store.dispatch('training/emitTipFresh');
|
||||||
@ -142,6 +152,14 @@ export default {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
overallTranslation(flag) {
|
||||||
|
const panel = document.getElementById('leftSlider');
|
||||||
|
if (flag) {
|
||||||
|
panel.style.transform = 'translateX(400px)';
|
||||||
|
} else {
|
||||||
|
panel.style.transform = '';
|
||||||
|
}
|
||||||
|
},
|
||||||
start() {
|
start() {
|
||||||
// 清空按钮操作
|
// 清空按钮操作
|
||||||
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
this.$store.dispatch('menuOperation/setButtonOperation', null);
|
||||||
@ -231,14 +249,6 @@ export default {
|
|||||||
history.go(-1);
|
history.go(-1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
handelGroupButtonTranslate(flag) {
|
|
||||||
// const buttons = document.getElementById('teachGroupButton');
|
|
||||||
// if (flag) {
|
|
||||||
// buttons.style.transform = 'translateX(-400px)';
|
|
||||||
// } else {
|
|
||||||
// buttons.style.transform = 'translateX(0px)';
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
switchStationMode(val) {
|
switchStationMode(val) {
|
||||||
this.$emit('switchStationMode', val);
|
this.$emit('switchStationMode', val);
|
||||||
}
|
}
|
||||||
|
@ -30,10 +30,6 @@ export default {
|
|||||||
SetTime
|
SetTime
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
@ -78,6 +74,11 @@ export default {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
computed:{
|
||||||
|
group() {
|
||||||
|
return this.$route.query.group;
|
||||||
|
}
|
||||||
|
},
|
||||||
watch:{
|
watch:{
|
||||||
'showStation':function(val) {
|
'showStation':function(val) {
|
||||||
this.showStationContent = this.showStation;
|
this.showStationContent = this.showStation;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<el-radio-button class="mode" :label="OperateMode.FAULT">{{ $t('display.schema.faultOperation') }}</el-radio-button>
|
<el-radio-button class="mode" :label="OperateMode.FAULT">{{ $t('display.schema.faultOperation') }}</el-radio-button>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</div>
|
</div>
|
||||||
<fault-choose v-if="isDemon || isScript" ref="faultChoose" :group="group" />
|
<fault-choose v-if="isDemon || isScript" ref="faultChoose" :group="group" :offset="offset" />
|
||||||
<run-plan-Load ref="runPlanLoad" :group="group" />
|
<run-plan-Load ref="runPlanLoad" :group="group" />
|
||||||
<run-plan-view ref="runPlanView" :group="group" />
|
<run-plan-view ref="runPlanView" :group="group" />
|
||||||
<!-- 加载剧本列表弹窗 -->
|
<!-- 加载剧本列表弹窗 -->
|
||||||
@ -38,7 +38,9 @@ import { mapGetters } from 'vuex';
|
|||||||
import { OperateMode } from '@/scripts/ConstDic';
|
import { OperateMode } from '@/scripts/ConstDic';
|
||||||
// import { getStationList } from '@/api/runplan';
|
// import { getStationList } from '@/api/runplan';
|
||||||
import { getByGroupStationList } from '@/api/jmap/map';
|
import { getByGroupStationList } from '@/api/jmap/map';
|
||||||
import { getEveryDayRunPlanNew } from '@/api/simulation';
|
import {loadDraftScript, loadDraftScriptNew} from '@/api/designPlatform';
|
||||||
|
import { getEveryDayRunPlanNew, loadScriptNew, scriptExecuteNew } from '@/api/simulation';
|
||||||
|
import Vue from 'vue';
|
||||||
|
|
||||||
// 右上角操作
|
// 右上角操作
|
||||||
export default {
|
export default {
|
||||||
@ -50,10 +52,6 @@ export default {
|
|||||||
AddQuest
|
AddQuest
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
offset: {
|
offset: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
@ -102,6 +100,9 @@ export default {
|
|||||||
...mapGetters('runPlan', [
|
...mapGetters('runPlan', [
|
||||||
'stations'
|
'stations'
|
||||||
]),
|
]),
|
||||||
|
group() {
|
||||||
|
return this.$route.query.group;
|
||||||
|
},
|
||||||
notScript() {
|
notScript() {
|
||||||
return this.$route.params.mode !== 'script';
|
return this.$route.params.mode !== 'script';
|
||||||
},
|
},
|
||||||
@ -197,8 +198,29 @@ export default {
|
|||||||
const row = {id: this.$route.query.scriptId, group:this.$route.query.group, drawWay:this.$route.query.drawWay};
|
const row = {id: this.$route.query.scriptId, group:this.$route.query.group, drawWay:this.$route.query.drawWay};
|
||||||
this.$refs.addQuest.handleLoad(1, row);
|
this.$refs.addQuest.handleLoad(1, row);
|
||||||
},
|
},
|
||||||
selectQuest(row, id, mapLocation, roleName) {
|
async selectQuest(row, id, mapLocation, roleName) {
|
||||||
this.$emit('selectQuest', row, id, mapLocation, roleName);
|
try {
|
||||||
|
let res;
|
||||||
|
if (this.isDesignPlatform) {
|
||||||
|
res = this.drawWay ? await loadDraftScriptNew(id, this.group) : await loadDraftScript(row.id, id, this.group);
|
||||||
|
} else {
|
||||||
|
res = await loadScriptNew(row.id, id, this.group);
|
||||||
|
}
|
||||||
|
if (res && res.code == 200) {
|
||||||
|
this.questId = parseInt(row.id);
|
||||||
|
if (mapLocation) {
|
||||||
|
const newMapLocation = {'offsetX': mapLocation.x, 'offsetY': mapLocation.y, 'scaleRate': mapLocation.scale};
|
||||||
|
Vue.prototype.$jlmap.setOptions(newMapLocation);
|
||||||
|
}
|
||||||
|
scriptExecuteNew(this.group).then(data=>{
|
||||||
|
}).catch(error=>{
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.$emit('selectQuest', row);
|
||||||
|
} catch (error) {
|
||||||
|
this.$messageBox(error.message);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
switchMode(swch) {
|
switchMode(swch) {
|
||||||
this.$emit('switchMode', swch);
|
this.$emit('switchMode', swch);
|
||||||
|
@ -38,10 +38,6 @@ export default {
|
|||||||
TipScriptRecordNew
|
TipScriptRecordNew
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
group: {
|
|
||||||
type: String,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
offsetBottom: {
|
offsetBottom: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
@ -78,6 +74,9 @@ export default {
|
|||||||
...mapGetters('map', [
|
...mapGetters('map', [
|
||||||
'trainList'
|
'trainList'
|
||||||
]),
|
]),
|
||||||
|
group() {
|
||||||
|
return this.$route.query.group;
|
||||||
|
},
|
||||||
userRole() {
|
userRole() {
|
||||||
if (this.$store.state.training.prdType == '02') {
|
if (this.$store.state.training.prdType == '02') {
|
||||||
return 'DISPATCHER';
|
return 'DISPATCHER';
|
||||||
|
@ -166,7 +166,7 @@ export default {
|
|||||||
minDuration: res.data.minDuration,
|
minDuration: res.data.minDuration,
|
||||||
updateTime: res.data.updateTime
|
updateTime: res.data.updateTime
|
||||||
};
|
};
|
||||||
this.$store.dispatch('exam/setCenter ', res.data.locateDeviceCode);
|
this.$store.dispatch('exam/setCenter', res.data.locateDeviceCode);
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
this.$message.error(this.$t('display.exam.getTestInformation') + ':' + error.message);
|
this.$message.error(this.$t('display.exam.getTestInformation') + ':' + error.message);
|
||||||
});
|
});
|
||||||
|
@ -129,6 +129,7 @@ export default {
|
|||||||
if (data == 'min') {
|
if (data == 'min') {
|
||||||
this.minimize = true;
|
this.minimize = true;
|
||||||
this.$refs.chatSetting.doClose();
|
this.$refs.chatSetting.doClose();
|
||||||
|
this.$refs.createGroup.doClose();
|
||||||
} else {
|
} else {
|
||||||
this.minimize = false;
|
this.minimize = false;
|
||||||
}
|
}
|
||||||
@ -287,7 +288,7 @@ export default {
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.chatBox{
|
.chatBox{
|
||||||
width: 503px;
|
width: 503px;
|
||||||
height: 400px;
|
// height: 400px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
padding-left:5px;
|
padding-left:5px;
|
||||||
left: 0;
|
left: 0;
|
||||||
@ -296,7 +297,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.chat-box{
|
.chat-box{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 400px;
|
||||||
}
|
}
|
||||||
.chat-box-header{
|
.chat-box-header{
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -165,12 +165,12 @@ export default {
|
|||||||
if (step.type.toUpperCase() === 'bar'.toUpperCase()) {
|
if (step.type.toUpperCase() === 'bar'.toUpperCase()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
const Dom = document.getElementById(domId);
|
||||||
if (/{TOP}/.test(domId)) {
|
if (Dom.parentElement.id == 'menuButtons_box') { // 现地操作按钮提示位置判断
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (/{BOTTOM}/.test(domId)) {
|
if (/{TOP}/.test(domId)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
// 如果domId中不含以下关键字,则箭头朝上
|
// 如果domId中不含以下关键字,则箭头朝上
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<legend class="card_title">{{ items.name }}</legend>
|
<legend class="card_title">{{ items.name }}</legend>
|
||||||
<template v-for="item in items.item">
|
<template v-for="item in items.item">
|
||||||
<template v-if="checkFieldType(item, 'select')">
|
<template v-if="checkFieldType(item, 'select')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<template v-if="item.change">
|
<template v-if="item.change">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
@ -42,7 +42,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'multiSelect')">
|
<template v-if="checkFieldType(item, 'multiSelect')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<template v-if="item.change">
|
<template v-if="item.change">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
@ -81,7 +81,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'selectHover')">
|
<template v-if="checkFieldType(item, 'selectHover')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="formModel[item.prop]"
|
v-model="formModel[item.prop]"
|
||||||
filterable
|
filterable
|
||||||
@ -103,7 +103,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'input')">
|
<template v-if="checkFieldType(item, 'input')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<template v-if="item.change">
|
<template v-if="item.change">
|
||||||
<el-input v-model="formModel[item.prop]" type="text" :disabled="item.disabled" maxlength="30" :show-word-limit="true" @input="item.deviceChange" />
|
<el-input v-model="formModel[item.prop]" type="text" :disabled="item.disabled" maxlength="30" :show-word-limit="true" @input="item.deviceChange" />
|
||||||
</template>
|
</template>
|
||||||
@ -113,7 +113,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'number')">
|
<template v-if="checkFieldType(item, 'number')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<template v-if="!item.firstLevel">
|
<template v-if="!item.firstLevel">
|
||||||
<template v-if="item.change">
|
<template v-if="item.change">
|
||||||
<el-input-number v-model="formModel[item.prop]" :min="item.min" :max="item.max" :label="item.label" :disabled="item.disabled" style="width: 140px" @change="item.deviceChange" />
|
<el-input-number v-model="formModel[item.prop]" :min="item.min" :max="item.max" :label="item.label" :disabled="item.disabled" style="width: 140px" @change="item.deviceChange" />
|
||||||
@ -130,12 +130,12 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'color')">
|
<template v-if="checkFieldType(item, 'color')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-color-picker v-model="formModel[item.prop]" show-alpha :predefine="skins" :disabled="item.disabled" />
|
<el-color-picker v-model="formModel[item.prop]" show-alpha :predefine="skins" :disabled="item.disabled" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'radio')">
|
<template v-if="checkFieldType(item, 'radio')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-radio-group v-model="formModel[item.prop]" :disabled="item.disabled">
|
<el-radio-group v-model="formModel[item.prop]" :disabled="item.disabled">
|
||||||
<el-radio v-for="(opts, indexs) in item.radioList" :key="indexs" :border="item.border" :label="opts[item.optionValue]">{{ opts[item.optionLabel] }}</el-radio>
|
<el-radio v-for="(opts, indexs) in item.radioList" :key="indexs" :border="item.border" :label="opts[item.optionValue]">{{ opts[item.optionLabel] }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
@ -143,7 +143,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 坐标点并列显示 -->
|
<!-- 坐标点并列显示 -->
|
||||||
<template v-if="checkFieldType(item, 'coordinate')">
|
<template v-if="checkFieldType(item, 'coordinate')">
|
||||||
<div v-if="!item.isHidden" :key="item.prop" class="coordinate">
|
<div :key="item.prop" class="coordinate">
|
||||||
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
||||||
<div v-for="opt in item.children" :key="opt.code" class="listWidth">
|
<div v-for="opt in item.children" :key="opt.code" class="listWidth">
|
||||||
<el-form-item :label="opt.label" :prop="opt.prop" :label-width="opt.labelWidth">
|
<el-form-item :label="opt.label" :prop="opt.prop" :label-width="opt.labelWidth">
|
||||||
@ -159,7 +159,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 多个坐标点绘制 -->
|
<!-- 多个坐标点绘制 -->
|
||||||
<template v-if="checkFieldType(item, 'points')">
|
<template v-if="checkFieldType(item, 'points')">
|
||||||
<div v-if="!item.isHidden" :key="item.prop" class="coordinate">
|
<div :key="item.prop" class="coordinate">
|
||||||
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
||||||
<div class="point-section" :style="{ width: `calc(100% - 10px - ${item.width})` }">
|
<div class="point-section" :style="{ width: `calc(100% - 10px - ${item.width})` }">
|
||||||
<template v-for="(point, j) in formModel[item.prop]">
|
<template v-for="(point, j) in formModel[item.prop]">
|
||||||
@ -207,7 +207,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<!-- 多个坐标点绘制 -->
|
<!-- 多个坐标点绘制 -->
|
||||||
<template v-if="checkFieldType(item, 'coordinatePoint')">
|
<template v-if="checkFieldType(item, 'coordinatePoint')">
|
||||||
<div v-if="!item.isHidden" :key="item.prop" class="coordinate">
|
<div :key="item.prop" class="coordinate">
|
||||||
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
||||||
<div class="point-section" :style="{ width: `calc(100% - 10px - ${item.width})` }">
|
<div class="point-section" :style="{ width: `calc(100% - 10px - ${item.width})` }">
|
||||||
<template v-for="(point, j) in formModel[item.prop]">
|
<template v-for="(point, j) in formModel[item.prop]">
|
||||||
@ -242,23 +242,23 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'checkbox')">
|
<template v-if="checkFieldType(item, 'checkbox')">
|
||||||
<template v-if="item.change">
|
<template v-if="item.change">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-checkbox v-model="formModel[item.prop]" :disabled="item.disabled" @change="item.deviceChange" />
|
<el-checkbox v-model="formModel[item.prop]" :disabled="item.disabled" @change="item.deviceChange" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-checkbox v-model="formModel[item.prop]" :disabled="item.disabled" />
|
<el-checkbox v-model="formModel[item.prop]" :disabled="item.disabled" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'font')">
|
<template v-if="checkFieldType(item, 'font')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-font v-model="formModel[item.prop]" :disabled="item.disabled" :placeholder="item.placeholder" />
|
<el-font v-model="formModel[item.prop]" :disabled="item.disabled" :placeholder="item.placeholder" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="checkFieldType(item, 'fontContent')">
|
<template v-if="checkFieldType(item, 'fontContent')">
|
||||||
<el-form-item v-if="!item.isHidden" :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
<el-form-item :key="item.prop" :label="item.label" :prop="item.prop" :required="item.required">
|
||||||
<el-input v-model="formModel[item.content]" :placeholder="item.placeholder" class="input-with-select">
|
<el-input v-model="formModel[item.content]" :placeholder="item.placeholder" class="input-with-select">
|
||||||
<el-select slot="prepend" v-model="formModel[item.prepend]" :placeholder="item.placeholder">
|
<el-select slot="prepend" v-model="formModel[item.prepend]" :placeholder="item.placeholder">
|
||||||
<el-option :label="$t('map.horizontal')" value="H" />
|
<el-option :label="$t('map.horizontal')" value="H" />
|
||||||
@ -330,8 +330,8 @@ export default {
|
|||||||
return keyArr[0][keyArr[1]];
|
return keyArr[0][keyArr[1]];
|
||||||
},
|
},
|
||||||
checkFieldType(field, type) {
|
checkFieldType(field, type) {
|
||||||
if (field.hasOwnProperty('show')) {
|
if (field.hasOwnProperty('isHidden')) {
|
||||||
return field.type === type && field.show;
|
return field.type === type && !field.isHidden;
|
||||||
} else {
|
} else {
|
||||||
return field.type === type;
|
return field.type === type;
|
||||||
}
|
}
|
||||||
|
@ -286,7 +286,7 @@ export default {
|
|||||||
switchType: '',
|
switchType: '',
|
||||||
stationStandType:'',
|
stationStandType:'',
|
||||||
psdType: '',
|
psdType: '',
|
||||||
controlType: '',
|
controlType: '',
|
||||||
ViewMode: ViewMode,
|
ViewMode: ViewMode,
|
||||||
enabledTab: 'Section',
|
enabledTab: 'Section',
|
||||||
autoSaveTask: null,
|
autoSaveTask: null,
|
||||||
|
@ -53,10 +53,62 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function setModel() {
|
||||||
|
return {
|
||||||
|
code: '',
|
||||||
|
name: '',
|
||||||
|
type: '',
|
||||||
|
relStandCode: '', // 关联站台编码
|
||||||
|
leftStopPointOffset: 0, // 左向停车点偏移量
|
||||||
|
rightStopPointOffset: 0, // 右向停车点偏移量
|
||||||
|
destinationCode: '', // 目的地码
|
||||||
|
destinationCodePoint: { x: 0, y: 0 }, // 目的地码坐标
|
||||||
|
namePosition: { x: 0, y: 0 },
|
||||||
|
kmRangeRight: 0,
|
||||||
|
kmRangeLeft: 0,
|
||||||
|
region: '',
|
||||||
|
logicSectionCodeList: [],
|
||||||
|
logicSectionShow: false, // 是否显示逻辑区段
|
||||||
|
standTrack: false, // 是否站台轨
|
||||||
|
standTrackName: '',
|
||||||
|
standTrackNamePosition: { x: 0, y: 0 },
|
||||||
|
reentryTrack: false, // 是否折返轨
|
||||||
|
reentryTrackName: '',
|
||||||
|
reentryTrackNamePosition: { x: 0, y: 0 },
|
||||||
|
transferTrack: false, // 是否转换轨
|
||||||
|
segmentationPosition: { x: 0, y: 0 },
|
||||||
|
transferTrackName: '',
|
||||||
|
transferTrackNamePosition: { x: 0, y: 0 },
|
||||||
|
switchSection: false, // 是否关联道岔
|
||||||
|
relSwitchCode: '',
|
||||||
|
stationCode: '',
|
||||||
|
logicSectionNameSort: true,
|
||||||
|
sepTypeLeft: '',
|
||||||
|
sepTypeRight: '',
|
||||||
|
offsetRight: 0,
|
||||||
|
parentCode: '',
|
||||||
|
points: [],
|
||||||
|
lengthFact: 0,
|
||||||
|
curve: false, // 是否曲线
|
||||||
|
leftSectionCode: '',
|
||||||
|
rightSectionCode: '',
|
||||||
|
trainWindowCode: '',
|
||||||
|
relevanceSectionList: [],
|
||||||
|
logicSectionStartOffset: 0,
|
||||||
|
logicSectionEndOffset: 0,
|
||||||
|
leftAxlePosition: 0,
|
||||||
|
rightAxlePosition: 0,
|
||||||
|
roadType: null,
|
||||||
|
firstTurnBack: false,
|
||||||
|
belongStation: '', // 所属车站
|
||||||
|
rightAxleOffset: {x:0, y:0},
|
||||||
|
leftAxleOffset: {x:0, y:0}
|
||||||
|
};
|
||||||
|
}
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import JTriangle from '@/jmapNew/utils/JTriangle';
|
import JTriangle from '@/jmapNew/utils/JTriangle';
|
||||||
import ConfigList from '../config/list';
|
import ConfigList from '../config/list';
|
||||||
import { deepAssign, deepAssigns } from '@/utils/index';
|
import { deepAssign } from '@/utils/index';
|
||||||
import LogicBlock from './logicBlock';
|
import LogicBlock from './logicBlock';
|
||||||
import TipInfo from './tipInfo';
|
import TipInfo from './tipInfo';
|
||||||
import CreateSection from './create';
|
import CreateSection from './create';
|
||||||
@ -102,56 +154,7 @@ export default {
|
|||||||
{ code: 'DEPOT', name: '联段线' },
|
{ code: 'DEPOT', name: '联段线' },
|
||||||
{ code: 'PARKING', name: '库线' }
|
{ code: 'PARKING', name: '库线' }
|
||||||
],
|
],
|
||||||
editModel: {
|
editModel: deepAssign({}, setModel()),
|
||||||
code: '',
|
|
||||||
name: '',
|
|
||||||
type: '',
|
|
||||||
relStandCode: '', // 关联站台编码
|
|
||||||
leftStopPointOffset: 0, // 左向停车点偏移量
|
|
||||||
rightStopPointOffset: 0, // 右向停车点偏移量
|
|
||||||
destinationCode: '', // 目的地码
|
|
||||||
destinationCodePoint: { x: 0, y: 0 }, // 目的地码坐标
|
|
||||||
namePosition: { x: 0, y: 0 },
|
|
||||||
kmRangeRight: 0,
|
|
||||||
kmRangeLeft: 0,
|
|
||||||
region: '',
|
|
||||||
logicSectionCodeList: [],
|
|
||||||
logicSectionShow: false, // 是否显示逻辑区段
|
|
||||||
standTrack: false, // 是否站台轨
|
|
||||||
standTrackName: '',
|
|
||||||
standTrackNamePosition: { x: 0, y: 0 },
|
|
||||||
reentryTrack: false, // 是否折返轨
|
|
||||||
reentryTrackName: '',
|
|
||||||
reentryTrackNamePosition: { x: 0, y: 0 },
|
|
||||||
transferTrack: false, // 是否转换轨
|
|
||||||
segmentationPosition: { x: 0, y: 0 },
|
|
||||||
transferTrackName: '',
|
|
||||||
transferTrackNamePosition: { x: 0, y: 0 },
|
|
||||||
switchSection: false, // 是否关联道岔
|
|
||||||
relSwitchCode: '',
|
|
||||||
stationCode: '',
|
|
||||||
logicSectionNameSort: true,
|
|
||||||
sepTypeLeft: '',
|
|
||||||
sepTypeRight: '',
|
|
||||||
offsetRight: 0,
|
|
||||||
parentCode: '',
|
|
||||||
points: [],
|
|
||||||
lengthFact: 0,
|
|
||||||
curve: false, // 是否曲线
|
|
||||||
leftSectionCode: '',
|
|
||||||
rightSectionCode: '',
|
|
||||||
trainWindowCode: '',
|
|
||||||
relevanceSectionList: [],
|
|
||||||
logicSectionStartOffset: 0,
|
|
||||||
logicSectionEndOffset: 0,
|
|
||||||
leftAxlePosition: 0,
|
|
||||||
rightAxlePosition: 0,
|
|
||||||
roadType: null,
|
|
||||||
firstTurnBack: false,
|
|
||||||
belongStation: '', // 所属车站
|
|
||||||
rightAxleOffset: {x:0, y:0},
|
|
||||||
leftAxleOffset: {x:0, y:0}
|
|
||||||
},
|
|
||||||
oldPoint: [], // 区段未修改前 坐标
|
oldPoint: [], // 区段未修改前 坐标
|
||||||
field: '',
|
field: '',
|
||||||
oldLeftSectionCode: '',
|
oldLeftSectionCode: '',
|
||||||
@ -501,7 +504,7 @@ export default {
|
|||||||
}
|
}
|
||||||
this.clear();
|
this.clear();
|
||||||
this.activeName = 'first';
|
this.activeName = 'first';
|
||||||
this.editModel = deepAssigns(this.editModel, selected);
|
this.editModel = deepAssign(this.editModel, selected);
|
||||||
this.oldPoint = selected.points;
|
this.oldPoint = selected.points;
|
||||||
this.oldLeftSectionCode = selected.leftSectionCode;
|
this.oldLeftSectionCode = selected.leftSectionCode;
|
||||||
this.oldRightSectionCode = selected.rightSectionCode;
|
this.oldRightSectionCode = selected.rightSectionCode;
|
||||||
@ -715,8 +718,7 @@ export default {
|
|||||||
}
|
}
|
||||||
return models;
|
return models;
|
||||||
},
|
},
|
||||||
getSectionByCode(code) {
|
getSectionByCode(code) { // 根据sectionCode 获取深拷贝的section对象
|
||||||
// 根据sectionCode 获取深拷贝的section对象
|
|
||||||
if (code) {
|
if (code) {
|
||||||
const section = deepAssign({}, this.$store.getters['map/getDeviceByCode'](code) || {});
|
const section = deepAssign({}, this.$store.getters['map/getDeviceByCode'](code) || {});
|
||||||
if (JSON.stringify(section) !== '{}') {
|
if (JSON.stringify(section) !== '{}') {
|
||||||
@ -740,6 +742,8 @@ export default {
|
|||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
models.push(deepAssign(selected, { _dispose: true }));
|
models.push(deepAssign(selected, { _dispose: true }));
|
||||||
|
const trainWindowModel = this.$store.getters['map/getDeviceByCode'](selected.trainWindowCode);
|
||||||
|
trainWindowModel && models.push(deepAssign(trainWindowModel, { _dispose: true }));
|
||||||
const deleteObjAssociatedSection = this.handleDeleteSectionAssociatedSection(selected);
|
const deleteObjAssociatedSection = this.handleDeleteSectionAssociatedSection(selected);
|
||||||
models = [...models, ...deleteObjAssociatedSection];
|
models = [...models, ...deleteObjAssociatedSection];
|
||||||
this.$emit('updateMapModel', models);
|
this.$emit('updateMapModel', models);
|
||||||
@ -763,6 +767,11 @@ export default {
|
|||||||
delRightSection.leftSectionCode = '';
|
delRightSection.leftSectionCode = '';
|
||||||
models.push(delRightSection);
|
models.push(delRightSection);
|
||||||
}
|
}
|
||||||
|
selected.relevanceSectionList.forEach(dataCode => { // 关联道岔区段 父元素清空
|
||||||
|
const sectionModel = this.getSectionByCode(dataCode);
|
||||||
|
sectionModel.parentCode = '';
|
||||||
|
models.push(sectionModel);
|
||||||
|
});
|
||||||
return models;
|
return models;
|
||||||
},
|
},
|
||||||
checkPointsCoincide(point1, point2) {
|
checkPointsCoincide(point1, point2) {
|
||||||
@ -783,6 +792,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
clear() {
|
clear() {
|
||||||
|
this.editModel = setModel();
|
||||||
this.$refs.dataform && this.$refs.dataform.resetFields(); // 表单重置 移入校验结果
|
this.$refs.dataform && this.$refs.dataform.resetFields(); // 表单重置 移入校验结果
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,6 +92,42 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function setModel() {
|
||||||
|
return {
|
||||||
|
centralized: false,
|
||||||
|
ciStation: false, // 是否联锁站
|
||||||
|
depot:false, // 是否停车场或者车辆段
|
||||||
|
reentry:false, // 是否折返车站
|
||||||
|
smallRouting: false, // 是否小交路
|
||||||
|
number:'', // 编号
|
||||||
|
code: '',
|
||||||
|
zcCode: '',
|
||||||
|
visible: true,
|
||||||
|
runPlanName: '',
|
||||||
|
name: '',
|
||||||
|
nameFont: '',
|
||||||
|
nameFontColor: '#FFFFFF',
|
||||||
|
subheadDisplay:false,
|
||||||
|
subhead:'', // 副标题
|
||||||
|
subheadFont:'',
|
||||||
|
subheadFontColor:'#FFFFFF',
|
||||||
|
subheadPosition:{ x: 0, y: 0 },
|
||||||
|
kmPostShow: '',
|
||||||
|
kmRange: 0,
|
||||||
|
kmPost: '',
|
||||||
|
kmPostFont: '',
|
||||||
|
kmPostFontColor: '#FFFFFF',
|
||||||
|
isShowControlMode: '',
|
||||||
|
chargeStationCodeList:[],
|
||||||
|
relStationCodeList: [], // 联锁站关联车站列表
|
||||||
|
position: { x: 0, y: 0 },
|
||||||
|
kilometerPosition: { x: 0, y: 0 }, // 公里标偏移坐标
|
||||||
|
createControlMode:false,
|
||||||
|
createTurnBack:false,
|
||||||
|
turnBackPoint: {x: 0, y: 0}, // 按图折返坐标
|
||||||
|
controlModePoint: { x: 0, y: 0 } // 控制模式坐标
|
||||||
|
};
|
||||||
|
}
|
||||||
import ElFont from '@/views/components/font/index';
|
import ElFont from '@/views/components/font/index';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { getUID } from '@/jmapNew/utils/Uid';
|
import { getUID } from '@/jmapNew/utils/Uid';
|
||||||
@ -120,42 +156,7 @@ export default {
|
|||||||
chargeStation:[],
|
chargeStation:[],
|
||||||
relStationList: [], // 车站列表
|
relStationList: [], // 车站列表
|
||||||
controlled:false,
|
controlled:false,
|
||||||
editModel: {
|
editModel: deepAssign({}, setModel()),
|
||||||
centralized: false,
|
|
||||||
// concentrateStationCode: '', // 所属集中站
|
|
||||||
ciStation: false, // 是否联锁站
|
|
||||||
depot:false, // 是否停车场或者车辆段
|
|
||||||
reentry:false, // 是否折返车站
|
|
||||||
smallRouting: false, // 是否小交路
|
|
||||||
number:'', // 编号
|
|
||||||
code: '',
|
|
||||||
zcCode: '',
|
|
||||||
visible: true,
|
|
||||||
runPlanName: '',
|
|
||||||
name: '',
|
|
||||||
nameFont: '',
|
|
||||||
nameFontColor: '#FFFFFF',
|
|
||||||
subheadDisplay:false,
|
|
||||||
subhead:'', // 副标题
|
|
||||||
subheadFont:'',
|
|
||||||
subheadFontColor:'#FFFFFF',
|
|
||||||
subheadPosition:{ x: 0, y: 0 },
|
|
||||||
kmPostShow: '',
|
|
||||||
kmRange: 0,
|
|
||||||
kmPost: '',
|
|
||||||
kmPostFont: '',
|
|
||||||
kmPostFontColor: '#FFFFFF',
|
|
||||||
isShowControlMode: '',
|
|
||||||
chargeStationCodeList:[],
|
|
||||||
relStationCodeList: [], // 联锁站关联车站列表
|
|
||||||
position: { x: 0, y: 0 },
|
|
||||||
kilometerPosition: { x: 0, y: 0 }, // 公里标偏移坐标
|
|
||||||
// controlled:false,
|
|
||||||
createControlMode:false,
|
|
||||||
createTurnBack:false,
|
|
||||||
turnBackPoint: {x: 0, y: 0}, // 按图折返坐标
|
|
||||||
controlModePoint: { x: 0, y: 0 } // 控制模式坐标
|
|
||||||
},
|
|
||||||
addModel: {
|
addModel: {
|
||||||
modelList: [],
|
modelList: [],
|
||||||
positionY: 0
|
positionY: 0
|
||||||
@ -299,6 +300,7 @@ export default {
|
|||||||
},
|
},
|
||||||
deviceSelect(selected) {
|
deviceSelect(selected) {
|
||||||
if (selected && selected._type.toUpperCase() === 'Station'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Station'.toUpperCase()) {
|
||||||
|
this.editModel = setModel();
|
||||||
this.$refs.dataform && this.$refs.dataform.resetFields();
|
this.$refs.dataform && this.$refs.dataform.resetFields();
|
||||||
this.activeName = 'first';
|
this.activeName = 'first';
|
||||||
this.editModel = deepAssign(this.editModel, selected);
|
this.editModel = deepAssign(this.editModel, selected);
|
||||||
@ -347,14 +349,10 @@ export default {
|
|||||||
if (data.length > 0) {
|
if (data.length > 0) {
|
||||||
this.chargeStation.forEach(station=>{
|
this.chargeStation.forEach(station=>{
|
||||||
const newModal = Object.assign({}, station);
|
const newModal = Object.assign({}, station);
|
||||||
// newModal.controlled = false;
|
|
||||||
// newModal.concentrateStationCode = '';
|
|
||||||
this.setStationStand(station, '');
|
this.setStationStand(station, '');
|
||||||
data.forEach(each=>{
|
data.forEach(each=>{
|
||||||
switch (each) {
|
switch (each) {
|
||||||
case station.code: {
|
case station.code: {
|
||||||
// newModal.controlled = true;
|
|
||||||
// newModal.concentrateStationCode = this.editModel.code;
|
|
||||||
this.setStationStand(station, this.editModel.code);
|
this.setStationStand(station, this.editModel.code);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -382,8 +380,6 @@ export default {
|
|||||||
modifyChargeStation() {
|
modifyChargeStation() {
|
||||||
this.chargeStation.forEach(station=>{
|
this.chargeStation.forEach(station=>{
|
||||||
const newModal = Object.assign({}, station);
|
const newModal = Object.assign({}, station);
|
||||||
// newModal.controlled = false;
|
|
||||||
// newModal.concentrateStationCode = '';
|
|
||||||
|
|
||||||
// 将原来被控制的车站下的站台,属性{所属设备集中站}设置为空
|
// 将原来被控制的车站下的站台,属性{所属设备集中站}设置为空
|
||||||
this.setStationStand(station, '');
|
this.setStationStand(station, '');
|
||||||
@ -401,10 +397,6 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// hover(field) {
|
|
||||||
// this.field = field === this.field ? '' : field;
|
|
||||||
// this.$emit('stationSectionCode', this.field);
|
|
||||||
// },
|
|
||||||
create() {
|
create() {
|
||||||
this.$refs['make'].validate((valid) => {
|
this.$refs['make'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
@ -432,8 +424,6 @@ export default {
|
|||||||
depot:false,
|
depot:false,
|
||||||
reentry:false,
|
reentry:false,
|
||||||
smallRouting: false,
|
smallRouting: false,
|
||||||
// concentrateStationCode: '',
|
|
||||||
// controlled: false,
|
|
||||||
chargeStationCodeList:[],
|
chargeStationCodeList:[],
|
||||||
relStationCodeList: [], // 联锁站关联车站列表
|
relStationCodeList: [], // 联锁站关联车站列表
|
||||||
createControlMode: item.control,
|
createControlMode: item.control,
|
||||||
|
@ -87,9 +87,7 @@ export default {
|
|||||||
editModel: {
|
editModel: {
|
||||||
code: '',
|
code: '',
|
||||||
name: '',
|
name: '',
|
||||||
// doorLocationType: '', // 站台方向
|
|
||||||
deviceStationCode: '', // 设备集中站
|
deviceStationCode: '', // 设备集中站
|
||||||
// hasDoor: false, // 屏蔽门是否显示
|
|
||||||
width: 0,
|
width: 0,
|
||||||
height: 0,
|
height: 0,
|
||||||
stationCode: '', // 所属车站
|
stationCode: '', // 所属车站
|
||||||
@ -108,7 +106,6 @@ export default {
|
|||||||
upDetainLampPoint: {x: 0, y: 0}, // 上行扣车功能按钮坐标
|
upDetainLampPoint: {x: 0, y: 0}, // 上行扣车功能按钮坐标
|
||||||
downDetainLamp: false, // 下行扣车功能按钮
|
downDetainLamp: false, // 下行扣车功能按钮
|
||||||
downDetainLampPoint: {x: 0, y: 0} // 下行扣车功能按钮坐标
|
downDetainLampPoint: {x: 0, y: 0} // 下行扣车功能按钮坐标
|
||||||
// direction: '' // 上下行方向
|
|
||||||
},
|
},
|
||||||
field: '',
|
field: '',
|
||||||
addModel: {
|
addModel: {
|
||||||
|
@ -120,10 +120,9 @@ export default {
|
|||||||
transferTrack: false,
|
transferTrack: false,
|
||||||
transferTrackName: '',
|
transferTrackName: '',
|
||||||
transferTrackNamePosition: { x: 0, y: 0 },
|
transferTrackNamePosition: { x: 0, y: 0 },
|
||||||
// segmentation: false,
|
|
||||||
segmentationPosition: { x: 0, y: 0 },
|
segmentationPosition: { x: 0, y: 0 },
|
||||||
switchSection: true,
|
switchSection: true,
|
||||||
relSwitchCode: '',
|
relSwitchCode: this.fromData.relevanceSwitchList[0],
|
||||||
relevanceSectionList: this.fromData.relevanceSectionList,
|
relevanceSectionList: this.fromData.relevanceSectionList,
|
||||||
points: [{ x: 0, y: 0 }, { x: 0, y: 0 }],
|
points: [{ x: 0, y: 0 }, { x: 0, y: 0 }],
|
||||||
logicSectionShow: false,
|
logicSectionShow: false,
|
||||||
|
@ -75,9 +75,9 @@ export default {
|
|||||||
height: 800,
|
height: 800,
|
||||||
roadData: [],
|
roadData: [],
|
||||||
focus: false,
|
focus: false,
|
||||||
booleanList: ['lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock'],
|
booleanList: ['lockFirst', 'switchSingleHandle', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock'],
|
||||||
selectList: ['upDirection', 'runMode'],
|
selectList: ['upDirection', 'runMode'],
|
||||||
generalConfig: ['lockFirst', 'switchSingleHandle', 'upDirection', 'switchNRTurnChain', 'switchSingleLockChain', 'signalForceCancelRoute', 'runMode', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'noParkingSM', 'parkingSM'],
|
generalConfig: ['lockFirst', 'switchSingleHandle', 'upDirection', 'switchNRTurnChain', 'switchSingleLockChain', 'switchLossChain', 'signalForceCancelRoute', 'runMode', 'initSingleLockSwitch', 'ctcOverlapOnlyTurnBackStationLock', 'noParkingSM', 'parkingSM'],
|
||||||
rangeList: ['noParkingSM', 'parkingSM'],
|
rangeList: ['noParkingSM', 'parkingSM'],
|
||||||
numberList: [],
|
numberList: [],
|
||||||
optionsMap: {
|
optionsMap: {
|
||||||
@ -95,7 +95,8 @@ export default {
|
|||||||
initSingleLockSwitch: '初始加载设备时是否默认单锁正线道岔',
|
initSingleLockSwitch: '初始加载设备时是否默认单锁正线道岔',
|
||||||
ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭',
|
ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭',
|
||||||
noParkingSM: '不停站头码车服务号取值范围',
|
noParkingSM: '不停站头码车服务号取值范围',
|
||||||
parkingSM: '停站头码车服务号取值范围'
|
parkingSM: '停站头码车服务号取值范围',
|
||||||
|
switchLossChain: '道岔故障失表是否联动'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user