This commit is contained in:
sunzhenyu 2020-04-10 16:13:42 +08:00
commit 8a1746e13f
106 changed files with 7238 additions and 5355 deletions

View File

@ -27,6 +27,7 @@
"nprogress": "^0.2.0",
"path-to-regexp": "2.4.0",
"qrcode.vue": "^1.6.2",
"qs": "^6.9.3",
"script-loader": "^0.7.2",
"sessionstorage": "^0.1.0",
"sockjs-client": "^1.4.0",

View File

@ -174,6 +174,24 @@ export function toSortMap(data) {
});
}
/** 导出本地需要相关地图数据 */
export function localExportMap(data) {
return request({
url: '/api/map/local/export',
method: 'post',
data: data
});
}
/** 导入本地需要相关地图数据 */
export function localImportMap(data) {
return request({
url: '/api/map/local/import',
method: 'post',
data: data
});
}
/** 根据group获取排序的车站列表包含车辆段/停车场) */
export function getByGroupStationList(group) {
return request({

View File

@ -216,6 +216,15 @@ export function addAutoTrainingNew(data) {
data: data
});
}
/** 一键生成所有实训(新版地图) */
export function createAllTrainingList(mapId, noCheck) {
return request({
url: `/api/v1/training/generate/${mapId}?noCheck=${noCheck}`,
method: 'post'
});
}
/** 修改自动删除实训操作(新版地图) */
export function updateAutoTrainingNew(data) {
return request({

View File

@ -106,9 +106,10 @@ export function getCommandDetail(id) {
}
// 获取指令列表
export function getCmdList(lineCode) {
export function getCmdList(lineCode, params) {
return request({
url: `/api/cmd/line/${lineCode}`,
method: 'get'
method: 'get',
params: params
});
}

View File

@ -148,11 +148,17 @@
<el-button v-if="queryForm.reset" type="primary" size="small" :disabled="!canQuery" @click="doClean">{{ $t('global.reset') }}</el-button>
<el-button v-if="exportFlag" type="primary" size="small" :disabled="!canQuery" @click="doExport">{{ $t('global.export') }}</el-button>
<template v-for="(button, index) in queryList.actions">
<el-button v-if="button.fileType==='file' && (button.hasOwnProperty('show') ? button.show: true)" :key="index" :type="button.type ? button.type: 'primary'" size="small" class="button_style uploadDemo" :disabled="button.disabled" :loading="button.disabled">
<input id="queryFormFilesInput" type="file" class="file_box" accept=".json, application/json" @change="button.handler">
{{ $t('map.importMap') }}
</el-button>
<el-button
v-if="button.hasOwnProperty('show') ? button.show: true"
v-else-if="button.hasOwnProperty('show') ? button.show: true"
:key="index"
:type="button.type ? button.type: 'primary'"
size="small"
:disabled="button.disabled"
:loading="button.disabled"
:style="button.style"
class="button_style"
@click="button.handler"
@ -259,6 +265,8 @@ export default {
'queryForm.queryObject': function(newVal) {
this.initPageData();
},
'queryList.actions':function(newVal) {
},
canQuery(newVal) {
this.queryFlag = newVal;
},
@ -515,4 +523,32 @@ export default {
margin-left: 0;
margin-bottom: 10px;
}
.uploadDemo {
position: relative;
overflow: hidden;
margin-right: 3px;
cursor: pointer;
/*width: 60px;*/
padding: 0 15px;
height: 32px;
/*input {*/
/*width: 100%;*/
/*height: 100%;*/
/*position: relative;*/
/*left: 0;*/
/*top: 0;*/
/*opacity: 0;*/
/*cursor: pointer;*/
/*}*/
}
.file_box {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
opacity: 0;
cursor: pointer;
z-index: 100;
}
</style>

View File

@ -115,5 +115,6 @@ export default {
simulationOperationIsNotDefined: 'The simulation operation is not defined',
simulationOperationFailed: 'The simulation operation failed',
operationConflict: 'Operation conflict',
simulationOperationProcessingMethodNotFound: 'Simulation operation processing method not found'
simulationOperationProcessingMethodNotFound: 'Simulation operation processing method not found',
failedToObtainTrainingType: 'Failed to obtain training type'
};

View File

@ -88,6 +88,7 @@ export default {
maxTime: 'Largest time:',
trainingDescription: 'Training description:',
generateTraining: 'Generate training',
trainingGenerating:'Training generating...',
updateTraining: 'Update training',
deleteTraining: 'Delete training',
automaticGenerationOfTraining: 'Automatic generation of training',

View File

@ -115,5 +115,6 @@ export default {
simulationOperationIsNotDefined: '仿真操做未定义',
simulationOperationFailed: '仿真操做执行失败',
operationConflict: '操做冲突',
simulationOperationProcessingMethodNotFound: '仿真操做处理方法未找到'
simulationOperationProcessingMethodNotFound: '仿真操做处理方法未找到',
failedToObtainTrainingType: '获取实训类型失败'
};

View File

@ -86,7 +86,8 @@ export default {
minTime: '最小用时:',
maxTime: '最大用时:',
trainingDescription: '实训描述:',
generateTraining: '生成实训',
generateTraining: '一键生成实训',
trainingGenerating:'实训生成中...',
updateTraining: '修改实训',
deleteTraining: '删除实训',
automaticGenerationOfTraining: '自动生成实训',

View File

@ -13,7 +13,7 @@ export default {
create: '创建',
dataVerification: '数据校验',
edit3d: '三维编辑',
publish3d:"三维发布",
publish3d: '三维发布',
logicalView: '逻辑视图',
physicalView: '物理视图',
mixedView: '混合视图',
@ -296,10 +296,10 @@ export default {
signalPositionX: '信号机x:',
signalPositionY: '信号机y:',
signalPosition: '信号机坐标:',
signalNamePositionX: '信号机名偏移量 x:',
signalNamePositionY: '信号机名偏移量 y:',
signalNamePosition: '信号机名偏移量:',
signalNameRotated: '信号机名是否旋转:',
signalNamePositionX: '信号机名偏移量 x:',
signalNamePositionY: '信号机名偏移量 y:',
signalNamePosition: '信号机名偏移量:',
signalNameRotated: '信号机名是否旋转:',
signalButtonShow: '是否显示按钮:',
signalButtonPositionX: '按钮x:',
signalButtonPositionY: '按钮y:',

View File

@ -1,5 +1,6 @@
const mapDeviceStyle = {
'01': 'chengdu_01',
// '01': 'xian_02',
'02': 'fuzhou_01',
'03': 'bejing_01',
'04': 'chengdu_03',

View File

@ -120,7 +120,8 @@ class SkinCode extends defaultStyle {
width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度
endColor: '#7F7F7F', // 尽头分隔符颜色
color: '#7F7F7F' // 区段边界符颜色
color: '#7F7F7F', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
block: {
special: false // 区段特殊显示

View File

@ -120,7 +120,8 @@ class SkinCode extends defaultStyle {
width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色
color: 'white' // 区段边界符颜色
color: 'white', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
block: {
special: false // 区段特殊显示

View File

@ -120,7 +120,8 @@ class SkinCode extends defaultStyle {
width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色
color: '#FFFFFF' // 区段边界符颜色
color: '#FFFFFF', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
// shuttleBack: { // 折返进路 (存在此对象 显示折返箭头)
// distance: 5 // 限速线距离区段距离

View File

@ -113,7 +113,8 @@ class SkinCode extends defaultStyle {
width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色
color: '#3149C3' // 区段边界符颜色
color: '#3149C3', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
block: {
special: false // 区段特殊显示

View File

@ -113,7 +113,8 @@ class SkinCode extends defaultStyle {
width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色
color: '#3149C3' // 区段边界符颜色
color: '#3149C3', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
block: {
special: false // 区段特殊显示

View File

@ -114,7 +114,8 @@ class SkinCode extends defaultStyle {
width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色
color: '#3149C3' // 区段边界符颜色
color: '#3149C3', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
block: {
special: true // 区段特殊显示

View File

@ -120,7 +120,8 @@ class SkinCode extends defaultStyle {
width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色
color: 'white' // 区段边界符颜色
color: 'white', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
block: {
special: false, // 区段特殊显示

View File

@ -0,0 +1,641 @@
import defaultStyle from '../defaultStyle';
import deviceType from '../../constant/deviceType';
class SkinCode extends defaultStyle {
constructor() {
super();
this[deviceType.Section] = {
active: {
routeColor: false // 进路触发颜色
},
text: {
show: true, // 物理区段名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 10, // 文字离区段距离
fontSize: 12, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: 'lightgreen', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
logicText: { // 逻辑区段名称
show: false, // 逻辑区段名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 12, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
standText: { // 站台
show: true, // 站台轨名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 24, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
reentryText: { // 折返
show: true, // 折返轨名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 36, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
transferText: { // 转换轨
show: true, // 转换轨名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 36, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
destinationText: { // 目的地
show: true, // 目的码名称显示
opposite: true, // 对称相反
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 12, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'bold', // 字体粗细
fontColor: 'yellow', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
line: {
width: 2, // 区段宽度
beyondWidth: 0, // 区段宽超出宽度
invadeColor: '#FFFFFF', // 区段侵入颜色
spareColor: '#AAA9A9', // 区段空闲颜色
communicationOccupiedColor: '#FF00FF', // 区段通信车占用颜色
unCommunicationOccupiedColor: '#DE310C', // 区段非通讯车占用颜色
routeLockColor: '#52BD5F', // 区段进路锁定颜色
faultLockColor: '#006400', // 区段故障锁定颜色
undefinedColor: '#0071C1', // 区段未定义颜色
protectionLockedColor: '#3FFD46', // 保护区段锁闭
blockColor: '#7DC6C8', // 区段封锁颜色
atcExcisionColor: '#A0522D', // 区段atc切除颜色
atsExcisionColor: '#A0522D', // 区段ats切除颜色
timeReleaseColor: '#3F3F3F', // 区段延时释放颜色
protectiveLockColor: '#FFFF00', // 区段保护锁闭
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
logicalTextColor: '#C0C0C0' // 逻辑区段名称颜色 (未用)
},
axle: {
radius: 3, // 计轴 半径
distance: 5, // 计轴和区段之间的距离 (未用)
color: '#808080', // 区段计轴颜色
occupyColor: '#FF0000', // 区段计轴占用颜色
resetColor: '#00FFFF', // 区段计轴预复位颜色
Failure: '#E6A23C' // #FFFF00 计轴失效
},
speedLimit: { // 限速元素
width: 1, // 限速线的宽度
distance: 5, // 限速线距离区段距离
lineColor: '#C0C000', // 限速线颜色 (黄色透明光)
nameBackground: '#C0C000', // 限速名称背景颜色
nameShow: true, // 名称显示
nameNumberColor: '#C00808', // 限速值颜色
nameNumberFontSize: 11, // 限速值大小
kilometerColor: '#fff', // 公里标颜色
kilometerFontSize: 8, // 公里标大小
drogueWidth: 19, // 浮标宽度
drogueHeight: 12 // 浮标高度
},
separator: {
z: 6, // 分割符层级
width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色
color: '#AAA9A9', // 区段边界符颜色
halfHeight: 4 // 区段分隔符高度的一半
},
block: {
special: false // 区段特殊显示
},
trainPosition:{
display: true // 列车实时位置显示
}
};
this[deviceType.Signal] = {
distance: 3, // 设备距离区段的距离
post: {
standardLength: 7, // 高柱长度
standardHeight: 6, // 灯柱高度
standardColor: '#fff', // 灯柱颜色
standardWidth: 3, // 灯柱宽度
autoRouteColor: '#008000', // 自动进路开启灯柱颜色
shapeChange: true, // 灯柱形状改变
terminalOptional: '#CC3399' // 终端可选信号机灯柱颜色
},
text: {
show: true, // 信号机名称显示
distance: 3, // 文字和灯杆的距离
isAlignCenter: false, // 信号字体对其方式
fontSize: 11, // 信号机名称字体大小
fontWeight: 'bold', // 信号机名称字体粗细
defaultColor: 'white', // 信号灯字体默认色
blockColor: '#EF0C08', // 信号灯字体锁定颜色
checkColor: '#00FF00' // 信号保护区段检查颜色
},
lamp: {
bgShow: false, // 是否被选中
guidName: 'defult', // 默认引导类型
borderVariable: true, // 信号灯边框可变
stopWidth: 2, // 禁止线宽度
borderWidth: 2, // 信号灯边框线宽度
borderColor: '#3149C3', // 信号灯边框线颜色
radiusR: 5, // 信号灯半径
blockColor: '#EF0C08', // 信号灯锁闭
grayColor: '#C0C0C0', // 信号灯灰色
redColor: 'red', // 信号灯红色
greenColor: 'green', // 信号灯绿色
yellowColor: 'yellow', // 信号灯黄色
whiteColor: '#FFFFFF', // 信号灯白色
blueColor: '#0070C0' // 信号灯蓝色
},
route: {
direction: true, // 自动通过方向
offset: { x: 4, y: 0}, // 自动通过偏移量
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: false, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0}, // 自动通过偏移量
width: 5, // 自动宽度
manualControl: '#FFFF00', // 人工控制
autoRoute: '#00FF00', // 自动进路
autoTrigger: '#FFFF00', // 自动触发
outConflict: '#C00808' // 出车冲突
},
delay: {
direction: false, // 延时解锁方向
offset: { x: -5, y: 0}, // 延时解锁偏移量
fontSize: 11, // 延迟解锁字体大小
fontColor: '#C00808', // 延迟解锁颜色
fontWeight: 'bold' // 字体粗细
},
button: {
distance: 5, // 信号灯按钮距离区段的距离
borderDashColor: '#FFFFFF', // 信号灯按钮边线
buttonColor: 'darkgreen', // 信号灯按钮颜色
buttonLightenColor: 'yellow' // 信号灯按钮闪烁颜色
},
lowButton:{
display: false // 现地 信号机按钮
},
sigBack: {
color: '#669999', // 信号背景颜色
lineWidth: 0, // 信号背景描边宽度
distanceX: 2, // 信号背景x偏移距离
distanceY: 1 // 信号背景Y偏移距离
}
};
this[deviceType.StationStand] = {
common: { // 通用属性
textFontSize: 10, // 站台默认字体大小
haveJumpShow: false, // 站台是否有列车停跳显示
functionButtonShow: '03', // 功能灯按钮显示条件01所有模式下显示 02 行调显示 03现地显示
standType:'notFill' // 站台的样式NotFill为未填充目前是西安二号线线路样式
},
safetyDoor: { // 屏蔽门
height: 3, // 站台屏蔽门高度
distance: 4, // 站台和屏蔽门之间的距离
defaultColor: '#9f9f9c', // 屏蔽门默认颜色
splitDoorColor: '#009900', // 屏蔽门切除颜色
special:true // 特殊屏蔽门(目前是西安二号线线路样式)
},
stand: { // 站台
headFontSize: 10, // 站台首端字体大小
spareColor: '#808080', // 站台空闲颜色
stopColor: '#808080', // 站台列车停站颜色
jumpStopColor: 'yellow', // 站台跳停颜色
designatedJumpStopColor: 'yellow' // 站台指定列车跳停颜色
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: -25}, // 外站台紧急关闭偏移量
closeColor: 'red' // 站台紧急关闭颜色
},
reentry: {}, // 站台折返策略
detainCar: { // 扣车
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
offset: {x: -8, y: 13}, // 扣车偏移量
centerTrainColor: 'white', // 中心扣车颜色
andCenterTrainColor: 'red', // 车站+中心扣车颜色
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
fontSize: 10,
fontWeight: 'normal'
},
stopTime: { // 停站时间
position: 1, // 停站时间方向
offset: {x: -8, y: -4}, // 运行时间偏移量
textColor: 'white', // 停站时间字体颜色
textFontSize: 12
},
jump: {
position: 1, // 停跳方向
text: '跳', // 停跳显示内容
offset: {x: -8, y: 10},
textColor: '#00ffcc', // 停跳文字颜色
arcColor: '#00ffcc', // 停跳圆圈颜色
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
r: 8, // 圆半径大小
fontWeight: 'normal', // 文字居中
textFontSize: 11 // 圆半径大小
},
trainStop: {}, // 停车标志
trainDepart: {}, // 停车计时
level: { // 运行等级
position: 1, // 运行等级方向
offset: {x: -8, y: 30}, // 运行等级偏移量
textColor: '#FFF000' // 停站等级字体颜色
},
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
lampColor: '#5A5D5A' // 功能按钮颜色
}
};
this[deviceType.StationCounter] = {
text: {
distance: 2, // 计数器名称和文字的距离
fontColor: '#FFFFFF', // 计数器字体颜色
borderColor: '#E4EF50' // 计数器边框颜色
}
};
this[deviceType.StationDelayUnlock] = {
text: {
distance: 3, // 延迟解锁和设备之间的距离
fontColor: '#FFFFFF', // 延时解锁字体颜色
borderColor: '#FFFFFF' // 延迟解锁边框颜色
}
};
this[deviceType.AutoTurnBack] = {
// 是否显示
visibleConditions: '03',
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
subtitleText: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离
},
lamp: {
lineDash: null, // 灯的包围框
borderShow: false, // 是否显示边框
stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
lightUpColor: '#ffff00' // 点亮灯颜色
},
OutFrame: {
}
};
this[deviceType.Station] = {
// text: {
// show: true // 公里标名称显示
// },
kmPostShow: false, // 公里标显示
kilometerPosition: 'up', // 公里标朝向
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
controlColor: '#FFFF00' // 控制灯颜色
},
turnBack: { // 按图折返
lamp: 1, // 灯数量
lampSpace: 60 // 灯间距
},
StationControl:{
text: {
distance: 2, // 灯和文字之间的距离
fontSize: 12, // 字体大小
fontFormat: 'consolas', // 字体格式
fontColor: '#ffffff', // 字体颜色
fontWeight: 'normal', // 字体粗细
textAlign: 'middle', // 字体水平对齐
textVerticalAlign: 'top', // 字体垂直对齐
centerControlText: '中控', // 中控文字内容
substationControlText: '站控', // 站控文字内容
emergencyControlText:'紧急站控', // 紧急站控文字内容
interconnectedControlText:'连锁控' // 连锁控文字内容
// stationCenterControlText: '站中控', // 站中控文字内容
// generalAlarmControlText: '总报警' // 总报警文字内容
},
lamp: {
count: 4, // 控制模式的个数
offset: {x: 20, y: 0}, // 偏移量
radiusR: 4, // 控制模式灯的半径
distance: 46, // 控制模式之间灯之间的距离
grayColor: '#C0C0C0', // 控制模式灰色
greenColor: 'green', // 控制模式绿色
redColor: 'red', // 控制模式红色
yellowColor: 'yellow', // 控制模式黄色
emergencyControlShow: true, // 紧急站控显示
centerControlShow: true, // 中控显示
substationControlShow: true, // 站控按钮显示
interconnectedControlShow: false, // 联锁控显示
centerControlButtonShow: false // 中控显示
},
arrow: {
show: false // 控制模式箭头显隐
}
}
};
this[deviceType.Switch] = {
text: {
show: true, // 道岔名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
offset: {x: 5, y: -10}, // 道岔名称与区段距离
fontSize: 11, // 字体大小
fontColor: '#C0C0C0', // 道岔名称颜色
fontWeight: 'normal', // 字体粗细
borderColor: '#FE0000', // 道岔边框颜色
lossColor: 'lightgreen', // 道岔失去颜色
locateColor: 'lightgreen', // 道岔定位颜色
inversionColor: 'lightgreen', // 道岔反位颜色
monolockLocationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色)
monolockInversionColor: '#FFFF00' // 道岔单锁'反位'颜色 (黄色)
},
sectionAction: {
flag: false, // 道岔 关联区段显示
spareColor: '#5b5b5b' // 区段显示颜色
},
core: {
length: 10 // 道岔单边长度
},
jointImg: { // 道岔 A B C D四元素属性配置
trapezoidLength: 8 // 直角梯形元素默认长度
},
arcBlcok: { // 圆形封锁图形
show: false, // 显示
arcBorderColor: 'green', // 默认边框颜色
locationColor: 'green', // 定位封锁颜色
inversionColor: '#FFFF00' // 反位封锁颜色
},
rectLock: { // 矩形封锁框图形
rectWidth: 18, // 矩形框 宽高
rectBorderColor: '#fff', // 矩形边框颜色
monolock: true, // 单锁显示
block: true, // 封锁显示
blockColor: 'red' // 封锁颜色
}
};
this[deviceType.LcControl] = {
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
controlColor: '#FFFF00' // 控制灯颜色
}
};
this[deviceType.ZcControl] = {
// 是否显示
visible:true,
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
controlColor: '#00FF00' // 控制灯颜色
}
};
this[deviceType.LimitControl] = {
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
controlColor: '#ECE9D8' // 控制灯颜色
}
};
this[deviceType.Line] = {
lineColor: '#FFFFFF' // 线条颜色
};
this[deviceType.AutomaticRoute] = {
// 是否显示
displayCondition: '03', // 显示条件 prdType
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
}
};
/** 引导总锁 */
this[deviceType.GuideLock] = {
// 是否显示
displayCondition: '03', // 显示条件 prdType
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
lightUpColor: '#FF0000' // 点亮灯颜色
}
};
this[deviceType.TrainWindow] = {
lineColor: '#4DD43F', // 车次窗颜色
lineDash: null, // 车次窗虚线间隔
lineWidth: 1, // 车次窗线宽
trainWindowSmooth: 0 // 车次窗矩形圆滑程度
};
this[deviceType.Train] = {
trainBody: {
trainBodyLineWidth: 1, // 车身line宽
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
specialTrainType: [], // 特殊列车类型需设置显示格式
lrPadding: 4, // 两边间隔
upPadding: 4, // 上边距离
trainBodyFillColor: '#000099', // 列车车身填充颜色
trainNameFormat: 'serviceNumber:targetCode'// 列车显示格式
},
directionArrow: {
},
hsda: {
lrPaddingHSDA: 3, // HSDA两边间隔
upPaddingHSDA: 4, // HSDA上边距离
trainHSDATextFontSize: 8, // 列车HDSA字号
textHContent: '扣', // textH文本
textSContent: '跳', // textS文本
textDContent: '门', // textD文本
textAContent: '警' // textA文本
},
trainNumber: {
targetCodePrefix: '000', // 目的地码前缀
defaultTargetCode: 'DDD', // 默认目的地码
trainTargetTextAlign: 'left', // 目的地码文字显示位置
trainNumberOffset: { x: 24, y: 4}// 目的地码偏移量
},
trainServer: {
serviceNumberPrefix: '000', // 服务号(表号)前缀
defaultServiceNumber: 'TTT', // 默认服务号(表号)
defaultServerNoColor: '#FFFFFF', // 默认服务号状态显示颜色
trainServerOffset: { x: 4, y: 4} // 列车服务号偏移
},
trainTarget: {
tripNumberPrefix: '000', // 车次号前缀
defaultTripNumber: 'DDD', // 默认车次号2
trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移
trainTargetTextAlign: 'right' // 车次号文字显示位置
},
trainTargetNumber: {
trainTargetNumberOffset: {x: -4, y: 4}// 车组号偏移量
},
trainHead: {
trainMoreLength: 1, // 列车车头比车身高出的长度,上下相比车体伸出去的边框
trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量
trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量
trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量
trainConntWidth: 4, // 列车竖杠的宽度
trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
trainHeadRectHeight: 20 // 列车车头矩形高度
},
common: {
trainHeight: 20, // 列车高度
trainHeadDistance: 2, // 列车和车头之间的间距
trainWidth: 55, // 列车长度
trainTextFontSize: 16, // 列车字号
fontFamily: 'consolas', // 默认字体 族类
haveTextHSDA: true, // 是否需创建textHSDA对象
haveArrowText: true, // 是否需创建arrowText对象
haveTrainBorder: false, // 是否需创建trainBorder对象
aspectRatio: 7 / 5, // 字体宽高比例用以拼接text是计算位置
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
useSelfFormat: true, // 使用配置项的nameFormat
useSelfText: true, // 使用配置项的字体大小
displayPosition: 'margin', // 非同通信车在物理区段(有逻辑区段)上显示的位置 margin:行驶方向边缘车次窗 center: 中间位置车次窗
trainTip:true // 鼠标悬停列车状态信息框是否显示
},
trainStatusStyle: {
defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色
destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色
destinationStatus: [
{status: '01', showColor: '#FFFFFF'},
{status: '02', showColor: '#00FF00'},
{status: '03', showColor: '#A0522D'},
{status: '04', showColor: '#FFFF00'}
], // 目的地状态 01准点 02早点 03晚点 04头码车
serverNoType: [
{type: '01', showColor: '#FFFFFF'},
{type: '02', showColor: '#FFF000'}
], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车
directionType: [
{
type: 1,
lineLShow: false,
lineRShow: true,
arrowLShow: false,
arrowRShow: true
},
{
type: 0,
lineLShow: true,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{
type: 1,
lineLShow: false,
lineRShow: true
},
{
type: 0,
lineLShow: true,
lineRShow: false
}
], // 列车停止方向类型对应车头显示状态 1从左往右 0从右往左
driveModeStatus: [
{
status: 'AM',
trainLColor: '#00FF00',
trainRColor: '#00FF00'
},
{
status: 'CM',
trainLColor: '#FFFF00',
trainRColor: '#FFFF00'
},
{
status: 'RM',
trainLColor: '#A0522D',
trainRColor: '#A0522D'
},
{
status: 'NRM',
trainLColor: '#A0522D',
trainRColor: '#A0522D'
}
], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM
communicationStatus: [
{status: 'CBTC', trainColor: '#000099'},
{status: 'ITC', trainColor: '#747474'},
{status: 'IL', trainColor: '#747474'}
] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
}
};
}
}
export default new SkinCode();

View File

@ -332,6 +332,8 @@ class Jlmap {
}
update(list) {
this.setUpdateMapDevice(list || []); // 增加一个 前数据 处理 为了在区段中 获取全部的 道岔信息
const signalDeviceList = [];
const signalStatusList = [];
(list || []).forEach(elem => {
const code = elem.code;
const type = elem._type;
@ -347,8 +349,12 @@ class Jlmap {
}
const signalDevice = this.mapDevice[route.startSignalCode];
const signalStatus = {atsControl: elem.atsControl, fleetMode: elem.fleetMode};
if (this.hookHandle(signalDevice, signalStatus)) {
this.$painter.update(signalDevice);
const index = signalDeviceList.indexOf(signalDevice);
if (index === -1) {
signalDeviceList.push(signalDevice);
signalStatusList.push(signalStatus);
} else {
signalStatusList[index] = {atsControl: signalStatusList[index].atsControl && elem.atsControl, fleetMode: signalStatusList[index].fleetMode || elem.fleetMode};
}
} else if (elem.deviceType === 'CYCLE') {
store.dispatch('map/updateAutoReentryState', elem);
@ -385,13 +391,19 @@ class Jlmap {
}
}
});
this.handleRouteSignalStatus(signalDeviceList, signalStatusList);
// 状态后处理
this.postHandle(list || []);
if (this.methods.stateUpdate instanceof Function) { this.methods.stateUpdate(list); }
}
handleRouteSignalStatus(signalDeviceList, signalStatusList) {
signalDeviceList.forEach((item, index)=> {
if (item && this.hookHandle(item, signalStatusList[index])) {
this.$painter.update(item);
}
});
}
pullBack(payload) {
if (payload.type === 'zoom') {
const zrWidth = this.$zr.getWidth();

View File

@ -1,5 +1,7 @@
import Group from 'zrender/src/container/Group';
import Rect from 'zrender/src/graphic/shape/Rect';
import Line from 'zrender/src/graphic/shape/Line';
import store from '@/store/index_APP_TARGET';
class ESafeDoor extends Group {
constructor(model) {
@ -46,57 +48,96 @@ class ESafeDoor extends Group {
this.add(this.stand1);
this.add(this.stand2);
} else {
this.safeL = new Rect({
zlevel: model.zlevel,
z: model.z,
shape: {
x: model.x - model.width / 2 - padding,
y: model.y,
width: model.width / 4 + padding,
height: model.height
},
style: {
lineWidth: 0,
stroke: style.StationStand.safetyDoor.defaultColor,
fill: style.StationStand.safetyDoor.defaultColor
}
});
if (style.StationStand.safetyDoor.special) {
const standModel = store.getters['map/getDeviceByCode'](this.model.standCode);
const offesetY = standModel.right ? 1 : -1;
this.safeT = new Line({
zlevel: model.zlevel,
z: model.z,
shape: {
x1:model.x - model.width / 2,
y1:model.y + (1 + offesetY ) / 2 * (2 + (model.height - 2) / 2),
x2:model.x + model.width / 2,
y2:model.y + (1 + offesetY ) / 2 * (2 + (model.height - 2) / 2)
},
style: {
lineWidth: (model.height - 2) / 2,
lineDash:[(model.width) * 0.6 / 4, (model.width) * 0.4 / 3],
lineDashOffset:0,
stroke: style.StationStand.safetyDoor.defaultColor
}
});
this.safeB = new Line({
zlevel: model.zlevel,
z: model.z,
shape: {
x1:model.x - model.width / 2,
y1:model.y + (1 - offesetY) / 2 * ((model.height - 2) / 2 + 2),
x2:model.x + model.width / 2,
y2:model.y + (1 - offesetY) / 2 * ((model.height - 2) / 2 + 2)
},
style: {
lineWidth: (model.height - 2) / 2,
lineDash:[(model.width) * 0.45 / 3, (model.width) * 0.55 / 4],
lineDashOffset:(model.width) * 0.45 / 3,
stroke: style.StationStand.safetyDoor.defaultColor
}
});
this.add(this.safeT);
this.add(this.safeB);
} else {
this.safeL = new Rect({
zlevel: model.zlevel,
z: model.z,
shape: {
x: model.x - model.width / 2 - padding,
y: model.y,
width: model.width / 4 + padding,
height: model.height
},
style: {
lineWidth: 0,
stroke: style.StationStand.safetyDoor.defaultColor,
fill: style.StationStand.safetyDoor.defaultColor
}
});
this.safeC = new Rect({
zlevel: model.zlevel,
z: model.z,
shape: {
x: model.x - model.width / 4 - padding,
y: model.y,
width: model.width / 2 + padding * 2,
height: model.height
},
style: {
lineWidth: 0,
stroke: style.StationStand.safetyDoor.defaultColor,
fill: style.StationStand.safetyDoor.defaultColor
}
});
this.safeC = new Rect({
zlevel: model.zlevel,
z: model.z,
shape: {
x: model.x - model.width / 4 - padding,
y: model.y,
width: model.width / 2 + padding * 2,
height: model.height
},
style: {
lineWidth: 0,
stroke: style.StationStand.safetyDoor.defaultColor,
fill: style.StationStand.safetyDoor.defaultColor
}
});
this.safeR = new Rect({
zlevel: model.zlevel,
z: model.z,
shape: {
x: model.x + model.width / 4,
y: model.y,
width: model.width / 4 + padding,
height: model.height
},
style: {
lineWidth: 0,
stroke: style.StationStand.safetyDoor.defaultColor,
fill: style.StationStand.safetyDoor.defaultColor
}
});
this.safeR = new Rect({
zlevel: model.zlevel,
z: model.z,
shape: {
x: model.x + model.width / 4,
y: model.y,
width: model.width / 4 + padding,
height: model.height
},
style: {
lineWidth: 0,
stroke: style.StationStand.safetyDoor.defaultColor,
fill: style.StationStand.safetyDoor.defaultColor
}
});
this.add(this.safeL);
this.add(this.safeC);
this.add(this.safeR);
this.add(this.safeL);
this.add(this.safeC);
this.add(this.safeR);
}
}
}
@ -110,14 +151,22 @@ class ESafeDoor extends Group {
this.stand2.show();
}
} else {
show ? this.safeC.hide() : this.safeC.show();
if (!this.model.style.StationStand.safetyDoor.special) {
show ? this.safeC.hide() : this.safeC.show();
}
}
}
setColor(color) {
this.safeL && this.safeL.setStyle('fill', color);
this.safeC && this.safeC.setStyle('fill', color);
this.safeR && this.safeR.setStyle('fill', color);
if (this.model.style.StationStand.safetyDoor.special) {
this.safeT && this.safeT.setStyle('stroke', color);
this.safeB && this.safeB.setStyle('stroke', color);
} else {
this.safeL && this.safeL.setStyle('fill', color);
this.safeC && this.safeC.setStyle('fill', color);
this.safeR && this.safeR.setStyle('fill', color);
}
}
hide() {
this.stand1 && this.stand1.hide();
@ -125,6 +174,8 @@ class ESafeDoor extends Group {
this.safeL && this.safeL.hide();
this.safeC && this.safeC.hide();
this.safeR && this.safeR.hide();
this.safeT && this.safeT.hide();
this.safeB && this.safeB.hide();
}
show() {
this.stand1 && this.stand1.show();
@ -132,6 +183,8 @@ class ESafeDoor extends Group {
this.safeL && this.safeL.show();
this.safeC && this.safeC.show();
this.safeR && this.safeR.show();
this.safeT && this.safeT.show();
this.safeB && this.safeB.show();
}
}

View File

@ -28,7 +28,8 @@ export default class Line2 extends Group {
x: model.position.x,
y: model.position.y - (model.height / 2),
width: model.width || style.StationStand.safetyDoor.width,
height: model.height || style.StationStand.safetyDoor.height
height: model.height || style.StationStand.safetyDoor.height,
standCode:model.standCode
// show: model.hasDoor
});
this.add(this.safeDoor);
@ -42,11 +43,17 @@ export default class Line2 extends Group {
/** 开门*/
openDoor() {
this.safeDoor && this.safeDoor.hasDoor(true);
if (this.style.StationStand.safetyDoor.special) {
this.safeDoor && this.safeDoor.setColor(this.style.StationStand.safetyDoor.splitDoorColor);
}
}
/** 关门*/
closeDoor() {
this.safeDoor && this.safeDoor.hasDoor(false);
if (this.style.StationStand.safetyDoor.special) {
this.recover();
}
}
/** 屏蔽门正常*/

View File

@ -7,13 +7,17 @@ import Path from 'zrender/src/graphic/Path';
export const EAxle = Path.extend({
type: 'EAxle',
shape: {
point: null
// style: this.style,
// traingle: traingle11,
// drictx: 1,
// dricty: 1,
// point: this.model.points[0]
},
buildPath: function (ctx, model) {
if (model && model.style && model.traingle) {
const axleLength = 2 * model.style.Section.axle.radius;
const positionx = model.point.x + model.drictx * (model.traingle.getCos(axleLength));
const positiony = model.point.y + model.dricty * (model.traingle.getCos(axleLength));
const positionx = model.point.x + model.drictx * (model.traingle.getCos(axleLength) * 1.2);
const positiony = model.point.y + model.dricty * (model.traingle.getCos(axleLength) * 1.2);
// 圆弧
const arcX = positionx - model.dricty * model.traingle.getSin(axleLength);
const arcY = positiony + model.drictx * model.traingle.getSin(axleLength);
@ -23,8 +27,8 @@ export const EAxle = Path.extend({
const x1 = positionx - model.traingle.getCos(axleLength) - model.dricty * model.traingle.getSin(axleLength);
const y1 = positiony + model.drictx * model.traingle.getSin(axleLength) - model.traingle.getSin(axleLength);
const x2 = positionx + model.traingle.getCos(axleLength) - model.dricty * model.traingle.getSin(axleLength);
const y2 = positiony + model.drictx * model.traingle.getSin(axleLength) + model.traingle.getSin(axleLength);
const x2 = positionx + model.traingle.getCos(axleLength * 1.5) - model.dricty * model.traingle.getSin(axleLength);
const y2 = positiony + model.drictx * model.traingle.getSin(axleLength * 1.5) + model.traingle.getSin(axleLength);
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.closePath();

View File

@ -13,7 +13,7 @@ export default class ESeparator extends Group {
this.setType();
}
createModel(points, lineWidth = null, stroke = null) {
createModel(points, lineWidth, stroke) {
const model = this.model;
this.partition = new Polyline({
zlevel: this.zlevel,
@ -77,23 +77,23 @@ export default class ESeparator extends Group {
if (model && this.style && model.traingle) {
if (type === '01') { // 普通分割
const points = [
[model.point.x, model.point.y - (this.style.Section.line.width)],
[model.point.x, model.point.y + (this.style.Section.line.width)]
[model.point.x, model.point.y - (this.style.Section.separator.halfHeight)],
[model.point.x, model.point.y + (this.style.Section.separator.halfHeight)]
];
this.createModel(points);
} else if (type === '02') { // 单侧分割符
const points = [
[model.point.x + model.drict * (this.style.Section.line.width), model.point.y - (this.style.Section.line.width * 1.5)],
[model.point.x, model.point.y - (this.style.Section.line.width * 1.5)],
[model.point.x, model.point.y + (this.style.Section.line.width * 1.5)]
[model.point.x + model.drict * (this.style.Section.separator.halfHeight), model.point.y - (this.style.Section.separator.halfHeight * 1.5)],
[model.point.x, model.point.y - (this.style.Section.separator.halfHeight * 1.5)],
[model.point.x, model.point.y + (this.style.Section.separator.halfHeight * 1.5)]
];
this.createModel(points);
} else if (type === '03') { // 尽头分隔符
const points = [
[model.point.x + model.drict * (this.style.Section.line.width) * 1.2, model.point.y - (this.style.Section.line.width * 1.2)],
[model.point.x, model.point.y - (this.style.Section.line.width * 1.2)],
[model.point.x, model.point.y + (this.style.Section.line.width * 1.2)],
[model.point.x + model.drict * (this.style.Section.line.width) * 1.2, model.point.y + (this.style.Section.line.width * 1.2)]
[model.point.x + model.drict * (this.style.Section.separator.halfHeight) * 1.2, model.point.y - (this.style.Section.separator.halfHeight * 1.2)],
[model.point.x, model.point.y - (this.style.Section.separator.halfHeight * 1.2)],
[model.point.x, model.point.y + (this.style.Section.separator.halfHeight * 1.2)],
[model.point.x + model.drict * (this.style.Section.separator.halfHeight) * 1.2, model.point.y + (this.style.Section.separator.halfHeight * 1.2)]
];
const lineWidth = this.style.Section.separator.endWidth;
const stroke = this.style.Section.separator.endColor;

View File

@ -6,7 +6,7 @@ import ELines from './ELines'; // 创建多线条 曲线 (私有)
import EblockLines from './EblockLines'; // 区段封锁特有
import ESeparator from './ESeparator'; // 分隔符 (私有)
import EMouse from './EMouse';
// import { EAxle } from './EAxle'; // 创建计轴 (暂时不使用)
import { EAxle } from './EAxle'; // 创建计轴 (暂时不使用)
import { EBackArrow, EBackArrowTriangle } from './EBackArrow'; // 折返进路箭头
import ELimitName from './ELimitName'; // 成都三号线 限速名称
import JTriangle from '../../utils/JTriangle';
@ -39,6 +39,23 @@ export default class Section extends Group {
this.creatRelease(); // 创建延时释放
this.createSeparator(); // 创建分隔符
this.createTurnBack(); // 创建成都三号线 折返箭头
// this.createAxles();
/* 计轴 */
// const traingle11 = new JTriangle(this.model.points[0], this.model.points[1]);
// this.axle = new EAxle({
// shape: {
// style: this.style,
// traingle: traingle11,
// drictx: 1,
// dricty: 1,
// point: this.model.points[0]
// },
// style: {
// fill: this.style.Section.axle.color,
// stroke: this.style.Section.axle.color
// }
// });
// this.add(this.axle);
}
// 创建区段名称
@ -209,6 +226,7 @@ export default class Section extends Group {
});
this.add(this.destinationText);
}
}
}
@ -219,7 +237,7 @@ export default class Section extends Group {
// 创建区段
this.section = new ELines({
zlevel: this.zlevel,
z: this.z, // 逻辑区段会覆盖物理区段
z: model.type == '02' ? this.z + 1 : this.z, // 逻辑区段会覆盖物理区段
isSwitchSection: model.switchSection,
isCurve: model.curve,
points: model.type == '04' ? [model.namePosition, model.namePosition] : model.points,
@ -230,7 +248,7 @@ export default class Section extends Group {
if (this.style.Section.block.special) { // 创建哈尔滨特殊区段(用作封锁显示)
this.sectionBlock = new EblockLines({
zlevel: this.zlevel,
z: this.z,
z: this.z + 2,
isSwitchSection: model.switchSection,
isCurve: model.curve,
points: model.points,
@ -680,7 +698,7 @@ export default class Section extends Group {
/** 区段切除*/
model.cutOff && this.sectionCutOff();
/** 是否限速*/
model.speedUpLimit && this.setSpeedUpperLimit();
model.speedUpLimit > 0 && this.setSpeedUpperLimit();
// 区段计轴预复位状态 (未处理)
// 区段故障锁闭
model.fault && this.faultLock();

View File

@ -1,5 +1,6 @@
import Polyline from 'zrender/src/graphic/shape/Polyline';
import Group from 'zrender/src/container/Group';
import Polygon from 'zrender/src/graphic/shape/Polygon';
class ESigPost extends Group {
constructor(model) {
@ -59,7 +60,38 @@ class ESigPost extends Group {
this.hor && this.hor.setStyle({ stroke: color });
}
}
/* 灯柱变换为三角形并闪烁*/
setTerminalOptional() {
this.triangle = new Polygon({
zlevel: this.model.zlevel,
z: this.model.z,
shape: {
points: [
[this.model.x, this.model.y + this.model.style.Signal.post.standardHeight * 1.2],
[this.model.x, this.model.y - this.model.style.Signal.post.standardHeight * 1.2],
[this.model.x + this.model.drict * this.model.style.Signal.post.standardLength * 1.2, this.model.y]
]
},
style: {
fill: this.model.style.Signal.post.terminalOptional
}
});
this.add(this.triangle);
this.triangle.animateStyle(true)
.when(0, { fill: this.model.style.backgroundColor })
.when(1000, { fill: this.model.style.Signal.post.terminalOptional })
.when(2000, { fill: this.model.style.backgroundColor })
.start();
this.ver.hide();
this.hor.hide();
}
/* 关闭闪烁三角形并还原灯柱 */
removeTerminalOptional() {
this.triangle.stopAnimation(false);
this.triangle && this.remove(this.triangle);
this.ver.show();
this.hor.show();
}
getLampPosition(type) {
const model = this.model;
const style = this.model.style;

View File

@ -13,6 +13,8 @@ import EHighlight from '../element/EHighlight';
import EVirtualSignal from './EVirtualSignal';
import ELowButton from './ELowButton';
import {isShowThePrdType} from '../../utils/handlePath';
import Rect from 'zrender/src/graphic/shape/Rect';
import Polygon from 'zrender/src/graphic/shape/Polygon';
class Signal extends Group {
constructor(model, style) {
@ -26,6 +28,12 @@ class Signal extends Group {
this.zlevel = model.zlevel;
this.isShowShape = true;
this.z = 7;
if (!model.positionPoint) {
model.positionPoint = {
x: 0,
y: 0
};
}
this.create();
this.createMouseEvent();
this.transformRotation(this);
@ -49,8 +57,8 @@ class Signal extends Group {
style: style,
drict: drict,
type: model.lampPostType,
x: model.position.x,
y: model.position.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR)
x: model.position.x + model.positionPoint.x,
y: model.position.y + model.positionPoint.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR)
});
// 信号灯
@ -67,16 +75,35 @@ class Signal extends Group {
drict: drict,
x: endPoint.x + i * drict * style.Signal.lamp.radiusR * 2.3,
y: endPoint.y,
originX: model.position.x,
originY: model.position.y
originX: model.position.x + model.positionPoint.x,
originY: model.position.y + model.positionPoint.y
});
this.lamps.push(lamp);
}
if (style.Signal.sigBack) {
const signalRect = this.getBoundingRect();
// 信号的背景
this.sigBack = new Rect({
zlevel: this.zlevel,
z: this.z - 1,
shape: {
x: signalRect.x - style.Signal.sigBack.distanceX,
y: signalRect.y + style.Signal.sigBack.distanceY,
width: signalRect.width + 2 * style.Signal.sigBack.distanceX,
height: signalRect.height - 2 * style.Signal.sigBack.distanceY
},
style: {
lineWidth: style.Signal.sigBack.lineWidth,
fill: style.Signal.sigBack.color
}
});
this.add(this.sigBack);
this.sigBack.hide();
}
// 信号机名称
const sigNameX = model.position.x - drict * (style.Signal.post.standardWidth) + model.namePosition.x;
const sigNameY = model.position.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR * 2 + model.namePosition.y + style.Signal.text.distance);
const sigNameX = model.position.x + model.positionPoint.x - drict * (style.Signal.post.standardWidth) + model.namePosition.x;
const sigNameY = model.position.y + model.positionPoint.y + posit * (style.Signal.distance + style.Section.line.width + style.Signal.lamp.radiusR * 2 + model.namePosition.y + style.Signal.text.distance);
const textAlign = style.Signal.text.isAlignCenter ? 'middle' : this.model.right ? 'left' : 'right';
const textVerticalAlign = posit == 1 ? 'top' : 'bottom';
this.sigName = new ESigName({
@ -178,8 +205,8 @@ class Signal extends Group {
drict: drict,
x: endPoint.x,
y: endPoint.y,
originX: model.position.x,
originY: model.position.y
originX: model.position.x + model.positionPoint.x,
originY: model.position.y + model.positionPoint.y
});
this.add(this.virtualSignal); // 虚拟信号机 (哈尔滨线路)
} else {
@ -204,7 +231,7 @@ class Signal extends Group {
this.transformRotation(item);
} else if (item) {
if (item._subType !== 'SignalName' || this.model.nameRotated) {
item.origin = [this.model.position.x, this.model.position.y];
item.origin = [this.model.position.x + this.model.positionPoint.x, this.model.position.y + this.model.positionPoint.y];
item.rotation = -Math.PI / 180 * Number(this.model.rotate);
item.dirty();
}
@ -287,6 +314,15 @@ class Signal extends Group {
this.sigName.setStyle({ textBorderWidth: 1 });
this.sigName.setColor('#fff');
}
// if (this.style.Signal.sigBack) {
// this.sigBack.show();
// this.sigBack.animateStyle(true)
// .when(0, { fill: this.style.backgroundColor })
// .when(1000, { fill: this.style.Signal.sigBack.color })
// .when(2000, { fill: this.style.backgroundColor })
// .when(3000, { fill: this.style.Signal.sigBack.color })
// .start();
// }
}
// 功能封锁
@ -342,6 +378,9 @@ class Signal extends Group {
this.sigName.setColor(this.style.Signal.text.AutoRouteColor);
this.setAutoClose();
}
if (this.style.Signal.post.autoRouteColor) {
this.sigPost.setColor(this.style.Signal.post.autoRouteColor);
}
}
// 信号机进路自动触发模式状态类型
@ -373,6 +412,7 @@ class Signal extends Group {
this.sigDelay.hide();
this.sigAuto.animationRecover();
this.sigRoute.hide();
this.sigBack && this.sigBack.hide();
this.sigName.setColor(this.style.Signal.text.defaultColor);
this.sigPost.setColor(this.style.Signal.post.standardColor); // 设置底座默认颜色
if (this.style.Signal.lamp.guidName == 'chengdu_03') {
@ -454,7 +494,32 @@ class Signal extends Group {
this.add(this.highlight);
}
}
/* 始端信号机选择后信号机变为三角形 */
setLampToTriangle() {
const endPoint = this.sigPost.getLampPosition(this.model.lampPostType);
const drict = this.model.right ? 1 : -1; // 朝向 右:左
this.lampTriangle = new Polygon({
zelvel: this.zlevel,
z: this.z,
shape: {
points: [
[endPoint.x, endPoint.y + this.style.Signal.lamp.radiusR],
[endPoint.x, endPoint.y - this.style.Signal.lamp.radiusR],
[endPoint.x + drict * this.style.Signal.lamp.radiusR * 1.4, endPoint.y]
]
},
style: {
fill: this.style.Signal.lamp.redColor
}
});
this.add(this.lampTriangle);
this.lamps.forEach(item => { item.hide(); });
}
/* 始端信号机还原回正常形态 */
removeLampToTriangle() {
this.lampTriangle && this.remove(this.lampTriangle);
this.lamps.forEach(item => { item.show(); });
}
drawBatchSelected(selected, type) {
if (selected) {
this.lamps && this.lamps.length && this.lamps.forEach(elem => {
@ -501,11 +566,11 @@ class Signal extends Group {
}
setLowButtonActive() {
this.lowButton.setLowButtonActive();
this.lowButton && this.lowButton.setLowButtonActive();
}
setLowButtonRecover() {
this.lowButton.setLowButtonRecover();
this.lowButton && this.lowButton.setLowButtonRecover();
}
}

View File

@ -70,7 +70,6 @@ export default class ESingleControl extends Group {
this.control.setStyle('fill', color);
}
}
getArcBoundingRect() {
const rect = this.control.getBoundingRect().clone();
const scale = this.control.scale[0];

View File

@ -296,8 +296,17 @@ export default class Station extends Group {
model.controlMode && this['handle' + model.controlMode]();
}
getShapeTipPoint() {
return null;
getShapeTipPoint(opts) {
let rect;
if (opts.subDeviceType === 'button') {
rect = this.centerControlButton.getArcBoundingRect();
} else {
rect = this.stationText.getBoundingRect();
}
return {
x: rect.x + rect.width,
y: rect.y
};
}
getBoundingRect() {

View File

@ -86,16 +86,25 @@ class ESafeStand extends Group {
},
style: {
lineWidth: 0,
stroke: style.sidelineColor,
fill: style.StationStand.stand.spareColor
stroke: style.sidelineColor
}
});
if (style.StationStand.common.standType && style.StationStand.common.standType == 'notFill') {
this.stand && this.stand.setStyle('lineWidth', 2);
} else {
this.stand && this.stand.setStyle('fill', style.StationStand.stand.spareColor);
}
this.add(this.stand);
}
}
setColor(color) {
this.stand && this.stand.setStyle('fill', color);
const style = this.model.style;
if (style.StationStand.common.standType && style.StationStand.common.standType == 'notFill') {
this.stand && this.stand.setStyle('stroke', color);
} else {
this.stand && this.stand.setStyle('fill', color);
}
}
}

View File

@ -491,8 +491,37 @@ class StationStand extends Group {
return rect;
}
getShapeTipPoint() {
const rect = this.getBoundingRect();
getShapeTipPoint(opts) {
let rect;
if (opts.subDeviceType == 'DetainLamp') {
if (this.model.right) {
opts.subDeviceType = 'UpDetainLamp';
} else {
opts.subDeviceType = 'DownDetainLamp';
}
}
switch (opts.subDeviceType) {
case 'StopJumpLamp': {
rect = this.stopJumpLampButton.getBoundingRect();
break;
}
case 'CancelStopJumpLamp': {
rect = this.cancelStopJumpLampButton.getBoundingRect();
break;
}
case 'UpDetainLamp': {
rect = this.upDetainLampButton.getBoundingRect();
break;
}
case 'DownDetainLamp': {
rect = this.downDetainLampButton.getBoundingRect();
break;
}
default: {
rect = this.getBoundingRect();
break;
}
}
if (rect) {
return {
x: rect.x + rect.width / 2,

View File

@ -31,6 +31,8 @@ class ESwLnversion extends Group {
hide() {
this.relocShelter.hide();
this.relocShelter.setStyle({ fill: this.model.style.backgroundColor });
this.stopAnimation(false);
}
show() {
@ -41,10 +43,6 @@ class ESwLnversion extends Group {
this.relocShelter.setStyle({ fill: color });
}
getSection() {
return this.section;
}
stopAnimation(flag) {
this.relocShelter.stopAnimation(flag);
}

View File

@ -33,6 +33,8 @@ class ESwLocal extends Group {
hide() {
this.locShelter.hide();
this.locShelter.setStyle({ fill: this.model.style.backgroundColor });
this.stopAnimation(false);
}
show() {

View File

@ -227,15 +227,18 @@ export default class Switch extends Group {
this.lockRect.hide(); // 矩形包围框
this.lockArc.hide(); // 圆形单锁框
this.name.getNameText().stopAnimation(false);
this.sheltertriangle.hide();
this.sheltertriangle.hide(); // 直角梯形覆盖图形 隐藏
// this.sheltertriangle.stopAnimation(false);
this.rhomboid.stopAnimation(false);
this.releaseBackground.hide();
this.setHasTextBorder(0);
this.locShelter.hide(); // 定位覆盖图形 隐藏
this.relocShelter.hide(); // 反位覆盖图形 隐藏
}
/** 定位*/
setLocationAction() {
this.recover();
// this.recover();
if (this.style.Switch.core.splice) {
this.locShelter.hide();
} else {
@ -248,7 +251,7 @@ export default class Switch extends Group {
/** 反位*/
setInversionAction() {
this.recover();
// this.recover();
this.setTextColor(this.style.Switch.text.inversionColor);
if (this.style.Switch.core.splice) {
this.relocShelter.hide();
@ -262,7 +265,7 @@ export default class Switch extends Group {
/** 失去*/
setLossAction(nameFlicker) {
this.recover();
// this.recover();
this.locShelter.show();
this.relocShelter.show();
this.rhomboid.hide();
@ -324,7 +327,7 @@ export default class Switch extends Group {
/** 封锁 */
block() {
if (this.style.Switch.jointImg.block) {
this.recover();
// this.recover();
this.relocShelter.show();
this.relocShelter.animateStyle(item => {
item.animateStyle(true)
@ -422,6 +425,7 @@ export default class Switch extends Group {
setState(model) {
if (!this.isShowShape) return;
this.recover();
if (model.normalPosition) {
this.setLocationAction(model); /** 定位*/
} else if (model.reversePosition) {

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -0,0 +1,684 @@
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
list: [
{
maxDuration: 8,
minDuration: 5,
operateType: '0501',
// operateType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN,
skinCode: '03',
trainingName: '设置扣车({10}-{12} 站台)',
trainingRemark: '设置扣车功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【设置扣车】'},
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0501',
// operateType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN,
skinCode: '03',
trainingName: '设置扣车({10}-{12} 站台)',
trainingRemark: '设置扣车功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['01'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '2993', tip: '鼠标左键点击【功能按钮】'},
{ deviceType: 'DetainLamp', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【{12}扣车】', codeType:'STAND'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0502',
// operateType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
skinCode: '03',
trainingName: '取消扣车({10}-{12} 站台)',
trainingRemark: '取消扣车功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】'},
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0502',
// operateType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN,
skinCode: '03',
trainingName: '取消扣车({10}-{12} 站台)',
trainingRemark: '取消扣车功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['01'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '2994', tip: '鼠标左键点击【总取消】' },
{ deviceType: 'DetainLamp', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【{12}扣车】', codeType:'STAND'}
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0505',
// operateType:CMD.Stand.CMD_STAND_SET_JUMP_STOP,
skinCode: '03',
trainingName: '设置跳停({10}-{12} 站台)',
trainingRemark: '设置跳停功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0505',
// operateType:CMD.Stand.CMD_STAND_SET_JUMP_STOP,
skinCode: '03',
trainingName: '设置跳停({10}-{12} 站台)',
trainingRemark: '设置指定001号列车跳停功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '5024', tip: '鼠标左键点击' },
{ deviceType: '06', orderNum: 2, operateCode: '5022', tip: '请选择001号车', val: '001' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0506',
// operateType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
skinCode: '03',
trainingName: '取消跳停({10}-{12} 站台)',
trainingRemark: '取消跳停功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0506',
// operateType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
skinCode: '03',
trainingName: '取消跳停({10}-{12} 站台)',
trainingRemark: '取消指定001号列车跳停功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '5034', tip: '鼠标左键点击' },
{ deviceType: '06', orderNum: 2, operateCode: '5032', tip: '请选择001号车', val: '001' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0507',
// operateType:CMD.Stand.CMD_STAND_VIEW_STATUS,
skinCode: '03',
trainingName: '查询站台状态({10}-{12} 站台)',
trainingRemark: '查询站台状态功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【站台信息】' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
// operateType:CMD.Stand.CMD_STAND_SET_PARK_TIME,
skinCode: '03',
trainingName: '停站时间控制({10}-{12} 站台)',
trainingRemark: '停站时间控制(自动, 一直有效)',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【停站时间控制】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【自动】', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
// operateType:CMD.Stand.CMD_STAND_SET_PARK_TIME,
skinCode: '03',
trainingName: '停站时间控制({10}-{12} 站台)',
trainingRemark: '停站时间控制(人工, 20秒, 一直有效)',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【停站时间控制】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
// operateType:CMD.Stand.CMD_STAND_SET_PARK_TIME,
skinCode: '03',
trainingName: '停站时间控制({10}-{12} 站台)',
trainingRemark: '停站时间控制(人工, 20秒, 一次有效)',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【停站时间控制】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '鼠标左键点击,选择【一次有效】', val: 'false' },
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
// operateType:CMD.Stand.CMD_STAND_SET_RUN_TIME,
skinCode: '03',
trainingName: '运行时间控制({10}-{12} 站台)',
trainingRemark: '运行时间控制(设置区间 运行等级1运行时间为115一直有效)',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【运行时间控制】' },
{ deviceType: '06', orderNum: 2, operateCode: '5104', tip: '鼠标左键点击选择【1】', val: '1' },
{ deviceType: '06', orderNum: 3, operateCode: '5101', tip: '鼠标左键点击选择【115】', val: '115' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
// operateType:CMD.Stand.CMD_STAND_SET_RUN_TIME,
skinCode: '03',
trainingName: '运行时间控制({10}-{12} 站台)',
trainingRemark: '运行时间控制(设置区间 运行等级1运行时间为115一次有效)',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【运行时间控制】' },
{ deviceType: '06', orderNum: 2, operateCode: '5104', tip: '鼠标左键点击选择【1】', val: '1' },
{ deviceType: '06', orderNum: 3, operateCode: '5101', tip: '鼠标左键点击选择【115】', val: '115' },
{ deviceType: '06', orderNum: 4, operateCode: '5103', tip: '鼠标左键点击,取消选择【一直有效】', val: 'false' },
{ deviceType: '06', orderNum: 5, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0510',
// operateType:CMD.Stand.CMD_STAND_EARLY_DEPART,
skinCode: '03',
trainingName: '提前发车({10}-{12} 站台)',
trainingRemark: '提前发车功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【提前发车】' },
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0511',
// operateType:CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY,
skinCode: '03',
trainingName: '变通策略管理({10}-{12} 站台)',
trainingRemark: '变通策略管理功能',
trainingType: '05',
// trainingType:'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '511', tip: '鼠标右键菜单选择【变通策略管理】' },
{ deviceType: '06', orderNum: 2, operateCode: '5111', tip: '鼠标左键点击,选择【无折返】', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '511', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0402',
// operateType:CMD.Section.CMD_SECTION_CUT_OFF,
skinCode: '03',
trainingName: '轨道切除({8}{9} 区段)',
trainingRemark: '轨道切除功能',
trainingType: '04',
// trainingType:'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【轨道切除】' },
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0403',
// operateType:CMD.Section.CMD_SECTION_ACTIVE,
skinCode: '03',
trainingName: '轨道激活({8}{9} 区段)',
trainingRemark: '轨道激活功能',
trainingType: '04',
// trainingType:'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【轨道激活】' },
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0407',
// operateType:CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
skinCode: '03',
trainingName: '设置临时限速({8}{9} 区段)',
trainingRemark: '设置临时限速功能限速值15',
trainingType: '04',
// trainingType:'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值15】', val: '15' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0308',
// operateType:CMD.Switch.CMD_SWITCH_CUT_OFF,
skinCode: '03',
trainingName: '轨道切除({7} 道岔)',
trainingRemark: '轨道切除功能',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【轨道切除】' },
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0309',
// operateType:CMD.Switch.CMD_SWITCH_ACTIVE,
skinCode: '03',
trainingName: '轨道激活({7} 道岔)',
trainingRemark: '轨道激活功能',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【轨道激活】' },
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0310',
// operateType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
skinCode: '03',
trainingName: '设置临时限速({7} 道岔)',
trainingRemark: '设置临时限速功能(限速值 35 ',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值35】', val: '35' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0313',
// operateType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
skinCode: '03',
trainingName: '道岔总反({7} 道岔)',
trainingRemark: '道岔反位功能',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1020', tip: '鼠标左键点击【道岔总反】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0312',
// operateType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
skinCode: '03',
trainingName: '道岔总定({7} 道岔)',
trainingRemark: '道岔定位功能',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1010', tip: '鼠标左键点击【道岔总定】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
// operateType:CMD.Switch.CMD_SWITCH_SINGLE_LOCK,
skinCode: '03',
trainingName: '道岔单锁({7} 道岔)',
trainingRemark: '道岔单锁功能',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1030', tip: '鼠标左键点击【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
// operateType:CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK,
skinCode: '03',
trainingName: '道岔解锁({7} 道岔)',
trainingRemark: '道岔单解功能',
trainingType: '03',
// trainingType:'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1040', tip: '鼠标左键点击【道岔解锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' },
{ deviceType: '02', orderNum: 3, operateCode: '104', tip: '鼠标左键点击【确定】'}
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
// operateType:CMD.Signal.CMD_SIGNAL_SET_ROUTE,
skinCode: '03',
trainingName: '排列进路({3} 进路)',
trainingRemark: '排列进路功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
// operateType:CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
skinCode: '03',
trainingName: '取消进路({3} 进路)',
trainingRemark: '取消进路功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0210',
// operateType:CMD.Signal.CMD_SIGNAL_DETAIL,
skinCode: '03',
trainingName: '查询进路控制状态({5} 信号机)',
trainingRemark: '查询进路控制状态功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制状态】' },
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0208',
// operateType:CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
skinCode: '03',
trainingName: '进路交自动控({5} 信号机)',
trainingRemark: '进路交自动控功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择【{5}】', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0209',
// operateType:CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
skinCode: '03',
trainingName: '进路交人工控({5} 信号机)',
trainingRemark: '进路交人工控功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路交人工控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择【{5}】', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0206',
// operateType:CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
skinCode: '03',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0206',
// operateType:CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
skinCode: '03',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3040', tip: '鼠标左键点击【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '3040', tip: '鼠标左键点击【信号机】', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0211',
// operateType:CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
skinCode: '03',
trainingName: '设置自动进路({3} 进路)',
trainingRemark: '设置自动进路功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3090', tip: '鼠标左键点击【自动进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3090', tip: '鼠标左键点击【信号机】', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0212',
// operateType:CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
skinCode: '03',
trainingName: '取消自动进路({3} 进路)',
trainingRemark: '取消自动进路功能',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3090', tip: '鼠标左键点击【自动进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3090', tip: '鼠标左键点击【信号机】', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0215',
// operateType:CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE,
skinCode: '03',
trainingName: '总人解({3} 进路)',
trainingRemark: '人解进路(总人解)',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3050', tip: '鼠标左键点击【总人解】' },
{ deviceType: '04', orderNum: 2, operateCode: '3050', tip: '鼠标左键点击【信号机】', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0205',
// operateType:CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
skinCode: '03',
trainingName: '关闭信号({5} )',
trainingRemark: '关闭信号',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '2994', tip: '鼠标左键点击【总取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '2994', tip: '鼠标左键点击【信号机】', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0205',
// operateType:CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
skinCode: '03',
trainingName: '取消进路({5} )',
trainingRemark: '取消进路',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '2994', tip: '鼠标左键点击【总取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '2994', tip: '鼠标左键点击【信号机】', codeType:'SIGNAL'}
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0201',
// operateType:CMD.Signal.CMD_SIGNAL_SET_ROUTE,
skinCode: '03',
trainingName: '进路建立({3})',
trainingRemark: '进路建立',
trainingType: '02',
// trainingType:'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3010', tip: '鼠标左键点击【始端信号机】', codeType:'SIGNAL'},
{ deviceType: '04', orderNum: 3, operateCode: '3010', tip: '鼠标左键点击【终端信号机】', codeType:'SIGNAL'}
]
},
// 自动折返 (暂时没有)
// 取消自动折返 (暂时没有)
// 引导信号 (暂时没有)
// 取消引导信号 (暂时没有)
{
// 暂时没有
maxDuration: 15,
minDuration: 8,
operateType: '0801',
skinCode: '03',
trainingName: '全线取消临时限速',
trainingRemark: '全线取消临时限速功能',
trainingType: '08',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '10', orderNum: 1, operateCode: '800', tip: '鼠标右键菜单选择【取消全线临时限速】' },
{ deviceType: '10', orderNum: 2, operateCode: '8001', tip: '鼠标左键点击【打开会话】按钮' },
{ deviceType: '10', orderNum: 3, operateCode: '8003', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '10', orderNum: 4, operateCode: '8004', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '10', orderNum: 5, operateCode: '8005', tip: '鼠标左键点击【关闭】按钮' },
{ deviceType: '10', orderNum: 6, operateCode: '8006', tip: '鼠标左键点击【确定】按钮' }
]
}
]
};

View File

@ -12,10 +12,10 @@
>
<el-form ref="form" size="small" label-width="80px" :model="addModel" :rules="rules">
<el-form-item label="名字:" prop="console">
<span style="color: #000;">{{ this.addModel.console }}</span>
<span style="color: #000;">{{ addModel.console }}</span>
</el-form-item>
<el-form-item label="用户:" prop="user">
<span style="color: #000;">{{ this.addModel.user }}</span>
<span style="color: #000;">{{ addModel.user }}</span>
</el-form-item>
<hr style="height:1px;border:none;border-top:1px solid #555555;width: 316px;position: absolute; left: 2px">
<el-form-item label="密码:" prop="password" style="margin-top: 40px">

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -0,0 +1,713 @@
export default {
list: [
// 信号机列表
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
skinCode: '04',
trainingName: '办理进路({3} 进路)',
trainingRemark: '办理进路功能',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【办理进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
skinCode: '04',
trainingName: '办理进路({3} 进路)',
trainingRemark: '办理进路功能',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3010', tip: '鼠标左键点击【{5}】' },
{ deviceType: '04', orderNum: 3, operateCode: '3010', tip: '鼠标左键点击【{5}】', val: '{4}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0216',
skinCode: '04',
trainingName: '办理引导进路({3})',
trainingRemark: '进路办理信号引导',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【办理引导进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3086', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' }, // 进路编号值不正确
{ deviceType: '04', orderNum: 3, operateCode: '308', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0216',
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}】'}, // 进路编号值不正确
{ deviceType: '04', orderNum: 3, operateCode: '0011', tip: '输入密码123点击【确定】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '3080', tip: '鼠标左键点击【{5}】', val: '{4}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '待定',
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',
trainingName: '取消进路({3} 进路)',
trainingRemark: '取消进路功能',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '04',
trainingName: '总取消({3} 进路)',
trainingRemark: '总取消功能',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3030', tip: '鼠标左键点击【总取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '3051', tip: '输入密码123点击【确定】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3030', tip: '鼠标左键点击【{5}】按钮', val: '{6}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0215', // 新增数据字典code
skinCode: '04',
trainingName: '总人解({3})',
trainingRemark: '总人解',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '305', tip: '鼠标右键菜单选择【总人解】' },
{ deviceType: '04', orderNum: 2, operateCode: '305', tip: '鼠标左键点击【确定】按钮', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '3051', tip: '输入密码123456点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0215', // 新增数据字典code
skinCode: '04',
trainingName: '总人解({3})',
trainingRemark: '总人解',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3050', tip: '鼠标左键点击【总人解】' },
{ deviceType: '04', orderNum: 2, operateCode: '0011', tip: '输入密码123456点击【确定】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3050', tip: '鼠标左键点击【{5}】', val: '{6}' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0206',
skinCode: '04',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】', val: '{6}' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0206',
skinCode: '04',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【{5}】', val: '{6}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
skinCode: '04',
trainingName: '信号封锁({5})',
trainingRemark: '信号封闭',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3061', tip: '输入密码123点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
skinCode: '04',
trainingName: '信号封锁({5})',
trainingRemark: '信号封锁功能',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '2991', tip: '鼠标左键菜单选择【封锁】' },
{ deviceType: '04', orderNum: 1, operateCode: '2991', tip: '鼠标左键点击【{5}】', val: '{6}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
skinCode: '04',
trainingName: '信号解封({5})',
trainingRemark: '信号解封',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
{ deviceType: '04', orderNum: 2, operateCode: '307', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3072', tip: '输入密码123点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
skinCode: '04',
trainingName: '信号解封({5})',
trainingRemark: '信号解封功能',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '2992', tip: '鼠标左键菜单选择【解封】' },
{ deviceType: '04', orderNum: 2, operateCode: '0011', tip: '输入密码123点击【确认】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '2992', tip: '鼠标左键点击【{5}】', val: '{6}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
skinCode: '04',
trainingName: '进路收人工控({5})',
trainingRemark: '进路收人工控',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路收人工控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
skinCode: '04',
trainingName: '人工控({5})',
trainingRemark: '人工控',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '3140', tip: '鼠标左键点击【人工控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3140', tip: '鼠标左键点击【{3}】', val: '{6}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
skinCode: '04',
trainingName: '进路交自动控({5})',
trainingRemark: '进路交自动控',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
skinCode: '04',
trainingName: '自动控({5})',
trainingRemark: '自动控',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'mbm', orderNum: 1, operateCode: '3150', tip: '鼠标左键点击【自动控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3150', tip: '鼠标左键点击【{3}】', val: '{6}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0210',
skinCode: '04',
trainingName: '查询进路信息({5})',
trainingRemark: '查询进路信息',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【进路信息】' },
{ deviceType: '04', orderNum: 2, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
// 道岔列表
{
maxDuration: 15,
minDuration: 8,
operateType: '0312', // 0312 新增定位字典
skinCode: '04',
trainingName: '单操到定位({7})',
trainingRemark: '单操到定位({15})',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标右键菜单选择【单操到定位】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0312',
skinCode: '04',
trainingName: '单操到定位({7})',
trainingRemark: '单操到定位({7})',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1010', tip: '鼠标左键菜单选择【道岔定操】' },
{ deviceType: '02', orderNum: 2, operateCode: '1010', tip: '鼠标左键点击【{7}】', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0313', // 0313 新增定位字典
skinCode: '04',
trainingName: '单操到反位({7})',
trainingRemark: '单操到反位({7})',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【单操到反位】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0313',
skinCode: '04',
trainingName: '单操到反位({7})',
trainingRemark: '单操到反位({7})',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1020', tip: '鼠标左键菜单选择【道岔反操】' },
{ deviceType: '02', orderNum: 2, operateCode: '1020', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
skinCode: '04',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
skinCode: '04',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: '03',
productTypes: ['01'], // 现地操作
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1030', tip: '鼠标左键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '1030', tip: '鼠标左键点击【{{7}}】', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
skinCode: '04',
trainingName: '道岔解锁({7})',
trainingRemark: '道岔解锁功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔解锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【确定】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0305',
skinCode: '04',
trainingName: '道岔解锁({7})',
trainingRemark: '道岔解锁功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '1040', tip: '鼠标左键菜单选择【道岔解锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '0011', tip: '输入密码123点击【确认】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1040', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0303',
skinCode: '04',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '0011', tip: '输入密码123点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0305',
skinCode: '04',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '2991', tip: '鼠标左键菜单选择【封锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '2991', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0304',
skinCode: '04',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '0011', tip: '输入密码123点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0305',
skinCode: '04',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '2992', tip: '鼠标左键菜单选择【解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '0011', tip: '输入密码123点击【确认】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '2992', tip: '鼠标左键点击【{7}】按钮', val: '{17}' }
]
},
{
maxDuration: 20,
minDuration: 10,
operateType: '0306',
skinCode: '04',
trainingName: '区故解({7})',
trainingRemark: '道岔区段故障解锁功能',
trainingType: '03',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【区故解】' },
{ deviceType: '02', orderNum: 2, operateCode: '109', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1092', tip: '输入密码123点击【确认】按钮' }
]
},
// 区段列表
{
maxDuration: 15,
minDuration: 8,
operateType: '0401',
skinCode: '04',
trainingName: '区故解({8}{9})',
trainingRemark: '故障解锁功能',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区故解】' },
{ deviceType: '03', orderNum: 2, operateCode: '402', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '0011', tip: '输入密码123点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0401',
skinCode: '04',
trainingName: '区故解({9})',
trainingRemark: '故障解锁功能',
trainingType: '04',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '4020', tip: '鼠标右键菜单选择【区故解】' },
{ deviceType: '03', orderNum: 2, operateCode: '0011', tip: '输入密码123点击【确认】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4020', tip: '鼠标左键点击【{9}】', val: '{18}' },
{ deviceType: '03', orderNum: 4, operateCode: '00012', tip: '鼠标左键点击【清除】' }
]
},
{
maxDuration: 15, // 自动生成实训失败
minDuration: 8,
operateType: '0409',
skinCode: '04',
trainingName: '属性({8}{9})',
trainingRemark: '区段详情({8}{9})',
trainingType: '04',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '410', tip: '鼠标右键菜单选择【属性】' },
{ deviceType: '03', orderNum: 2, operateCode: '410', tip: '鼠标左键点击【确认】按钮' }
]
},
// 站台列表
{
maxDuration: 15,
minDuration: 8,
operateType: '0501',
skinCode: '04',
trainingName: '设置扣车({10}-{12}站台)',
trainingRemark: '设置扣车功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【设置扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0502',
skinCode: '04',
trainingName: '取消扣车({10}-{12}站台)',
trainingRemark: '设置取消扣车功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0502',
skinCode: '04',
trainingName: '取消扣车({10}-{12}站台)',
trainingRemark: '设置取消扣车功能(上行全线)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '5051', tip: '鼠标左键点击【上行全线】按钮', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '02' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0505',
skinCode: '04',
trainingName: '设置跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0506',
skinCode: '04',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '04',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(自动, 一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5093', tip: '鼠标左键点击,选择【自动】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '01::0::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '04',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '标左键点击,选择【一直有效】', val: '02' },
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '04',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '04',
trainingName: '设置站间运行等级({10}-{12}站台)',
trainingRemark: '设置站间运行等级(自动, 一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5107', tip: '标左键点击,选择【一直有效】', val: '02' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '01::01::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '04',
trainingName: '设置站间运行等级({10}-{12}站台)',
trainingRemark: '设置站间运行等级(人工, 常速, 一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5106', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5107', tip: '鼠标左键点击,取消选择【一直有效】', val: '02' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '02::01::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '04',
trainingName: '设置站间运行等级({10}-{12}站台)',
trainingRemark: '设置站间运行等级(人工, 常速, 一次有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置站间运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5106', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '02::01::false' }
]
},
{
maxDuration: 8, // 自动生成实训失败
minDuration: 5,
operateType: '0507',
skinCode: '04',
trainingName: '属性({10}-{12}站台)',
trainingRemark: '查询站台状态功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【属性】' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【退出】按钮' }
]
}
]
};

View File

@ -42,6 +42,16 @@ class Theme {
loadPropConvert(code) {
return require(`./${this._mapMenu[code || this._code]}/model`).default;
}
// 加载实训操作步骤
loadTraingSteps(code) {
if (code == '05') {
return require(`./${this._mapMenu[code || this._code]}/operationConfigGlobal`).default;
} else {
return require(`./${this._mapMenu[code || this._code]}/operationConfig`).default;
}
}
}
export default Theme;

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -16,7 +16,7 @@ export default {
beginCol: 0,
fieldNum: 10,
sepField: '行车间隔',
trainId: 'TrainID',
trainId: 'TRAINID',
columns: ['折返线', 'TrainID', '行车间隔']
},
@ -25,91 +25,58 @@ export default {
var dataList = convertSheetToList(Sheet, true);
if (dataList && dataList.length) {
if (dataList && dataList.length && dataList[1] && dataList[0]) {
// const tIndex = dataList.findIndex(it => { return it[0]; }); // 设置不用过滤行数
const tIndex = 9; // 设置不用过滤行数
/** 解析二维数组为json对象*/
const reg3 = /^(\d+:\d+:\d+|)/; // 06:12:00
const reg = /^[0-9]{5}/;
const positionList = []; // trainId所在行
let columnNum; // trainId所在列
dataList.forEach((elem, i) => {
var begin = -1;
/** 跳过名称所在的行*/
if (i != tIndex && elem && elem.length > 0) {
let flag = false;
let count = 0;
let param = { begTime: '', endTime: '' };
if (i > tIndex) { elem.reverse(); }
if (elem.includes(this.ExcelConfig.trainId)) {
columnNum = i;
elem.forEach((item, j) => {
/** 过滤空值*/
if (item) {
let title = '';
var value = `${item}`.trim();
if (i > tIndex) { // 上行线
title = `${dataList[tIndex][dataList[tIndex].length - j - 1]}`.replace(/\s*/g, '');
if (title == 'undefined') {
title = `${dataList[tIndex][dataList[tIndex].length - j - 2]}`.replace(/\s*/g, '');
}
} else { // 下行线
title = `${dataList[tIndex][j]}`.replace(/\s*/g, '');
if (title == 'undefined') {
title = `${dataList[tIndex][j - 1]}`.replace(/\s*/g, '');
}
}
/** 匹配到开始位置或者结束位置*/
if (title == this.ExcelConfig.trainId) {
if (begin == -1) {
flag = true;
begin = value; // 设置初始索引
JsonData.push({
code: value,
destinationCode: '',
arrivalList: []
});
} else if (flag) {
begin = -1; // 清空初始索引
JsonData[JsonData.length - 1].destinationCode = value;
flag = false;
}
} else if (begin !== -1) {
/** 匹配到中间位置*/
var stationName = title.replace(/\s/, '');
if (this.ExcelConfig.columns.indexOf(stationName) == -1 && reg3.test(value)) {
let need = false;
if (value.split(':')[0] == '24') { // 24:XX:XX 类似这种数据 变24为00
const arr = value.split(':');
arr[0] = '00';
value = arr.join(':');
}
if (count == 1) {
count = 0;
param.endTime = value;
}
if (count == 0) {
count = 1;
param.begTime = param.begTime || value;
}
if (param.begTime && param.endTime) {
need = true;
}
/** 添加json数据*/
if (need) { // 储存非空 数据
var stationObj = {
stationName: stationName
};
stationObj['arriveTime'] = prefixTime(param.begTime);
stationObj['departureTime'] = prefixTime(param.endTime);
JsonData[JsonData.length - 1].arrivalList.push(stationObj);
param = { begTime: '', endTime: '' };
count = 0;
}
}
}
if (item === this.ExcelConfig.trainId) {
positionList.push(j);
}
});
}
});
for (let i = 0; i < dataList.length; i++) {
positionList.forEach((item, index)=> {
if ((index + 1) % 2 !== 0 ) {
const trainIdDown = dataList[i][item];
const trainIdUp = dataList[i][positionList[index + 1]];
if (reg.test(trainIdDown)) {
const arrivalList = [];
for (let j = 1; item + j < positionList[index + 1]; j = j + 2) {
arrivalList.push({
stationName: dataList[columnNum][item + j],
arriveTime: reg3.test(dataList[i][item + j]) ? prefixTime(dataList[i][item + j]) : '',
departureTime: reg3.test(dataList[i][item + j + 1]) ? prefixTime(dataList[i][item + j + 1]) : ''
});
}
JsonData.push({
code: trainIdDown,
destinationCode: '1',
arrivalList: arrivalList
});
} else if (reg.test(trainIdUp)) {
const arrivalList = [];
for (let j = 1; positionList[index + 1] - j > item; j = j + 2) {
arrivalList.push({
stationName: dataList[columnNum][item + j],
arriveTime: reg3.test(dataList[i][item + j]) ? prefixTime(dataList[i][item + j]) : '',
departureTime: reg3.test(dataList[i][item + j + 1]) ? prefixTime(dataList[i][item + j + 1]) : ''
});
}
JsonData.push({
code: trainIdUp,
destinationCode: '2',
arrivalList: arrivalList
});
}
}
});
}
}
}
return JsonData;

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -0,0 +1,849 @@
// 操作规则定义
// {id: "1", trainingType: "01", name: "车站名称"}
// {id: "2", trainingType: "01", name: "车站控制模式编号"}
// {id: "3", trainingType: "02", name: "进路名称"}
// {id: "4", trainingType: "02", name: "进路编号"}
// {id: "5", trainingType: "02", name: "信号机名称"}
// {id: "6", trainingType: "02", name: "信号机编号"}
// {id: "7", trainingType: "03", name: "道岔名称"}
// {id: "17", trainingType: "03", name: "道岔编码"}
// {id: "15", trainingType: "03", name: "道岔位置"}
// {id: "16", trainingType: "03", name: "道岔位置(反)"}
// {id: "21", trainingType: "03", name: "车站名称"}
// {id: "23", trainingType: "03", name: "车站编号"}
// {id: "24", trainingType: "03", name: "道岔计轴区段编号"}
// {id: "25", trainingType: "03", name: "道岔计轴区段名称"}
// {id: "8", trainingType: "04", name: "物理区段名称"}
// {id: "9", trainingType: "04", name: "逻辑区段名称"}
// {id: "18", trainingType: "04", name: "逻辑区段编码"}
// {id: "19", trainingType: "04", name: "区段编号"}
// {id: "20", trainingType: "04", name: "车站名称"}
// {id: "22", trainingType: "04", name: "车站编号"}
// {id: "10", trainingType: "05", name: "车站名称"}
// {id: "11", trainingType: "05", name: "站台行驶方向编号"}
// {id: "12", trainingType: "05", name: "站台行驶方向"}
// {id: "13", trainingType: "05", name: "站台行驶方向编号(反)"}
// {id: "14", trainingType: "05", name: "站台行驶方向(反)"}
export default {
list: [
{
maxDuration: 20,
minDuration: 15,
operateType: '0103',
skinCode: '02',
trainingName: '转为中控({1})',
trainingRemark: '控制权限转换,站控转中控',
trainingType: '01',
productTypes: ['02'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' },
{ deviceType: 'bar', orderNum: 2, operateCode: '2041', tip: '鼠标左键点击【转为中控】' },
{ deviceType: '05', orderNum: 3, operateCode: '2042', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' },
{ deviceType: '05', orderNum: 4, operateCode: '204', tip: '鼠标左键点击【请求中控】', val: '{2}' },
{ deviceType: '05', orderNum: 5, operateCode: '2043', tip: '鼠标左键点击【确认】按钮', val: '{2}' },
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0101',
skinCode: '02',
trainingName: '转为站控({1})',
trainingRemark: '控制权限转换,中控转站控',
trainingType: '01',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' },
{ deviceType: 'bar', orderNum: 2, operateCode: '2021', tip: '鼠标左键点击【转为站控】' },
{ deviceType: '05', orderNum: 3, operateCode: '2022', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' },
{ deviceType: '05', orderNum: 4, operateCode: '202', tip: '鼠标左键点击【请求站控】', val: '{2}' },
{ deviceType: '05', orderNum: 5, operateCode: '2023', tip: '鼠标左键点击【确认】按钮', val: '{2}' },
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0102',
skinCode: '02',
trainingName: '强制站控({1})',
trainingRemark: '控制权限转换,强制站控',
trainingType: '01',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' },
{ deviceType: 'bar', orderNum: 2, operateCode: '2034', tip: '鼠标左键点击【强制站控】' },
{ deviceType: 'bar', orderNum: 3, operateCode: '2035', tip: '鼠标左键输入默认密码【123456】后点击【确定】按钮' },
{ deviceType: '05', orderNum: 4, operateCode: '2032', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' },
{ deviceType: '05', orderNum: 5, operateCode: '203', tip: '鼠标左键点击【强制站控】', val: '{2}' },
{ deviceType: '05', orderNum: 6, operateCode: '2033', tip: '鼠标左键点击【确认】按钮', val: '{2}' },
{ deviceType: '05', orderNum: 7, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: 'bar', orderNum: 8, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0501',
skinCode: '02',
trainingName: '站台扣车({10}-{12}站台)',
trainingRemark: '设置扣车功能',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0502',
skinCode: '02',
trainingName: '站台取消扣车({10}-{12}站台)',
trainingRemark: '设置取消扣车功能',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0503',
skinCode: '02',
trainingName: '强制取消扣车({10}-{12}站台)',
trainingRemark: '强制取消扣车功能',
trainingType: '05',
productTypes: ['01'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '506', tip: '鼠标右键菜单选择【强制取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '506', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0504',
skinCode: '02',
trainingName: '全线取消扣车({10}-{12}站台)',
trainingRemark: '全线取消扣车功能(默认上行全线/下行全线,不做选择)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0504',
skinCode: '02',
trainingName: '全线取消扣车({10}-{12}站台)',
trainingRemark: '全线取消扣车功能(选择上/下行全线)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '5081', tip: '鼠标右键菜单选择【{14}全线】', val: '{13}' },
{ deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '{13}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0505',
skinCode: '02',
trainingName: '站台跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0506',
skinCode: '02',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0507',
skinCode: '02',
trainingName: '查询站台状态({10}-{12}站台)',
trainingRemark: '查询站台状态功能',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查询站台状态】' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '02',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(自动, 一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【自动】', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '01::20::true' },
{ deviceType: '06', orderNum: 4, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '01::20::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '02',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' },
{ deviceType: '06', orderNum: 5, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '02',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '鼠标左键点击,选择【一次有效】', val: 'false' },
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' },
{ deviceType: '06', orderNum: 6, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '02',
trainingName: '设置运行等级({10}-{12}站台)',
trainingRemark: '设置运行等级(设置区间运行时间为60一直有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5101', tip: '鼠标左键点击选择【60】', val: '60' },
{ deviceType: '06', orderNum: 3, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '60::true' },
{ deviceType: '06', orderNum: 4, operateCode: '5102', tip: '鼠标左键点击【确认】按钮', val: '60::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '02',
trainingName: '设置运行等级({10}-{12}站台)',
trainingRemark: '设置运行等级(设置区间运行时间为60一次有效)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5101', tip: '鼠标左键点击选择【60】', val: '60' },
{ deviceType: '06', orderNum: 3, operateCode: '5103', tip: '鼠标左键点击,取消选择【一直有效】', val: 'false' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '60::false' },
{ deviceType: '06', orderNum: 5, operateCode: '5102', tip: '鼠标左键点击【确认】按钮', val: '60::false' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0510',
skinCode: '02',
trainingName: '设置提前发车({10}-{12}站台)',
trainingRemark: '设置提前发车功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【设置提前发车】' },
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0511',
skinCode: '02',
trainingName: '人工折返策略设置({10}-{12}站台)',
trainingRemark: '人工折返策略设置功能',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '511', tip: '鼠标右键菜单选择【人工折返策略设置】' },
{ deviceType: '06', orderNum: 2, operateCode: '5111', tip: '鼠标左键点击,选择【无折返】', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '511', tip: '鼠标左键点击【确定】按钮', val: '01' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0401',
skinCode: '02',
trainingName: '区段故障解锁({8}{9})',
trainingRemark: '故障解锁功能',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '4026', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4024', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4025', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0402',
skinCode: '02',
trainingName: '区段切除({8}{9})',
trainingRemark: '区段切除',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段切除】' },
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0403',
skinCode: '02',
trainingName: '区段激活({8}{9})',
trainingRemark: '区段激活功能',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' },
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0404',
skinCode: '02',
trainingName: '计轴预复位({8}{9})',
trainingRemark: '计轴预复位功能',
trainingType: '04',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '409', tip: '鼠标右键菜单选择【区段计轴预复位】' },
{ deviceType: '03', orderNum: 2, operateCode: '4091', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4093', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4094', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0405',
skinCode: '02',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0406',
skinCode: '02',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '4041', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4043', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0407',
skinCode: '02',
trainingName: '区段设置限速({8}{9})',
trainingRemark: '区段设置限速功能限速值5',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮', val: '5' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0408',
skinCode: '02',
trainingName: '区段取消限速({8}{9})',
trainingRemark: '区段取消限速功能',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4081', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4082', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4083', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4084', tip: '鼠标左键点击【确认2】按钮', val: '5' },
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
skinCode: '02',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
skinCode: '02',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
{ deviceType: '02', orderNum: 2, operateCode: '1041', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1043', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0303',
skinCode: '02',
trainingName: '道岔区段封闭({7})',
trainingRemark: '道岔区段封闭功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔区段封闭】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0304',
skinCode: '02',
trainingName: '道岔区段解封({7})',
trainingRemark: '道岔区段解封功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔区段解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '1061', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1063', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0305',
skinCode: '02',
trainingName: '道岔转动({7})',
trainingRemark: '道岔转动功能({15}转{16})',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '107', tip: '鼠标右键菜单选择【道岔转动】' },
{ deviceType: '02', orderNum: 2, operateCode: '107', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 20,
minDuration: 10,
operateType: '0306',
skinCode: '02',
trainingName: '道岔区段故障解锁({7})',
trainingRemark: '道岔区段故障解锁功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【道岔区段故障解锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '1091', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1093', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1094', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0307',
skinCode: '02',
trainingName: '道岔区段计轴预复位({7})',
trainingRemark: '道岔区段计轴预复位功能',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '110', tip: '鼠标右键菜单选择【道岔区段计轴预复位】' },
{ deviceType: '02', orderNum: 2, operateCode: '1101', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1103', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1104', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0308',
skinCode: '02',
trainingName: '区段切除({7})',
trainingRemark: '区段切除',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' },
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0309',
skinCode: '02',
trainingName: '区段激活({7})',
trainingRemark: '区段激活功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' },
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0310',
skinCode: '02',
trainingName: '道岔区段设置限速({7})',
trainingRemark: '道岔区段设置限速功能限速值5',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【道岔区段设置限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值5】', val: '5' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮', val: '5' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0311',
skinCode: '02',
trainingName: '道岔区段取消限速({7})',
trainingRemark: '道岔区段取消限速功能',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '114', tip: '鼠标右键菜单选择【道岔区段取消限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1141', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '1142', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1143', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1144', tip: '鼠标左键点击【确认2】按钮', val: '5' },
{ deviceType: '02', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
skinCode: '02',
trainingName: '进路选排({3})',
trainingRemark: '选择排列进路',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【进路选排】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '3012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '02',
trainingName: '进路取消({3})',
trainingRemark: '进路取消',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3031', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '02',
trainingName: '进路取消({3})',
trainingRemark: '进路取消',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
skinCode: '02',
trainingName: '信号封闭({5})',
trainingRemark: '信号封闭',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
skinCode: '02',
trainingName: '信号解封({5})',
trainingRemark: '信号解封',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
{ deviceType: '04', orderNum: 2, operateCode: '3071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '3073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '3074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '04', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0205',
skinCode: '02',
trainingName: '信号关灯({3})',
trainingRemark: '信号关灯',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【信号关灯】' },
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3131', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0206',
skinCode: '02',
trainingName: '信号重开({3})',
trainingRemark: '信号重开',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3041', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0207',
skinCode: '02',
trainingName: '引导进路办理({3})',
trainingRemark: '进路办理信号引导',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【引导进路办理】' },
{ deviceType: '04', orderNum: 2, operateCode: '3081', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '3083', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '3084', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '04', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
skinCode: '02',
trainingName: '自排开({5})',
trainingRemark: '自排开',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【自排开】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择控制状态为"人工"的进路', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
skinCode: '02',
trainingName: '自排关({5})',
trainingRemark: '自排关',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【自排关】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择第一条进路', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0210',
skinCode: '02',
trainingName: '查询进路控制状态({5})',
trainingRemark: '查询进路控制状态',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制模式】' },
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0211',
skinCode: '02',
trainingName: '设置联锁自动进路({5})',
trainingRemark: '设置联锁自动进路',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置联锁自动进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0212',
skinCode: '02',
trainingName: '取消联锁自动进路({5})',
trainingRemark: '取消联锁自动进路',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消联锁自动进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0213',
skinCode: '02',
trainingName: '设置联锁自动触发({5})',
trainingRemark: '设置联锁自动触发',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '311', tip: '鼠标右键菜单选择【设置联锁自动触发】' },
{ deviceType: '04', orderNum: 2, operateCode: '311', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0214',
skinCode: '02',
trainingName: '取消联锁自动触发({5})',
trainingRemark: '取消联锁自动触发',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '312', tip: '鼠标右键菜单选择【取消联锁自动触发】' },
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' }
]
}
]
};

View File

@ -0,0 +1,820 @@
export default {
list: [
{
maxDuration: 20,
minDuration: 15,
operateType: '0103',
skinCode: '05',
trainingName: 'Switch to central control ({1})',
trainingRemark: 'Control permission conversion, switch station control to central control',
trainingType: '01',
productTypes: ['02'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' },
{ deviceType: 'bar', orderNum: 2, operateCode: '2041', tip: 'Left click [switch to central control] ' },
{ deviceType: '05', orderNum: 3, operateCode: '2042', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' },
{ deviceType: '05', orderNum: 4, operateCode: '204', tip: 'Left click [request to central control] ', val: '{2}' },
{ deviceType: '05', orderNum: 5, operateCode: '2043', tip: 'Left click [confirm]', val: '{2}' },
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: 'Left click [confirm]' },
{ deviceType: 'bar', orderNum: 7, operateCode: '000', tip: 'Left click [close] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0101',
skinCode: '05',
trainingName: 'Switch to station control ({1})',
trainingRemark: 'Control permission conversion, Force to station control',
trainingType: '01',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' },
{ deviceType: 'bar', orderNum: 2, operateCode: '2021', tip: 'Left click [switch to station control' },
{ deviceType: '05', orderNum: 3, operateCode: '2022', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' },
{ deviceType: '05', orderNum: 4, operateCode: '202', tip: 'Left click [request to station control', val: '{2}' },
{ deviceType: '05', orderNum: 5, operateCode: '2023', tip: 'Left click [confirm] ', val: '{2}' },
{ deviceType: '05', orderNum: 6, operateCode: '0013', tip: 'Left click [confirm] ' },
{ deviceType: 'bar', orderNum: 7, operateCode: '000', tip: 'Left click [close] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0102',
skinCode: '05',
trainingName: 'Force to station control ({1})',
trainingRemark: 'Control permission conversion,Force to station control',
trainingType: '01',
productTypes: ['01'],
stepVOList: [
{ deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' },
{ deviceType: 'bar', orderNum: 2, operateCode: '2034', tip: 'Left click[Force to station control]' },
{ deviceType: 'bar', orderNum: 3, operateCode: '2035', tip: 'Left click to input the password [123456],then left click the [confirm]' },
{ deviceType: '05', orderNum: 4, operateCode: '2032', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' },
{ deviceType: '05', orderNum: 5, operateCode: '203', tip: 'Left click [Foece to station control', val: '{2}' },
{ deviceType: '05', orderNum: 6, operateCode: '2033', tip: 'Left click [confirm] ', val: '{2}' },
{ deviceType: '05', orderNum: 7, operateCode: '0013', tip: 'Left click [confirm] ' },
{ deviceType: 'bar', orderNum: 8, operateCode: '000', tip: 'Left click [close] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0501',
skinCode: '05',
trainingName: 'Detain Train({10}-{12}station)',
trainingRemark: 'Set the detaining function',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: 'Right click to select [Detain Train]' },
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0502',
skinCode: '05',
trainingName: 'Cancel Detaining({10}-{12}The platform)',
trainingRemark: 'Set cancelling detaining function',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: 'Right click to select [Cancel Detaining]]' },
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0503',
skinCode: '05',
trainingName: 'Force Canceling Detaining({10}-{12}The platform)',
trainingRemark: 'Force to cancel train detaining function',
trainingType: '05',
productTypes: ['01'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '506', tip: 'Right click to select [Force Canceling Detaining]' },
{ deviceType: '06', orderNum: 2, operateCode: '506', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0504',
skinCode: '05',
trainingName: 'Cancel train detaining along the whole line({10}-{12}The platform)',
trainingRemark: 'Cancel train detaining along the whole line (default the whole uplink and downlink )',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: 'Right click to select [Cancel train detaining along the whole line]' },
{ deviceType: '06', orderNum: 2, operateCode: '508', tip: 'Left click [confirm] ', val: '{11}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0504',
skinCode: '05',
trainingName: 'Cancel train detaining along the whole line({10}-{12}The platform)',
trainingRemark: 'Cancel train detaining along the whole line (select the uplink or downlink ))',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '508', tip: 'Right click to select [Cancel train detaining along the whole line]' },
{ deviceType: '06', orderNum: 2, operateCode: '5081', tip: 'Right click to select[{14}the whole line', val: '{13}' },
{ deviceType: '06', orderNum: 3, operateCode: '508', tip: 'Left click [confirm]', val: '{13}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0505',
skinCode: '05',
trainingName: 'Skip this station to continue moving({10}-{12}The platform)',
trainingRemark: 'Set the skip to continue moving function',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: 'Right click to select [Skip this station to continue moving]' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: 'Left click [confirm]', val: '{11}' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0506',
skinCode: '05',
trainingName: 'Cancel skiping({10}-{12}The platform)',
trainingRemark: 'Set cancelling skiping function',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: 'Right click to select [Cancel skiping]' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: 'Left click [confirm]', val: '{11}' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: '0507',
skinCode: '05',
trainingName: 'Query Platform status({10}-{12}The platform)',
trainingRemark: 'Query platform status function',
trainingType: '05',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: 'Right click to select [Query Platform status]' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '05',
trainingName: 'Set the stop time({10}-{12}The platform)',
trainingRemark: 'Set the stop time (auto, permanent validity)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [auto]', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: 'Left click [confirm] ', val: '01::20::true' },
{ deviceType: '06', orderNum: 4, operateCode: '5091', tip: 'Left click [confirm] ', val: '01::20::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '05',
trainingName: 'Set the stop time({10}-{12}The platform)',
trainingRemark: 'Set the stop time (manual, 20 seconds, permanent validity)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [manual]', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: 'Set time [20]', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: 'Left click [confirm] ', val: '02::20::true' },
{ deviceType: '06', orderNum: 5, operateCode: '5091', tip: 'Left click [confirm]', val: '02::20::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0508',
skinCode: '05',
trainingName: 'Set the stop time({10}-{12}The platform)',
trainingRemark: 'Set the stop time (manual, 20 seconds, once valid )',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [manual]', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: 'Set time [20]', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: 'Left click to select "once valid ".', val: 'false' },
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: 'Left click [confirm] ', val: '02::20::false' },
{ deviceType: '06', orderNum: 6, operateCode: '5091', tip: 'Left click [confirm] ', val: '02::20::false' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '05',
trainingName: 'Set Operation speed Level({10}-{12}The platform)',
trainingRemark: 'Set Operation speed Level(set the interval running time to 60, permanent validity)',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: 'Right click to select [Set Operation speed Level]' },
{ deviceType: '06', orderNum: 2, operateCode: '5101', tip: 'Left click to select [60]', val: '60' },
{ deviceType: '06', orderNum: 3, operateCode: '510', tip: 'Left click [confirm] ', val: '60::true' },
{ deviceType: '06', orderNum: 4, operateCode: '5102', tip: 'Left click [confirm] ', val: '60::true' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0509',
skinCode: '05',
trainingName: 'Set Operation speed Level({10}-{12}The platform)',
trainingRemark: 'Set Operation speed Level (set the interval running time to 60, once valid )',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: 'Right click to select [Set Operation speed Level]' },
{ deviceType: '06', orderNum: 2, operateCode: '5101', tip: 'Left click to select [60]', val: '60' },
{ deviceType: '06', orderNum: 3, operateCode: '5103', tip: 'Left click to cancel [permanent validity].', val: 'false' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: 'Left click [confirm] ', val: '60::false' },
{ deviceType: '06', orderNum: 5, operateCode: '5102', tip: 'Left click [confirm] ', val: '60::false' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0510',
skinCode: '05',
trainingName: 'Set departure in advance({10}-{12}The platform)',
trainingRemark: 'Set departure inadvance function',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: 'Right click to select [Set departure in advance]' },
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0511',
skinCode: '05',
trainingName: 'Manual return strategy setting({10}-{12}The platform)',
trainingRemark: 'Manual return strategy setting function',
trainingType: '05',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '511', tip: 'Right click to select [Manual return strategy setting]' },
{ deviceType: '06', orderNum: 2, operateCode: '5111', tip: 'Left click to select [No return]".', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '511', tip: 'Left click [confirm] ', val: '01' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0401',
skinCode: '05',
trainingName: 'Section fault unlocking({8}{9})',
trainingRemark: 'Fault unlocking',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: 'Right click to select [Section fault unlocking]' },
{ deviceType: '03', orderNum: 2, operateCode: '4026', tip: 'Left click [Execute] ' },
{ deviceType: '03', orderNum: 3, operateCode: '4024', tip: 'Left click [ok 1] ' },
{ deviceType: '03', orderNum: 4, operateCode: '4025', tip: 'Left click [ok 2] ' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0402',
skinCode: '05',
trainingName: 'Section resection({8}{9})',
trainingRemark: 'Section resection',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: 'Right click to select [Section resection]' },
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0403',
skinCode: '05',
trainingName: 'Section activation({8}{9})',
trainingRemark: 'Section activation function',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: 'Right click to select [Section activation]' },
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0404',
skinCode: '05',
trainingName: 'Axis pre-reset({8}{9})',
trainingRemark: 'Axis pre-reset function',
trainingType: '04',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '409', tip: 'Right click to select [Axis pre-reset]' },
{ deviceType: '03', orderNum: 2, operateCode: '4091', tip: 'Left click [Execute]' },
{ deviceType: '03', orderNum: 3, operateCode: '4093', tip: 'Left click [confirm1]' },
{ deviceType: '03', orderNum: 4, operateCode: '4094', tip: 'Left click [confirm2]' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0405',
skinCode: '05',
trainingName: 'Section blockade({8}{9})',
trainingRemark: 'Section blockade function',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: 'Right click to select [Section blockade]' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0406',
skinCode: '05',
trainingName: 'Section unblockade({8}{9})',
trainingRemark: 'Section unblockade function',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: 'Right click to select [Section unblockade]' },
{ deviceType: '03', orderNum: 2, operateCode: '4041', tip: 'Left click [Execute]' },
{ deviceType: '03', orderNum: 3, operateCode: '4043', tip: 'Left click [confirm1]' },
{ deviceType: '03', orderNum: 4, operateCode: '4044', tip: 'Left click [confirm2]' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0407',
skinCode: '05',
trainingName: 'Set speed limit on the section({8}{9})',
trainingRemark: 'Set speed limit on the section (speed limit value: 5)',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: 'Right click to select [Set speed limit on the section]' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: 'Left click to select [speed limit 5] ', val: '5' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: 'Left click [Execute]' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: 'Left click [confirm]' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: 'Left click [confirm1]' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: 'Left click [confirm2]', val: '5' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0408',
skinCode: '05',
trainingName: 'Cancel speed limit on the section({8}{9})',
trainingRemark: 'Cancel speed limit on the section',
trainingType: '04',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: 'Right click to select [Cancel speed limit on the section]' },
{ deviceType: '03', orderNum: 2, operateCode: '4081', tip: 'Left click [Execute]' },
{ deviceType: '03', orderNum: 3, operateCode: '4082', tip: 'Left click [confirm] ' },
{ deviceType: '03', orderNum: 4, operateCode: '4083', tip: 'Left click [confirm1]' },
{ deviceType: '03', orderNum: 5, operateCode: '4084', tip: 'Left click [confirm2]', val: '5' },
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0301',
skinCode: '05',
trainingName: 'Single lock of turnout({7})',
trainingRemark: 'Single lock of turnout',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: 'Right click to select [Single lock of turnout]' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0302',
skinCode: '05',
trainingName: 'Single release of turnout({7})',
trainingRemark: 'Single release of turnout',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: 'Right click to select [Single release of turnout]' },
{ deviceType: '02', orderNum: 2, operateCode: '1041', tip: 'Left click [Execute]' },
{ deviceType: '02', orderNum: 3, operateCode: '1043', tip: 'Left click [confirm1] ' },
{ deviceType: '02', orderNum: 4, operateCode: '1044', tip: 'Left click [confirm2] ' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close] '}
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0303',
skinCode: '05',
trainingName: 'Turnout section closure({7})',
trainingRemark: 'Turnout section closure ',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: 'Right click to select [Turnout section closure]' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0304',
skinCode: '05',
trainingName: 'Turnout section unsealing({7})',
trainingRemark: 'Turnout section unsealing function',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: 'Right click to select [Turnout section unsealing]' },
{ deviceType: '02', orderNum: 2, operateCode: '1061', tip: 'Left click [Execute]' },
{ deviceType: '02', orderNum: 3, operateCode: '1063', tip: 'Left click [confirm1]' },
{ deviceType: '02', orderNum: 4, operateCode: '1064', tip: 'Left click [confirm2]' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0305',
skinCode: '05',
trainingName: 'Turnout rotation({7})',
trainingRemark: 'Turnout rotation({15}turn{16})',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '107', tip: 'Right click to select [Turnout rotation]' },
{ deviceType: '02', orderNum: 2, operateCode: '107', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 20,
minDuration: 10,
operateType: '0306',
skinCode: '05',
trainingName: 'Turnout section fault unlocking({7})',
trainingRemark: 'Turnout section fault unlocking function',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '109', tip: 'Right click to select [Turnout section fault unlocking]' },
{ deviceType: '02', orderNum: 2, operateCode: '1091', tip: 'Left click [Execute]' },
{ deviceType: '02', orderNum: 3, operateCode: '1093', tip: 'Left click [confirm1]' },
{ deviceType: '02', orderNum: 4, operateCode: '1094', tip: 'Left click [confirm2]' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0307',
skinCode: '05',
trainingName: 'Turnout section axile pre reset({7})',
trainingRemark: 'Turnout section axile pre reset function',
trainingType: '03',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '110', tip: 'Right click to select [Turnout section axile pre reset]' },
{ deviceType: '02', orderNum: 2, operateCode: '1101', tip: 'Left click [Execute]' },
{ deviceType: '02', orderNum: 3, operateCode: '1103', tip: 'Left click [confirm1]' },
{ deviceType: '02', orderNum: 4, operateCode: '1104', tip: 'Left click [confirm2]' },
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0308',
skinCode: '05',
trainingName: 'Section resection({7})',
trainingRemark: 'Section resection',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: 'Right click to select [Section resection]' },
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0309',
skinCode: '05',
trainingName: 'Section activation({7})',
trainingRemark: 'Section activation function',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: 'Right click to select [Section activation]' },
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0310',
skinCode: '05',
trainingName: 'Set speed limit on the turnout section({7})',
trainingRemark: 'Set speed limit on the section (speed limit value: 5)',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: 'Right click to select [Set speed limit on the turnout section]' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: 'Left click to select [speed limit 5] ', val: '5' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: 'Left click [Execute]' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: 'Left click [confirm]' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: 'Left click [confirm1]' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: 'Left click [confirm2]', val: '5' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0311',
skinCode: '05',
trainingName: 'Cancel speed limit on the turnout section({7})',
trainingRemark: 'Cancel speed limit on the turnout section',
trainingType: '03',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '114', tip: 'Right click to select [Cancel speed limit on the turnout section]' },
{ deviceType: '02', orderNum: 2, operateCode: '1141', tip: 'Left click [Execute]' },
{ deviceType: '02', orderNum: 3, operateCode: '1142', tip: 'Left click [confirm] ' },
{ deviceType: '02', orderNum: 4, operateCode: '1143', tip: 'Left click [confirm1]' },
{ deviceType: '02', orderNum: 5, operateCode: '1144', tip: 'Left click [confirm2]', val: '5' },
{ deviceType: '02', orderNum: 6, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0201',
skinCode: '05',
trainingName: 'Route selection({3})',
trainingRemark: 'Route selection',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: 'Right click to select [Route selection]' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: 'Left click to select the route name【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: 'Left click [confirm] ' },
{ deviceType: '04', orderNum: 4, operateCode: '3012', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '05',
trainingName: 'Cancel the route({3})',
trainingRemark: 'Cancel the route',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: 'Right click to select [Cancel the route]' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: 'Left click [confirm] ' },
{ deviceType: '04', orderNum: 3, operateCode: '3031', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0202',
skinCode: '05',
trainingName: 'Cancel the route({3})',
trainingRemark: 'Cancel the route',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: 'Right click to select [Cancel the route]' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0203',
skinCode: '05',
trainingName: 'Signal closure({5})',
trainingRemark: 'Signal closure',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: 'Right click to select [Signal closure]' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0204',
skinCode: '05',
trainingName: 'Signal unsealing({5})',
trainingRemark: 'Signal unsealing',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: 'Right click to select [Signal unsealing]' },
{ deviceType: '04', orderNum: 2, operateCode: '3071', tip: 'Left click [Execute]' },
{ deviceType: '04', orderNum: 3, operateCode: '3072', tip: 'Left click [confirm]' },
{ deviceType: '04', orderNum: 4, operateCode: '3073', tip: 'Left click [confirm1]' },
{ deviceType: '04', orderNum: 5, operateCode: '3074', tip: 'Left click [confirm2]' },
{ deviceType: '04', orderNum: 6, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0205',
skinCode: '05',
trainingName: 'Signal Off({3})',
trainingRemark: 'Signal Off',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: 'Right click to select [Signal Off]' },
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: 'Left click [confirm]' },
{ deviceType: '04', orderNum: 3, operateCode: '3131', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0206',
skinCode: '05',
trainingName: 'Signal reopen({3})',
trainingRemark: 'Signal reopen',
trainingType: '02',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: 'Right click to select [Signal reopen]' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: 'Left click [confirm]' },
{ deviceType: '04', orderNum: 3, operateCode: '3041', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0207',
skinCode: '05',
trainingName: 'Guide route handling({3})',
trainingRemark: 'Guide route handling',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: 'Right click to select [Guide route handling]' },
{ deviceType: '04', orderNum: 2, operateCode: '3081', tip: 'Left click [Execute]' },
{ deviceType: '04', orderNum: 3, operateCode: '3083', tip: 'Left click [confirm1]' },
{ deviceType: '04', orderNum: 4, operateCode: '3084', tip: 'Left click [confirm2]' },
{ deviceType: '04', orderNum: 5, operateCode: '001', tip: 'Left click [close]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0208',
skinCode: '05',
trainingName: 'Start automatic routing({5})',
trainingRemark: 'Start automatic routing',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: 'Right click to select [Start automatic routing]' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: 'Left click to select the route based on the manual control state', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0209',
skinCode: '05',
trainingName: 'Close automatic routing({5})',
trainingRemark: 'Close automatic routing',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: 'Right click to select [Close automatic routing]' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: 'Left click to select the first route', val: '{6}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0210',
skinCode: '05',
trainingName: 'Route control status query({5})',
trainingRemark: 'Query the route control status ',
trainingType: '02',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: 'Right click to select [Route control status query]' },
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: 'Left click [confirm] ' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0211',
skinCode: '05',
trainingName: 'Set Interlock for Auto Routing({5})',
trainingRemark: 'Set Interlock for Auto Routing',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: 'Right click to select [Set Interlock for Auto Routing]' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0212',
skinCode: '05',
trainingName: 'Cancel Interlock setting for Auto Routing({5})',
trainingRemark: 'Cancel Interlock setting for Auto Routing',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: 'Right click to select [Cancel Interlock setting for Auto Routing]' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0213',
skinCode: '05',
trainingName: 'Set Interlock for Auto Trigger({5})',
trainingRemark: 'Set Interlock for Auto Trigger',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '311', tip: 'Right click to select [Set Interlock for Auto Trigger]' },
{ deviceType: '04', orderNum: 2, operateCode: '311', tip: 'Left click [confirm]' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: '0214',
skinCode: '05',
trainingName: 'Cancel Interlock setting for Auto Trigger({5})',
trainingRemark: 'Cancel Interlock setting for Auto Trigger',
trainingType: '02',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '312', tip: 'Right click to select[Cancel Interlock setting for Auto Trigger]' },
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: 'Left click [confirm]' }
]
}
]
};

View File

@ -134,18 +134,9 @@ export default {
},
'$store.state.training.prdType': function (val) {
if (val == '01' && this.centralizedStationList1.length) {
this.switchShowStation(this.centralizedStationList1[0].code);
this.$store.dispatch('map/setShowCentralizedStationCode', this.centralizedStationList1[0].code);
} else {
this.switchShowStation('');
}
},
'$store.state.training.offsetStationCode': function(code) {
if (code) {
const sectionModel = this.$store.getters['map/getDeviceByCode'](code);
if (sectionModel._type == 'Section' || sectionModel._type == 'Switch' || sectionModel._type == 'Signal') {
const stationModel = this.$store.getters['map/getDeviceByCode'](sectionModel.stationCode);
this.switchShowStation(stationModel.code);
}
this.$store.dispatch('map/setShowCentralizedStationCode', '');
}
}
},
@ -176,20 +167,12 @@ export default {
this.stationCode = centralizedStationList[0].code;
}
if (this.$store.state.training.prdType == '01') {
this.switchShowStation(this.stationCode);
this.$store.dispatch('map/setShowCentralizedStationCode', this.stationCode);
}
},
switchShowStation(stationCode) {
this.stationCode = stationCode;
const nameList = Object.keys(this.$store.state.map.map);
let list = [];
nameList.forEach(item => {
if (item !== 'skinVO') {
list = [...list, ...this.$store.state.map.map[item]];
}
});
this.$jlmap.updateShowStation(list, stationCode);
this.$jlmap.setCenter(stationCode);
this.$store.dispatch('map/setShowCentralizedStationCode', stationCode);
},
undeveloped() {
this.doClose();

View File

@ -92,11 +92,11 @@ export default {
{ name: '单锁道岔', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menu, show: false },
{ name: '转换定位', cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION, operate: OperationEvent.Switch.locate.menu, show: false },
{ name: '转换反位', cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION, operate: OperationEvent.Switch.reverse.menu, show: false },
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
{ name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false },
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu, show: false },
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu, show: false },
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false }
{ name: '封锁区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
{ name: '解封区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false },
{ name: '轨区消限', cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED, operate: OperationEvent.Switch.cancelSpeed.menu, show: false },
{ name: '轨区设限', cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED, operate: OperationEvent.Switch.setSpeed.menu, show: false },
{ name: '强解区段', cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false }
],
signalParamList: [
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.setAutoInterlock.menu, show: false },
@ -139,6 +139,9 @@ export default {
watch: {
'$store.state.menuOperation.setMenuChangeCount': function (val) {
if (this.selected._type) {
if (this.selected._type == 'Section' && (this.selected.type == '03' || this.selected.type == '04')) { //
this.selected = this.selected.switch;
}
this.canCommand = true;
const step = {
operation: 'click',
@ -247,7 +250,7 @@ export default {
this.param = {
switchCode: this.selected.code,
sectionCode: section.code,
speedLimitValue: 5
speedLimitValue: '5'
};
},
handleSingalMenu() {

View File

@ -52,51 +52,51 @@ export default {
menu: [],
menuNormal: {
Local: [
{
label: this.$t('menu.menuStationStand.detainTrain'),
handler: this.setDetainTrain,
cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
},
{
label: this.$t('menu.menuStationStand.cancelDetainTrain'),
handler: this.cancelDetainTrain,
cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
},
{
label: this.$t('menu.menuStationStand.cancelDetainTrainForce'),
handler: this.cancelDetainTrainForce,
cmdType:CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN
},
{
label: this.$t('menu.menuStationStand.jumpStop'),
handler: this.setJumpStop,
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP
},
{
label: this.$t('menu.menuStationStand.cancelJumpStop'),
handler: this.cancelJumpStop,
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
},
{
label: this.$t('menu.menuStationStand.setRunLevel'),
handler: this.setRunLevel,
cmdType:CMD.Stand.CMD_STAND_SET_RUN_TIME
},
{
label: this.$t('menu.menuStationStand.setEarlyDeparture'),
handler: this.earlyDeparture,
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
},
{
label: this.$t('menu.menuStationStand.setBackStrategy'),
handler: this.setBackStrategy,
cmdType:CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY
},
{
label: this.$t('menu.menuStationStand.getStationStandStatus'),
handler: this.detail,
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
}
// {
// label: this.$t('menu.menuStationStand.detainTrain'),
// handler: this.setDetainTrain,
// cmdType:CMD.Stand.CMD_STAND_SET_HOLD_TRAIN
// },
// {
// label: this.$t('menu.menuStationStand.cancelDetainTrain'),
// handler: this.cancelDetainTrain,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN
// },
// {
// label: this.$t('menu.menuStationStand.cancelDetainTrainForce'),
// handler: this.cancelDetainTrainForce,
// cmdType:CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN
// },
// {
// label: this.$t('menu.menuStationStand.jumpStop'),
// handler: this.setJumpStop,
// cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP
// },
// {
// label: this.$t('menu.menuStationStand.cancelJumpStop'),
// handler: this.cancelJumpStop,
// cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP
// },
// {
// label: this.$t('menu.menuStationStand.setRunLevel'),
// handler: this.setRunLevel,
// cmdType:CMD.Stand.CMD_STAND_SET_RUN_TIME
// },
// {
// label: this.$t('menu.menuStationStand.setEarlyDeparture'),
// handler: this.earlyDeparture,
// cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART
// },
// {
// label: this.$t('menu.menuStationStand.setBackStrategy'),
// handler: this.setBackStrategy,
// cmdType:CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY
// },
// {
// label: this.$t('menu.menuStationStand.getStationStandStatus'),
// handler: this.detail,
// cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
// }
],
Center: [
// {

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -0,0 +1,728 @@
// 操作规则定义
// {id: "1", trainingType: "01", name: "车站名称"}
// {id: "2", trainingType: "01", name: "车站控制模式编号"}
// {id: "3", trainingType: "02", name: "进路名称"}
// {id: "4", trainingType: "02", name: "进路编号"}
// {id: "5", trainingType: "02", name: "信号机名称"}
// {id: "6", trainingType: "02", name: "信号机编号"}
// {id: "7", trainingType: "03", name: "道岔名称"}
// {id: "17", trainingType: "03", name: "道岔编码"}
// {id: "15", trainingType: "03", name: "道岔位置"}
// {id: "16", trainingType: "03", name: "道岔位置(反)"}
// {id: "21", trainingType: "03", name: "车站名称"}
// {id: "23", trainingType: "03", name: "车站编号"}
// {id: "24", trainingType: "03", name: "道岔计轴区段编号"}
// {id: "25", trainingType: "03", name: "道岔计轴区段名称"}
// {id: "8", trainingType: "04", name: "物理区段名称"}
// {id: "9", trainingType: "04", name: "逻辑区段名称"}
// {id: "18", trainingType: "04", name: "逻辑区段编码"}
// {id: "19", trainingType: "04", name: "区段编号"}
// {id: "20", trainingType: "04", name: "车站名称"}
// {id: "22", trainingType: "04", name: "车站编号"}
// {id: "10", trainingType: "05", name: "车站名称"}
// {id: "11", trainingType: "05", name: "站台行驶方向编号"}
// {id: "12", trainingType: "05", name: "站台行驶方向"}
// {id: "13", trainingType: "05", name: "站台行驶方向编号(反)"}
// {id: "14", trainingType: "05", name: "站台行驶方向(反)"}
export default {
list: [
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Block',
skinCode: '07',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: 'Section',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Block',
skinCode: '07',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: 'Section',
productTypes: ['01'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【封锁区段】' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Unblock',
skinCode: '07',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '4041', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4043', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Unblock',
skinCode: '07',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '404', tip: '鼠标左键点击【解封区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Set_Limit_Speed',
skinCode: '07',
trainingName: '区段设置限速({8}{9})',
trainingRemark: '区段设置限速功能限速值5',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Cancel_Limit_Speed',
skinCode: '07',
trainingName: '区段取消限速({8}{9})',
trainingRemark: '区段取消限速功能',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4081', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4082', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4083', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4084', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Fault_Unlock',
skinCode: '02',
trainingName: '强解区段({8}{9})',
trainingRemark: '强解区段功能',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该区段' },
{ deviceType: '03', orderNum: 2, operateCode: '402', tip: '鼠标左键点击【强解区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Normal_Position', // 0312 新增定位字典
skinCode: '07',
trainingName: '单操到定位({7})',
trainingRemark: '单操到定位({15})',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标右键菜单选择【单操到定位】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Normal_Position',
skinCode: '07',
trainingName: '转换定位({7})',
trainingRemark: '转换定位({15})',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【转换定位】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Reverse_Position', // 0313 新增定位字典
skinCode: '07',
trainingName: '单操到反位({7})',
trainingRemark: '单操到反位({7})',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【单操到反位】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Reverse_Position', // 0313 新增定位字典
skinCode: '07',
trainingName: '转换反位({7})',
trainingRemark: '转换反位({7})',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【转换反位】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Single_Lock',
skinCode: '07',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Single_Lock',
skinCode: '07',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【单锁道岔】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Single_Unlock',
skinCode: '07',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【下达】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Single_Unlock',
skinCode: '07',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【取消锁定】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Block',
skinCode: '07',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Block',
skinCode: '07',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【封锁道岔】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Unblock',
skinCode: '07',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Unblock',
skinCode: '07',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '02', orderNum: 2, operateCode: '106', tip: '鼠标左键点击【解封道岔】按钮' },
{ deviceType: '02', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Section_Block',
skinCode: '07',
trainingName: '道岔区段封锁({7})',
trainingRemark: '区段封锁功能',
trainingType: 'Switch',
productTypes: ['01'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【封锁区段】' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Section_Unblock',
skinCode: '07',
trainingName: '道岔区段解封({7})',
trainingRemark: '区段解封功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '404', tip: '鼠标左键点击【区段解封】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Fault_Unlock',
skinCode: '02',
trainingName: '强解区段({7})',
trainingRemark: '强解区段',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '402', tip: '鼠标左键点击【强解区段】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Set_Limit_Speed',
skinCode: '02',
trainingName: '道岔轨区设限({7})',
trainingRemark: '轨区设限功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '113', tip: '鼠标左键点击【轨区设限】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Cancel_Limit_Speed',
skinCode: '02',
trainingName: '道岔轨区消限({7})',
trainingRemark: '轨区消限功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该道岔' },
{ deviceType: '03', orderNum: 2, operateCode: '114', tip: '鼠标左键点击【轨区消限】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_Route',
skinCode: '07',
trainingName: '排列进路({3})',
trainingRemark: '选择排列进路',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_Route',
skinCode: '07',
trainingName: 'ATP进路({3})',
trainingRemark: '选择ATP进路',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【ATP进路】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_Route',
skinCode: '07',
trainingName: '进路取消({3})',
trainingRemark: '进路取消',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_Route',
skinCode: '07',
trainingName: '取消ATP({3})',
trainingRemark: '取消ATP',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 3, operateCode: '303', tip: '鼠标左键点击【ATP进路】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Block',
skinCode: '07',
trainingName: '封锁信号({5})',
trainingRemark: '封锁信号',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【封锁信号】' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Block',
skinCode: '07',
trainingName: '封锁信号({5})',
trainingRemark: '封锁信号',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【封锁信号】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Unblock',
skinCode: '07',
trainingName: '解封信号({5})',
trainingRemark: '解封信号',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【解封信号】' },
{ deviceType: '03', orderNum: 2, operateCode: '3071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '3072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '3073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '3074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Unblock',
skinCode: '07',
trainingName: '解封信号({5})',
trainingRemark: '解封信号',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '307', tip: '鼠标左键点击【解封信号】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Open_Auto_Setting',
skinCode: '07',
trainingName: '自排单开({5})',
trainingRemark: '自排单开',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【自排单开】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择{3}进路', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Open_Auto_Setting',
skinCode: '07',
trainingName: '自排单开({5})',
trainingRemark: '自排单开',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '315', tip: '鼠标左键点击【自排单开】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Close_Auto_Setting',
skinCode: '07',
trainingName: '自排单关({5})',
trainingRemark: '自排单关',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【自排单关】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择{3}进路', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Close_Auto_Setting',
skinCode: '07',
trainingName: '自排单关({5})',
trainingRemark: '自排单关',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '314', tip: '鼠标左键点击【自排单关】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Close_Signal',
skinCode: '07',
trainingName: '关单信号({3})',
trainingRemark: '关单信号',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【关单信号】' },
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Close_Signal',
skinCode: '07',
trainingName: '关单信号({3})',
trainingRemark: '关单信号',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【关单信号】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Reopen_Signal',
skinCode: '07',
trainingName: '重复开放({3})',
trainingRemark: '重复开放',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【重复开放】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Reopen_Signal',
skinCode: '07',
trainingName: '重复开放({3})',
trainingRemark: '重复开放',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【重复开放】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_Guide',
skinCode: '07',
trainingName: '引导进路({3})',
trainingRemark: '引导进路办理',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 3, operateCode: '308', tip: '鼠标左键点击【引导进路】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Human_Release_Route',
skinCode: '07',
trainingName: '取消引导({3})',
trainingRemark: '取消引导',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 3, operateCode: '305', tip: '鼠标左键点击【取消引导】按钮' },
{ deviceType: '04', orderNum: 4, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_CI_Auto',
skinCode: '07',
trainingName: '追踪单开({5})',
trainingRemark: '追踪单开',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【追踪单开】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_CI_Auto',
skinCode: '07',
trainingName: '追踪单开({5})',
trainingRemark: '追踪单开',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【追踪单开】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_CI_Auto',
skinCode: '07',
trainingName: '追踪单关({5})',
trainingRemark: '追踪单关',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【追踪单关】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_CI_Auto',
skinCode: '07',
trainingName: '追踪单关({5})',
trainingRemark: '追踪单关',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: 'click', tip: '鼠标左键点击选择该信号机' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【追踪单关】按钮' },
{ deviceType: '04', orderNum: 3, operateCode: '008', tip: '鼠标左键点击【执行】按钮' }
]
}
]
};

View File

@ -22,7 +22,8 @@
<el-input v-model="signalName" size="small" disabled />
</el-col>
</el-row>
<div v-if="passModel" style="margin: 12px 0;">
<div v-if="passModel">
<div style="height: 12px" />
<el-radio :id="upRadioId" v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'" @change="changeRadio">设置自动通过</el-radio>
<el-radio :id="upRadioId" v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'" @change="changeRadio">取消自动通过</el-radio>
</div>

View File

@ -18,7 +18,7 @@
<!-- <el-button class="expand" @click="expandPath">展开进路预览</el-button> -->
</el-col>
</el-row>
<el-table ref="table" :data="tempData" border :cell-style="tableStyle" style="width: 100%; margin-top:10px" size="mini" height="120" highlight-current-row :show-header="false" @row-click="clickEvent">
<el-table ref="table" :data="tempData" border :cell-style="tableStyle" style="width: 100%; height: 120px; margin-top:10px" size="mini" highlight-current-row :show-header="false" @row-click="clickEvent">
<el-table-column :id="domIdChoose" prop="name" style="margin-left:30px" />
</el-table>
<el-row justify="center" class="button-group">
@ -175,6 +175,8 @@ export default {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
});
} else {
this.$refs.noticeInfo.doShow('当前进路不允许排列, 与其他进路可能发生冲突');
}
}
},

View File

@ -138,7 +138,7 @@ export default {
let name = section.name;
if (section.type == '02') {
const sectionParent = this.$store.getters['map/getDeviceByCode'](section.parentCode);
name = `${sectionParent.name}-${section.name}`;
name = `${sectionParent.name}${section.name}`;
}
list.push({ name: name, code: section.code });
});

View File

@ -293,10 +293,10 @@ export default {
if (valid) {
this.doClose();
}
}).catch((error) => {
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow({}, error.message);
// this.$refs.noticeInfo.doShow({}, error.message);
});
} else {
this.doClose();

View File

@ -78,10 +78,30 @@ export default {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
if (this.dialogShow) {
if (this.operation == OperationEvent.StationControl.requestCentralControl.menu.operation) {
return OperationEvent.StationControl.requestCentralControl.choose.domId;
} else if (this.operation == OperationEvent.StationControl.requestStationControl.menu.operation) {
return OperationEvent.StationControl.requestStationControl.choose.domId;
} else {
return '';
}
} else {
return '';
}
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
if (this.dialogShow) {
if (this.operation == OperationEvent.StationControl.requestCentralControl.menu.operation) {
return OperationEvent.StationControl.requestCentralControl.confirm.domId;
} else if (this.operation == OperationEvent.StationControl.requestStationControl.menu.operation) {
return OperationEvent.StationControl.requestStationControl.confirm.domId;
} else {
return '';
}
} else {
return '';
}
},
title() {
return '站遥控转换';
@ -216,10 +236,10 @@ export default {
};
if (this.controlMode == 'center') {
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL;
operate.operation = OperationEvent.StationControl.requestStationControl.menu.operation;
operate.operation = OperationEvent.StationControl.requestStationControl.confirm.operation;
} else if (this.controlMode == 'local') {
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL;
operate.operation = OperationEvent.StationControl.requestCentralControl.menu.operation;
operate.operation = OperationEvent.StationControl.requestCentralControl.confirm.operation;
}
this.loading = true;

View File

@ -75,7 +75,17 @@ export default {
return this.dialogShow ? OperationEvent.Command.close.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationHandler.getDomIdByOperation(this.operation) : '';
if (this.dialogShow) {
if (this.operation == OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.operation) {
return OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.domId;
} else if (this.operation == OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation) {
return OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.domId;
} else {
return '';
}
} else {
return '';
}
},
title() {
return '自动折返';

View File

@ -13,9 +13,9 @@
<menu-train ref="menuTrain" :selected="selected" />
<menu-station ref="menuStation" :selected="selected" />
<menu-limit ref="menuLimit" :selected="selected" />
<passive-alarm ref="passiveAlarm" />
<!--<passive-alarm ref="passiveAlarm" />-->
<passive-contorl ref="passiveControl" />
<passive-Timeout ref="passiveTimeout" />
<!--<passive-Timeout ref="passiveTimeout" />-->
</template>
</div>
</template>
@ -34,9 +34,9 @@ import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuBar from './menuBar';
import MenuLimit from './menuLimit';
import PassiveAlarm from './passiveDialog/alarm';
// import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from './passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
// import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'Menus',
@ -53,9 +53,9 @@ export default {
MenuStation,
MenuTrain,
MenuLimit,
PassiveAlarm,
PassiveContorl,
PassiveTimeout
// PassiveAlarm,
PassiveContorl
// PassiveTimeout
},
props: {
selected: {
@ -92,6 +92,9 @@ export default {
</script>
<style>
.menus{
height:0px;
}
.menus .pop-menu {
background: #F0F0F0;
}
@ -110,7 +113,7 @@ export default {
.ningbo-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgb(144, 144, 144, 0.8);
border: 2px solid rgba(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;

View File

@ -106,14 +106,18 @@ export default {
},
//
handlerTurnBack() {
commitOperate(menuOperate.Signal.setAutoTurnBack, {cycleCode:this.selected.cycleCode}, 0).then((data)=>{
this.$refs.turnBackControl.doShow(data.operate, this.selected);
commitOperate(menuOperate.Signal.setAutoTurnBack, {cycleCode:this.selected.cycleCode}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.turnBackControl.doShow(operate, this.selected);
}
});
},
//
cancelTurnBack() {
commitOperate(menuOperate.Signal.cancelAutoTurnBack, {cycleCode:this.selected.cycleCode, cancelRoute:false}, 0).then((data)=>{
this.$refs.turnBackControl.doShow(data.operate, this.selected);
commitOperate(menuOperate.Signal.cancelAutoTurnBack, {cycleCode:this.selected.cycleCode, cancelRoute:false}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.turnBackControl.doShow(operate, this.selected);
}
});
}
}

View File

@ -112,7 +112,7 @@ export default {
},
setCenterControl() {
//
commitOperate(menuOperate.StationControl.requestCentralControl, {}, 0).then(({valid, operate})=>{
commitOperate(menuOperate.StationControl.requestCentralControl, {standCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.stationControl.doShow(operate, this.selected);
}
@ -120,7 +120,7 @@ export default {
},
setStationControl() {
//
commitOperate(menuOperate.StationControl.requestStationControl, {}, 0).then(({valid, operate})=>{
commitOperate(menuOperate.StationControl.requestStationControl, {standCode:this.selected.code}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.stationControl.doShow(operate, this.selected);
}

View File

@ -113,7 +113,7 @@ export default {
{
label: '设置临时限速',
handler: this.setSpeed,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
},
{
type: 'separator'
@ -121,7 +121,7 @@ export default {
{
label: '查看公里标',
handler: this.undeveloped,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED
}
]
},

View File

@ -1,207 +1,213 @@
<template>
<el-dialog class="ningbo-01__systerm alarm-detail" :title="level+'级告警详细信息'" :visible.sync="show" width="760px"
:before-close="doClose" :zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
<el-form label-width="80px" size="mini">
<el-row>
<el-col :span="8">
<el-form-item label="线路名称">
<el-input v-model="model.lineName" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位名称">
<el-input v-model="model.unitName" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="模块名称">
<el-input v-model="model.moduleName" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<el-form-item label="报警时间">
<el-date-picker v-model="model.alarmDate" type="datetime" placeholder="选择日期时间" disabled>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item>
<span slot="label">&emsp;</span>
<el-input v-model="model.level" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="确认状态">
<el-input v-model="model.confirm" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9" class="alarm-type">
<el-form-item>
<span slot="label">&emsp;&emsp;</span>
<el-input v-model="model.type" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="15" class="alarm-child-type">
<el-form-item label="子类型">
<el-input v-model="model.childType" disabled></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="时间摘要">
<el-input v-model="model.timeSummary" disabled></el-input>
</el-form-item>
<el-form-item label="推荐操作">
<el-input v-model="model.recommendedOperation" disabled></el-input>
</el-form-item>
<div class="alarm-detail-description">
<span> 报警详细描述</span><br>
<el-input type="textarea" :rows="5" placeholder="请输入内容" v-model="model.alarmDetail" disabled>
</el-input>
</div>
</el-form>
<el-row class="button-group">
<el-col :span="3" :offset="9">
<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>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm alarm-detail"
:title="level+'级告警详细信息'"
:visible.sync="show"
width="760px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<el-form label-width="80px" size="mini">
<el-row>
<el-col :span="8">
<el-form-item label="线路名称">
<el-input v-model="model.lineName" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单位名称">
<el-input v-model="model.unitName" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="模块名称">
<el-input v-model="model.moduleName" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9">
<el-form-item label="报警时间">
<el-date-picker v-model="model.alarmDate" type="datetime" placeholder="选择日期时间" disabled />
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item>
<span slot="label">&emsp;</span>
<el-input v-model="model.level" disabled />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="确认状态">
<el-input v-model="model.confirm" disabled />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="9" class="alarm-type">
<el-form-item>
<span slot="label">&emsp;&emsp;</span>
<el-input v-model="model.type" disabled />
</el-form-item>
</el-col>
<el-col :span="15" class="alarm-child-type">
<el-form-item label="子类型">
<el-input v-model="model.childType" disabled />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="时间摘要">
<el-input v-model="model.timeSummary" disabled />
</el-form-item>
<el-form-item label="推荐操作">
<el-input v-model="model.recommendedOperation" disabled />
</el-form-item>
<div class="alarm-detail-description">
<span> 报警详细描述</span><br>
<el-input v-model="model.alarmDetail" type="textarea" :rows="5" placeholder="请输入内容" disabled />
</div>
</el-form>
<el-row class="button-group">
<el-col :span="3" :offset="9">
<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>
<script>
import { mapGetters } from 'vuex';
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/ConstDic';
export default {
name: 'AlarmDetail',
data() {
return {
dialogShow: false,
loading: false,
level: 0,
operate: null,
controlProps: {
'01': '中控',
'02': '站控'
},
model: {
lineName: '',
unitName: '',
moduleName: '',
level: '',
confirm: '',
alarmDate: '',
type: '',
childType: '',
timeSummary: '',
recommendedOperation: '',
alarmDetail: ''
}
export default {
name: 'AlarmDetail',
data() {
return {
dialogShow: false,
loading: false,
level: 0,
operate: null,
controlProps: {
'01': '中控',
'02': '站控'
},
model: {
lineName: '',
unitName: '',
moduleName: '',
level: '',
confirm: '',
alarmDate: '',
type: '',
childType: '',
timeSummary: '',
recommendedOperation: '',
alarmDetail: ''
}
};
},
computed: {
...mapGetters('map', [
'name'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
computed: {
...mapGetters('map', [
'name',
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
},
},
watch: {
'$store.state.socket.msgHead': function (elem) {
if (elem && elem.hasOwnProperty('success')) {
if (elem.success) {
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,
}
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.alarm.domId : '';
}
},
watch: {
'$store.state.socket.msgHead': function (elem) {
if (elem && elem.hasOwnProperty('success')) {
if (elem.success) {
const operate = this.$store.state.training.operate;
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
const newOperate = {
type: operate.type,
name: station.name
};
this.doShow(newOperate);
}
this.doShow(newOperate);
}
},
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
})
},
methods: {
doShow(operate) {
this.operate = operate || {};
this.model = {
lineName: this.name,
unitName: this.operate.name,
moduleName: 'CMM控制模式转换模式',
level: '0级告警',
confirm: '确认状态',
alarmDate: new Date(),
type: '系统事件',
childType: '依据信号设备操作命令设置控制模式',
timeSummary: '控制模式摘要',
recommendedOperation: '',
alarmDetail: `控制模式转换:${this.operate.name}由中控转为站控模式!`
}
this.dialogShow = true;
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');
},
cancel() {
let operate = {
type: this.operate.type,
operation: OperationEvent.Command.close.alarm.operation,
}
this.$store.dispatch('training/next', 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/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.doClose();
}
})
},
isClose() {
return this.dialogShow;
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
this.operate = operate || {};
this.model = {
lineName: this.name,
unitName: this.operate.name,
moduleName: 'CMM控制模式转换模式',
level: '0级告警',
confirm: '确认状态',
alarmDate: new Date(),
type: '系统事件',
childType: '依据信号设备操作命令设置控制模式',
timeSummary: '控制模式摘要',
recommendedOperation: '',
alarmDetail: `控制模式转换:${this.operate.name}由中控转为站控模式!`
};
this.dialogShow = true;
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');
},
cancel() {
const operate = {
type: this.operate.type,
operation: OperationEvent.Command.close.alarm.operation
};
this.$store.dispatch('training/next', 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/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.doClose();
}
});
},
isClose() {
return this.dialogShow;
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
.alarm-type .el-input {
width: 220px;
}

View File

@ -1,106 +1,114 @@
<template>
<el-dialog class="ningbo-01__systerm cmd-notice" title="操作命令提示" :visible.sync="show" width="400px" :before-close="doClose"
:zIndex="2000" :modal="false" :close-on-click-modal="false" v-dialogDrag>
<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>
<el-dialog
v-dialogDrag
class="ningbo-01__systerm cmd-notice"
title="操作命令提示"
:visible.sync="show"
width="400px"
: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>
<script>
import { MapDeviceType, OperationEvent } from '@/scripts/ConstDic';
export default {
name: 'CmdNotice',
data() {
return {
dialogShow: false,
loading: false,
operate: null,
name: '',
msg: ''
}
import { OperationEvent } from '@/scripts/ConstDic';
export default {
name: 'CmdNotice',
data() {
return {
dialogShow: false,
loading: false,
operate: null,
name: '',
msg: ''
};
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
computed: {
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.notice.domId : '';
},
},
watch: {
'$store.state.socket.msgHead': function (elem) {
if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
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,
}
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.close.notice.domId : '';
}
},
watch: {
'$store.state.socket.msgHead': function (elem) {
if (elem && (elem.hasOwnProperty('success') || elem.hasOwnProperty('timeout'))) {
const operate = this.$store.state.training.operate;
const control = this.$store.getters['map/getDeviceByCode'](elem.stationControlCode);
const station = this.$store.getters['map/getDeviceByCode'](control.stationCode);
const newOperate = {
type: operate.type,
name: station.name
};
if (elem.timeout) {
newOperate['msg'] = '请求超时';
this.doShow(newOperate);
} else if (!elem.success) {
newOperate['msg'] = '请求拒绝';
this.doShow(newOperate);
}
if (elem.timeout) {
newOperate['msg'] = '请求超时';
this.doShow(newOperate);
} else if (!elem.success) {
newOperate['msg'] = '请求拒绝';
this.doShow(newOperate);
}
},
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
})
},
methods: {
doShow(operate) {
this.operate = operate || {};
this.name = this.operate.name || '';
this.msg = this.operate.msg || '';
this.dialogShow = true;
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');
},
cancel() {
let operate = {
operation: this.operate.type,
operation: OperationEvent.Command.close.notice.operation,
}
this.$store.dispatch('training/next', 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/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.doClose();
}
})
},
isClose() {
return this.dialogShow;
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate) {
this.operate = operate || {};
this.name = this.operate.name || '';
this.msg = this.operate.msg || '';
this.dialogShow = true;
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');
},
cancel() {
const operate = {
operation: OperationEvent.Command.close.notice.operation
};
this.$store.dispatch('training/next', 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/next', operate).then(({ valid }) => {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
if (valid) {
this.doClose();
}
});
},
isClose() {
return this.dialogShow;
}
}
};
</script>

View File

@ -21,6 +21,7 @@ class Model {
transferTrackNameShow: true // 转换轨名称显示
};
this['private'][deviceType.Signal] = {
nameShow: true, // 信号机名称显示
linkageAutoRouteShow: true, // 联锁自动进路表示灯显示
atsAutoTriggerShow: true // ATS自动触发表示灯显示
};

View File

@ -0,0 +1,793 @@
export default {
list: [
{
maxDuration: 8,
minDuration: 5,
operateType: 'Stand_Set_Hold_Train',
skinCode: '06',
trainingName: '扣车({10}-{12} 站台)',
trainingRemark: '设置扣车功能',
trainingType: 'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: 'Stand_Cancel_Hold_Train',
skinCode: '06',
trainingName: '取消扣车({10}-{12} 站台)',
trainingRemark: '取消扣车功能',
trainingType: 'Stand',
productTypes: ['01', '02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: 'Stand_Set_Hold_Train_Batch',
skinCode: '06',
trainingName: '批量扣车({10}-{12} 站台)',
trainingRemark: '批量扣车功能',
trainingType: 'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '515', tip: '鼠标右键菜单选择【批量扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '515', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: 'Stand_Cancel_Hold_Train_Batch',
skinCode: '06',
trainingName: '取消批量扣车({10}-{12} 站台)',
trainingRemark: '取消批量扣车功能',
trainingType: 'Stand',
productTypes: ['02'], // 产品类型 01 现地 02 行调
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '516', tip: '鼠标右键菜单选择【取消批量扣车】' },
{ deviceType: '06', orderNum: 2, operateCode: '516', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Early_Depart',
skinCode: '06',
trainingName: '提前发车({10}-{12}站台)',
trainingRemark: '提前发车功能',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【提前发车】' },
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Jump_Stop',
skinCode: '06',
trainingName: '设置跳停({10}-{12}站台)',
trainingRemark: '设置跳停功能',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【设置跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Cancel_Jump_Stop',
skinCode: '06',
trainingName: '取消跳停({10}-{12}站台)',
trainingRemark: '设置取消跳停功能',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Park_Time',
skinCode: '06',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(自动, 一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【自动】', val: '01' },
{ deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Park_Time',
skinCode: '06',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Park_Time',
skinCode: '06',
trainingName: '设置停站时间({10}-{12}站台)',
trainingRemark: '设置停站时间(人工, 20秒, 一次有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' },
{ deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' },
{ deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击调整为【20】', val: '20' },
{ deviceType: '06', orderNum: 4, operateCode: '5093', tip: '鼠标左键点击,选择【一次有效】', val: 'false' },
{ deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Run_Time',
skinCode: '06',
trainingName: '设置运行等级({10}-{12} 站台)',
trainingRemark: '设置运行等级(设置区间 运行等级1运行时间为115一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5104', tip: '鼠标左键点击选择【1】', val: '1' },
{ deviceType: '06', orderNum: 3, operateCode: '5101', tip: '鼠标左键点击选择【115】', val: '115' },
{ deviceType: '06', orderNum: 4, operateCode: '5103', tip: '鼠标左键点击,选择【一直有效】', val: 'true' },
{ deviceType: '06', orderNum: 5, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Run_Time',
skinCode: '06',
trainingName: '设置运行等级({10}-{12} 站台)',
trainingRemark: '设置运行等级(设置区间 运行等级自动,一直有效)',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' },
{ deviceType: '06', orderNum: 2, operateCode: '5104', tip: '鼠标左键点击,选择【自动】', val: '0' },
{ deviceType: '06', orderNum: 3, operateCode: '5103', tip: '鼠标左键点击,选择【一直有效】', val: 'true' },
{ deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Set_Hold_Train_Auto',
skinCode: '06',
trainingName: '区间列车数量限制({10}-{12}站台)',
trainingRemark: '区间列车数量限制',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '517', tip: '鼠标右键菜单选择【区间列车数量限制】' },
{ deviceType: '06', orderNum: 2, operateCode: '517', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Stand_Cancel_Hold_Train_Auto',
skinCode: '06',
trainingName: '取消区间列车数量限制({10}-{12}站台)',
trainingRemark: '取消区间列车数量限制',
trainingType: 'Stand',
productTypes: ['02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '518', tip: '鼠标右键菜单选择【取消区间列车数量限制】' },
{ deviceType: '06', orderNum: 2, operateCode: '518', tip: '鼠标左键点击【确认】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: 'Stand_View_Status',
skinCode: '06',
trainingName: '站台详细信息({10}-{12}站台)',
trainingRemark: '站台详细信息功能',
trainingType: 'Stand',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【站台详细信息】' },
{ deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Fault_Unlock',
skinCode: '06',
trainingName: '区段故障解锁({8}{9})',
trainingRemark: '区段故障解锁',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '4024', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4028', tip: '鼠标左键选择({8}{9})区段', val: '{19}' },
{ deviceType: '03', orderNum: 4, operateCode: '4025', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4023', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Cut_Off',
skinCode: '06',
trainingName: '区段跟踪切除({8}{9})',
trainingRemark: '区段跟踪切除',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段跟踪切除】' },
{ deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Active',
skinCode: '06',
trainingName: '区段跟踪激活({8}{9})',
trainingRemark: '区段跟踪激活功能',
trainingType: 'Section',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段跟踪激活】' },
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Set_Limit_Speed',
skinCode: '06',
trainingName: '设置临时限速({8}{9})',
trainingRemark: '设置临时限速功能限速值5',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Set_Limit_Speed',
skinCode: '06',
trainingName: '设置临时限速({8}{9})',
trainingRemark: '设置临时限速功能(限速值:不限速)',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【不限速】', val: '0' },
{ deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Block',
skinCode: '06',
trainingName: '区段封锁({8}{9})',
trainingRemark: '区段封锁功能',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' },
{ deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Unblock',
skinCode: '06',
trainingName: '区段解封({8}{9})',
trainingRemark: '区段解封功能',
trainingType: 'Section',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '4043', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '4046', tip: '鼠标左键选择({8}{9})区段', val: '{19}' },
{ deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '4042', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Section_Confirm_Axis_Valid',
skinCode: '06',
trainingName: '确认计轴有效({8}{9})',
trainingRemark: '确认计轴有效功能',
trainingType: 'Section',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '412', tip: '鼠标右键菜单选择【确认计轴有效】' },
{ deviceType: '03', orderNum: 2, operateCode: '4123', tip: '鼠标左键选择【确认】' },
{ deviceType: '03', orderNum: 3, operateCode: '4121', tip: '鼠标左键选择{20}', val: '{22}' },
{ deviceType: '03', orderNum: 4, operateCode: '4122', tip: '鼠标左键选择({8}{9})', val: '{19}' },
{ deviceType: '03', orderNum: 5, operateCode: '4124', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Turn_NP_Chain',
skinCode: '06',
trainingName: '定操({7})',
trainingRemark: '定操({7})',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '101', tip: '鼠标左键菜单选择【定操】' },
{ deviceType: '02', orderNum: 2, operateCode: '101', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Turn_RP_Chain', // 0313 新增定位字典
skinCode: '06',
trainingName: '反操({7})',
trainingRemark: '反操({7})',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '102', tip: '鼠标右键菜单选择【反操】' },
{ deviceType: '02', orderNum: 2, operateCode: '102', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Cut_Off',
skinCode: '06',
trainingName: '区段切除({7})',
trainingRemark: '区段切除',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' },
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Active',
skinCode: '06',
trainingName: '区段激活({7})',
trainingRemark: '区段激活功能',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' },
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Confirm_Axis_Valid',
skinCode: '06',
trainingName: '确认计轴有效({8}{9})',
trainingRemark: '确认计轴有效功能',
trainingType: 'Switch',
productTypes: ['02'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '412', tip: '鼠标右键菜单选择【确认计轴有效】' },
{ deviceType: '03', orderNum: 2, operateCode: '4123', tip: '鼠标左键选择【确认】' },
{ deviceType: '03', orderNum: 3, operateCode: '4121', tip: '鼠标左键选择{21}', val: '{23}' },
{ deviceType: '03', orderNum: 4, operateCode: '4122', tip: '鼠标左键选择({25})', val: '{24}' },
{ deviceType: '03', orderNum: 5, operateCode: '4124', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '03', orderNum: 6, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Single_Lock',
skinCode: '06',
trainingName: '道岔单锁({7})',
trainingRemark: '道岔单锁功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Single_Unlock',
skinCode: '06',
trainingName: '道岔单解({7})',
trainingRemark: '道岔单解功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' },
{ deviceType: '03', orderNum: 2, operateCode: '1043', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '1046', tip: '鼠标左键选择({7})区段', val: '{17}' },
{ deviceType: '03', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '1042', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Block',
skinCode: '06',
trainingName: '道岔封锁({7})',
trainingRemark: '道岔封锁功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔封锁】' },
{ deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Unblock',
skinCode: '06',
trainingName: '道岔解封({7})',
trainingRemark: '道岔解封功能',
trainingType: 'Switch',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '1063', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '1066', tip: '鼠标左键选择({7})区段', val: '{17}' },
{ deviceType: '03', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '1062', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Set_Limit_Speed',
skinCode: '06',
trainingName: '设置临时限速({7})',
trainingRemark: '设置临时限速功能限速值10',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值5】', val: '10' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Switch_Set_Limit_Speed',
skinCode: '06',
trainingName: '设置临时限速({7})',
trainingRemark: '设置临时限速功能(限速值:不限)',
trainingType: 'Switch',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值: 不限】', val: '0' },
{ deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' },
{ deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' },
{ deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' },
{ deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮' },
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_Route',
skinCode: '06',
trainingName: '排列进路({3})',
trainingRemark: '排列进路',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【排列进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_Route',
skinCode: '06',
trainingName: '取消进路({3})',
trainingRemark: '取消进路',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 8,
minDuration: 5,
operateType: 'Signal_Reopen_Signal',
skinCode: '06',
trainingName: '信号重开({3} 进路)',
trainingRemark: '信号重开功能',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' },
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Open_Auto_Setting',
skinCode: '06',
trainingName: '进路交自动控({5})',
trainingRemark: '进路交自动控',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【进路交自动控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择【{3}】进路', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Close_Auto_Setting',
skinCode: '06',
trainingName: '进路交人工控({5})',
trainingRemark: '进路交人工控',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【进路交人工控】' },
{ deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择【{3}】进路', val: '{4}' },
{ deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_CI_Auto',
skinCode: '06',
trainingName: '设置通过模式({5})',
trainingRemark: '设置通过模式',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置通过模式】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_CI_Auto',
skinCode: '06',
trainingName: 'Fleet进路办理({5})',
trainingRemark: 'Fleet进路办理',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【Fleet进路办理】' },
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_CI_Auto',
skinCode: '06',
trainingName: '取消通过模式({5})',
trainingRemark: '取消通过模式',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消通过模式】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_CI_Auto',
skinCode: '06',
trainingName: 'Fleet进路取消({5})',
trainingRemark: 'Fleet进路取消',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【Fleet进路取消】' },
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_Guide',
skinCode: '06',
trainingName: '人工解锁进路({5})',
trainingRemark: '人工解锁进路',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '318', tip: '鼠标右键菜单选择【人工解锁进路】' },
{ deviceType: '04', orderNum: 2, operateCode: '318', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_Guide',
skinCode: '06',
trainingName: '信号机引导办理({5})',
trainingRemark: '信号机引导办理',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【信号机引导办理】' },
{ deviceType: '04', orderNum: 2, operateCode: '308', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Block',
skinCode: '06',
trainingName: '信号封锁({5})',
trainingRemark: '信号封锁',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封锁】' },
{ deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Unblock',
skinCode: '06',
trainingName: '信号解封({5})',
trainingRemark: '信号解封功能',
trainingType: 'Signal',
productTypes: ['01'],
stepVOList: [
{ deviceType: '03', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' },
{ deviceType: '03', orderNum: 2, operateCode: '3073', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 3, operateCode: '3076', tip: '鼠标左键选择({5})区段', val: '{6}' },
{ deviceType: '03', orderNum: 4, operateCode: '3074', tip: '鼠标左键点击【确定】按钮' },
{ deviceType: '03', orderNum: 5, operateCode: '3072', tip: '鼠标左键点击【关闭】按钮' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Find_Routes_Status',
skinCode: '06',
trainingName: '查询进路控制状态({5})',
trainingRemark: '查询进路控制状态',
trainingType: 'Signal',
productTypes: ['01', '02'],
stepVOList: [
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制状态】' },
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
]
},
{
maxDuration: 20,
minDuration: 15,
operateType: 'CM_Apply_For_Center_Control',
skinCode: '06',
trainingName: '请求遥控({1})',
trainingRemark: '控制权限转换,站控转中控',
trainingType: 'ControlConvertMenu',
productTypes: ['02'], // 行调请求中控
stepVOList: [
{ deviceType: 'button', orderNum: 1, operateCode: '204', tip: '鼠标右键菜单选择【请求遥控】'},
{ deviceType: '05', orderNum: 2, operateCode: '2043', tip: '鼠标左键点击【应用】' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'CM_Apply_For_Station_Control',
skinCode: '06',
trainingName: '请求站控({1})',
trainingRemark: '控制权限转换,中控转站控',
trainingType: 'ControlConvertMenu',
productTypes: ['01'], // 现地请求站控
stepVOList: [
{ deviceType: 'button', orderNum: 1, operateCode: '202', tip: '鼠标右键菜单选择【请求站控】'},
{ deviceType: '05', orderNum: 2, operateCode: '2023', tip: '鼠标左键点击【应用】' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Set_Auto_Turn_Back',
skinCode: '06',
trainingName: '设置自动折返进路({3})',
trainingRemark: '设置自动折返进路',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '05', orderNum: 1, operateCode: '900', tip: '鼠标右键菜单选择【设置自动折返】'},
{ deviceType: '05', orderNum: 2, operateCode: '900', tip: '鼠标左键点击【应用】' }
]
},
{
maxDuration: 15,
minDuration: 8,
operateType: 'Signal_Cancel_Auto_Turn_Back',
skinCode: '06',
trainingName: ' 取消自动折返进路({3})',
trainingRemark: ' 取消自动折返进路',
trainingType: 'Signal',
productTypes: ['02'],
stepVOList: [
{ deviceType: '05', orderNum: 1, operateCode: '901', tip: '鼠标右键菜单选择【取消自动折返】'},
{ deviceType: '05', orderNum: 2, operateCode: '901', tip: '鼠标左键点击【应用】' }
]
}
]
};

View File

@ -192,6 +192,8 @@ export function parser(data, skinCode, showConfig) {
if (cnodeSection && lnodeSection && rnodeSection) {
cnodeSection['switch'] = lnodeSection['switch'] = rnodeSection['switch'] = mapDevice[elem.code];
const sectionParent = mapDevice[cnodeSection.parentCode];
sectionParent['switch'] = mapDevice[elem.code];
if (cnodeSection.points[0].x == lnodeSection.points[lnodeSection.points.length - 1].x && cnodeSection.points[0].y == lnodeSection.points[lnodeSection.points.length - 1].y) {
mapDevice[elem.code].intersection = {
x: cnodeSection.points[0].x,

View File

@ -132,7 +132,12 @@ export default {
window.open(routeData.href, '_blank');
},
goToHelp() {
const href = 'https://joylink.club/helps/help1.pdf';
let href = '';
if (getSessionStorage('project').startsWith('design')) {
href = 'https://joylink.club/docs-design';
} else {
href = 'https://joylink.club/docs';
}
window.open(href, '_blank');
},
goEmpty() {},

View File

@ -128,8 +128,7 @@ router.beforeEach((to, from, next) => {
}
} else {
// 继电器使用
console.log(to);
// console.log(to);
// 未登录情况下
if (whiteList.indexOf(to.path) !== -1) {
// 在免登录白名单,直接进入

View File

@ -52,6 +52,7 @@ const Taskmanage = () => import('@/views/lesson/taskmanage/list');
const TrainingRuleList = () => import('@/views/lesson/trainingRule/list');
const TrainingRuleEdit = () => import('@/views/lesson/trainingRule/detail/index');
const Trainingmanage = () => import('@/views/lesson/trainingmanage/index');
const TrainingmanageOld = () => import('@/views/lesson/trainingmanage/oldMap');
const LessonEdit = () => import('@/views/lesson/lessoncategory/index');
const LessonHome = () => import('@/views/lesson/home');
const LessonDetail = () => import('@/views/lesson/details');
@ -312,6 +313,11 @@ export const asyncRouter = [
component: Trainingmanage,
hidden: true
},
{// 老地图实训管理
path: 'lesson/TrainingmanageOld',
component: TrainingmanageOld,
hidden: true
},
{ // 创建课程
path: 'lesson/edit/:type',
component: LessonEdit,

View File

@ -155,6 +155,19 @@ export default {
{ enlabel: 'Driver simulation driving system', label: '司机模拟驾驶系统', value: '04'},
{ enlabel: 'Dispatch workstation', label: '派班工作站', value: '05'},
{ enlabel: 'ISCS workstation', label: 'ISCS工作站', value: '06'}
]
],
trainingPrdType: [
{ enlabel: 'ATS local workstation', label: 'ATS现地工作站', value: 'Local'},
{ enlabel: 'ATS Traffic dispatching workstation', label: 'ATS行调工作站', value: 'Center'}
],
trainingDeviceType: {
Switch: {enlabel: 'Switch training', label:'道岔实训'},
Section: {enlabel: 'Section training', label:'区段实训'},
Signal: {enlabel: 'Signal training', label:'信号机实训'},
Stand: {enlabel: 'Stand training', label:'站台实训'},
Station: {enlabel: 'Station training', label:'车站实训'},
ControlConvertMenu: {enlabel: 'Control mode training', label:'控制模式实训'},
TrainWindow: {enlabel: 'TrainWindow training', label:'车次窗实训'}
}
}
};

View File

@ -2291,6 +2291,7 @@ export const UrlConfig = {
trainingRule: '/design/lesson/trainingRule',
trainingRuleDetail: '/design/lesson/trainingRule/detail',
trainingManage: '/design/lesson/trainingManage',
trainingManageOld: '/design/lesson/trainingManageOld',
lessonTraining: '/design/lesson/training',
trainingRecord: '/design/lesson/training',
runPlan: '/design/runPlan/detail',

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@ export default {
/** 强扳 */
CMD_SWITCH_FORCE_TURN: {value:'Switch_Force_Turn', label: '强扳'},
/** 确认计轴有效 */
CMD_SWITCH_COMFIRMATION_AXLE:{value:'Switch_Comfirmation_Axle', label: '确认计轴有效'},
CMD_SWITCH_COMFIRMATION_AXLE:{value:'Switch_Confirm_Axis_Valid', label: '确认计轴有效'},
/** 定位(定操) */
CMD_SWITCH_NORMAL_POSITION:{value:'Switch_Normal_Position', label:'单操到定位'},
/** 反位(反操) */
@ -37,7 +37,11 @@ export default {
/** 道岔定操(联动) */
CMD_SWITCH_TURN_NP_CHAIN: {value: 'Switch_Turn_NP_Chain', label: '道岔定操(联动)'},
/** 道岔反操(联动)*/
CMD_SWITCH_TURN_RP_CHAIN: {value: 'Switch_Turn_RP_Chain', label: '道岔反操(联动)'}
CMD_SWITCH_TURN_RP_CHAIN: {value: 'Switch_Turn_RP_Chain', label: '道岔反操(联动)'},
/** 道岔区段封锁 */
CMD_SWITCH_SECTION_BLOCK: {value: 'Switch_Section_Block', label: '道岔区段封锁'},
/** 道岔区段解封 */
CMD_SWITCH_SECTION_UNBLOCK: {value: 'Switch_Section_Unblock', label: '道岔区段解封'}
},
// 控制模式操作
@ -95,7 +99,7 @@ export default {
/** 取消联锁自动触发 */
CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER: {value:'Signal_Cancel_CI_Auto_Trigger', label: '取消联锁自动触发'},
/** 查询进路状态 */
CMD_SIGNAL_DETAIL: {value:'Signal_Detail', label: '查询进路状态'},
CMD_SIGNAL_DETAIL: {value:'Signal_Find_Routes_Status', label: '查询进路状态'},
/** 设置自动折返 */
CMD_SIGNAL_SET_AUTO_TURN_BACK: {value: 'Signal_Set_Auto_Turn_Back', label: '设置自动折返'},
/** 取消自动折返 */
@ -125,7 +129,7 @@ export default {
/** 取消临时限速 */
CMD_SECTION_CANCEL_LIMIT_SPEED:{value:'Section_Cancel_Limit_Speed', label: '取消临时限速'},
/** 确认计轴有效 */
CMD_SECTION_COMFIRMATION_AXLE:{value:'Section_Comfirmation_Axle', label: '确认计轴有效'},
CMD_SECTION_COMFIRMATION_AXLE:{value:'Section_Confirm_Axis_Valid', label: '确认计轴有效'},
/** 详情 */
CMD_SECTION_DETAILS: {value: 'Section_Details', label: '属性'}
},

View File

@ -98,7 +98,6 @@ class Handler {
const valid = ValidateHandler.vaildate(this.getTrainingMode(), operation);
this.afterValid(operation, valid);
rtn.valid = valid;
if (operation.cmdType && valid) {
const command = this.getCommand(operation);
if (command) {

View File

@ -838,6 +838,10 @@ export const OperationEvent = {
menu: {
operation: '309',
domId: '_Tips-Signal-SetAutoInterlock-Menu'
},
confirm: {
operation: '3091',
domId: '_Tips-Signal-SetAutoInterlock-Confirm'
}
},
// 取消联锁自动进路
@ -845,6 +849,10 @@ export const OperationEvent = {
menu: {
operation: '310',
domId: '_Tips-Signal-CancelAutoInterlock-Menu'
},
confirm: {
operation: '3101',
domId: '_Tips-Signal-CancelAutoInterlock-Confirm'
}
},
// 设置联锁自动触发
@ -852,6 +860,10 @@ export const OperationEvent = {
menu: {
operation: '311',
domId: '_Tips-Signal-SetAutoTrigger-Menu{TOP}'
},
confirm: {
operation: '3111',
domId: '_Tips-Signal-SetAutoTrigger-Confirm'
}
},
// 取消联锁自动触发
@ -859,6 +871,10 @@ export const OperationEvent = {
menu: {
operation: '312',
domId: '_Tips-Signal-CancelAutoTrigger-Menu{TOP}'
},
confirm: {
operation: '3121',
domId: '_Tips-Signal-CancelAutoTrigger-Confirm'
}
},
// 信号关灯

View File

@ -51,6 +51,7 @@ class ValidateHandler {
const steps = Handler.getSteps();
const order = Handler.getOrder();
let valid = false;
if (operate.over && steps.length == 1) { // 右键菜单直接发送校验
if (operate && steps[0] &&
operate.code == steps[0].code &&
@ -61,6 +62,7 @@ class ValidateHandler {
const standard = steps[order];
if (operate && standard &&
operate.operation == standard.operation &&
operate.code == standard.code &&
operate.val == standard.val) {
valid = true;
}

View File

@ -203,7 +203,9 @@ const map = {
mousemove: 0, // 实训战场图移动标识
version: '', // 地图版本,
trainListUpdate:0, // 列车列表更新标识,
runPlanStatus:false // 是否正处于按计划行车
runPlanStatus:false, // 是否正处于按计划行车
showCentralizedStationCode: '', // 现地分集中站显示(集中站code)
showCentralizedStationNum: 0 // 现地分集中站显示判断
},
getters: {
@ -714,6 +716,12 @@ const map = {
},
setRunPlanStatus:(state, runPlanStatus) => {
state.runPlanStatus = runPlanStatus;
},
setShowCentralizedStationCode: (state, stationCode) => {
state.showCentralizedStationCode = stationCode;
},
setShowCentralizedStationNum: (state) => {
state.showCentralizedStationNum++;
}
},
@ -880,6 +888,12 @@ const map = {
},
setRunPlanStatus:({commit}, runPlanStatus) => {
commit('setRunPlanStatus', runPlanStatus);
},
setShowCentralizedStationCode: ({commit}, stationCode) => {
commit('setShowCentralizedStationCode', stationCode);
},
setShowCentralizedStationNum: ({commit}) => {
commit('setShowCentralizedStationNum');
}
}
};

View File

@ -1,5 +1,6 @@
import axios from 'axios';
import store from '@/store/index_APP_TARGET';
import qs from 'qs';
import { i18n } from '@/main.js';
import { MessageBox } from 'element-ui';
import { getToken } from '@/utils/auth';
@ -23,6 +24,11 @@ service.interceptors.request.use(config => {
if (config.time) {
config.timeout = config.time; // 让每个请求携带自定义token 请根据实际情况自行修改
}
if (config.method === 'get') {
config.paramsSerializer = function(params) {
return qs.stringify(params, { arrayFormat: 'repeat' });
};
}
return config;
}, error => {
// Do something with request error

View File

@ -5,7 +5,7 @@
<div class="but-group">
<el-button v-if="hasRelease" size="mini" @click="operationManage">{{ $t('lesson.trainingRule') }}</el-button>
<el-button v-if="hasRelease" size="mini" @click="trainingManage">{{ $t('lesson.trainingManage') }}</el-button>
<el-button v-if="hasRelease" size="mini" @click="taskManage">{{ $t('lesson.taskManage') }}</el-button>
<!-- <el-button v-if="hasRelease" size="mini" @click="taskManage">{{ $t('lesson.taskManage') }}</el-button> -->
<el-button size="mini" type="primary" @click="lessonCreateByPublish">{{ $t('lesson.createNewCoursesFromRelease') }}</el-button>
<el-button size="mini" type="primary" @click="lessonCreate">{{ $t('lesson.newConstruction') }}</el-button>
</div>
@ -209,10 +209,14 @@ export default {
this.$router.push({path: `${UrlConfig.design.taskManage}`, query: {mapId: this.$route.params.mapId}});
},
trainingManage() {
this.$router.push({path: `${UrlConfig.design.trainingManage}`, query: {mapId: this.$route.params.mapId, drawWay: this.$route.query.drawWay, lineCode: this.$route.query.lineCode}});
if (this.$route.query.drawWay + '' === 'true') {
this.$router.push({path: `${UrlConfig.design.trainingManage}`, query: {mapId: this.$route.params.mapId, drawWay: this.$route.query.drawWay, lineCode: this.$route.query.lineCode}});
} else {
this.$router.push({path: `${UrlConfig.design.trainingManageOld}`, query: {mapId: this.$route.params.mapId, drawWay: this.$route.query.drawWay, lineCode: this.$route.query.lineCode}});
}
},
operationManage() {
this.$router.push({path: `${UrlConfig.design.trainingRule}`, query: {mapId: this.$route.params.mapId, lineCode: this.$route.query.lineCode}});
this.$router.push({path: `${UrlConfig.design.trainingRule}`, query: {mapId: this.$route.params.mapId, lineCode: this.$route.query.lineCode, drawWay: this.$route.query.drawWay}});
},
revertLesson(index, row) {
this.$confirm(this.$t('tip.cancelCoursePublicationHint'), this.$t('global.tips'), {

View File

@ -6,6 +6,7 @@
width="25%"
:before-close="handleClose"
center
:z-index="2000"
>
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer">
@ -16,8 +17,9 @@
</template>
<script>
import Vue from 'vue';
import { addTrainingRulesList } from '@/api/management/operation';
import { OperationList } from '@/scripts/OperationConfig';
// import { OperationList } from '@/scripts/OperationConfig';
import { getLineCodeList } from '@/api/management/mapline';
export default {
@ -95,19 +97,13 @@ export default {
const self = this;
this.$refs.dataform.validateForm(() => {
if (this.isShow) {
this.$confirm(
this.$t('lesson.wellClearOperate'),
this.$t('global.tips'),
{
confirmButtonText: this.$t('global.confirm'),
cancelButtonText: this.$t('global.cancel'),
type: 'warning'
}
)
.then(() => {
self.create();
})
.catch(() => {});
this.$confirm(this.$t('lesson.wellClearOperate'), this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm'),
cancelButtonText: this.$t('global.cancel'),
type: 'warning'
}).then(() => {
self.create();
}).catch(() => {});
} else {
self.create();
}
@ -116,14 +112,17 @@ export default {
async create() {
this.loading = true;
try {
OperationList[this.$route.query.lineCode].list.forEach(item => {
item.mapId = this.$route.query.mapId;
});
await addTrainingRulesList(this.$route.query.mapId, OperationList[this.$route.query.lineCode].list);
this.loading = false;
this.$message.success(this.$t('lesson.batchCreateSuccess'));
this.handleClose();
this.$emit('reloadTable'); //
var OperationList = this.$route.query.lineCode ? Vue.prototype.$theme.loadTraingSteps(this.$route.query.lineCode) : null;
if (OperationList && OperationList.list) {
OperationList.list.forEach(item => {
item.mapId = this.$route.query.mapId;
});
await addTrainingRulesList(this.$route.query.mapId, OperationList.list);
this.loading = false;
this.$message.success(this.$t('lesson.batchCreateSuccess'));
this.handleClose();
this.$emit('reloadTable'); //
}
} catch (error) {
this.loading = false;
this.$message.error(this.$t('error.batchCreateFailed'));

View File

@ -218,8 +218,8 @@ export default {
repliceName(fieldValue, enumList) {
if (enumList && enumList.length > 0) {
for (let i = 0; i < enumList.length; i++) {
if (fieldValue.includes(`{${enumList[i].id}}`)) {
fieldValue = fieldValue.replace(`{${enumList[i].id}}`, `{${enumList[i].name}}`);
if (fieldValue.includes(`{${enumList[i].code}}`)) {
fieldValue = fieldValue.replace(`{${enumList[i].code}}`, `{${enumList[i].name}}`);
}
}
return fieldValue;
@ -252,11 +252,11 @@ export default {
this.loading = true;
this.placeholderList.forEach(item => {
if (this.formModel.trainingName.includes(`{${item.name}}`)) {
const name = this.formModel.trainingName.replace(`{${item.name}}`, `{${item.id}}`);
const name = this.formModel.trainingName.replace(`{${item.name}}`, `{${item.code}}`);
this.formModel.trainingName = name;
}
if (this.formModel.trainingRemark.includes(`{${item.name}}`)) {
const remark = this.formModel.trainingRemark.replace(`{${item.name}}`, `{${item.id}}`);
const remark = this.formModel.trainingRemark.replace(`{${item.name}}`, `{${item.code}}`);
this.formModel.trainingRemark = remark;
}
});
@ -275,11 +275,11 @@ export default {
const self = this;
this.placeholderList.forEach(item => {
if (this.formModel.trainingName.includes(`{${item.name}}`)) {
const name = this.formModel.trainingName.replace(`{${item.name}}`, `{${item.id}}`);
const name = this.formModel.trainingName.replace(`{${item.name}}`, `{${item.code}}`);
this.formModel.trainingName = name;
}
if (this.formModel.trainingRemark.includes(`{${item.name}}`)) {
const remark = this.formModel.trainingRemark.replace(`{${item.name}}`, `{${item.id}}`);
const remark = this.formModel.trainingRemark.replace(`{${item.name}}`, `{${item.code}}`);
this.formModel.trainingRemark = remark;
}
});

View File

@ -125,7 +125,7 @@ export default {
const self = this;
this.placeholderList.forEach(item => {
if (this.formModel.tip.includes(`{${item.name}}`)) {
const tip = this.formModel.tip.replace(`{${item.name}}`, `{${item.id}}`);
const tip = this.formModel.tip.replace(`{${item.name}}`, `{${item.code}}`);
this.formModel.tip = tip;
}
});
@ -143,7 +143,7 @@ export default {
const self = this;
this.placeholderList.forEach(item => {
if (this.formModel.tip.includes(`{${item.name}}`)) {
const tip = this.formModel.tip.replace(`{${item.name}}`, `{${item.id}}`);
const tip = this.formModel.tip.replace(`{${item.name}}`, `{${item.code}}`);
this.formModel.tip = tip;
}
});

View File

@ -113,8 +113,8 @@ export default {
repliceName(fieldValue, enumList) {
if (enumList && enumList.length > 0) {
for (let i = 0; i < enumList.length; i++) {
if (fieldValue.includes(`{${enumList[i].id}}`)) {
fieldValue = fieldValue.replace(`{${enumList[i].id}}`, `{${enumList[i].name}}`);
if (fieldValue.includes(`{${enumList[i].code}}`)) {
fieldValue = fieldValue.replace(`{${enumList[i].code}}`, `{${enumList[i].name}}`);
}
}
return fieldValue;

View File

@ -1,6 +1,6 @@
<template>
<div style="height: 100%; overflow-y: auto;">
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" style="width: 98%;margin-left:1%;margin-top:20px;" />
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" style="width: 98%;margin-left:1%;margin-top:20px;" />
<training-edit ref="create" type="ADD" @reloadTable="reloadTable" />
<training-edit ref="edit" type="EDIT" @reloadTable="reloadTable" />
<add-batch ref="addBatch" @reloadTable="reloadTable" />
@ -23,6 +23,9 @@ import TrainingEdit from './addEdit';
import AddBatch from './addBatch';
import SaveAs from './saveAs.vue';
import { UrlConfig } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import ConstConfig from '@/scripts/ConstConfig';
import Cookies from 'js-cookie';
export default {
name: 'TrainingRule',
@ -97,7 +100,7 @@ export default {
return this.$convertField(
row.operateType,
this.trainingOperateTypeMap[row.trainingType],
['code', 'name']
['value', 'label']
);
},
tagType: row => {
@ -159,33 +162,109 @@ export default {
},
methods: {
init() {
this.trainingOperateTypeMap = {};
this.$Dictionary.stationControl().then(list => {
this.trainingOperateTypeMap['01'] = list; //
});
this.$Dictionary.signalOperation().then(list => {
this.trainingOperateTypeMap['02'] = list; //
});
this.$Dictionary.switchOperation().then(list => {
this.trainingOperateTypeMap['03'] = list; //
});
this.$Dictionary.sectionOperation().then(list => {
this.trainingOperateTypeMap['04'] = list; //
});
this.$Dictionary.stationStandOperation().then(list => {
this.trainingOperateTypeMap['05'] = list; //
});
this.$Dictionary.trainPlanOperation().then(list => {
this.trainingOperateTypeMap['06'] = list; //
});
this.$Dictionary.trainOperation().then(list => {
this.trainingOperateTypeMap['07'] = list; //
});
this.$Dictionary.limitOperation().then(list => {
this.trainingOperateTypeMap['08'] = list; //
});
if (this.$route.query.drawWay + '' === 'true') {
this.trainingOperateTypeMap = {
Switch: [],
Section: [],
Signal: [],
Stand: [],
Station: [],
ControlConvertMenu: [],
TrainWindow: []
};
let val;
for ( val in CMD['Switch']) {
this.trainingOperateTypeMap['Switch'].push(CMD['Switch'][val]);
}
for ( val in CMD['Section']) {
this.trainingOperateTypeMap['Section'].push(CMD['Section'][val]);
}
for ( val in CMD['Signal']) {
this.trainingOperateTypeMap['Signal'].push(CMD['Signal'][val]);
}
for ( val in CMD['Stand']) {
this.trainingOperateTypeMap['Stand'].push(CMD['Stand'][val]);
}
for ( val in CMD['Station']) {
this.trainingOperateTypeMap['Station'].push(CMD['Station'][val]);
}
for ( val in CMD['ControlConvertMenu']) {
this.trainingOperateTypeMap['ControlConvertMenu'].push(CMD['ControlConvertMenu'][val]);
}
for ( val in CMD['Train']) {
this.trainingOperateTypeMap['TrainWindow'].push(CMD['Train'][val]);
}
const trainingDeviceTypeList = ConstConfig.ConstSelect.trainingDeviceType || {};
for (val in trainingDeviceTypeList) {
this.trainingTypeList.push({code: val, name: Cookies.get('user_lang') == 'en' ? trainingDeviceTypeList[val].enlabel : trainingDeviceTypeList[val].label});
this.queryForm.queryObject.trainingType.config.data.push({value: val, label: Cookies.get('user_lang') == 'en' ? trainingDeviceTypeList[val].enlabel : trainingDeviceTypeList[val].label});
}
} else {
this.trainingOperateTypeMap = {};
this.$Dictionary.stationControl().then(list => {
this.trainingOperateTypeMap['01'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['01'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.signalOperation().then(list => {
this.trainingOperateTypeMap['02'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['02'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.switchOperation().then(list => {
this.trainingOperateTypeMap['03'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['03'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.sectionOperation().then(list => {
this.trainingOperateTypeMap['04'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['04'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.stationStandOperation().then(list => {
this.trainingOperateTypeMap['05'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['05'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.trainPlanOperation().then(list => {
this.trainingOperateTypeMap['06'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['06'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.trainOperation().then(list => {
this.trainingOperateTypeMap['07'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['07'].push({value: item.code, label: item.name});
});
});
this.$Dictionary.limitOperation().then(list => {
this.trainingOperateTypeMap['08'] = []; //
list.forEach(item => {
this.trainingOperateTypeMap['08'].push({value: item.code, label: item.name});
});
});
//
this.trainingTypeList = [];
this.$Dictionary.trainingType().then(list => {
this.trainingTypeList = list;
list.forEach(elem => {
this.queryForm.queryObject.trainingType.config.data.push({
value: elem.code,
label: elem.name
});
});
});
}
this.placeholderMap = {};
getPlaceholderList({ trainingType: '' }).then(res => {
debugger;
res.data.forEach(item => {
if (!this.placeholderMap[item.trainingType]) {
this.placeholderMap[item.trainingType] = [];
@ -194,26 +273,14 @@ export default {
});
});
//
this.trainingTypeList = [];
this.$Dictionary.trainingType().then(list => {
this.trainingTypeList = list;
list.forEach(elem => {
this.queryForm.queryObject.trainingType.config.data.push({
value: elem.code,
label: elem.name
});
});
});
this.reloadTable();
},
repliceName(fieldValue, enumList) {
if (enumList && enumList.length > 0) {
for (let i = 0; i < enumList.length; i++) {
if (fieldValue.includes(`{${enumList[i].id}}`)) {
if (fieldValue.includes(`{${enumList[i].code}}`)) {
fieldValue = fieldValue.replace(
`{${enumList[i].id}}`,
`{${enumList[i].code}}`,
`{${enumList[i].name}}`
);
}

View File

@ -1,13 +1,13 @@
<template>
<div style="height: 100%; overflow-y: auto;">
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" style="width: 98%;margin-left:1%;margin-top:20px;" />
<training-draft
ref="draftTrain"
:map-id-list="mapIdList"
:training-type-list="trainingTypeList"
:training-operate-type-map="trainingOperateTypeMap"
@refresh="reloadTable"
/>
<!-- <training-draft
ref="draftTrain"
:map-id-list="mapIdList"
:training-type-list="trainingTypeList"
:training-operate-type-map="trainingOperateTypeMap"
@refresh="reloadTable"
/> -->
<div class="draft">
<el-button-group>
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
@ -19,25 +19,35 @@
<script>
import ConstConfig from '@/scripts/ConstConfig';
import Cookies from 'js-cookie';
import { pageQueryTraining, pageQueryTrainingNew } from '@/api/jmap/training';
import { pageQueryTraining, pageQueryTrainingNew, createAllTrainingList } from '@/api/jmap/training';
import { trainingNotify, trainingNotifyNew } from '@/api/simulation';
import { launchFullscreen } from '@/utils/screen';
import { getPublishMapListOnline } from '@/api/jmap/map';
import { getOperateTrainingList } from '@/api/management/operation';
import { getCmdList } from '@/api/management/dictionary';
import { UrlConfig } from '@/scripts/ConstDic';
import TrainingDraft from './draft';
// import TrainingDraft from './draft';
import localStore from 'storejs';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
export default {
name: 'TrainingGeneration',
components: {
TrainingDraft
// TrainingDraft
},
data() {
return {
mapIdList: [],
trainingTypeList: [],
trainingOperateTypeMap: {},
trainingOperateTypeMap: {
Switch: [],
Section: [],
Signal: [],
Stand: [],
Station: [],
ControlConvertMenu: [],
TrainWindow: []
},
isLeaving:false,
trainingTypeMap: {},
pagerConfig: {
pageSize: 'pageSize',
@ -95,14 +105,14 @@ export default {
title: this.$t('lesson.trainingType'),
prop: 'type',
type: 'tag',
columnValue: (row) => { return this.$convertField(row.type, this.trainingTypeList, ['code', 'name']); },
columnValue: (row) => { return this.$convertField(row.type, this.trainingTypeList, ['value', 'label']); },
tagType: (row) => { return 'success'; }
},
{
title: this.$t('lesson.operationType'),
prop: 'operateType',
type: 'tag',
columnValue: (row) => { return this.$convertField(row.operateType, this.trainingOperateTypeMap[row.type], ['code', 'name']); },
columnValue: (row) => { return this.$convertField(row.operateType, this.trainingOperateTypeMap[row.type], ['value', 'label']); },
tagType: (row) => { return 'success'; }
},
{
@ -128,17 +138,17 @@ export default {
type: ''
}
/* {
name: this.$t('lesson.trainingRecord'),
handleClick: this.trainingRecord,
type: ''
}*/
name: this.$t('lesson.trainingRecord'),
handleClick: this.trainingRecord,
type: ''
}*/
]
}
],
actions: [
{ text: this.$t('lesson.generateTraining'), btnCode: 'employee_auto', handler: this.autoMaticTrainging },
{ text: this.$t('lesson.updateTraining'), btnCode: 'employee_edit', handler: this.editTrainingByType, type: 'warning'},
{ text: this.$t('lesson.deleteTraining'), btnCode: 'employee_delete', handler: this.delAutoMaticTrainging, type: 'danger'}
{ text: this.$t('lesson.generateTraining'), btnCode: 'employee_auto', handler: this.autoMaticTrainging }
// { text: this.$t('lesson.updateTraining'), btnCode: 'employee_edit', handler: this.editTrainingByType, type: 'warning'},
// { text: this.$t('lesson.deleteTraining'), btnCode: 'employee_delete', handler: this.delAutoMaticTrainging, type: 'danger'}
]
},
@ -161,6 +171,12 @@ export default {
await this.loadInitData(json);
this.typeChoose(json);
},
mounted() {
this.interCheckGenerateStatus();
},
beforeDestroy() {
this.isLeaving = true;
},
methods: {
async loadInitData(queryData) {
this.mapIdList = [];
@ -171,69 +187,91 @@ export default {
this.queryForm.queryObject.prdType.config.data = this.prdTypeList;
//
this.trainingTypeList = [];
this.$Dictionary.trainingType().then(list => {
this.trainingTypeList = list;
});
this.trainingOperateTypeMap = {};
const list01 = await this.$Dictionary.stationControl();
this.trainingOperateTypeMap['01'] = list01; //
const list02 = await this.$Dictionary.signalOperation();
this.trainingOperateTypeMap['02'] = list02; //
const list03 = await this.$Dictionary.switchOperation();
this.trainingOperateTypeMap['03'] = list03; //
const list04 = await this.$Dictionary.sectionOperation();
this.trainingOperateTypeMap['04'] = list04; //
const list05 = await this.$Dictionary.stationStandOperation();
this.trainingOperateTypeMap['05'] = list05; //
const list06 = await this.$Dictionary.trainPlanOperation();
this.trainingOperateTypeMap['06'] = list06; //
const list07 = await this.$Dictionary.trainOperation();
this.trainingOperateTypeMap['07'] = list07; //
const list08 = await this.$Dictionary.limitOperation();
this.trainingOperateTypeMap['08'] = list08; //
// this.trainingTypeList = [];
// this.$Dictionary.trainingType().then(list => {
// this.trainingTypeList = list;
// });
let val;
for ( val in CMD['Switch']) {
this.trainingOperateTypeMap['Switch'].push(CMD['Switch'][val]);
}
for ( val in CMD['Section']) {
this.trainingOperateTypeMap['Section'].push(CMD['Section'][val]);
}
for ( val in CMD['Signal']) {
this.trainingOperateTypeMap['Signal'].push(CMD['Signal'][val]);
}
for ( val in CMD['Stand']) {
this.trainingOperateTypeMap['Stand'].push(CMD['Stand'][val]);
}
for ( val in CMD['Station']) {
this.trainingOperateTypeMap['Station'].push(CMD['Station'][val]);
}
for ( val in CMD['ControlConvertMenu']) {
this.trainingOperateTypeMap['ControlConvertMenu'].push(CMD['ControlConvertMenu'][val]);
}
for ( val in CMD['Train']) {
this.trainingOperateTypeMap['TrainWindow'].push(CMD['Train'][val]);
}
await this.prdChoose(queryData);
this.reloadTable();
},
interCheckGenerateStatus() {
createAllTrainingList(this.$route.query.mapId, false).then((data)=>{
if (data.data) {
this.queryList.actions.pop();
this.queryList.actions.push({ text: this.$t('lesson.trainingGenerating'), btnCode: 'employee_auto', handler: this.autoMaticTrainging, disabled:true });
} else {
this.queryList.actions.pop();
this.queryList.actions.push({ text: this.$t('lesson.generateTraining'), btnCode: 'employee_auto', handler: this.autoMaticTrainging, disabled:false });
}
setTimeout(() => {
if (!this.isLeaving) {
this.interCheckGenerateStatus(this.$route.query.mapId, false);
}
}, 15000);
}).catch(()=>{
setTimeout(() => {
if (!this.isLeaving) {
this.interCheckGenerateStatus(this.$route.query.mapId, false);
}
}, 15000);
});
},
async prdChoose(queryData) {
this.trainingTypeMap = {};
const mapId = this.$route.query.mapId;
const res = await getOperateTrainingList({ mapId: mapId, productType: queryData.prdType });
if (res && res.code == 200) {
const trainingTypeLists = res.data;
this.trainingTypeList.forEach(elem => {
trainingTypeLists.forEach(item => {
if (item.id == elem.code) {
item.label = elem.name;
item.value = elem.code;
}
if (this.trainingOperateTypeMap[item.id].length) {
this.trainingOperateTypeMap[item.id].forEach(i => {
item.children.forEach(v => {
if (i.code == v.id) {
v.name = i.name;
v.code = i.code;
}
});
});
const lineCode = this.$route.query.lineCode;
const res = await getCmdList(lineCode, {prdType:queryData.prdType});
const trainingOperateList = [];
const trainingOperateConfigList = [];
const operateTypeMap = {
Switch: [],
Section: [],
Signal: [],
Stand: [],
Station: [],
ControlConvertMenu: [],
TrainWindow: []
};
if (res && res.code === 200) {
res.data.forEach(item => {
this.trainingOperateTypeMap[item.operateObject].forEach(ele => {
if (ele.value == item.operate) {
operateTypeMap[item.operateObject].push(ele);
}
});
if (!trainingOperateList.includes(item.operateObject)) {
trainingOperateList.push(item.operateObject);
const objectLabel = ConstConfig.ConstSelect.trainingDeviceType[item.operateObject] || {};
trainingOperateConfigList.push({value: item.operateObject, label: Cookies.get('user_lang') == 'en' ? objectLabel.enlabel : objectLabel.label});
}
});
trainingTypeLists.forEach(item => {
item.children.forEach(v => {
if (!this.trainingTypeMap[item.id]) {
this.trainingTypeMap[item.id] = [];
}
this.trainingTypeMap[item.id].push({
label: v.name,
value: v.code
});
});
});
this.queryForm.queryObject.type.config.data = trainingTypeLists;
this.queryForm.queryObject.type.config.data = trainingOperateConfigList;
this.trainingTypeList = trainingOperateConfigList;
this.trainingTypeMap = operateTypeMap;
} else {
this.$message.error(this.$t('error.failedToObtainTrainingType'));
}
},
typeChoose(form) {
@ -246,14 +284,48 @@ export default {
}
},
autoMaticTrainging() {
this.$refs.draftTrain.show({ event: '01', title: this.$t('lesson.automaticGenerationOfTraining') });
},
editTrainingByType() {
this.$refs.draftTrain.show({ event: '02', title: this.$t('lesson.modifyTrainingByCategory') });
},
delAutoMaticTrainging() {
this.$refs.draftTrain.show({ event: '03', title: this.$t('lesson.deleteAutoGeneratedTraining') });
this.$confirm('您确定是否生成所有实训,此操作会删除之前已生成好的实训!', this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm'),
cancelButtonText: this.$t('global.cancel'),
type: 'warning',
beforeClose: async (action, instance, done) => {
if (action === 'confirm') {
instance.confirmButtonLoading = true;
// instance.confirmButtonText = '...';
this.queryList.actions.pop();
this.queryList.actions.push({ text: this.$t('lesson.trainingGenerating'), btnCode: 'employee_auto', handler: this.autoMaticTrainging, disabled:true });
try {
const data = await createAllTrainingList(this.$route.query.mapId, true);
this.$message.success('实训生成中...');
instance.confirmButtonLoading = false;
if (!data.data) {
this.queryList.actions.pop();
this.queryList.actions.push({ text: this.$t('lesson.generateTraining'), btnCode: 'employee_auto', handler: this.autoMaticTrainging, disabled:false });
}
done();
} catch (error) {
instance.confirmButtonLoading = false;
this.$message.error(`生成实训失败: ${error.message}`);
this.queryList.actions.pop();
this.queryList.actions.push({ text: this.$t('lesson.generateTraining'), btnCode: 'employee_auto', handler: this.autoMaticTrainging, disabled:false });
}
} else {
instance.confirmButtonLoading = false;
done();
}
}
}
).then(async (action) => {
// done();
});
// this.$refs.draftTrain.show({ event: '01', title: this.$t('lesson.automaticGenerationOfTraining') });
},
// editTrainingByType() {
// this.$refs.draftTrain.show({ event: '02', title: this.$t('lesson.modifyTrainingByCategory') });
// },
// delAutoMaticTrainging() {
// this.$refs.draftTrain.show({ event: '03', title: this.$t('lesson.deleteAutoGeneratedTraining') });
// },
demoDisplay(index, node) {
if (this.drawWay === 'true') {
trainingNotifyNew({ trainingId: node.id }).then(resp => {
@ -312,9 +384,9 @@ export default {
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.draft {
width: 400px;
text-align: center;
margin: 20px auto;
}
.draft {
width: 400px;
text-align: center;
margin: 20px auto;
}
</style>

View File

@ -0,0 +1,342 @@
<template>
<div style="height: 100%; overflow-y: auto;">
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" style="width: 98%;margin-left:1%;margin-top:20px;" />
<!-- <training-draft
ref="draftTrain"
:map-id-list="mapIdList"
:training-type-list="trainingTypeList"
:training-operate-type-map="trainingOperateTypeMap"
@refresh="reloadTable"
/> -->
<div class="draft">
<el-button-group>
<el-button type="primary" @click="turnback">{{ $t('global.back') }}</el-button>
</el-button-group>
</div>
</div>
</template>
<script>
import ConstConfig from '@/scripts/ConstConfig';
import Cookies from 'js-cookie';
import { pageQueryTraining, pageQueryTrainingNew, createAllTrainingList } from '@/api/jmap/training';
import { trainingNotify, trainingNotifyNew } from '@/api/simulation';
import { launchFullscreen } from '@/utils/screen';
import { getPublishMapListOnline } from '@/api/jmap/map';
import { getOperateTrainingList } from '@/api/management/operation';
import { UrlConfig } from '@/scripts/ConstDic';
// import TrainingDraft from './draft';
import localStore from 'storejs';
export default {
name: 'TrainingGeneration',
components: {
// TrainingDraft
},
data() {
return {
mapIdList: [],
trainingTypeList: [],
trainingOperateTypeMap: {},
trainingTypeMap: {},
pagerConfig: {
pageSize: 'pageSize',
pageIndex: 'pageNum'
},
queryForm: {
labelWidth: '120px',
queryObject: {
prdType: {
type: 'select',
label: this.$t('lesson.prdType'),
change: this.prdChoose,
config: {
data: []
}
},
type: {
type: 'select',
label: this.$t('lesson.trainingType'),
change: this.typeChoose,
config: {
data: []
}
},
operateType: {
type: 'select',
label: this.$t('lesson.operationType'),
config: {
data: []
}
},
name: {
type: 'text',
label: this.$t('lesson.trainingName')
}
}
},
queryList: {
query: this.queryFunction,
selectCheckShow: false,
indexShow: true,
columns: [
{
title: this.$t('lesson.trainingName'),
prop: 'name'
},
{
title: this.$t('lesson.prdType'),
prop: 'prdType',
type: 'tag',
columnValue: (row) => { return this.$convertField(row.prdType, this.prdTypeList, ['value', 'label']); },
tagType: (row) => { return 'success'; }
},
{
title: this.$t('lesson.trainingType'),
prop: 'type',
type: 'tag',
columnValue: (row) => { return this.$convertField(row.type, this.trainingTypeList, ['value', 'label']); },
tagType: (row) => { return 'success'; }
},
{
title: this.$t('lesson.operationType'),
prop: 'operateType',
type: 'tag',
columnValue: (row) => { return this.$convertField(row.operateType, this.trainingOperateTypeMap[row.type], ['value', 'label']); },
tagType: (row) => { return 'success'; }
},
{
title: this.$t('lesson.minDuration'),
prop: 'minDuration'
},
{
title: this.$t('lesson.maxDuration'),
prop: 'maxDuration'
},
{
title: this.$t('lesson.remarks'),
prop: 'remarks'
},
{
type: 'button',
title: this.$t('global.operate'),
width: '250',
buttons: [
{
name: this.$t('lesson.demonstration'),
handleClick: this.demoDisplay,
type: ''
}
/* {
name: this.$t('lesson.trainingRecord'),
handleClick: this.trainingRecord,
type: ''
}*/
]
}
],
actions: [
{ text: this.$t('lesson.generateTraining'), btnCode: 'employee_auto', handler: this.autoMaticTrainging }
// { text: this.$t('lesson.updateTraining'), btnCode: 'employee_edit', handler: this.editTrainingByType, type: 'warning'},
// { text: this.$t('lesson.deleteTraining'), btnCode: 'employee_delete', handler: this.delAutoMaticTrainging, type: 'danger'}
]
},
currentModel: {}
};
},
computed:{
prdTypeList() {
const productTypeList = ConstConfig.ConstSelect.prdType;
return Cookies.get('user_lang') == 'en'
? productTypeList.map(elem => { return { value: elem.value, label: elem.enlabel }; })
: productTypeList.map(elem => { return { value: elem.value, label: elem.label }; });
},
drawWay() {
return this.$route.query.drawWay + '';
}
},
async created() {
const json = localStore.get(this.$route.path);
await this.loadInitData(json);
this.typeChoose(json);
},
methods: {
async loadInitData(queryData) {
this.mapIdList = [];
this.queryForm.queryObject.prdType.config.data = [];
getPublishMapListOnline().then(response => {
this.mapIdList = response.data;
});
this.queryForm.queryObject.prdType.config.data = this.prdTypeList;
//
this.trainingTypeList = [];
this.$Dictionary.trainingType().then(list => {
this.trainingTypeList = list;
});
this.trainingOperateTypeMap = {};
const list01 = await this.$Dictionary.stationControl();
this.trainingOperateTypeMap['01'] = list01; //
const list02 = await this.$Dictionary.signalOperation();
this.trainingOperateTypeMap['02'] = list02; //
const list03 = await this.$Dictionary.switchOperation();
this.trainingOperateTypeMap['03'] = list03; //
const list04 = await this.$Dictionary.sectionOperation();
this.trainingOperateTypeMap['04'] = list04; //
const list05 = await this.$Dictionary.stationStandOperation();
this.trainingOperateTypeMap['05'] = list05; //
const list06 = await this.$Dictionary.trainPlanOperation();
this.trainingOperateTypeMap['06'] = list06; //
const list07 = await this.$Dictionary.trainOperation();
this.trainingOperateTypeMap['07'] = list07; //
const list08 = await this.$Dictionary.limitOperation();
this.trainingOperateTypeMap['08'] = list08; //
await this.prdChoose(queryData);
this.reloadTable();
},
async prdChoose(queryData) {
this.trainingTypeMap = {};
const mapId = this.$route.query.mapId;
const res = await getOperateTrainingList({ mapId: mapId, productType: queryData.prdType });
if (res && res.code == 200) {
const trainingTypeLists = res.data;
this.trainingTypeList.forEach(elem => {
trainingTypeLists.forEach(item => {
if (item.id == elem.code) {
item.label = elem.name;
item.value = elem.code;
}
if (this.trainingOperateTypeMap[item.id].length) {
this.trainingOperateTypeMap[item.id].forEach(i => {
item.children.forEach(v => {
if (i.code == v.id) {
v.name = i.name;
v.code = i.code;
}
});
});
}
});
});
trainingTypeLists.forEach(item => {
item.children.forEach(v => {
if (!this.trainingTypeMap[item.id]) {
this.trainingTypeMap[item.id] = [];
}
this.trainingTypeMap[item.id].push({
label: v.name,
value: v.code
});
});
});
this.queryForm.queryObject.type.config.data = trainingTypeLists;
}
},
typeChoose(form) {
this.queryForm.queryObject.operateType.config.data = [];
form.operateType = '';
if (form && form.type && this.trainingTypeMap[form.type]) {
this.trainingTypeMap[form.type].forEach(elem => {
this.queryForm.queryObject.operateType.config.data.push({ value: elem.value, label: elem.label });
});
}
},
autoMaticTrainging() {
this.$confirm('您确定是否生成所有实训,此操作会删除之前已生成好的实训!', this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm'),
cancelButtonText: this.$t('global.cancel'),
type: 'warning',
beforeClose: async (action, instance, done) => {
if (action === 'confirm') {
instance.confirmButtonLoading = true;
instance.confirmButtonText = '生成中...';
try {
await createAllTrainingList(this.$route.query.mapId);
this.$message.success('生成实训成功');
done();
} catch (error) {
this.$message.error(`生成实训失败: ${error.message}`);
}
} else {
done();
}
}
}
).then(async (action) => {
// done();
});
// this.$refs.draftTrain.show({ event: '01', title: this.$t('lesson.automaticGenerationOfTraining') });
},
// editTrainingByType() {
// this.$refs.draftTrain.show({ event: '02', title: this.$t('lesson.modifyTrainingByCategory') });
// },
// delAutoMaticTrainging() {
// this.$refs.draftTrain.show({ event: '03', title: this.$t('lesson.deleteAutoGeneratedTraining') });
// },
demoDisplay(index, node) {
if (this.drawWay === 'true') {
trainingNotifyNew({ trainingId: node.id }).then(resp => {
/** 区分演示和正式需要在演示时设置lessonId为0*/
const query = { group: resp.data, trainingId: node.id, lessonId: 0, mapId: this.$route.query.mapId, lineCode: this.$route.query.lineCode };
this.$router.push({ path: `${UrlConfig.displayNew}/manage`, query: query });
launchFullscreen();
}).catch(error => {
this.$messageBox(this.$t('error.createSimulationFailed') + error.message);
});
} else {
trainingNotify({ trainingId: node.id }).then(resp => {
/** 区分演示和正式需要在演示时设置lessonId为0*/
const query = { group: resp.data, trainingId: node.id, lessonId: 0, mapId: this.$route.query.mapId };
this.$router.push({ path: `${UrlConfig.display}/manage`, query: query });
launchFullscreen();
}).catch(error => {
this.$messageBox(this.$t('error.createSimulationFailed') + error.message);
});
}
},
reloadTable() {
this.queryList.reload();
},
turnback() {
this.$router.go(-1);
},
trainingRecord(index, node) {
if (this.drawWay === 'true') {
trainingNotifyNew({ trainingId: node.id }).then(resp => {
this.group = resp.data;
this.$router.push({ path: `${UrlConfig.design.trainingRecord}/${node.id}/${node.name}`, query: { group: resp.data } });
}).catch(error => {
this.$messageBox(`${this.$t('error.createSimulationFailed')}: ${error.message}`);
});
} else {
trainingNotify({ trainingId: node.id }).then(resp => {
this.group = resp.data;
this.$router.push({ path: `${UrlConfig.design.trainingRecord}/${node.id}/${node.name}`, query: { group: resp.data } });
}).catch(error => {
this.$messageBox(`${this.$t('error.createSimulationFailed')}: ${error.message}`);
});
}
},
queryFunction(params) {
params['mapId'] = this.$route.query.mapId;
if (this.drawWay === 'true') {
return pageQueryTrainingNew(params);
} else {
return pageQueryTraining(params);
}
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.draft {
width: 400px;
text-align: center;
margin: 20px auto;
}
</style>

View File

@ -36,6 +36,7 @@
:offset-bottom="offsetBottom"
:group="group"
:quest-id="questId"
:show-station="showStation"
@tryTime="tryTime"
@hidepanel="hidepanel"
@passflow="passflow"
@ -148,7 +149,7 @@ export default {
group: '',
showStation: '',
stationList: [],
showSelectStation: false,
showSelectStation: false, // select
prdTypeMap: {
'01': '01', // =>
'02': '02', // =>
@ -234,7 +235,7 @@ export default {
this.$messageBox(`初始化失败实训内容失败: ${error.message}`);
});
}
this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation);
this.switchStationMode(this.showStation);
},
'$store.state.map.mousemove': function (val) {
this.mousemove();
@ -261,32 +262,6 @@ export default {
'$store.state.map.map': function (val) {
this.showSelectStation = val.skinVO.code === '06' && this.$store.state.training.prdType === '01';
this.showSelectStation && this.setStationList(val);
},
'$store.state.training.offsetStationCode': function(code) {
if (code) {
this.setCenter(code);
}
if (code && this.showSelectStation) {
const deviceModel = this.$store.getters['map/getDeviceByCode'](code);
if (deviceModel._type == 'Section' || deviceModel._type == 'Switch' || deviceModel._type == 'Signal' || deviceModel._type == 'Switch') {
const stationModel = this.$store.getters['map/getDeviceByCode'](deviceModel.stationCode);
this.switchStationMode(stationModel.code, true);
} else if (deviceModel._type === 'Station') {
let stationModel = '';
if (deviceModel.centralized) {
stationModel = deviceModel;
} else {
this.$store.state.map.map.stationList || [].forEach(item => {
item.chargeStationCodeList || [].forEach(it => {
if (it === deviceModel.code) {
stationModel = item;
}
});
});
}
this.switchStationMode(stationModel.code, true);
}
}
}
},
async created() {
@ -612,9 +587,10 @@ export default {
panel.setAttribute('style', '');
}
},
switchStationMode(val, isTraining) {
switchStationMode(val) {
this.showStation = val;
this.$refs.mapCanvas && this.$refs.mapCanvas.setShowStation(this.showStation, isTraining);
this.$store.dispatch('map/setShowCentralizedStationCode', this.showStation);
this.$store.dispatch('map/setShowCentralizedStationNum');
},
setStationList(val) {
this.stationList = [];

View File

@ -61,6 +61,12 @@ export default {
default() {
return 0;
}
},
showStation: {
type: String,
default() {
return '';
}
}
},
data() {
@ -164,6 +170,7 @@ export default {
this.$store.dispatch('training/simulationStart').then(() => {
this.$store.dispatch('map/setRunPlanStatus', true);
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().getFullYear()} ${model.initTime}`));
this.$store.dispatch('map/setShowCentralizedStationNum');
});
}).catch(error => {
this.isDisable = false;

View File

@ -25,8 +25,8 @@
<span class="list-elem">{{ courseModel.maxDuration }} {{ $t('display.seconds') }} </span>
</p>
<p class="list-item">
<span class="list-label"> {{ $t('display.training.trainingInstructions') }}</span>
<span class="list-elem">{{ courseModel.remarks }}</span>
<span class="list-label" style="vertical-align: top;"> {{ $t('display.training.trainingInstructions') }}</span>
<span class="list-elem elem-span">{{ courseModel.remarks }}</span>
</p>
</el-scrollbar>
</div>
@ -159,6 +159,10 @@ export default {
position: relative;
}
.elem-span{
display:inline-block;width:77%;line-height:26px;margin-top:-4px;
}
.reminder-box {
position: absolute;
float: left;

View File

@ -69,7 +69,8 @@ export default {
concentrationStationList: [],
showMode: '03',
localStationShow: false,
previewOrMapDraw: false
previewOrMapDraw: false,
trainingSetStation: false //
};
},
computed: {
@ -116,7 +117,19 @@ export default {
}
},
'$store.state.training.rezoomCount': function (val, old) {
this.setCenter(this.$store.state.training.offsetStationCode);
//
let code = this.$store.state.training.offsetStationCode;
if (code && code.includes('TurnedAround')) {
const buttonList = this.$store.state.map.map.cycleButtonList;
if (buttonList && buttonList.length > 0) {
buttonList.forEach(element => {
if (code == element.cycleCode) {
code = element.code;
}
});
}
}
this.setCenter(code);
},
'$store.state.exam.deviceCode': function (val) {
val && this.setCenter(val);
@ -135,6 +148,36 @@ export default {
},
'$store.state.training.prdType': function (val) {
this.changePrdType(val);
},
'$store.state.map.showCentralizedStationNum': function (val) {
this.setShowStation(this.$store.state.map.showCentralizedStationCode);
},
'$store.state.training.offsetStationCode': function(code) {
if (code && this.localStationShow && this.$store.state.training.prdType === '01') {
const deviceModel = this.$store.getters['map/getDeviceByCode'](code);
if (deviceModel._type == 'Section' || deviceModel._type == 'Switch' || deviceModel._type == 'Signal' || deviceModel._type == 'Switch') {
const stationModel = this.$store.getters['map/getDeviceByCode'](deviceModel.stationCode);
this.setShowStation(stationModel.code, true);
} else if (deviceModel._type === 'StationStand') {
const stationModel = this.$store.getters['map/getDeviceByCode'](deviceModel.deviceStationCode);
this.setShowStation(stationModel.code, true);
} else if (deviceModel._type === 'Station') {
let stationModel = '';
if (deviceModel.centralized) {
stationModel = deviceModel;
} else {
this.$store.state.map.map.stationList || [].forEach(item => {
item.chargeStationCodeList || [].forEach(it => {
if (it === deviceModel.code) {
stationModel = item;
}
});
});
}
this.setShowStation(stationModel.code, true);
}
this.setCenter(code);
}
}
},
created() {

View File

@ -77,6 +77,9 @@ export default {
device = this.$store.getters['map/getDeviceByCode'](section.relSwitchCode);
}
}
if (device._type == 'Section' && (device.type == '03' || device.type == '04')) { // model
device = device.switch;
}
return device;
},
@ -165,9 +168,6 @@ export default {
mapViewLoaded(loading) {
this.$refs.jlmapVisual && this.$refs.jlmapVisual.mapViewLoaded(loading);
},
setShowStation(stationCode, isTraining) {
this.$refs.jlmapVisual && this.$refs.jlmapVisual.setShowStation(stationCode, isTraining);
},
setCenter(code) {
this.$refs.jlmapVisual && this.$refs.jlmapVisual.setCenter(code);
}

View File

@ -111,9 +111,6 @@ export default {
clearSubscribe() {
clearSubscribe(`${displayTopic}\/${this.group}`);
},
setShowStation(stationCode, isTraining) {
this.$refs.mapCommon && this.$refs.mapCommon.setShowStation(stationCode, isTraining);
},
setCenter(code) {
this.$refs.mapCommon && this.$refs.mapCommon.setCenter(code);
},

View File

@ -104,11 +104,21 @@ export default {
//
getShapeTipPoint(step) {
var position = null;
// const type = OperationHandler.getDeviceTypeByDic(step.type);
// if (type) {
//
const newStep = Object.assign({}, step);
if (newStep.code.includes('TurnedAround')) {
const buttonList = this.$store.state.map.map.cycleButtonList;
if (buttonList && buttonList.length > 0) {
buttonList.forEach(element => {
if (element.cycleCode == newStep.code) {
newStep.code = element.code;
}
});
}
}
position = this.$jlmap.getShapeTipPoint({
code: step.code,
val: step.val
code: newStep.code,
subDeviceType: newStep.type
});
if (position) {
@ -125,7 +135,6 @@ export default {
position.y = this.canvasHeight;
}
}
// }
return position;
},
//
@ -164,7 +173,6 @@ export default {
if (/{BOTTOM}/.test(domId)) {
return true;
}
// domId
const keyList = ['choose', 'select'];
for (var key in keyList) {
@ -172,7 +180,6 @@ export default {
return false;
}
}
//
return true;
}

View File

@ -187,13 +187,19 @@ export default {
{
type: 'button',
title: this.$t('map.operation'),
width: '200',
width: '250',
buttons: [
{
name: this.$t('map.compile'),
handleClick: this.edit,
showControl: () => { return this.showType !== 'select'; }
},
{
name: '复制',
handleClick: this.copyObj,
type: 'warning',
showControl: () => { return this.showType !== 'select'; }
},
{
name: this.$t('map.deleteObj'),
handleClick: this.deleteObj,
@ -422,6 +428,22 @@ export default {
}
});
},
copyObj(index, row) {
this.mapList.forEach(elem => {
if (elem.name === row.mapId) {
const model = {
mapId: elem.id,
id: row.id
};
getRouteNewById(model.id).then(response => {
const data = response.data;
delete data.id;
this.$emit('routeSelected', data);
this.doClose();
});
}
});
},
deleteObj(index, row) {
if (row) {
this.$confirm('是否确认删除?', '提示', {

View File

@ -61,7 +61,7 @@ export default {
routeSelected: function (data) {
this.routeData = data;
if (this.$refs && this.$refs.routeEdit) {
this.$refs.routeEdit.isSave = false;
this.$refs.routeEdit.isSave = !data.id;
}
},
previewRouteEvent: function () {

View File

@ -201,8 +201,10 @@ export default {
},
watch: {
selected(val, oldVal) {
this.handleTypes(val._type);
this.deviceSelect(val);
if (val && val._type) {
this.handleTypes(val._type);
this.deviceSelect(val);
}
}
},
mounted() {

View File

@ -96,7 +96,9 @@ export default {
let count = 0;
this.seclectDeviceList.forEach(item => {
if (item._type == 'Section') {
this.modelList[0].list.push(item);
if (item.type != '02') {
this.modelList[0].list.push(item);
}
} else if (item._type == 'Switch') {
this.modelList[1].list.push(item);
} else if (item._type == 'Signal') {
@ -135,11 +137,25 @@ export default {
handleScetionStationCode() {
if (this.stationCode && this.seclectDeviceList) {
const models = [];
this.seclectDeviceList.forEach(model => {
const Model = deepAssign({}, this.$store.getters['map/getDeviceByCode'](model.code));
Model.stationCode = this.stationCode;
models.push(Model);
this.modelList.forEach(model => { //
model.list.forEach(item => {
const Model = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item.code));
Model.stationCode = this.stationCode;
if (Model._type == 'Section' && Model.logicSectionCodeList && Model.logicSectionCodeList.length) {
Model.logicSectionCodeList.forEach(children => {
const ModelChild = deepAssign({}, this.$store.getters['map/getDeviceByCode'](children));
ModelChild.stationCode = this.stationCode;
models.push(ModelChild);
});
}
models.push(Model);
});
});
// this.seclectDeviceList.forEach(model => {
// const Model = deepAssign({}, this.$store.getters['map/getDeviceByCode'](model.code));
// Model.stationCode = this.stationCode;
// models.push(Model);
// });
this.$emit('updateMapModel', models);
this.$message.success('设置设备集中站成功');
this.stationCode = '';

View File

@ -21,9 +21,6 @@
</el-form-item>
</div>
</div>
<el-form-item v-if="createModel.type == '01'" label="距离长度:" prop="length">
<el-input-number v-model="createModel.length" />
</el-form-item>
<el-form-item v-if="createModel.type == '03'" :label="$t('map.leftAssociatedSection')" prop="leftSectionCode">
<el-select v-model="createModel.leftSectionCode" filterable>
<el-option v-for="item in switchAndPhySicalSectionList" :key="item.code" :label="item.name" :value="item.code" />
@ -34,8 +31,8 @@
@click="hover('getSectionStart')"
>{{ $t('map.activate') }}</el-button>
</el-form-item>
<el-form-item v-if="createModel.type == '03'" label="距离长度:" prop="length">
<el-input-number v-model="createModel.length" />
<el-form-item v-if="createModel.type == '03' || createModel.type == '01'" label="距离长度:" prop="length">
<el-input-number v-model="createModel.length" :min="0" />
</el-form-item>
<el-form-item v-if="createModel.type == '02' || createModel.type == '04'" label="起始区段:" prop="leftSectionCode">
<el-select v-model="createModel.leftSectionCode" filterable>
@ -293,27 +290,33 @@ export default {
const end_x = endModel.points[0].x;
const start_y = startModel.points[startModel.points.length - 1].y;
const end_y = endModel.points[0].y;
if (this.createModel.leftSectionCode === this.createModel.rightSectionCode) {
this.$messageBox('左关联区段不能和右关联区段相同');
return;
if (end_x > start_x) {
if (this.createModel.leftSectionCode === this.createModel.rightSectionCode) {
this.$messageBox('左关联区段不能和右关联区段相同');
return;
}
if (start_x === end_x && start_y === end_y) {
this.$messageBox('左关联区段终点不能和右关联区段起点相同');
return;
}
model.points = [
{ x: start_x, y: start_y },
{ x: end_x, y: end_y }
];
const models = [];
model.leftSectionCode = this.createModel.leftSectionCode;
startModel.rightSectionCode = model.code;
endModel.leftSectionCode = model.code;
model.rightSectionCode = this.createModel.rightSectionCode;
models.push(model);
models.push(startModel);
models.push(endModel);
this.$emit('updateMapModel', models, 'second');
} else {
this.$messageBox('画图顺序应左往右绘制, 请求重新定义左右关联区段');
this.createModel.rightSectionCode = '';
this.createModel.leftSectionCode = '';
}
if (start_x === end_x && start_y === end_y) {
this.$messageBox('左关联区段终点不能和右关联区段起点相同');
return;
}
model.points = [
{ x: start_x, y: start_y },
{ x: end_x, y: end_y }
];
const models = [];
model.leftSectionCode = this.createModel.leftSectionCode;
startModel.rightSectionCode = model.code;
endModel.leftSectionCode = model.code;
model.rightSectionCode = this.createModel.rightSectionCode;
models.push(model);
models.push(startModel);
models.push(endModel);
this.$emit('updateMapModel', models, 'second');
},
//
create() {

View File

@ -143,23 +143,23 @@ export default {
{ prop: 'namePosition.x', firstLevel: 'namePosition', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '25px' },
{ prop: 'namePosition.y', firstLevel: 'namePosition', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '25px' }
] },
{ prop: 'type', label: this.$t('map.sectionType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionTypeList},
{ prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection},
{ prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection},
{ prop: 'parentCode', label: this.$t('map.associatedSection'), type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: true, options: this.sectionList, isHidden: !this.isParentCode },
{ prop: 'type', label: this.$t('map.sectionType'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionTypeList }, //
{ prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection}, //
{ prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection}, //
{ prop: 'parentCode', label: this.$t('map.associatedSection'), type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: true, options: this.sectionList, isHidden: !this.isParentCode }, // /code
{ prop: 'sepTypeLeft', label: this.$t('map.sepTypeLeft'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType },
{ prop: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType },
{ prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, pointDisabled: this.isStationCodeDisabled, addPoint: this.addPoint, delPoint: this.delPoint, lastDisabled: true },
{ prop: 'logicSectionStartOffset', label: this.$t('map.logicalSectionStartOffset'), type: 'number', min: 0, width: '150px', isHidden: !this.isLSectionOffsetShow, disabled: true},
{ prop: 'logicSectionEndOffset', label: this.$t('map.logicalSectionEndOffset'), type: 'number', min: 0, width: '150px', isHidden: !this.isLSectionOffsetShow, disabled: true},
{ prop: 'standTrack', label: this.$t('map.isStandTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, // 1
{ prop: 'logicSectionStartOffset', label: this.$t('map.logicalSectionStartOffset'), type: 'number', min: 0, width: '150px', isHidden: !this.isStationCodeDisabled, disabled: true},
{ prop: 'logicSectionEndOffset', label: this.$t('map.logicalSectionEndOffset'), type: 'number', min: 0, width: '150px', isHidden: !this.isStationCodeDisabled, disabled: true},
{ prop: 'standTrack', label: this.$t('map.isStandTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, //
{ prop: 'standTrackName', label: this.$t('map.standTrackName'), type: 'input', isHidden: !this.isstandTrackNameShow },
{ prop: 'standTrackNamePosition', label: this.$t('map.standTrackNamePosition'), type: 'coordinate', width: '150px', isHidden: !this.isstandTrackNameShow, children: [
{ prop: 'standTrackNamePosition.x', firstLevel: 'standTrackNamePosition', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px'},
{ prop: 'standTrackNamePosition.y', firstLevel: 'standTrackNamePosition', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px'}
] },
{ prop: 'reentryTrack', label: this.$t('map.isReentryTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, // 1
{ prop: 'reentryTrack', label: this.$t('map.isReentryTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, //
{ prop: 'reentryTrackName', label: this.$t('map.reentryTrackName'), type: 'input', isHidden: !this.isreentryTrackName },
{ prop: 'reentryTrackNamePosition', label: this.$t('map.reentryTrackNamePosition'), type: 'coordinate', width: '150px', isHidden: !this.isreentryTrackName, children: [
@ -167,7 +167,7 @@ export default {
{ prop: 'reentryTrackNamePosition.y', firstLevel: 'reentryTrackNamePosition', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px'}
] },
{ prop: 'transferTrack', label: this.$t('map.isTransferTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, // 1
{ prop: 'transferTrack', label: this.$t('map.isTransferTrack'), type: 'checkbox', isHidden: !this.isStandTrackShow }, //
{ prop: 'transferTrackName', label: this.$t('map.transferTrackName'), type: 'input', isHidden: !this.istransferTrackName },
{ prop: 'transferTrackNamePosition', label: this.$t('map.transferTrackNamePosition'), type: 'coordinate', width: '150px', isHidden: !this.istransferTrackName, children: [
@ -180,10 +180,10 @@ export default {
{ prop: 'destinationCodePoint.y', firstLevel: 'destinationCodePoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px'}
] },
{ prop: 'switchSection', label: this.$t('map.isSwitchSection'), type: 'checkbox', isHidden: !this.isAssociatedSwitchSectionshow, disabled: true },
{ prop: 'relSwitchCode', label: this.$t('map.relSwitchCode'), type: 'select', optionLabel: 'code&&name', optionValue: 'code', options: this.switchList, change: true, deviceChange: this.deviceChange, isHidden: !this.isRelSwitchCode, disabled: true },
{ prop: 'switchSection', label: this.$t('map.isSwitchSection'), type: 'checkbox', disabled: true }, //
{ prop: 'relSwitchCode', label: this.$t('map.relSwitchCode'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.switchList, isHidden: this.isStandTrackShow, disabled: true }, //
{ prop: 'logicSectionShow', label: this.$t('map.displayLogicalExtents'), type: 'checkbox', isHidden: !this.isSwitchSectionShow }, // 1
{ prop: 'logicSectionShow', label: this.$t('map.displayLogicalExtents'), type: 'checkbox', isHidden: !this.isSwitchSectionType }, // 1
{ prop: 'logicSectionNameSort', label: this.$t('map.logicSectionNameSort'), type: 'radio', optionLabel: 'label', optionValue: 'value', isHidden: !this.isLogicSectionNameSort, radioList: [
{value: true, label: this.$t('map.fromSmallToLarge')},
{value: false, label: this.$t('map.fromLargeToSmall')}
@ -195,12 +195,12 @@ export default {
map: {
name: this.$t('map.mapData'),
item: [
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isStationCodeDisabled, options: this.centralizedStationList },
{ prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter') },
{ prop: 'stationCode', label: this.$t('map.equipmentStation') + ':', type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isStationCodeDisabled, options: this.centralizedStationList, isHidden: this.isStationCodeDisabled},
{ prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter'), isHidden: !this.isSwitchSectionType },
{ prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset },
{ prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, disabled: true, isHidden: !this.isStopPointOffset },
{ prop: 'region', label: this.$t('map.sectionColon'), type: 'select', optionLabel: 'label', optionValue: 'value', options: this.regionList, isHidden: !this.sectionColonShow },
{ prop: 'trainWindowCode', label: '关联车次窗', type: 'input', disabled: true},
{ prop: 'trainWindowCode', label: '关联车次窗', type: 'input', disabled: true, isHidden: this.hasAssociatedSection },
{ prop: 'kmRangeLeft', label: this.$t('map.leftKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') },
{ prop: 'kmRangeRight', label: this.$t('map.rightKilometerMark'), type: 'number', min: 0, placeholder: this.$t('map.meter') }
]
@ -302,15 +302,27 @@ export default {
},
// true false
isParentCode() {
return this.editModel.type == '02' || this.editModel.relSwitchCode;
},
isStationCodeDisabled() {
return this.editModel.type == '02';
},
isSwitchSectionType() {
return this.editModel.type !== '04';
},
isLogicSectionNameSort() { //
return this.editModel.type == '01';
},
isPointsShow() {
return this.editModel.type !== '04' && this.editModel.points.length > 0;
},
isStandTrackShow() {
return this.editModel.type != '04' && this.editModel.type != '03';
},
hasAssociatedSection() {
return this.editModel.type == '01' || this.editModel.type == '03';
},
isParentCode() {
return this.editModel.type == '02' || this.editModel.type == '03';
},
isstandTrackNameShow() {
return this.editModel.type !== '04' && this.editModel.standTrack;
},
@ -326,41 +338,18 @@ export default {
isStopPointOffset() {
return this.editModel.type !== '04' && (this.editModel.reentryTrack || this.editModel.standTrack || this.editModel.transferTrack);
},
isRelSwitchCode() {
return this.editModel.type !== '04' && this.editModel.switchSection;
},
isLogicSectionNameSort() { //
return this.editModel.type === '01' && !this.editModel.switchSection;
},
isPointsShow() {
return this.editModel.type !== '04' && this.editModel.points.length > 0;
},
sectionColonShow() {
if (this.$store.state.map.map) {
return this.$store.state.map.map.skinVO.code === '03';
}
return false;
},
isSwitchSectionShow() { //
return this.editModel.type !== '04' && !this.editModel.switchSection;
},
isAssociatedSwitchSectionshow() {
return this.editModel.type !== '04' || this.editModel.type !== '03';
},
isStandTrackShow() {
return this.editModel.type !== '04' && this.editModel.type !== '03' && !this.editModel.switchSection;
},
isLeftSectionButtonShow() {
return this.field === 'leftSection';
},
isRightSectionButtonShow() {
return this.field === 'rightSection';
},
hasAssociatedSection() {
return this.editModel.type === '01' || this.editModel.type === '03';
},
isLSectionOffsetShow() {
return this.editModel.type === '02';
sectionColonShow() {
if (this.$store.state.map.map) {
return this.$store.state.map.map.skinVO.code === '03';
}
return false;
},
centralizedStationList() {
let list = [];
@ -414,10 +403,10 @@ export default {
this.editModel = deepAssign(this.editModel, selected);
this.editModel.logicSectionNum = selected.type === '01' ? selected.logicSectionNum : [0];
this.editModel.points = JSON.parse(JSON.stringify(selected.points));
this.editModel.lengthFact = selected.lengthFact || 0;
this.oldPoint = JSON.parse(JSON.stringify(selected.points));
this.oldLeftSectionCode = selected.leftSectionCode;
this.oldRightSectionCode = selected.rightSectionCode;
this.editModel.lengthFact = selected.lengthFact || 0;
this.$refs.logicBlock.computedLogicSectionNumList(this.editModel.logicSectionNum);
if (this.field.toUpperCase() === 'splitSection'.toUpperCase()) {
this.$refs.splitOrMerge.addModel.splitOffsetMax = Math.sqrt(new JTriangle(selected.points[0], selected.points[selected.points.length - 1]).abspowz);
@ -449,8 +438,6 @@ export default {
} else if (this.field.toUpperCase() === 'sectionTypeCode'.toUpperCase()) {
this.$refs.batchSettings.formModel.modelList.push(selected.code);
this.activeName = 'five';
// this.field = '';
// this.$emit('fieldSelect', '');
}
}
},
@ -501,6 +488,8 @@ export default {
if (section.parentCode === model.code) {
const copySection = deepAssign({}, section);
copySection.logicSectionShow = model.logicSectionShow;
// copySection.lengthFact = (Number(model.lengthFact) / model.logicSectionCodeList.length).toFixed(3);
copySection.stationCode = model.stationCode; //
models.push(copySection);
} else if (model.code !== section.code && (section.type === '01' || section.type === '03')) {
const copySection = deepAssign({}, section);
@ -524,6 +513,22 @@ export default {
}
}
if (model.parentCode == copySection.code) {
let lengthFact = 0;
copySection.logicSectionCodeList.forEach(code => {
if (model.code != code) {
const localSectionModel = this.$store.getters['map/getDeviceByCode'](code);
lengthFact += Number(localSectionModel.lengthFact);
}
});
lengthFact += model.lengthFact;
copySection.lengthFact = lengthFact.toFixed(3); //
if (copySection.lengthFact > 5) {
copySection.leftStopPointOffset = 5;
copySection.rightStopPointOffset = copySection.lengthFact - 5;
}
updataFlag = true;
}
if (this.checkPointsCoincide(this.oldPoint[0], section.points[section.points.length - 1])) {
pointModel.push(copySection);
}

View File

@ -173,7 +173,7 @@ export default {
trainPosType: model.trainPosType,
points: points,
curve: false,
lengthFact: 0,
lengthFact: lineLength.toFixed(3),
trainWindowCode: '',
kmRangeRight: model.kmRangeRight,
kmRangeLeft: model.kmRangeLeft,

Some files were not shown because too many files have changed in this diff Show More