Merge remote-tracking branch 'origin/test'
BIN
src/assets/home_exam/exam1.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
src/assets/home_simulation/simulation1.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
src/assets/home_simulation/simulation2.png
Normal file
After Width: | Height: | Size: 200 KiB |
BIN
src/assets/home_simulation/simulation3.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
src/assets/home_simulation/simulation4.png
Normal file
After Width: | Height: | Size: 270 KiB |
BIN
src/assets/home_simulation/simulation5.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
src/assets/home_teach/teach1.png
Normal file
After Width: | Height: | Size: 102 KiB |
@ -320,13 +320,16 @@ export function Jl3dDrivingNew(mixers,updatemmi,sound,translation,routegroup,dri
|
||||
}
|
||||
|
||||
function otherTrainRun(data){
|
||||
|
||||
if(data.length != trainlisttest.otherTrainmodels.length && trainlisttest.updatStatus == false){
|
||||
if(data.length > trainlisttest.otherTrainmodels.length && trainlisttest.updatStatus == false){
|
||||
trainlisttest.addDriveTrain(data);
|
||||
}else if(data.length < trainlisttest.otherTrainmodels.length){
|
||||
|
||||
let removelength = trainlisttest.otherTrainmodels.length - data.length;
|
||||
trainlisttest.removeDriveTrain(removelength);
|
||||
}else{
|
||||
|
||||
for(let i=0,leni=data.length;i<leni;i++){
|
||||
let updateTrain = trainlisttest.otherTrainList[data[i].code];
|
||||
let updateTrain = trainlisttest.otherTrainmodels[i];
|
||||
|
||||
if(data[i].code != trainmodel.code){
|
||||
|
||||
|
@ -52,12 +52,20 @@ export function TrainListN() {
|
||||
}
|
||||
scope.otherTrainList = [];
|
||||
for(let j=0,lenj = data.length;j<lenj;j++){
|
||||
this.otherTrainmodels[j].code = data[j].code;
|
||||
scope.otherTrainmodels[j].code = data[j].code;
|
||||
scope.otherTrainList[data[j].code] = this.otherTrainmodels[j];
|
||||
}
|
||||
|
||||
this.updatStatus = false;
|
||||
}
|
||||
|
||||
this.removeDriveTrain = function(removeLength){
|
||||
console.log(removeLength);
|
||||
|
||||
scope.group.remove(scope.otherTrainmodels[0]);
|
||||
scope.otherTrainmodels.splice(0,removeLength);
|
||||
}
|
||||
|
||||
this.drivertrain = function(data,scene,assetloader,mixers,actionss,mode){
|
||||
|
||||
return new Promise(function(resolve, reject){
|
||||
@ -170,6 +178,8 @@ export function TrainListN() {
|
||||
resolve("loadedtrain");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
this.initpromise = function(data,scene,assetloader,mixers,actionss,mode){
|
||||
return new Promise(function(resolve, reject){
|
||||
let selectmesh,ntracks1,ntracks2,tclip,fclip;
|
||||
|
@ -98,6 +98,10 @@ class SkinCode extends defaultStyle {
|
||||
logicalTextColor: '#FFFFFF', // 逻辑区段名称颜色 (未用)
|
||||
invalidColor: '#A25100' // 区段ARB故障颜色
|
||||
},
|
||||
sectionMiddle: {
|
||||
preResetColor: '#4169E1', // 区段计轴预复位
|
||||
z: 2
|
||||
},
|
||||
speedLimit: { // 限速元素
|
||||
z: 2,
|
||||
width: 1, // 限速线的宽短
|
||||
|
@ -6,7 +6,7 @@ class SkinCode extends defaultStyle {
|
||||
super();
|
||||
this.fontFamily = '宋体';
|
||||
this[deviceType.Section] = {
|
||||
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'destinationText', 'line', 'separator', 'speedLimit'],
|
||||
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'destinationText', 'line', 'separator', 'speedLimit', 'sectionMiddle'],
|
||||
active: {
|
||||
routeColor: false // 进路触发颜色
|
||||
},
|
||||
@ -98,6 +98,10 @@ class SkinCode extends defaultStyle {
|
||||
logicalTextColor: '#FFFFFF', // 逻辑区段名称颜色 (未用)
|
||||
invalidColor: '#A25100' // 区段ARB故障颜色
|
||||
},
|
||||
sectionMiddle: {
|
||||
preResetColor: '#00FFFF', // 区段计轴预复位
|
||||
z: 2
|
||||
},
|
||||
speedLimit: { // 限速元素
|
||||
z: 2,
|
||||
width: 1, // 限速线的宽短
|
||||
|
@ -6,7 +6,7 @@ class SkinCode extends defaultStyle {
|
||||
super();
|
||||
this.fontFamily = '宋体';
|
||||
this[deviceType.Section] = {
|
||||
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'line', 'lineBorder', 'sectionBlock', 'speedLimitName'],
|
||||
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'line', 'lineBorder', 'sectionMiddle', 'speedLimitName'],
|
||||
active: {
|
||||
routeColor: false // 进路触发颜色
|
||||
},
|
||||
@ -103,7 +103,7 @@ class SkinCode extends defaultStyle {
|
||||
z: -1,
|
||||
activeStroke: '#2EBFBF'
|
||||
},
|
||||
sectionBlock: {
|
||||
sectionMiddle: {
|
||||
z: 2
|
||||
}, // 计轴
|
||||
speedLimit: { // 限速元素
|
||||
|
@ -6,7 +6,7 @@ class SkinCode extends defaultStyle {
|
||||
super();
|
||||
this.fontFamily = '宋体';
|
||||
this[deviceType.Section] = {
|
||||
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'line', 'lineBorder', 'sectionBlock', 'separator', 'speedLimitName'],
|
||||
elemnetType:['name', 'logicText', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'line', 'lineBorder', 'sectionMiddle', 'separator', 'speedLimitName'],
|
||||
active: {
|
||||
routeColor: false // 进路触发颜色
|
||||
},
|
||||
@ -89,7 +89,7 @@ class SkinCode extends defaultStyle {
|
||||
unCommunicationOccupiedColor: '#A600A6', // 区段非通讯车占用颜色 紫色
|
||||
routeLockColor: '#00FF00', // 区段路由锁定颜色 空闲且被进路征用
|
||||
protectiveLockColor: '#9DFF6E', // 区段保护锁闭
|
||||
blockColor: '#0010FF', // 区段封锁颜色 深蓝色
|
||||
delayUnlockColor: '#00FF00', // 延时解锁
|
||||
|
||||
faultLockColor: '#9B4A0A', // 区段故障锁定颜色
|
||||
|
||||
@ -101,15 +101,17 @@ class SkinCode extends defaultStyle {
|
||||
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
|
||||
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
|
||||
logicalTextColor: '#FFFFFF' // 逻辑区段名称颜色 (未用)
|
||||
|
||||
},
|
||||
sectionMiddle: {
|
||||
blockColor: '#0010FF', // 区段封锁颜色 深蓝色
|
||||
preResetColor: '#FFBEC9', // 区段计轴预复位
|
||||
z: 2
|
||||
},
|
||||
lineBorder: { // 哈尔滨点击背景 元素
|
||||
z: -1,
|
||||
activeStroke: '#2EBFBF'
|
||||
},
|
||||
sectionBlock: {
|
||||
z: 2
|
||||
}, // 计轴
|
||||
// 计轴
|
||||
speedLimit: { // 限速元素
|
||||
z: 2,
|
||||
width: 1, // 限速线的宽短
|
||||
@ -597,7 +599,8 @@ class SkinCode extends defaultStyle {
|
||||
},
|
||||
coverBlock: { // 道岔封锁 遮盖物
|
||||
show: true, // 显示
|
||||
coverBlockColor: '#0010FF'// 遮挡物颜色
|
||||
coverBlockColor: '#0010FF', // 遮挡物颜色
|
||||
preResetColor: '#FFBEC9' // 区段计轴预复位
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -183,6 +183,7 @@ class SkinCode extends defaultStyle {
|
||||
},
|
||||
auto: {
|
||||
signalFrontTriangle: false, // 信号灯前三角展示
|
||||
autoRouteType:'line', // 自动进路类型 line 为西安二号线的类型(只更改信号机灯柱的颜色)
|
||||
direction: false, // 自动通过方向
|
||||
offset: { x: -4, y: 0}, // 自动通过偏移量
|
||||
width: 5, // 自动宽度
|
||||
|
@ -247,6 +247,14 @@ class MouseController extends Eventful {
|
||||
x2: item.namePosition.x,
|
||||
y2: item.namePosition.y
|
||||
};
|
||||
} else if (item.type == '05') {
|
||||
const rect = item.instance.getBoundingRect();
|
||||
deviceBoundingRect = {
|
||||
x1: rect.x,
|
||||
y1: rect.y,
|
||||
x2: rect.x + rect.width,
|
||||
y2:rect.y + rect.height
|
||||
};
|
||||
} else {
|
||||
deviceBoundingRect = {
|
||||
x1: item.points[0].x,
|
||||
|
@ -362,6 +362,9 @@ export default class ELines extends Group {
|
||||
this.routeArrowRight.hide();
|
||||
this.routeLineRight.hide();
|
||||
}
|
||||
if (model.type == '01' && model.parentCode) {
|
||||
this.section.setStyle({stroke:'#5b5b5b'});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -374,7 +377,8 @@ export default class ELines extends Group {
|
||||
}
|
||||
|
||||
setOrignalCross() {
|
||||
this.crossSection && this.crossSection.setStyle({lineWidth:0, fill:this.model.style.Section.cross.crossSection.fillColor});
|
||||
this.crossSection && this.crossSection.setStyle({lineWidth:0 });
|
||||
// fill:this.model.style.Section.cross.crossSection.fillColor
|
||||
}
|
||||
|
||||
setCrossBlock() {
|
||||
@ -386,7 +390,9 @@ export default class ELines extends Group {
|
||||
setCrossSpeedUpperLimit(speedLimit) {
|
||||
this.crossSpeedText && this.crossSpeedText.setStyle({text:speedLimit, textFill: 'red' });
|
||||
}
|
||||
|
||||
setCrossDefault() {
|
||||
this.crossSection && this.crossSection.setStyle({fill:this.model.style.Section.cross.crossSection.fillColor});
|
||||
}
|
||||
setZleve(lev) {
|
||||
this.section && this.section.attr('z', lev);
|
||||
}
|
||||
@ -399,9 +405,17 @@ export default class ELines extends Group {
|
||||
show() {
|
||||
this.section && this.section.show();
|
||||
this.crossSection && this.crossSection.show();
|
||||
this.crossText && this.crossText.show();
|
||||
this.crossSpeedText && this.crossSpeedText.show();
|
||||
this.centerSquare && this.centerSquare.show();
|
||||
}
|
||||
|
||||
setCrossRouteLock() {
|
||||
if (this.crossSection) {
|
||||
this.crossSection.setStyle({fill:'rgba(0,0,0,0)'});
|
||||
}
|
||||
}
|
||||
|
||||
animateStyle(loop, animates) {
|
||||
if (animates && animates.length) {
|
||||
if (this.section && this.section.animateStyle && this.section.isLine) {
|
||||
|
@ -16,6 +16,9 @@ export default class ELines extends Group {
|
||||
this.model = model;
|
||||
this.zlevel = model.zlevel;
|
||||
this.z = model.z;
|
||||
if (model.modelData.type === '01' && model.modelData.logicSectionCodeList && model.modelData.logicSectionCodeList.length) {
|
||||
return;
|
||||
}
|
||||
this.create();
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,7 @@ export default class Section extends Group {
|
||||
'destinationText': ETextName, // 目的码名称
|
||||
'line': ELines, // 创建区段
|
||||
'lineBorder': ELines, // 哈尔滨线路点击背景色
|
||||
'sectionBlock': EblockLines, // 哈尔滨线路区段(封锁显示)
|
||||
'sectionMiddle': EblockLines, // 哈尔滨线路区段(封锁显示)
|
||||
'stopRouteImg': EStopRouteImg, // 宁波三线路特有
|
||||
'axle': EAxle, // 计轴 (西安二号线 )
|
||||
'separator': ESeparator, // 分隔符
|
||||
@ -88,13 +88,18 @@ export default class Section extends Group {
|
||||
if (this.line) {
|
||||
this.line.setCrossUnBlock();
|
||||
this.line.stopAnimation(true);
|
||||
this.sectionBlock && this.sectionBlock.hide(); // 因此特殊区段
|
||||
this.sectionBlock && this.sectionBlock.stopAnimation();
|
||||
this.line.setStyle({
|
||||
stroke: this.style.Section.line.spareColor,
|
||||
lineWidth: this.style.Section.line.width
|
||||
});
|
||||
this.sectionMiddle && this.sectionMiddle.hide(); // 因此特殊区段
|
||||
this.sectionMiddle && this.sectionMiddle.stopAnimation();
|
||||
if (this.model.type == '01' && this.model.parentCode) {
|
||||
this.line.setStyle({stroke:'#5b5b5b'});
|
||||
} else {
|
||||
this.line.setStyle({
|
||||
stroke: this.style.Section.line.spareColor,
|
||||
lineWidth: this.style.Section.line.width
|
||||
});
|
||||
}
|
||||
this.line.setCrossSpeedUpperLimit('');
|
||||
this.line.setCrossDefault();
|
||||
}
|
||||
this.name && this.name.recover();
|
||||
this.speedLimit && this.speedLimit.hide();
|
||||
@ -121,10 +126,15 @@ export default class Section extends Group {
|
||||
/** 空闲状态 01*/
|
||||
spare() {
|
||||
if (this.line) {
|
||||
this.line.setStyle({
|
||||
stroke: this.style.Section.line.spareColor,
|
||||
lineWidth: this.style.Section.line.width
|
||||
});
|
||||
if (this.model.type == '01' && this.model.parentCode) {
|
||||
this.section.setStyle({stroke:'#5b5b5b'});
|
||||
} else {
|
||||
this.line.setStyle({
|
||||
stroke: this.style.Section.line.spareColor,
|
||||
lineWidth: this.style.Section.line.width
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -172,19 +182,21 @@ export default class Section extends Group {
|
||||
stroke: this.style.Section.line.routeLockColor,
|
||||
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
|
||||
});
|
||||
this.line.setCrossRouteLock();
|
||||
this.line.setRouteLock(lockRight);
|
||||
}
|
||||
}
|
||||
|
||||
/** 封锁 06*/
|
||||
block(routeLock) {
|
||||
if (this.sectionBlock && this.model.type !== '03') {
|
||||
this.sectionBlock.show();
|
||||
routeLock && this.style.Section.line.routeBlockFlashing && this.sectionBlock.animateStyle(true, [
|
||||
if (this.sectionMiddle && this.model.type !== '03' && this.style.Section.sectionMiddle && this.style.Section.sectionMiddle.blockColor) {
|
||||
this.sectionMiddle.setStyle({stroke: this.style.Section.line.blockColor});
|
||||
this.sectionMiddle.show();
|
||||
routeLock && this.style.Section.line.routeBlockFlashing && this.sectionMiddle.animateStyle(true, [
|
||||
{ time: 500, styles: { stroke: this.style.backgroundColor } },
|
||||
{ time: 1000, styles: { stroke: this.style.Section.line.blockColor } }
|
||||
]);
|
||||
} else {
|
||||
} else if (this.model.type !== '03') {
|
||||
this.line && this.line.setStyle({
|
||||
stroke: this.style.Section.line.blockColor,
|
||||
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
|
||||
@ -193,7 +205,7 @@ export default class Section extends Group {
|
||||
if (this.style.Section.cross && this.model.type == '05') {
|
||||
this.line.setCrossBlock();
|
||||
}
|
||||
if (this.style.Section.block && this.style.Section.block.blockGlint && this.line) {
|
||||
if (this.style.Section.block && this.style.Section.block.blockGlint && this.line && this.model.type !== '03') {
|
||||
this.line.animateStyle(true, [
|
||||
{ time: 1000, styles: { stroke: this.style.backgroundColor } },
|
||||
{ time: 2000, styles: { stroke: this.style.Section.line.blockColor } }
|
||||
@ -277,20 +289,49 @@ export default class Section extends Group {
|
||||
this.line && this.line.setStyle({stroke: '#7F7F7F'});
|
||||
this.name && this.name.setStyle({textFill: '#7F7F7f'});
|
||||
}
|
||||
/** 计轴预复位 */
|
||||
preReset(blockade) {
|
||||
if (this.style.Section.sectionMiddle && this.style.Section.sectionMiddle.preResetColor && !blockade) { // 南京二号线
|
||||
this.sectionMiddle.setStyle({stroke: this.style.Section.sectionMiddle.preResetColor});
|
||||
this.sectionMiddle.show();
|
||||
}
|
||||
}
|
||||
// 延时解锁
|
||||
delayUnlock() {
|
||||
if (this.style.Section.line.delayUnlockColor) {
|
||||
this.line && this.line.setStyle({stroke: this.style.Section.line.delayUnlockColor});
|
||||
this.line && this.line.animateStyle(true, [
|
||||
{ time: 0, styles: { stroke: this.style.Section.line.delayUnlockColor } },
|
||||
{ time: 1000, styles: { stroke: this.style.backgroundColor } },
|
||||
{ time: 2000, styles: { stroke: this.style.Section.line.delayUnlockColor } }
|
||||
]);
|
||||
}
|
||||
}
|
||||
// 南京二号线
|
||||
setSwitchSectionColor(section1, section2) {
|
||||
section1 && section1.instance && section1.instance.line.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
|
||||
section2 && section2.instance && section2.instance.setState(section2, true);
|
||||
}
|
||||
handleSwitchSection(model, flag) {
|
||||
// 哈尔滨线路 南京二 道岔相关区段设置 默认颜色
|
||||
if (this.style.Switch.sectionAction.flag && model.relSwitchCode && !flag) {
|
||||
const switchModel = Vue.prototype.$jlmap.mapDevice[model.relSwitchCode];
|
||||
const sectionB = Vue.prototype.$jlmap.mapDevice[switchModel.sectionBCode];
|
||||
const sectionC = Vue.prototype.$jlmap.mapDevice[switchModel.sectionCCode];
|
||||
if (switchModel && (switchModel.normalPosition === 1 || (switchModel.normalPosition === 0 && switchModel.reversePosition === 0 && switchModel.instance && switchModel.instance.switchPosition === 'reverse'))) { // 定位情况
|
||||
sectionC && sectionC.instance && sectionC.instance.line.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
|
||||
sectionB && sectionB.instance && sectionB.instance.setState(sectionB, true);
|
||||
} else if (switchModel && switchModel.reversePosition === 1 || (switchModel.normalPosition === 0 && switchModel.reversePosition === 0 && switchModel.instance && switchModel.instance.switchPosition === 'normal')) { // 反位情况
|
||||
sectionB && sectionB.instance && sectionB.instance.line.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
|
||||
sectionC && sectionC.instance && sectionC.instance.setState(sectionC, true);
|
||||
if (switchModel && switchModel.normalPosition === 1) {
|
||||
this.setSwitchSectionColor(sectionC, sectionB);// 定位
|
||||
} else if (switchModel && switchModel.normalPosition === 0 && switchModel.reversePosition === 0 && switchModel.instance && switchModel.instance.switchPosition === 'reverse' && switchModel.fault !== 'SPLIT') {
|
||||
this.setSwitchSectionColor(sectionC, sectionB);// 反位转定位前
|
||||
} else if (switchModel && switchModel.normalPosition === 0 && switchModel.reversePosition === 0 && switchModel.instance && switchModel.instance.switchPosition === 'normal' && (switchModel.fault === 'SPLIT' || switchModel.fault === 'NORMAL_SPLIT')) {
|
||||
this.setSwitchSectionColor(sectionC, sectionB);// 定位变失表或定位失表
|
||||
} else if (switchModel && switchModel.reversePosition === 1) {
|
||||
this.setSwitchSectionColor(sectionB, sectionC); // 反位
|
||||
} else if (switchModel && switchModel.normalPosition === 0 && switchModel.reversePosition === 0 && switchModel.instance && switchModel.instance.switchPosition === 'normal' && switchModel.fault !== 'SPLIT') {
|
||||
this.setSwitchSectionColor(sectionB, sectionC); // 定位转反位前
|
||||
} else if (switchModel && switchModel.normalPosition === 0 && switchModel.reversePosition === 0 && switchModel.instance && switchModel.instance.switchPosition === 'reverse' && (switchModel.fault === 'SPLIT' || switchModel.fault === 'REVERSE_SPLIT')) {
|
||||
this.setSwitchSectionColor(sectionB, sectionC);// 反位变失表后反位失表
|
||||
}
|
||||
if (this.style.Section.switchFault && switchModel.split) {
|
||||
if (this.style.Section.switchFault && switchModel.fault === 'SQUEEZE') {
|
||||
if (sectionB && sectionB.instance) {
|
||||
sectionB.instance.setState(sectionB, true);
|
||||
sectionB.instance.line.animateStyle(true, [
|
||||
@ -331,11 +372,15 @@ export default class Section extends Group {
|
||||
model.nctOccupied && this.unCommunicationOccupied();
|
||||
/** 通信车占用状态 */
|
||||
model.ctOccupied && this.communicationOccupied();
|
||||
// 计轴预复位
|
||||
model.preReset && this.preReset(model.blockade);
|
||||
/** 区段切除*/
|
||||
model.cutOff && this.sectionCutOff();
|
||||
/** 是否限速*/
|
||||
model.speedUpLimit > 0 && this.setSpeedUpperLimit(model.speedUpLimit);
|
||||
// 区段计轴预复位状态 (未处理)
|
||||
// 区段延时解锁
|
||||
model.delayUnlock && this.delayUnlock();
|
||||
// 区段故障锁闭 之前是fault 暂时设置为faultLock
|
||||
model.faultLock && this.faultLock();
|
||||
// 设置灰显
|
||||
|
@ -613,7 +613,7 @@ class Signal extends Group {
|
||||
this.sigRoute.show();
|
||||
this.sigRoute.setStyle({ fill: this.style.Signal.auto.autoRoute });
|
||||
} else {
|
||||
if (this.style.Signal.auto.autoRouteType != 'text') {
|
||||
if (this.style.Signal.auto.autoRouteType != 'text' && this.style.Signal.auto.autoRouteType != 'line') {
|
||||
this.sigAuto.setColor(this.style.Signal.auto.autoRoute);
|
||||
this.sigAuto.show();
|
||||
}
|
||||
@ -625,7 +625,7 @@ class Signal extends Group {
|
||||
if (this.style.Signal.post.autoRouteColor) {
|
||||
this.sigPost.setColor(this.style.Signal.post.autoRouteColor);
|
||||
} else if (this.style.Signal.post.autoRouteVerColor) {
|
||||
this.sigPost.setVerColor(this.style.Signal.post.setVerColor);
|
||||
this.sigPost.setVerColor(this.style.Signal.post.autoRouteVerColor);
|
||||
}
|
||||
}
|
||||
|
||||
@ -801,11 +801,11 @@ class Signal extends Group {
|
||||
});
|
||||
}
|
||||
}
|
||||
if ( model.level === 3) {
|
||||
if ( model.level === 3 && this.style.Signal.post.mainSignalVerColor && !model.fleetMode) {
|
||||
this.sigPost.setVerColor(this.style.Signal.post.mainSignalVerColor);
|
||||
} else if (model.level === 1 && this.style.Signal.post.closeSignalVerColor) {
|
||||
} else if (model.level === 1 && this.style.Signal.post.closeSignalVerColor && !model.fleetMode) {
|
||||
this.sigPost.setVerColor(this.style.Signal.post.closeSignalVerColor);
|
||||
} else if (model.level === 2 && this.style.Signal.post.guideSignalVerColor) {
|
||||
} else if (model.level === 2 && this.style.Signal.post.guideSignalVerColor && !model.fleetMode) {
|
||||
this.sigPost.setVerColor(this.style.Signal.post.guideSignalVerColor);
|
||||
}
|
||||
// 信号机故障
|
||||
|
@ -59,11 +59,10 @@ class ESwLnversion extends Group {
|
||||
return this.relocShelter;
|
||||
}
|
||||
|
||||
animateStyle(color1, color2) {
|
||||
this.relocShelter.animateStyle(true)
|
||||
.when(0, {stroke: color1})
|
||||
.when(500, {stroke: color2})
|
||||
.when(1000, {stroke: color1}).start();
|
||||
animateStyle(cb) {
|
||||
this.eachChild((child) => {
|
||||
cb(child);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -56,11 +56,10 @@ class ESwLocal extends Group {
|
||||
this.locShelter.setStyle(data);
|
||||
}
|
||||
|
||||
animateStyle(color1, color2) {
|
||||
this.locShelter.animateStyle(true)
|
||||
.when(0, {stroke: color1})
|
||||
.when(500, {stroke: color2})
|
||||
.when(1000, {stroke: color1}).start();
|
||||
animateStyle(cb) {
|
||||
this.eachChild((child) => {
|
||||
cb(child);
|
||||
});
|
||||
}
|
||||
getLocal() {
|
||||
return this.locShelter;
|
||||
|
@ -65,11 +65,10 @@ class ETriangle extends Group {
|
||||
});
|
||||
}
|
||||
|
||||
animateStyle(color1, color2) {
|
||||
this.section.animateStyle(true)
|
||||
.when(0, {stroke: color1})
|
||||
.when(500, {stroke: color2})
|
||||
.when(1000, {stroke: color1}).start();
|
||||
animateStyle(cb) {
|
||||
this.eachChild((child) => {
|
||||
cb(child);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -151,6 +151,8 @@ export default class Switch extends Group {
|
||||
const arrowTextY = model.intersection.y + 15;
|
||||
const nameTextX = model.namePosition.x + model.intersection.x + directx * (style.Section.line.width * 3 + style.Switch.text.offset.x) * this.triangle.getCotRate();
|
||||
const nameTextY = model.namePosition.y + model.intersection.y + style.Switch.text.offset.y * (style.Switch.text.position || directy);
|
||||
const eTextX = nameTextX;
|
||||
const eTextY = nameTextY + (directy == 1 ? 6 * directy : 3 * directy);
|
||||
|
||||
this.name = new ESwName({ // 道岔名称
|
||||
zlevel: this.zlevel,
|
||||
@ -168,16 +170,15 @@ export default class Switch extends Group {
|
||||
|
||||
this.enabledName = new Text({ // 道岔使能 E 西安二号线独有
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 6,
|
||||
z: this.z + 99,
|
||||
_subType: 'enabled', // 标识
|
||||
style: {
|
||||
x: nameTextX,
|
||||
// y: nameTextY + directy * 20,
|
||||
y: nameTextY + 20,
|
||||
x: eTextX,
|
||||
y: eTextY,
|
||||
fontSize: 12,
|
||||
text: 'E',
|
||||
textAlign: 'center',
|
||||
textVerticalAlign: 'middle',
|
||||
textVerticalAlign: directy == 1 ? 'top' : 'bottom',
|
||||
textFill: 'yellow'
|
||||
}
|
||||
});
|
||||
@ -326,7 +327,7 @@ export default class Switch extends Group {
|
||||
}
|
||||
}
|
||||
// 南京二号线 A,B闪烁
|
||||
shapeFlashing(split) {
|
||||
shapeFlashing(fault) {
|
||||
let bColor = '#7F7F7F';
|
||||
let aColor = '#7F7F7F';
|
||||
if (this.switchPosition === 'normal') {
|
||||
@ -335,24 +336,35 @@ export default class Switch extends Group {
|
||||
bColor = '#FF0';
|
||||
}
|
||||
// 南京二号线道岔短闪两部分相位不同
|
||||
this.shapeModelA && this.shapeModelA.animateStyle(aColor, this.style.backgroundColor);
|
||||
this.shapeModelA && this.shapeModelA.animateStyle(item => {
|
||||
item.animateStyle(true)
|
||||
.when(0, { stroke: this.style.backgroundColor })
|
||||
.when(1000, { stroke: aColor })
|
||||
.when(2000, { stroke: this.style.backgroundColor })
|
||||
.start();
|
||||
});
|
||||
setTimeout(() => {
|
||||
this.shapeModelB && this.shapeModelB.animateStyle(bColor, this.style.backgroundColor);
|
||||
this.shapeModelB && this.shapeModelB.animateStyle(item => {
|
||||
item.animateStyle(true)
|
||||
.when(0, { stroke: this.style.backgroundColor })
|
||||
.when(1000, { stroke: bColor })
|
||||
.when(2000, { stroke: this.style.backgroundColor })
|
||||
.start();
|
||||
});
|
||||
}, 100);
|
||||
if (split) {
|
||||
if (fault === 'SQUEEZE') {
|
||||
this.shapeModelA.hide();
|
||||
this.shapeModelB.hide();
|
||||
this.shapeModelC.hide();
|
||||
}
|
||||
}
|
||||
/** 失去*/
|
||||
setLossAction(split) {
|
||||
setLossAction(fault) {
|
||||
this.shapeModelA.show();
|
||||
this.shapeModelB.show();
|
||||
this.shapeModelC.show();
|
||||
this.shapeModelC.setColor(this.style.backgroundColor);
|
||||
this.shapeModelB.animateStyle();
|
||||
this.style.Switch.shapeFlash && this.shapeFlashing(split);
|
||||
this.style.Switch.shapeFlash && this.shapeFlashing(fault);
|
||||
this.setTextColor(this.style.Switch.text.lossColor);
|
||||
this.style.Switch.text.faultFlashing && this.nameTextAnimation();
|
||||
|
||||
@ -363,18 +375,18 @@ export default class Switch extends Group {
|
||||
.when(1000, { stroke: this.style.backgroundColor })
|
||||
.start();
|
||||
}
|
||||
setSwitchFault(split, normalPosition, reversePosition) {
|
||||
if (this.style.Switch.jointImg.faultStatus && split && !reversePosition && !normalPosition ) { // 宁波线失表状态
|
||||
setSwitchFault(fault, normalPosition, reversePosition) {
|
||||
if (this.style.Switch.jointImg.faultStatus && fault && !reversePosition && !normalPosition ) { // 宁波线失表状态
|
||||
this.setForkAction(); // 道岔挤岔
|
||||
} else if (this.style.Switch.faultNoHandle ) {
|
||||
this.shapeModelA.hide();
|
||||
this.shapeModelB.hide();
|
||||
this.shapeModelC.hide();
|
||||
} else {
|
||||
if (this.model.switchFaultCode && split) {
|
||||
if (this.model.switchFaultCode && fault) {
|
||||
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
|
||||
switchFault.instance.setControlColor('#F00', true);
|
||||
} else if (this.model.switchFaultCode && !split) {
|
||||
} else if (this.model.switchFaultCode && !fault) {
|
||||
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
|
||||
switchFault.instance.setControlColor(this.style.backgroundColor, false);
|
||||
}
|
||||
@ -440,7 +452,7 @@ export default class Switch extends Group {
|
||||
}
|
||||
|
||||
/** 封锁 */
|
||||
block() {
|
||||
block(normalPosition, reversePosition) {
|
||||
if (this.style.Switch.jointImg.block) { // 宁波专用封锁显示
|
||||
this.shapeModelB.show();
|
||||
this.shapeModelB.animateStyle(item => {
|
||||
@ -473,9 +485,14 @@ export default class Switch extends Group {
|
||||
if (this.style.Switch.text.blockText) {
|
||||
this.setTextColor(this.style.Switch.text.blockText);
|
||||
}
|
||||
if (this.style.Switch.jointImg.trapezoidBlock && this.model.reversePosition) { // 范围且封锁时显示
|
||||
this.shapeModelC.show();
|
||||
this.shapeModelC.getSection().setStyle('fill', '#000080');
|
||||
if (this.style.Switch.jointImg.trapezoidBlock) { // 范围且封锁时显示
|
||||
if (normalPosition) {
|
||||
this.shapeModelB.show();
|
||||
this.shapeModelB.setColor('#000080');
|
||||
} else if (reversePosition) {
|
||||
this.shapeModelA.show();
|
||||
this.shapeModelA.setColor('#000080');
|
||||
}
|
||||
}
|
||||
if (this.style.Switch.rectLock.block) {
|
||||
this.lockRect.show();
|
||||
@ -484,10 +501,10 @@ export default class Switch extends Group {
|
||||
this.lockRect.setStyle({ stroke: this.style.Switch.rectLock.blockColor, fill: this.style.Switch.rectLock.blockFillColor });
|
||||
}
|
||||
}
|
||||
if (this.style.Switch.coverBlock && this.style.Switch.coverBlock.show) {
|
||||
this.shapeBlockCover.show();
|
||||
this.shapeBlockCover.setColor(this.style.Switch.coverBlock.coverBlockColor);
|
||||
}
|
||||
// if (this.style.Switch.coverBlock && this.style.Switch.coverBlock.show) {
|
||||
// this.shapeBlockCover.show();
|
||||
// this.shapeBlockCover.setColor(this.style.Switch.coverBlock.coverBlockColor);
|
||||
// }
|
||||
}
|
||||
blockMonolock() {
|
||||
if (this.style.Switch.rectLock.block && this.style.Switch.rectLock.monolock) {
|
||||
@ -521,11 +538,11 @@ export default class Switch extends Group {
|
||||
// 处理岔芯颜色
|
||||
setSectionState(state) {
|
||||
const sectionC = store.getters['map/getDeviceByCode'](state.sectionCCode);
|
||||
if (sectionC && state.reversePosition) {
|
||||
if (sectionC && state.reversePosition && !state.blockade) {
|
||||
this.setSwitchModelStatus(this.shapeModelA, sectionC);
|
||||
}
|
||||
const sectionA = store.getters['map/getDeviceByCode'](state.sectionACode);
|
||||
if (sectionA && state.normalPosition && !this.style.Switch.core.graphShow) {
|
||||
if (sectionA && state.normalPosition && !this.style.Switch.core.graphShow && !state.blockade) {
|
||||
this.setSwitchModelStatus(this.shapeModelB, sectionA);
|
||||
}
|
||||
}
|
||||
@ -564,10 +581,21 @@ export default class Switch extends Group {
|
||||
this.shapeModelC.setColor('#7F7F7F');
|
||||
this.name.getNameText().setStyle({textFill: '#7F7F7F'});
|
||||
}
|
||||
preReset(normalPosition, reversePosition ) {
|
||||
if (this.style.Switch.coverBlock.preResetColor) { // 范围且封锁时显示
|
||||
if (normalPosition) {
|
||||
this.shapeModelB.show();
|
||||
this.shapeModelB.setColor(this.style.Switch.coverBlock.preResetColor);
|
||||
} else if (reversePosition) {
|
||||
this.shapeModelA.show();
|
||||
this.shapeModelA.setColor(this.style.Switch.coverBlock.preResetColor);
|
||||
}
|
||||
}
|
||||
}
|
||||
setState(model) {
|
||||
if (!this.isShowShape) return;
|
||||
this.recover();
|
||||
this.setSwitchFault(model.split, model.normalPosition, model.reversePosition);
|
||||
this.setSwitchFault(model.fault, model.normalPosition, model.reversePosition);
|
||||
if (model.normalPosition) {
|
||||
this.switchPosition = 'normal';
|
||||
this.setLocationAction(model); /** 定位*/
|
||||
@ -575,12 +603,12 @@ export default class Switch extends Group {
|
||||
this.switchPosition = 'reverse';
|
||||
this.setInversionAction(model); /** 反位*/
|
||||
} else {
|
||||
this.setLossAction(model.split); // 失去
|
||||
this.setLossAction(model.fault); // 失去
|
||||
}
|
||||
model.isCiConfirm && this.setCiConfirm(); // 道岔使能显示
|
||||
|
||||
model.singleLock && this.setMonolock(model.normalPosition, model.reversePosition); // 道岔单锁
|
||||
model.blockade && this.block(); // 道岔封锁
|
||||
model.blockade && this.block(model.normalPosition, model.reversePosition); // 道岔封锁
|
||||
model.singleLock && model.blockade && this.blockMonolock(); // 单锁&锁闭状态
|
||||
const path = window.location.href;
|
||||
if (!path.includes('/map/draw')) {
|
||||
@ -590,6 +618,7 @@ export default class Switch extends Group {
|
||||
model.routeLock && this.handleRouteLock(); // 道岔进路锁闭
|
||||
model.overlapLock && this.handleOverlapLock(); // 道岔进路延续保护
|
||||
// this.interlockingReserved(); // 联锁预留道岔
|
||||
model.preReset && this.preReset(model.normalPosition, model.reversePosition); // 道岔预复位
|
||||
|
||||
if (this.style.Switch.sectionAction.flag) { // 哈尔滨线路处理道岔相关区段颜色
|
||||
const switchModel = Vue.prototype.$jlmap.mapDevice[model.code];
|
||||
|
@ -117,6 +117,7 @@ import PasswordBox from './dialog/childDialog/passwordInputBox.vue';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { mapGetters } from 'vuex';
|
||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||
import { OperateMode } from '@/scripts/ConstDic';
|
||||
|
||||
export default {
|
||||
name: 'MapButtonMenu',
|
||||
@ -143,13 +144,15 @@ export default {
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters('training', [
|
||||
'operatemode'
|
||||
]),
|
||||
...mapGetters('map', [
|
||||
'routeList',
|
||||
'routeData',
|
||||
'signalList',
|
||||
'autoReentryList',
|
||||
'autoReentryData',
|
||||
''
|
||||
]),
|
||||
Switch() {
|
||||
return OperationEvent.Switch;
|
||||
@ -330,7 +333,7 @@ export default {
|
||||
const operate = {
|
||||
operation: this.$store.state.menuOperation.buttonOperation
|
||||
};
|
||||
let isArrangementRoute = false;
|
||||
let isArrangementRoute = false;
|
||||
if (deviceList.length === 1) {
|
||||
const signal = deviceList[0];
|
||||
const sectionModel = this.$store.getters['map/getDeviceByCode'](signal.sectionCode);
|
||||
@ -694,8 +697,8 @@ export default {
|
||||
this.clearOperate();
|
||||
}
|
||||
} else {
|
||||
this.clearOperate();
|
||||
// this.$messageBox('请先切换到站控或紧急站控');
|
||||
this.clearOperate();
|
||||
this.operatemode != OperateMode.FAULT && this.$message.info('请先切换到站控或紧急站控');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -8,11 +8,44 @@
|
||||
// STAND 站台
|
||||
// ROUTE 进路
|
||||
// CYCLE 自动折返
|
||||
|
||||
// {id: "1", trainingType: "ControlConvertMenu", name: "车站名称"}
|
||||
// {id: "2", trainingType: "ControlConvertMenu", name: "车站控制模式编号"}
|
||||
// {id: "3", trainingType: "Signal", name: "进路名称"}
|
||||
// {id: "4", trainingType: "Signal", name: "进路编号"}
|
||||
// {id: "5", trainingType: "Signal", name: "信号机名称"}
|
||||
// {id: "6", trainingType: "Signal", name: "信号机编号"}
|
||||
|
||||
// {id: "7", trainingType: "Switch", name: "道岔名称"}
|
||||
|
||||
// {id: "8", trainingType: "Section", name: "物理区段名称"}
|
||||
// {id: "9", trainingType: "Section", name: "逻辑区段名称"}
|
||||
|
||||
// {id: "10", trainingType: "Stand", name: "车站名称"}
|
||||
// {id: "11", trainingType: "Stand", name: "站台行驶方向编号"}
|
||||
// {id: "12", trainingType: "Stand", name: "站台行驶方向"}
|
||||
// {id: "13", trainingType: "Stand", name: "站台行驶方向编号(反)"}
|
||||
// {id: "14", trainingType: "Stand", name: "站台行驶方向(反)"}
|
||||
|
||||
// {id: "15", trainingType: "Switch", name: "道岔位置"}
|
||||
// {id: "16", trainingType: "Switch", name: "道岔位置(反)"}
|
||||
// {id: "17", trainingType: "Switch", name: "道岔编码"}
|
||||
|
||||
// {id: "18", trainingType: "Section", name: "逻辑区段编码"}
|
||||
// {id: "19", trainingType: "Section", name: "区段编号"}
|
||||
// {id: "20", trainingType: "Section", name: "车站名称"}
|
||||
|
||||
// {id: "21", trainingType: "Switch", name: "车站名称"}
|
||||
// {id: "22", trainingType: "Section", name: "车站编号"}
|
||||
// {id: "23", trainingType: "Switch", name: "车站编号"}
|
||||
// {id: "24", trainingType: "Switch", name: "道岔计轴区段编号"}
|
||||
// {id: "25", trainingType: "Switch", name: "道岔计轴区段名称"}
|
||||
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
export default {
|
||||
list: [
|
||||
// 控制模式
|
||||
{
|
||||
// 控制模式
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL.value,
|
||||
@ -22,11 +55,11 @@ export default {
|
||||
trainingType: 'ControlConvertMenu',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '2993', tip: '鼠标左键点击【功能按钮】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2993', tip: '鼠标左键点击【站控】', codeType:'STATION', subType:'substation' }
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '2993', tip: '鼠标左键点击【功能按钮】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2993', tip: '鼠标左键点击【站控】', codeType:'STATION', subType:'substation' }
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL.value,
|
||||
@ -37,10 +70,10 @@ export default {
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '2993', tip: '鼠标左键点击【功能按钮】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2993', tip: '鼠标左键点击【紧急站控】', codeType:'STATION', subType:'emergency' }
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2993', tip: '鼠标左键点击【紧急站控】', codeType:'STATION', subType:'emergency' }
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL.value,
|
||||
@ -51,9 +84,9 @@ export default {
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '2993', tip: '鼠标左键点击【功能按钮】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2993', tip: '鼠标左键点击【中控】', codeType:'STATION', subType:'center' }
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '2993', tip: '鼠标左键点击【中控】', codeType:'STATION', subType:'center' }
|
||||
]
|
||||
},
|
||||
},
|
||||
// 信号机列表
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -81,11 +114,12 @@ export default {
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '3010', tip: '鼠标左键点击【排列进路】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3010', tip: '鼠标左键点击【{5}】', codeType:'START_SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3010', tip: '鼠标左键点击【{5}】', codeType:'END_SIGNAL' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -117,8 +151,8 @@ export default {
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '0011', tip: '输入密码123,点击【确定】按钮' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '3080', tip: '鼠标左键点击【{5}】', codeType:'END_SIGNAL' }
|
||||
]
|
||||
},
|
||||
// {
|
||||
},
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: CMD.Signal.CMD_STATION_SET_MASTER_GUIDE_LOCK.value,
|
||||
@ -283,7 +317,7 @@ export default {
|
||||
minDuration: 8,
|
||||
operateType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING.value,
|
||||
skinCode: '04',
|
||||
trainingName: '进路收人工控({5})',
|
||||
trainingName: '进路收人工控({3})',
|
||||
trainingRemark: '进路收人工控',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['02'],
|
||||
@ -304,7 +338,7 @@ export default {
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '3140', tip: '鼠标左键点击【人工控】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3140', tip: '鼠标左键点击【{3}】', codeType:'SIGNAL' }
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3140', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -312,7 +346,7 @@ export default {
|
||||
minDuration: 8,
|
||||
operateType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING.value,
|
||||
skinCode: '04',
|
||||
trainingName: '进路交自动控({5})',
|
||||
trainingName: '进路交自动控({3})',
|
||||
trainingRemark: '进路交自动控',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['02'],
|
||||
@ -333,7 +367,7 @@ export default {
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '3150', tip: '鼠标左键点击【自动控】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3150', tip: '鼠标左键点击【{3}】', codeType:'SIGNAL' }
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '3150', tip: '鼠标左键点击【{5}】', codeType:'SIGNAL' }
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -626,8 +660,8 @@ export default {
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '5051', tip: '鼠标左键点击【上行全线】按钮', val: '02' },
|
||||
{ deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.Stand.CMD_STAND_SET_JUMP_STOP.value,
|
||||
@ -654,8 +688,8 @@ export default {
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP.value,
|
||||
@ -682,7 +716,7 @@ export default {
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
|
@ -224,7 +224,7 @@ export const menuOperate = {
|
||||
axlePreReset:{
|
||||
// 计轴预复位
|
||||
operation: OperationEvent.Switch.axlePreReset.menu.operation,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET
|
||||
cmdType: CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET
|
||||
},
|
||||
hookLock:{
|
||||
// 道岔钩锁
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div id="menuBar">
|
||||
<div class="nav">
|
||||
<div class="nav" style="padding-left:40px">
|
||||
<template v-for="(item,i) in menu">
|
||||
<template v-if="noShowingChildren(item.children)">
|
||||
<li :id="getDomId(item)" :key="i" class="nav-li" @click="hookClick(item)">
|
||||
@ -769,7 +769,7 @@ export default {
|
||||
},
|
||||
getDomId(item) {
|
||||
if (item && item.operate) {
|
||||
return item.operate.domId;
|
||||
return item.operate.domId;
|
||||
}
|
||||
return '';
|
||||
},
|
||||
@ -809,17 +809,20 @@ export default {
|
||||
popupMenuA(item, index) {
|
||||
this.$store.dispatch('menuOperation/setPopMenu', { position: null, menu: null });
|
||||
this.clickEvent();
|
||||
const operate = {
|
||||
this.tempClassA = index;
|
||||
this.tempClassB = -1;
|
||||
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: item.operate.operation
|
||||
};
|
||||
this.tempClassA = index;
|
||||
this.tempClassB = -1;
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
selectedClassB(item, index) {
|
||||
const order = this.order || 0;
|
||||
@ -831,16 +834,19 @@ export default {
|
||||
},
|
||||
popupMenuB(item, index) {
|
||||
this.$store.dispatch('menuOperation/setPopMenu', { position: null, menu: null });
|
||||
const operate = {
|
||||
this.tempClassB = index;
|
||||
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: item.operate.operation
|
||||
};
|
||||
this.tempClassB = index;
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
// 设置地图定位
|
||||
mapLocation(code) {
|
||||
|
@ -144,7 +144,7 @@
|
||||
<button
|
||||
id="mbm_14"
|
||||
:style="{display: 'block', float: 'left', width: width+'px', backgroundColor:buttonUpColor}"
|
||||
@click="buttonDown('mbm_14')"
|
||||
@click="buttonDown(Section.axlePreReset.button.operation)"
|
||||
>
|
||||
<span style="color: red">
|
||||
<center>
|
||||
@ -323,6 +323,7 @@ export default {
|
||||
const operate = {
|
||||
operation: operation
|
||||
};
|
||||
console.log(operate, '=====');
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/setButtonOperation', operation); // 按钮菜单是否被按下
|
||||
|
@ -30,7 +30,7 @@
|
||||
<el-form-item prop="stationType">
|
||||
<el-radio-group :id="domIdChooseControl" v-model="formModel.stationType">
|
||||
<el-row v-for="item in Object.keys(controlProps)" :key="item" style="padding-bottom: 10px">
|
||||
<el-radio :label="item" :disabled="!controlModeList.includes(item)" @change="handleChooseChangeControl">
|
||||
<el-radio :label="item" :disabled="!controlModeList.includes(item)" @change="handleChooseChangeControl(item)">
|
||||
{{ controlProps[item] }}</el-radio>
|
||||
</el-row>
|
||||
</el-radio-group>
|
||||
@ -218,7 +218,8 @@ export default {
|
||||
},
|
||||
handleChooseChangeControl(val) {
|
||||
const operate = {
|
||||
operation: OperationEvent.Command.order.choose.operation
|
||||
operation: OperationEvent.Command.order.choose.operation,
|
||||
val
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
|
@ -27,6 +27,7 @@ import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import AllLineCancelLimit from './dialog/allLineCancelLimit';
|
||||
import LoadSpareTrain from '@/jmapNew/theme/components/menus/dialog/loadSpareTrain';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
|
||||
export default {
|
||||
name: 'SectionMenu',
|
||||
@ -143,6 +144,11 @@ export default {
|
||||
} else {
|
||||
this.doClose();
|
||||
}
|
||||
},
|
||||
'$store.state.menuOperation.selectedCount': function(val) {
|
||||
if (this.buttonOperation && this.$store.state.menuOperation.selected._type == 'Switch') {
|
||||
this.operationHandler(this.buttonOperation, this.$store.state.menuOperation.selected);
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -186,6 +192,24 @@ export default {
|
||||
this.$refs.popMenu.close();
|
||||
}
|
||||
},
|
||||
operationHandler(buttonOperation, selectType) {
|
||||
switch (buttonOperation) {
|
||||
case OperationEvent.Section.fault.button.operation: {
|
||||
// 事故解锁
|
||||
if (!selectType.normalPosition && selectType.reversePosition) {
|
||||
this.locate(selectType);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case OperationEvent.Section.axlePreReset.button.operation: {
|
||||
// 计轴复零
|
||||
if (selectType.normalPosition && !selectType.reversePosition) {
|
||||
this.reverse(selectType);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
},
|
||||
loadSpare() {
|
||||
commitOperate(menuOperate.Section.loadSpareTrain, {sectionCode:this.selected.code}).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
|
@ -52,16 +52,16 @@ export default {
|
||||
menu: [],
|
||||
menuNormal: {
|
||||
Local: [
|
||||
{
|
||||
label: '道岔强扳定位',
|
||||
handler: this.locate,
|
||||
cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||
},
|
||||
{
|
||||
label: '道岔强扳反位',
|
||||
handler: this.reverse,
|
||||
cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||
},
|
||||
// {
|
||||
// label: '道岔强扳定位',
|
||||
// handler: this.locate,
|
||||
// cmdType:CMD.Switch.CMD_SWITCH_NORMAL_POSITION
|
||||
// },
|
||||
// {
|
||||
// label: '道岔强扳反位',
|
||||
// handler: this.reverse,
|
||||
// cmdType:CMD.Switch.CMD_SWITCH_REVERSE_POSITION
|
||||
// },
|
||||
{
|
||||
label: '区段激活',
|
||||
handler: this.active,
|
||||
|
@ -33,42 +33,42 @@
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
export default {
|
||||
list: [
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL.value,
|
||||
// skinCode: '02',
|
||||
// trainingName: '系统/站遥控({1})',
|
||||
// trainingRemark: '控制模式转换,中控转站控',
|
||||
// trainingType: 'ControlConvertMenu',
|
||||
// productTypes: ['01'],
|
||||
// stepVOList: [
|
||||
// { deviceType: 'bar', orderNum: 1, operateCode: '002', tip: '鼠标左键点击顶部菜单栏【系统】' },
|
||||
// { deviceType: 'bar', orderNum: 2, operateCode: '2999', tip: '鼠标左键点击【站遥控】' },
|
||||
// { deviceType: '05', orderNum: 3, operateCode: '0071', tip: '鼠标左键选择所需要转换的集中站【{1}】', val: '{2}' },
|
||||
// { deviceType: '05', orderNum: 4, operateCode: '007', tip: '鼠标左键选择【站控】'},
|
||||
// { deviceType: '05', orderNum: 5, operateCode: '202', tip: '鼠标左键点击【设置】按钮' },
|
||||
// { deviceType: '05', orderNum: 6, operateCode: '2023', tip: '鼠标左键点击【确认】按钮' },
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL.value,
|
||||
// skinCode: '02',
|
||||
// trainingName: '系统/站遥控({1})',
|
||||
// trainingRemark: '控制模式转换,中控转紧急站控',
|
||||
// trainingType: 'ControlConvertMenu',
|
||||
// productTypes: ['01'],
|
||||
// stepVOList: [
|
||||
// { deviceType: 'bar', orderNum: 1, operateCode: '002', tip: '鼠标左键点击顶部菜单栏【系统】' },
|
||||
// { deviceType: 'bar', orderNum: 2, operateCode: '2999', tip: '鼠标左键点击【站遥控】' },
|
||||
// { deviceType: '05', orderNum: 3, operateCode: '0071', tip: '鼠标左键选择所需要转换的集中站【{1}】', val: '{2}' },
|
||||
// { deviceType: '05', orderNum: 4, operateCode: '007', tip: '鼠标左键选择【紧急站控】'},
|
||||
// { deviceType: '05', orderNum: 5, operateCode: '201', tip: '鼠标左键点击【设置】按钮' },
|
||||
// { deviceType: '05', orderNum: 6, operateCode: '2013', tip: '鼠标左键点击【确认】按钮' },
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL.value,
|
||||
skinCode: '02',
|
||||
trainingName: '系统/站遥控({1})',
|
||||
trainingRemark: '控制模式转换,中控转站控',
|
||||
trainingType: 'ControlConvertMenu',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: 'bar', orderNum: 1, operateCode: '002', tip: '鼠标左键点击顶部菜单栏【系统】' },
|
||||
{ deviceType: 'bar', orderNum: 2, operateCode: '2999', tip: '鼠标左键点击【站遥控】' },
|
||||
{ deviceType: '05', orderNum: 3, operateCode: '0071', tip: '鼠标左键选择所需要转换的集中站【{1}】', val: '{2}' },
|
||||
{ deviceType: '05', orderNum: 4, operateCode: '007', tip: '鼠标左键选择【站控】', val: 'Local'},
|
||||
{ deviceType: '05', orderNum: 5, operateCode: '202', tip: '鼠标左键点击【设置】按钮' },
|
||||
{ deviceType: '05', orderNum: 6, operateCode: '2023', tip: '鼠标左键点击【确认】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL.value,
|
||||
skinCode: '02',
|
||||
trainingName: '系统/站遥控({1})',
|
||||
trainingRemark: '控制模式转换,中控转紧急站控',
|
||||
trainingType: 'ControlConvertMenu',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: 'bar', orderNum: 1, operateCode: '002', tip: '鼠标左键点击顶部菜单栏【系统】' },
|
||||
{ deviceType: 'bar', orderNum: 2, operateCode: '2999', tip: '鼠标左键点击【站遥控】' },
|
||||
{ deviceType: '05', orderNum: 3, operateCode: '0071', tip: '鼠标左键选择所需要转换的集中站【{1}】', val: '{2}' },
|
||||
{ deviceType: '05', orderNum: 4, operateCode: '007', tip: '鼠标左键选择【紧急站控】', val: 'Emergency'},
|
||||
{ deviceType: '05', orderNum: 5, operateCode: '201', tip: '鼠标左键点击【设置】按钮' },
|
||||
{ deviceType: '05', orderNum: 6, operateCode: '2013', tip: '鼠标左键点击【确认】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 8,
|
||||
minDuration: 5,
|
||||
@ -183,6 +183,20 @@ export default {
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '509', tip: '鼠标左键点击【确认】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN.value,
|
||||
skinCode: '02',
|
||||
trainingName: '强制取消扣车({10}-{12}站台)',
|
||||
trainingRemark: '强制取消扣车功能',
|
||||
trainingType: 'Stand',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '06', orderNum: 1, operateCode: '506', tip: '鼠标右键菜单选择【强制取消扣车】' },
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '506', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -263,7 +277,6 @@ export default {
|
||||
{ deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -292,6 +305,36 @@ export default {
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType:CMD.Switch.CMD_SWITCH_CUT_OFF.value,
|
||||
skinCode: '08',
|
||||
trainingName: '区段切除({7} 道岔)',
|
||||
trainingRemark: '区段切除功能',
|
||||
trainingType:'Switch',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType:CMD.Switch.CMD_SWITCH_ACTIVE.value,
|
||||
skinCode: '08',
|
||||
trainingName: '区段激活({7} 道岔)',
|
||||
trainingRemark: '区段激活功能',
|
||||
trainingType:'Switch',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -311,20 +354,6 @@ export default {
|
||||
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
]
|
||||
},
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType:CMD.Section.CMD_SECTION_SET_LIMIT_SPEED.value,
|
||||
// skinCode: '08',
|
||||
// trainingName: '全线取消限速({8}{9} 区段)',
|
||||
// trainingRemark: '设置全线取消限速',
|
||||
// trainingType: 'Section',
|
||||
// productTypes: ['01', '02'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【设置全线取消限速】' },
|
||||
// { deviceType: '03', orderNum: 4, operateCode: '4082', tip: '鼠标左键点击【确定】按钮' },
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -512,6 +541,54 @@ export default {
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '1040', tip: '鼠标左键点击【道岔解锁】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '104', tip: '鼠标左键点击【道岔】', codeType:'SWITCH' }
|
||||
]
|
||||
},
|
||||
// 全局指令,分属不同设备,暂无法配置
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED.value,
|
||||
// skinCode: '08',
|
||||
// trainingName: '全线取消限速',
|
||||
// trainingRemark: '设置全线取消限速',
|
||||
// trainingType: 'Switch',
|
||||
// productTypes: ['01', '02'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '02', orderNum: 1, operateCode: '114', tip: '鼠标右键菜单选择【全线取消限速】' },
|
||||
// { deviceType: '02', orderNum: 2, operateCode: '1142', tip: '鼠标左键点击【确定】按钮' },
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED.value,
|
||||
// skinCode: '08',
|
||||
// trainingName: '全线取消限速',
|
||||
// trainingRemark: '设置全线取消限速',
|
||||
// trainingType: 'Section',
|
||||
// productTypes: ['01', '02'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【全线取消限速】' },
|
||||
// { deviceType: '03', orderNum: 2, operateCode: '4082', tip: '鼠标左键点击【确定】按钮' },
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED.value,
|
||||
skinCode: '08',
|
||||
trainingName: '设置临时限速({7} 道岔)',
|
||||
trainingRemark: '设置临时限速功能(限速值:15)',
|
||||
trainingType: 'Switch',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【设置临时限速】' },
|
||||
{ deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值15】', val: '15' },
|
||||
{ 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: '15' },
|
||||
{ deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
@ -671,6 +748,34 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 8,
|
||||
minDuration: 5,
|
||||
operateType:CMD.Signal.CMD_SIGNAL_SET_CI_AUTO.value,
|
||||
skinCode: '08',
|
||||
trainingName: '设置联锁自动进路({3} 进路)',
|
||||
trainingRemark: '设置联锁自动进路',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置联锁自动进路】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 8,
|
||||
minDuration: 5,
|
||||
operateType:CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO.value,
|
||||
skinCode: '08',
|
||||
trainingName: '取消联锁自动进路({3} 进路)',
|
||||
trainingRemark: '取消联锁自动进路',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消联锁自动进路】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
|
@ -388,7 +388,7 @@ export default {
|
||||
} else if (this.operation == OperationEvent.Switch.axlePreReset.menu.operation) {
|
||||
/** 道岔计轴复位*/
|
||||
operate.operation = OperationEvent.Switch.axlePreReset.confirm2.operation;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET;
|
||||
}
|
||||
this.setMessage('');
|
||||
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: '' });
|
||||
|
@ -82,7 +82,7 @@ export default {
|
||||
{
|
||||
label: '计轴预复位',
|
||||
handler: this.axlePreReset,
|
||||
cmdType:CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET
|
||||
cmdType:CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSwitch.sectionResection'),
|
||||
|
@ -91,7 +91,35 @@ export default {
|
||||
{ deviceType: '05', orderNum: 7, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' },
|
||||
{ deviceType: '05', orderNum: 8, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' }
|
||||
]
|
||||
},
|
||||
},
|
||||
// 未生成
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'CMD_STATION_SET_CI_AUTO_TRIGGER',
|
||||
skinCode: '07',
|
||||
trainingName: '全站设置联锁自动触发({26})',
|
||||
trainingRemark: '全站设置联锁自动触发',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '601', tip: '鼠标右键菜单选择【全站设置联锁自动触发】' },
|
||||
]
|
||||
},
|
||||
// 未生成
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'CMD_STATION_CANCEL_CI_AUTO_TRIGGER',
|
||||
skinCode: '07',
|
||||
trainingName: '全站取消联锁自动触发({26})',
|
||||
trainingRemark: '全站取消联锁自动触发',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '602', tip: '鼠标右键菜单选择【全站取消联锁自动触发】' },
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -364,24 +392,25 @@ export default {
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
// 未生成
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Section_Axis_Pre_Reset',
|
||||
skinCode: '02',
|
||||
trainingName: '计轴预复位({8}{9})',
|
||||
trainingRemark: '计轴预复位功能',
|
||||
trainingType: 'Section',
|
||||
productTypes: ['01', '02'],
|
||||
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: 'Section_Axis_Pre_Reset',
|
||||
// skinCode: '02',
|
||||
// trainingName: '计轴预复位({8}{9})',
|
||||
// trainingRemark: '计轴预复位功能',
|
||||
// trainingType: 'Section',
|
||||
// productTypes: ['01', '02'],
|
||||
// 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,
|
||||
@ -543,24 +572,25 @@ export default {
|
||||
{ deviceType: '02', orderNum: 4, operateCode: '1094', tip: '鼠标左键点击【确认2】按钮' },
|
||||
{ deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
]
|
||||
},
|
||||
// 未生成实训
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Switch_Axle_Pre_Reset',
|
||||
skinCode: '02',
|
||||
trainingName: '道岔计轴预复位({7})',
|
||||
trainingRemark: '道岔计轴预复位功能',
|
||||
trainingType: 'Switch',
|
||||
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: 'Switch_Axis_Pre_Reset',
|
||||
// skinCode: '02',
|
||||
// trainingName: '道岔计轴预复位({7})',
|
||||
// trainingRemark: '道岔计轴预复位功能',
|
||||
// trainingType: 'Switch',
|
||||
// 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,
|
||||
@ -642,6 +672,20 @@ export default {
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮', val: '{4}' },
|
||||
{ deviceType: '04', orderNum: 4, operateCode: '3012', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Find_Routes_Status',
|
||||
skinCode: '04',
|
||||
trainingName: '查询进路控制模式({5} 信号机)',
|
||||
trainingRemark: '查询进路控制模式',
|
||||
trainingType:'Signal',
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制模式】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
@ -733,6 +777,23 @@ export default {
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' },
|
||||
{ deviceType: '04', orderNum: 3, operateCode: '3041', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Set_Guide',
|
||||
skinCode: '02',
|
||||
trainingName: '进路引导({3})',
|
||||
trainingRemark: '进路办理信号引导',
|
||||
trainingType: 'Signal',
|
||||
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,
|
||||
@ -742,9 +803,9 @@ export default {
|
||||
trainingName: '引导进路办理({3})',
|
||||
trainingRemark: '进路办理信号引导',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01'],
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【进路引导】' },
|
||||
{ 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】按钮' },
|
||||
|
@ -512,7 +512,7 @@ export default {
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Switch_Axis_Pre_Reset',
|
||||
operateType: 'Switch_Axle_Pre_Reset',
|
||||
skinCode: '05',
|
||||
trainingName: 'Turnout section axile pre reset({7})',
|
||||
trainingRemark: 'Turnout section axile pre reset function',
|
||||
|
@ -388,7 +388,7 @@ export default {
|
||||
} else if (this.operation == OperationEvent.Switch.axlePreReset.menu.operation) {
|
||||
/** 道岔计轴复位*/
|
||||
operate.operation = OperationEvent.Switch.axlePreReset.confirm2.operation;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET;
|
||||
}
|
||||
this.setMessage('');
|
||||
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: '' });
|
||||
|
@ -388,7 +388,7 @@ export default {
|
||||
} else if (this.operation == OperationEvent.Switch.axlePreReset.menu.operation) {
|
||||
/** 道岔计轴复位*/
|
||||
operate.operation = OperationEvent.Switch.axlePreReset.confirm2.operation;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET;
|
||||
}
|
||||
this.setMessage('');
|
||||
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: '' });
|
||||
|
@ -346,7 +346,7 @@ export default {
|
||||
this.pushTempData([]); // 清空执行栏
|
||||
this.selectedObj = this.selected;
|
||||
this.rightClickDialogVisible = false;
|
||||
if (this.selectedObj._type && (val._event == MouseEvent.Left || (val._event == MouseEvent.Right || this.$store.state.training.prdType === '01'))) {
|
||||
if (this.selectedObj._type && (val._event == MouseEvent.Left || (val._event == MouseEvent.Right && this.$store.state.training.prdType === '01'))) {
|
||||
const type = this.State2SimulationMap[this.$store.state.training.prdType];
|
||||
this.modeMatch = this.stationContorl.controlMode == type;
|
||||
// 道岔区段 道岔计轴区段 都是道岔操作
|
||||
@ -659,7 +659,6 @@ export default {
|
||||
signalCode: this.route.startSignalCode
|
||||
};
|
||||
}
|
||||
|
||||
if (this.operate == OperationEvent.Signal.humanControl.menuButton.operation || this.operate == OperationEvent.Signal.atsAutoControl.menuButton.operation) {
|
||||
const routeCodeList = [];
|
||||
this.routeList.forEach(item => {
|
||||
@ -738,7 +737,6 @@ export default {
|
||||
operation: OperationEvent.Command.commandHaerbin.confirm.operation,
|
||||
param: this.param
|
||||
};
|
||||
|
||||
if (!this.securityCommand) {
|
||||
step.over = true;
|
||||
step.cmdType = this.cmdType;
|
||||
@ -791,7 +789,6 @@ export default {
|
||||
cmdType: this.cmdType,
|
||||
operation: OperationEvent.Command.commandHaerbin.confrimCr2.operation
|
||||
};
|
||||
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.pushTempData([{ name: `${this.cmdType.label}成功` }]);
|
||||
@ -995,12 +992,12 @@ export default {
|
||||
{ name: '预复位', cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '封锁岔心', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '解封岔心', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解岔心', cmdType: CMD.Section.CMD_SECTION_FORCE_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
{ name: '强解岔心', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
] : [
|
||||
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强行消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FORCE_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '预复位', cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET, operate: OperationEvent.Section.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
@ -1010,11 +1007,11 @@ export default {
|
||||
{ name: '岔区消限', cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED, operate: OperationEvent.Switch.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '转换道岔', cmdType: CMD.Switch.CMD_SWITCH_TURN, operate: OperationEvent.Switch.locate.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强行转岔', cmdType: CMD.Switch.CMD_SWITCH_FORCE_TURN, operate: OperationEvent.Switch.locate.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解道岔', cmdType: '', operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强解道岔', cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '挤岔恢复', cmdType: '', operate: OperationEvent.Section.fault.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '单独锁定', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '取消锁定', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK, operate: OperationEvent.Switch.unlock.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '预复位', cmdType: CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET, operate: OperationEvent.Switch.unlock.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '预复位', cmdType: CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET, operate: OperationEvent.Switch.axlePreReset.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '封锁道岔', cmdType: CMD.Switch.CMD_SWITCH_BLOCK, operate: OperationEvent.Switch.block.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '解封道岔', cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK, operate: OperationEvent.Switch.unblock.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '强行消限', cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED, operate: OperationEvent.Switch.cancelSpeed.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch }
|
||||
@ -1043,8 +1040,8 @@ export default {
|
||||
|
||||
{ name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menuButton, disabledCb: (selectedObj) => selectedObj.atsControl || !this.modeMatch },
|
||||
{ name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menuButton, disabledCb: (selectedObj) => !selectedObj.atsControl || !this.modeMatch },
|
||||
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.setAutoTrigger.menuButton, disabledCb: (selectedObj) => selectedObj.atsControl || !this.modeMatch },
|
||||
{ name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.cancelAutoTrigger.menuButton, disabledCb: (selectedObj) => !selectedObj.atsControl || !this.modeMatch },
|
||||
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.setAutoTrigger.menuButton, disabledCb: (selectedObj) => selectedObj.ciControl || !this.modeMatch },
|
||||
{ name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Signal.cancelAutoTrigger.menuButton, disabledCb: (selectedObj) => !selectedObj.ciControl || !this.modeMatch },
|
||||
|
||||
{ name: '开放引导', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.reopenSignal.menuButton, securityCommand: true, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
{ name: '车队单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.reopenSignal.menuButton, disabledCb: (selectedObj) => !this.modeMatch },
|
||||
|
@ -162,7 +162,7 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '站遥控',
|
||||
operate: OperationEvent.MixinCommand.remoteControl.mbar,
|
||||
operate: OperationEvent.Command.mBar.remoteControl,
|
||||
click: this.stationRemoteControl
|
||||
},
|
||||
{
|
||||
|
@ -85,22 +85,23 @@ export default {
|
||||
return this.dialogShow && !this.$store.state.menuOperation.break;
|
||||
},
|
||||
domIdChooseControl() {
|
||||
return this.dialogShow ? OperationEvent.Command.order.choose.domId : '';
|
||||
return this.dialogShow ? OperationEvent.MixinCommand.remoteControl.select.domId : '';
|
||||
},
|
||||
domIdChooseStation() {
|
||||
return this.dialogShow ? OperationEvent.Command.order.choose1.domId : '';
|
||||
},
|
||||
domIdCommit() {
|
||||
if (this.dialogShow) {
|
||||
if (this.stationType == '01') {
|
||||
return OperationEvent.StationControl.requestCentralControl.menu.domId;
|
||||
} else if (this.stationType == '02') {
|
||||
return OperationEvent.StationControl.requestStationControl.menu.domId;
|
||||
} else if (this.stationType == '03') {
|
||||
return OperationEvent.StationControl.emergencyStationControl.menu.domId;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
// if (this.stationType == '01') {
|
||||
// return OperationEvent.StationControl.requestCentralControl.menu.domId;
|
||||
// } else if (this.stationType == '02') {
|
||||
// return OperationEvent.StationControl.requestStationControl.menu.domId;
|
||||
// } else if (this.stationType == '03') {
|
||||
// return OperationEvent.StationControl.emergencyStationControl.menu.domId;
|
||||
// } else {
|
||||
// return '';
|
||||
// }
|
||||
return OperationEvent.MixinCommand.remoteControl.confirm.domId;
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
|
@ -779,6 +779,22 @@ export default {
|
||||
{ deviceType: '05', orderNum: 2, operateCode: '2023', tip: '鼠标左键点击【应用】' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'CM_Emergency_Station_Control',
|
||||
skinCode: '06',
|
||||
trainingName: '紧急站控({1})',
|
||||
trainingRemark: '控制权限转换,中控转紧急站控',
|
||||
trainingType: 'ControlConvertMenu',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: 'mBar', orderNum: 1, operateCode: '002', tip: '鼠标左键点击【系统】' },
|
||||
{ deviceType: '05', orderNum: 2, operateCode: '0024', tip: '鼠标左键点击【站遥控】' },
|
||||
{ deviceType: '05', orderNum: 3, operateCode: '299b', tip: '选择【紧急站控】' },
|
||||
{ deviceType: '05', orderNum: 4, operateCode: '299c', tip: '鼠标左键点击【设置】' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -863,8 +879,7 @@ export default {
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '05', orderNum: 1, operateCode: '602', tip: '鼠标右键菜单选择【全站取消联锁自动触发】'},
|
||||
{ deviceType: '05', orderNum: 2, operateCode: '602', tip: '鼠标左键点击【确定】' }
|
||||
{ deviceType: '05', orderNum: 1, operateCode: '602', tip: '鼠标右键菜单选择【全站取消联锁自动触发】'}
|
||||
]
|
||||
},
|
||||
{
|
||||
@ -877,9 +892,53 @@ export default {
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '05', orderNum: 1, operateCode: '601', tip: '鼠标右键菜单选择【全站设置联锁自动触发】'},
|
||||
{ deviceType: '05', orderNum: 2, operateCode: '601', tip: '鼠标左键点击【确定】' }
|
||||
{ deviceType: '05', orderNum: 1, operateCode: '601', tip: '鼠标右键菜单选择【全站设置联锁自动触发】'}
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Set_Turn_Back_Strategy',
|
||||
skinCode: '06',
|
||||
trainingName: '设置折返策略({1})({折返策略})',
|
||||
trainingRemark: '设置折返策略',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '', orderNum: 1, operateCode: '', tip: '鼠标右键菜单选择【设置折返策略】'},
|
||||
{ deviceType: '', orderNum: 2, operateCode: '', tip: '选择折返策略' },
|
||||
{ deviceType: '', orderNum: 3, operateCode: '', tip: '鼠标左键点击【确定】' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Station_Key_Operation_Test',
|
||||
skinCode: '06',
|
||||
trainingName: '执行关键性操作测试({1})',
|
||||
trainingRemark: '执行关键性操作测试',
|
||||
trainingType: 'Station',
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '05', orderNum: 1, operateCode: '604', tip: '鼠标右键菜单选择【执行关键性操作测试】' },
|
||||
{ deviceType: '05', orderNum: 2, operateCode: '6041', tip: '鼠标左键点击【下达】' },
|
||||
{ deviceType: '05', orderNum: 3, operateCode: '6042', tip: '鼠标左键点击【确认1】' },
|
||||
{ deviceType: '05', orderNum: 4, operateCode: '6043', tip: '鼠标左键点击【确认2】'},
|
||||
{ deviceType: '05', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
]
|
||||
}
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Station_Power_On_Unlock',
|
||||
// skinCode: '06',
|
||||
// trainingName: '上电解锁({1})',
|
||||
// trainingRemark: '上电解锁',
|
||||
// trainingType: 'Station',
|
||||
// productTypes: ['01'],
|
||||
// stepVOList:[
|
||||
// {deviceType: '05', orderNum: 1, operateCode: '603', tip: '鼠标右键菜单'}
|
||||
// ]
|
||||
// }
|
||||
]
|
||||
};
|
||||
|
@ -256,7 +256,7 @@ export default {
|
||||
Local: [
|
||||
// {
|
||||
// title: '窗口(W)',
|
||||
// operate: OperationEvent.Command.mBar.system,
|
||||
// operate: '',
|
||||
// children: [
|
||||
// {
|
||||
// title: '报警',
|
||||
@ -412,118 +412,139 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '线路(G)',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line,
|
||||
children: [
|
||||
{
|
||||
title: '站台',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand,
|
||||
children: [
|
||||
{
|
||||
title: '开放/关闭',
|
||||
click: this.standOpenOrClose
|
||||
click: this.standOpenOrClose,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_openOrClose
|
||||
},
|
||||
{
|
||||
title: '设置/取消扣车',
|
||||
click: this.setStandDetain
|
||||
click: this.setStandDetain,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_holdOrNot
|
||||
},
|
||||
{
|
||||
title: '设置站间列车数量',
|
||||
// click: this.setIntervalStopNumber
|
||||
click: this.undeveloped
|
||||
click: this.undeveloped,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_trainNum
|
||||
},
|
||||
{
|
||||
title: '分配停站时间',
|
||||
click: this.setAllocateTime
|
||||
click: this.setAllocateTime,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_stopTime
|
||||
},
|
||||
{
|
||||
title: '授权转移',
|
||||
click: this.authorizeTransfer
|
||||
click: this.authorizeTransfer,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_transfer
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
click: this.showStandDetail
|
||||
click: this.showStandDetail,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_detail
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '道岔',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch,
|
||||
children: [
|
||||
{
|
||||
title: '命令',
|
||||
title: '命令',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_cmd,
|
||||
click: this.setSwitchCommand
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
title: '封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_block,
|
||||
click: this.setBlockSwitch
|
||||
},
|
||||
{
|
||||
title: '解除封锁',
|
||||
title: '解除封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_unblock,
|
||||
click: this.setUnblockSwitch
|
||||
},
|
||||
{
|
||||
title: '请求动岔/请求或授权/取消',
|
||||
title: '请求动岔/请求或授权/取消',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_empower,
|
||||
click: this.setSwitchActive
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
title: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_detail,
|
||||
click: this.showSwitchDetail
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '信号机',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal,
|
||||
children: [
|
||||
|
||||
{
|
||||
title: '引导',
|
||||
title: '引导',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_guide,
|
||||
click: this.setSignalGuide
|
||||
},
|
||||
{
|
||||
title: '取消允许锁闭',
|
||||
title: '取消允许锁闭',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_lockOrNot,
|
||||
click: this.setSignalCanBlock
|
||||
},
|
||||
{
|
||||
title: '进路/命令',
|
||||
title: '进路/命令',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_cmd,
|
||||
click: this.setRouteCommand
|
||||
},
|
||||
{
|
||||
title: '信号指示模式',
|
||||
title: '信号指示模式',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_indicator,
|
||||
click: this.setSignalModel
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
title: '封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_block,
|
||||
click: this.setSignalBlock
|
||||
},
|
||||
{
|
||||
title: '解除封锁',
|
||||
title: '解除封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_unblock,
|
||||
click: this.setSignalCancelBlock
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
title: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_detail,
|
||||
click: this.showSignalDetail
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '轨道',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section,
|
||||
children: [
|
||||
{
|
||||
title: '开放',
|
||||
title: '开放',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_open,
|
||||
click: this.handleOpenSection
|
||||
},
|
||||
{
|
||||
title: '关闭',
|
||||
title: '关闭',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_close,
|
||||
click: this.handleCloseSection
|
||||
},
|
||||
{
|
||||
title: '临时限速',
|
||||
title: '临时限速',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_limitSpeed,
|
||||
click: this.handleLimitSpeed
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
title: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_detail,
|
||||
click: this.handleSectionShow
|
||||
}
|
||||
]
|
||||
@ -887,121 +908,142 @@ export default {
|
||||
},
|
||||
{
|
||||
title: '线路(G)',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line,
|
||||
children: [
|
||||
{
|
||||
{
|
||||
title: '站台',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand,
|
||||
children: [
|
||||
{
|
||||
title: '开放/关闭',
|
||||
click: this.standOpenOrClose
|
||||
click: this.standOpenOrClose,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_openOrClose
|
||||
},
|
||||
{
|
||||
title: '设置/取消扣车',
|
||||
click: this.setStandDetain
|
||||
click: this.setStandDetain,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_holdOrNot
|
||||
},
|
||||
{
|
||||
title: '设置站间列车数量',
|
||||
click: this.setIntervalStopNumber
|
||||
click: this.undeveloped,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_trainNum
|
||||
},
|
||||
{
|
||||
title: '分配停站时间',
|
||||
click: this.setAllocateTime
|
||||
click: this.setAllocateTime,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_stopTime
|
||||
},
|
||||
{
|
||||
title: '授权转移',
|
||||
click: this.authorizeTransfer
|
||||
click: this.authorizeTransfer,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_transfer
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
click: this.showStandDetail
|
||||
click: this.showStandDetail,
|
||||
operate: OperationEvent.Command.commandNingBo.line_stand_detail
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
title: '道岔',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch,
|
||||
children: [
|
||||
{
|
||||
title: '命令',
|
||||
title: '命令',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_cmd,
|
||||
click: this.setSwitchCommand
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
title: '封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_block,
|
||||
click: this.setBlockSwitch
|
||||
},
|
||||
{
|
||||
title: '解除封锁',
|
||||
title: '解除封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_unblock,
|
||||
click: this.setUnblockSwitch
|
||||
},
|
||||
{
|
||||
title: '请求动岔/请求或授权/取消',
|
||||
title: '请求动岔/请求或授权/取消',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_empower,
|
||||
click: this.setSwitchActive
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
title: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo.line_switch_detail,
|
||||
click: this.showSwitchDetail
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
{
|
||||
title: '信号机',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal,
|
||||
children: [
|
||||
|
||||
{
|
||||
title: '引导',
|
||||
title: '引导',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_guide,
|
||||
click: this.setSignalGuide
|
||||
},
|
||||
{
|
||||
title: '取消允许锁闭',
|
||||
title: '取消允许锁闭',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_lockOrNot,
|
||||
click: this.setSignalCanBlock
|
||||
},
|
||||
{
|
||||
title: '进路/命令',
|
||||
title: '进路/命令',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_cmd,
|
||||
click: this.setRouteCommand
|
||||
},
|
||||
{
|
||||
title: '信号指示模式',
|
||||
title: '信号指示模式',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_indicator,
|
||||
click: this.setSignalModel
|
||||
},
|
||||
{
|
||||
title: '封锁',
|
||||
title: '封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_block,
|
||||
click: this.setSignalBlock
|
||||
},
|
||||
{
|
||||
title: '解除封锁',
|
||||
title: '解除封锁',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_unblock,
|
||||
click: this.setSignalCancelBlock
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
title: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo.line_signal_detail,
|
||||
click: this.showSignalDetail
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
{
|
||||
title: '轨道',
|
||||
operate: '',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section,
|
||||
children: [
|
||||
{
|
||||
title: '开放',
|
||||
title: '开放',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_open,
|
||||
click: this.handleOpenSection
|
||||
},
|
||||
{
|
||||
title: '关闭',
|
||||
title: '关闭',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_close,
|
||||
click: this.handleCloseSection
|
||||
},
|
||||
{
|
||||
title: '临时限速',
|
||||
title: '临时限速',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_limitSpeed,
|
||||
click: this.handleLimitSpeed
|
||||
},
|
||||
{
|
||||
title: '显示',
|
||||
title: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo.line_section_detail,
|
||||
click: this.handleSectionShow
|
||||
}
|
||||
]
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '闭塞区段',
|
||||
operate: '',
|
||||
@ -1234,7 +1276,7 @@ export default {
|
||||
return true;
|
||||
},
|
||||
initMenu(menu) {
|
||||
const type = State2SimulationMap[this.$store.state.training.prdType];
|
||||
const type = State2SimulationMap[this.$store.state.training.prdType];
|
||||
this.menu = MenuContextHandler.menuBarConvert(this.menuNormal[type], this.$store.state.training.operatemode);
|
||||
this.clickEvent();
|
||||
this.closeMenu(true);
|
||||
@ -1335,10 +1377,10 @@ export default {
|
||||
EventBus.$emit('closeMenu');
|
||||
});
|
||||
},
|
||||
handleArrangeRoute() {
|
||||
handleArrangeRoute(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1348,10 +1390,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleTrainDistributionRunLine() {
|
||||
handleTrainDistributionRunLine(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1361,10 +1403,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleTrainDistributionClass() {
|
||||
handleTrainDistributionClass(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1374,10 +1416,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleTrainDistributionBack() {
|
||||
handleTrainDistributionBack(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1388,10 +1430,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 站台开放/关闭
|
||||
standOpenOrClose() {
|
||||
standOpenOrClose(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1402,10 +1444,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 站台扣车
|
||||
setStandDetain() {
|
||||
setStandDetain(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1415,10 +1457,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setIntervalStopNumber() {
|
||||
setIntervalStopNumber(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1429,10 +1471,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 停站时间
|
||||
setAllocateTime() {
|
||||
setAllocateTime(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1443,10 +1485,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 控制权转移
|
||||
authorizeTransfer() {
|
||||
authorizeTransfer(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1456,10 +1498,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
showStandDetail() {
|
||||
showStandDetail(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1469,10 +1511,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setSwitchCommand() {
|
||||
setSwitchCommand(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1483,10 +1525,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 道岔封锁
|
||||
setBlockSwitch() {
|
||||
setBlockSwitch(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Switch.block.button.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1498,10 +1540,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 道岔解除封锁
|
||||
setUnblockSwitch() {
|
||||
setUnblockSwitch(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Switch.unblock.button.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1512,10 +1554,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 道岔授权
|
||||
setSwitchActive() {
|
||||
setSwitchActive(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) =>{
|
||||
if (valid) {
|
||||
@ -1526,10 +1568,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 道岔显示详情
|
||||
showSwitchDetail() {
|
||||
showSwitchDetail(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1540,10 +1582,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 信号引导
|
||||
setSignalGuide() {
|
||||
setSignalGuide(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1554,10 +1596,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setSignalCanBlock() {
|
||||
setSignalCanBlock(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1569,10 +1611,10 @@ export default {
|
||||
});
|
||||
},
|
||||
// 进路指令
|
||||
setRouteCommand() {
|
||||
setRouteCommand(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1582,10 +1624,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleOpenSection() {
|
||||
handleOpenSection(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Section.unlock.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1595,10 +1637,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleCloseSection() {
|
||||
handleCloseSection(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Section.lock.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1608,10 +1650,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleLimitSpeed() {
|
||||
handleLimitSpeed(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1621,10 +1663,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleSectionShow() {
|
||||
handleSectionShow(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1634,10 +1676,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleLock() {
|
||||
handleLock(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1647,10 +1689,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleUnLock() {
|
||||
handleUnLock(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1660,10 +1702,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleRestoration() {
|
||||
handleRestoration(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1673,10 +1715,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleSectionRestoration() {
|
||||
handleSectionRestoration(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1686,10 +1728,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setSignalModel() {
|
||||
setSignalModel(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1699,10 +1741,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
handleSectionStopShow() {
|
||||
handleSectionStopShow(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1712,10 +1754,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setSignalBlock() {
|
||||
setSignalBlock(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Signal.lock.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1725,10 +1767,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setSignalCancelBlock() {
|
||||
setSignalCancelBlock(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Signal.unlock.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1738,10 +1780,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
showSignalDetail() {
|
||||
showSignalDetail(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1751,10 +1793,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setCbtcMode() {
|
||||
setCbtcMode(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Command.mBar.cbtcMode.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1764,10 +1806,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setReserveMode() {
|
||||
setReserveMode(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Command.mBar.reserveMode.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1777,10 +1819,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setSystemDetain() {
|
||||
setSystemDetain(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1791,10 +1833,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setRunningInterval() {
|
||||
setRunningInterval(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1804,10 +1846,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
adjustStrategy() {
|
||||
adjustStrategy(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1817,10 +1859,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setTrainDepart() {
|
||||
setTrainDepart(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Train.setTrainDeparture.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1830,10 +1872,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
breakAway() {
|
||||
breakAway(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Train.breakAwayPlan.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1843,10 +1885,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setTrainReset() {
|
||||
setTrainReset(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: OperationEvent.Train.setTrainReset.menu.operation
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1856,10 +1898,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setJumpStop() {
|
||||
setJumpStop(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1869,10 +1911,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
cancelDeviation() {
|
||||
cancelDeviation(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1882,10 +1924,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
updateDeviation() {
|
||||
updateDeviation(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1895,10 +1937,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
cancelCbtcRoute() {
|
||||
cancelCbtcRoute(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1908,10 +1950,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setIdAssociated() {
|
||||
setIdAssociated(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1921,10 +1963,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setOccupancyCorrelation() {
|
||||
setOccupancyCorrelation(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1934,10 +1976,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
modifyTrainNumber() {
|
||||
modifyTrainNumber(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1947,10 +1989,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
setRunType() {
|
||||
setRunType(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1960,10 +2002,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
showTrainDetail() {
|
||||
showTrainDetail(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
@ -1973,10 +2015,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
showAllTrainDetail() {
|
||||
showAllTrainDetail(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
@ -1986,10 +2028,10 @@ export default {
|
||||
}
|
||||
});
|
||||
},
|
||||
showRouteDetail() {
|
||||
showRouteDetail(item) {
|
||||
const operate = {
|
||||
type: 'bar',
|
||||
operation: ''
|
||||
operation: item.operation
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
|
@ -1,48 +1,50 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-table
|
||||
ref="singleTable"
|
||||
:data="filterSignalList"
|
||||
highlight-current-row
|
||||
height="350px"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="status" label="信号机封锁状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getSignalStatus(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blockProcess" label="设置封锁进程">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getProcess(scope.row.code, 'lock') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="unblockProcess" label="解除封锁进程">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getProcess(scope.row.code, 'unlock') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected || !!initEle" @click="commit(true)">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected || !!initEle" @click="commit(false)">应用(A)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>帮助(H)</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
<signal-block ref="signalBlock" @commandSuccess="commandSuccess" @cancelCommand="cancelCommand" />
|
||||
</el-dialog>
|
||||
<div>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-table
|
||||
ref="singleTable"
|
||||
:data="filterSignalList"
|
||||
highlight-current-row
|
||||
height="350px"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="status" label="信号机封锁状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getSignalStatus(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blockProcess" label="设置封锁进程">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getProcess(scope.row.code, 'lock') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="unblockProcess" label="解除封锁进程">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getProcess(scope.row.code, 'unlock') }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected || !!initEle" @click="commit(true)">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected || !!initEle" @click="commit(false)">应用(A)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>帮助(H)</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
<signal-block ref="signalBlock" @commandSuccess="commandSuccess" @cancelCommand="cancelCommand" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
@ -1,44 +1,46 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="700px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-table
|
||||
ref="singleTable"
|
||||
:data="signalList"
|
||||
highlight-current-row
|
||||
height="300px"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="blockStatus" label="允许锁闭">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getSignalBlock(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blockProcess" label="同意取消">否</el-table-column>
|
||||
<el-table-column prop="unblockProcess" label="取消进程">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getProcess(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected" @click="commit(true)">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected" @click="commit(false)">应用(A)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>帮助(H)</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
<signal-can-block ref="signalCanBlock" @commandSuccess="commandSuccess" @cancelCommand="cancelCommand" />
|
||||
</el-dialog>
|
||||
<div>
|
||||
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="700px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
|
||||
<el-row>
|
||||
<el-table
|
||||
ref="singleTable"
|
||||
:data="signalList"
|
||||
highlight-current-row
|
||||
height="300px"
|
||||
@current-change="handleCurrentChange"
|
||||
>
|
||||
<el-table-column prop="name" label="信号机" />
|
||||
<el-table-column prop="blockStatus" label="允许锁闭">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getSignalBlock(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="blockProcess" label="同意取消">否</el-table-column>
|
||||
<el-table-column prop="unblockProcess" label="取消进程">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ getProcess(scope.row.code) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
<el-col :span="4" :offset="1">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected" @click="commit(true)">确定(O)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!selected" @click="commit(false)">应用(A)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
|
||||
</el-col>
|
||||
<el-col :span="4" :offset="2">
|
||||
<el-button>帮助(H)</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
</el-dialog>
|
||||
<signal-can-block ref="signalCanBlock" @commandSuccess="commandSuccess" @cancelCommand="cancelCommand" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
@ -122,21 +122,21 @@ export default {
|
||||
this.$store.dispatch('training/emitTipFresh');
|
||||
},
|
||||
commit(isClose = false) {
|
||||
// const operate = {
|
||||
// cmdType: this.command ? CMD.Signal.CMD_SIGNAL_BLOCK : CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||
// operation: this.command ? OperationEvent.Signal.lock.confirm1.operation : OperationEvent.Signal.unlock.confirm1.operation,
|
||||
// over: true,
|
||||
// param: {signalCode: this.selected.code}
|
||||
// };
|
||||
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
// if (valid) {
|
||||
// isClose && this.doClose();
|
||||
// this.$emit('commandSuccess', this.selected.code);
|
||||
// }
|
||||
// }).catch(() => {
|
||||
// isClose && this.doClose();
|
||||
// this.$refs.noticeInfo.doShow();
|
||||
// });
|
||||
const operate = {
|
||||
cmdType: this.command ? CMD.Signal.CMD_SIGNAL_BLOCK : CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||
operation: this.command ? OperationEvent.Signal.lock.confirm1.operation : OperationEvent.Signal.unlock.confirm1.operation,
|
||||
over: true,
|
||||
param: {signalCode: this.selected.code}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
isClose && this.doClose();
|
||||
this.$emit('commandSuccess', this.selected.code);
|
||||
}
|
||||
}).catch(() => {
|
||||
isClose && this.doClose();
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.$refs.singleTable.setCurrentRow(this.selected);
|
||||
|
@ -8,6 +8,7 @@
|
||||
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
|
||||
<set-fault ref="setFault" pop-class="ningbo-01__systerm" />
|
||||
<train-add-plan ref="trainAddPlan" pop-class="ningbo-01__systerm" />
|
||||
<load-spare-train ref="loadSpareTrain" pop-class="foshan-01__systerm" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -25,6 +26,8 @@ import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import LoadSpareTrain from '@/jmapNew/theme/components/menus/dialog/loadSpareTrain';
|
||||
|
||||
|
||||
export default {
|
||||
name: 'SectionMenu',
|
||||
@ -36,7 +39,8 @@ export default {
|
||||
AlxeEffective,
|
||||
NoticeInfo,
|
||||
TrainAddPlan,
|
||||
SetFault
|
||||
SetFault,
|
||||
LoadSpareTrain
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
@ -110,6 +114,11 @@ export default {
|
||||
label: this.$t('menu.menuSection.cancelFault'),
|
||||
handler: this.cancelStoppage,
|
||||
cmdType: CMD.Fault.CMD_CANCEL_FAULT
|
||||
},
|
||||
{
|
||||
label: '设置备用车',
|
||||
handler: this.loadSpare,
|
||||
cmdType: CMD.Section.CMD_TRAIN_LOAD_SPARE_TRAIN
|
||||
}
|
||||
]
|
||||
};
|
||||
@ -268,7 +277,15 @@ export default {
|
||||
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
// 新建备用车
|
||||
loadSpare() {
|
||||
commitOperate(menuOperate.Section.loadSpareTrain, {sectionCode:this.selected.code}).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$refs.loadSpareTrain.doShow(operate, this.selected);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -390,7 +390,7 @@ export default {
|
||||
} else if (this.operation == OperationEvent.Switch.axlePreReset.menu.operation) {
|
||||
/** 道岔计轴复位*/
|
||||
operate.operation = OperationEvent.Switch.axlePreReset.confirm2.operation;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET;
|
||||
operate.cmdType = CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET;
|
||||
}
|
||||
this.setMessage('');
|
||||
this.writeRecord({ order: ++this.order, date: now(), context: this.$t('menu.clickSecondConfirm'), result: '' });
|
||||
|
@ -81,7 +81,7 @@ export default {
|
||||
{
|
||||
label: '计轴预复位',
|
||||
handler: this.axlePreReset,
|
||||
cmdType:CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET
|
||||
cmdType:CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET
|
||||
},
|
||||
{
|
||||
label: '区段切除',
|
||||
|
@ -545,7 +545,7 @@ export default {
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Switch_Axis_Pre_Reset',
|
||||
operateType: 'Switch_Axle_Pre_Reset',
|
||||
skinCode: '02',
|
||||
trainingName: '道岔区段计轴预复位({7})',
|
||||
trainingRemark: '道岔区段计轴预复位功能',
|
||||
|
@ -99,15 +99,27 @@ export default {
|
||||
},
|
||||
commit() {
|
||||
const operate = {
|
||||
operation: OperationEvent.Section.unlock.confirm.operation
|
||||
};
|
||||
};
|
||||
|
||||
let name = '';
|
||||
let cmdType = '';
|
||||
if (this.operation == OperationEvent.Section.unlock.menu.operation) {
|
||||
operate.operation = OperationEvent.Section.unlock.confirm.operation;
|
||||
cmdType = CMD.Section.CMD_SECTION_UNBLOCK;
|
||||
name = '区段解锁';
|
||||
} else if (this.operation == OperationEvent.Section.fault.menu.operation) {
|
||||
operate.operation = OperationEvent.Section.fault.confirm.operation;
|
||||
cmdType = CMD.Section.CMD_SECTION_FAULT_UNLOCK;
|
||||
name = '区段故障解锁';
|
||||
}
|
||||
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '区段解锁'},
|
||||
cmdType: CMD.Section.CMD_SECTION_UNBLOCK,
|
||||
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name },
|
||||
cmdType,
|
||||
param: {
|
||||
sectionCode: this.selected.code
|
||||
}
|
||||
|
@ -22,7 +22,7 @@ import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'
|
||||
import { mapGetters } from 'vuex';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||
import LoadSpareTrain from '@/jmapNew/theme/components/menus/dialog/loadSpareTrain';
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
@ -58,27 +58,27 @@ export default {
|
||||
label: '区段故障解锁',
|
||||
handler: this.fault,
|
||||
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK
|
||||
},
|
||||
{
|
||||
label: '区段跟踪激活',
|
||||
handler: this.active,
|
||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
||||
},
|
||||
{
|
||||
label: '区段跟踪切除',
|
||||
handler: this.split,
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF
|
||||
},
|
||||
{
|
||||
label: '区段封锁',
|
||||
handler: this.lock,
|
||||
cmdType: CMD.Section.CMD_SECTION_BLOCK
|
||||
},
|
||||
{
|
||||
label: '区段解封',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Section.CMD_SECTION_UNBLOCK
|
||||
}
|
||||
// {
|
||||
// label: '区段跟踪激活',
|
||||
// handler: this.active,
|
||||
// cmdType: CMD.Section.CMD_SECTION_ACTIVE
|
||||
// },
|
||||
// {
|
||||
// label: '区段跟踪切除',
|
||||
// handler: this.split,
|
||||
// cmdType: CMD.Section.CMD_SECTION_CUT_OFF
|
||||
// }
|
||||
// {
|
||||
// label: '区段封锁',
|
||||
// handler: this.lock,
|
||||
// cmdType: CMD.Section.CMD_SECTION_BLOCK
|
||||
// },
|
||||
// {
|
||||
// label: '区段解封',
|
||||
// handler: this.unlock,
|
||||
// cmdType: CMD.Section.CMD_SECTION_UNBLOCK
|
||||
// }
|
||||
],
|
||||
Center: [
|
||||
{
|
||||
@ -181,9 +181,9 @@ export default {
|
||||
},
|
||||
initMenu() {
|
||||
// 编辑模式菜单列表
|
||||
// this.menu = MenuContextHandler.covert(this.menuNormal);
|
||||
if (this.selected.type != '04') {
|
||||
this.menu = this.menuNormal.Center;
|
||||
// this.menu = this.menuNormal.Center;
|
||||
this.menu = MenuContextHandler.covert2(this.menuNormal);
|
||||
} else {
|
||||
this.menu = [];
|
||||
}
|
||||
|
@ -54,13 +54,13 @@ export default {
|
||||
},
|
||||
{
|
||||
label: '开放自动进路',
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||
handler: this.setAutoInterlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||
},
|
||||
{
|
||||
label: '关闭自动进路',
|
||||
handler: this.humanControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
||||
handler: this.cancelAutoInterlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||
},
|
||||
{
|
||||
label: '终端信号封锁',
|
||||
@ -117,13 +117,13 @@ export default {
|
||||
},
|
||||
{
|
||||
label: '开放自动进路',
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||
handler: this.setAutoInterlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||
},
|
||||
{
|
||||
label: '关闭自动进路',
|
||||
handler: this.humanControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
||||
handler: this.cancelAutoInterlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||
},
|
||||
{
|
||||
label: '终端信号封锁',
|
||||
@ -451,20 +451,13 @@ export default {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
// 进路交人工控
|
||||
humanControl() {
|
||||
const routeCodeList = [];
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode === this.selected.code) {
|
||||
routeCodeList.push(item.code);
|
||||
}
|
||||
});
|
||||
// 取消联锁自动进路
|
||||
cancelAutoInterlock() {
|
||||
const step = {
|
||||
code: `${this.selected.code}`,
|
||||
operation: OperationEvent.Signal.humanControl.menu.operation,
|
||||
operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation,
|
||||
param: {
|
||||
signalCode: this.selected.code,
|
||||
routeCodeList: routeCodeList
|
||||
signalCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
@ -473,7 +466,7 @@ export default {
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '关闭自动进路'},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||
param: step.param
|
||||
});
|
||||
} else {
|
||||
@ -483,20 +476,13 @@ export default {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
});
|
||||
},
|
||||
// 进路交自动控
|
||||
atsAutoControl() {
|
||||
const routeCodeList = [];
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode === this.selected.code) {
|
||||
routeCodeList.push(item.code);
|
||||
}
|
||||
});
|
||||
// 设置联锁自动进路
|
||||
setAutoInterlock() {
|
||||
const step = {
|
||||
code: `${this.selected.code}`,
|
||||
operation: OperationEvent.Signal.atsAutoControl.menu.operation,
|
||||
operation: OperationEvent.Signal.setAutoInterlock.menu.operation,
|
||||
param: {
|
||||
signalCode: this.selected.code,
|
||||
routeCodeList: routeCodeList
|
||||
signalCode: this.selected.code
|
||||
}
|
||||
};
|
||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
||||
@ -505,7 +491,7 @@ export default {
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
device: this.selected,
|
||||
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '开放自动进路'},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||
param: step.param
|
||||
});
|
||||
} else {
|
||||
|
@ -363,7 +363,7 @@ export default {
|
||||
},
|
||||
setStationControl() {
|
||||
// 请求站控
|
||||
commitOperate(menuOperate.StationControl.requestStationControl, {stationCodes:[this.selected.code]}, 0).then(({valid, operate})=>{
|
||||
commitOperate(menuOperate.StationControl.requestStationControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
@ -377,7 +377,7 @@ export default {
|
||||
},
|
||||
setCenterControl() {
|
||||
// 请求中控
|
||||
commitOperate(menuOperate.StationControl.requestCentralControl, {stationCodes:[this.selected.code]}, 0).then(({valid, operate})=>{
|
||||
commitOperate(menuOperate.StationControl.requestCentralControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
@ -391,7 +391,7 @@ export default {
|
||||
},
|
||||
setEmergencyControl() {
|
||||
// 紧急站控
|
||||
commitOperate(menuOperate.StationControl.emergencyStationControl, {stationCodes:[this.selected.code]}, 0).then(({valid, operate})=>{
|
||||
commitOperate(menuOperate.StationControl.emergencyStationControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$store.dispatch('menuOperation/pushRequestList', {
|
||||
|
@ -32,20 +32,6 @@ export default {
|
||||
{ deviceType: '06', orderNum: 4, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Stand_Early_Depart',
|
||||
// skinCode: '09',
|
||||
// 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,
|
||||
@ -151,79 +137,77 @@ export default {
|
||||
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: '09',
|
||||
trainingName: '区段跟踪切除({8}{9})',
|
||||
trainingRemark: '区段跟踪切除',
|
||||
trainingType: 'Section',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段跟踪切除】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Section_Active',
|
||||
skinCode: '09',
|
||||
trainingName: '区段跟踪激活({8}{9})',
|
||||
trainingRemark: '区段跟踪激活功能',
|
||||
trainingType: 'Section',
|
||||
productTypes: ['01'],
|
||||
stepVOList: [
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段跟踪激活】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Section_Set_Limit_Speed',
|
||||
skinCode: '09',
|
||||
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】按钮', val: '5' },
|
||||
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Section_Set_Limit_Speed',
|
||||
skinCode: '09',
|
||||
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】按钮', val: '0' },
|
||||
{ deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
{ deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' },
|
||||
{ deviceType: '03', orderNum: 2, operateCode: '4023', tip: '鼠标左键点击【确定】按钮' },
|
||||
{ deviceType: '03', orderNum: 3, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Section_Cut_Off',
|
||||
// skinCode: '09',
|
||||
// trainingName: '区段跟踪切除({8}{9})',
|
||||
// trainingRemark: '区段跟踪切除',
|
||||
// trainingType: 'Section',
|
||||
// productTypes: ['01'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段跟踪切除】' },
|
||||
// { deviceType: '03', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Section_Active',
|
||||
// skinCode: '09',
|
||||
// trainingName: '区段跟踪激活({8}{9})',
|
||||
// trainingRemark: '区段跟踪激活功能',
|
||||
// trainingType: 'Section',
|
||||
// productTypes: ['01'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段跟踪激活】' },
|
||||
// { deviceType: '03', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Section_Set_Limit_Speed',
|
||||
// skinCode: '09',
|
||||
// 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】按钮', val: '5' },
|
||||
// { deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Section_Set_Limit_Speed',
|
||||
// skinCode: '09',
|
||||
// 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】按钮', val: '0' },
|
||||
// { deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
@ -339,35 +323,34 @@ export default {
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【取消进路】' },
|
||||
// { deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【确定】按钮' }
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Open_Auto_Setting',
|
||||
operateType: 'Signal_Set_CI_Auto',
|
||||
skinCode: '09',
|
||||
trainingName: '进路交自动控({5})',
|
||||
trainingRemark: '进路交自动控',
|
||||
trainingName: '开放自动进路({5})',
|
||||
trainingRemark: '设置联锁自动进路',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【开放自动进路】' },
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【开放自动进路】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Signal_Close_Auto_Setting',
|
||||
operateType: 'Signal_Cancel_CI_Auto',
|
||||
skinCode: '09',
|
||||
trainingName: '进路交人工控({5})',
|
||||
trainingRemark: '进路交人工控',
|
||||
trainingName: '关闭自动进路({5})',
|
||||
trainingRemark: '取消自动联锁进路',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01', '02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【关闭自动进路】' },
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【关闭自动进路】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【确定】按钮' }
|
||||
]
|
||||
},
|
||||
@ -379,7 +362,7 @@ export default {
|
||||
trainingName: '终端信号封锁({5})',
|
||||
trainingRemark: '终端信号封锁功能',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01', '02'],
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【终端信号封锁】' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
@ -393,7 +376,7 @@ export default {
|
||||
trainingName: '终端信号解封({5})',
|
||||
trainingRemark: '终端信号解封功能',
|
||||
trainingType: 'Signal',
|
||||
productTypes: ['01', '02'],
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【终端信号解封】', codeType:'SIGNAL' },
|
||||
{ deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' },
|
||||
@ -429,35 +412,34 @@ export default {
|
||||
// { deviceType: '04', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【确定】按钮' }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Train_Hold',
|
||||
skinCode: '09',
|
||||
trainingName: '列车扣车({5})',
|
||||
trainingRemark: '列车扣车功能',
|
||||
trainingType: 'Train',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '07', orderNum: 1, operateCode: '70k', tip: '鼠标右键菜单选择【列车/扣车】' },
|
||||
{ deviceType: '07', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
{
|
||||
maxDuration: 15,
|
||||
minDuration: 8,
|
||||
operateType: 'Train_Cancel_Hold',
|
||||
skinCode: '09',
|
||||
trainingName: '列车放行({5})',
|
||||
trainingRemark: '列车放行功能',
|
||||
trainingType: 'Train',
|
||||
productTypes: ['02'],
|
||||
stepVOList: [
|
||||
{ deviceType: '07', orderNum: 1, operateCode: '70l', tip: '鼠标右键菜单选择【列车/放行】' },
|
||||
{ deviceType: '07', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
]
|
||||
},
|
||||
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Train_Hold',
|
||||
// skinCode: '09',
|
||||
// trainingName: '列车扣车({5})',
|
||||
// trainingRemark: '列车扣车功能',
|
||||
// trainingType: 'Train',
|
||||
// productTypes: ['02'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '07', orderNum: 1, operateCode: '70k', tip: '鼠标右键菜单选择【列车/扣车】' },
|
||||
// { deviceType: '07', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
// ]
|
||||
// },
|
||||
// {
|
||||
// maxDuration: 15,
|
||||
// minDuration: 8,
|
||||
// operateType: 'Train_Cancel_Hold',
|
||||
// skinCode: '09',
|
||||
// trainingName: '列车放行({5})',
|
||||
// trainingRemark: '列车放行功能',
|
||||
// trainingType: 'Train',
|
||||
// productTypes: ['02'],
|
||||
// stepVOList: [
|
||||
// { deviceType: '07', orderNum: 1, operateCode: '70l', tip: '鼠标右键菜单选择【列车/放行】' },
|
||||
// { deviceType: '07', orderNum: 2, operateCode: '009', tip: '鼠标左键点击【发送请求】按钮' }
|
||||
// ]
|
||||
// },
|
||||
{
|
||||
maxDuration: 20,
|
||||
minDuration: 15,
|
||||
|
@ -13,11 +13,8 @@
|
||||
<i class="el-icon-caret-bottom" style="color: #909399;" />
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown" class="user-dropdown">
|
||||
<el-dropdown-item>
|
||||
<span style="display:block;" @click="goToCaseShow">西安铁路职业技术学院</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<span style="display:block;" @click="goToCase">贵州装备制造职业学院</span>
|
||||
<el-dropdown-item v-for="(el, i) in caseList" :key="i">
|
||||
<span style="display:block;" @click="goToCaseShow(el)">{{el.name}}</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
@ -85,7 +82,21 @@ export default {
|
||||
hidden: getSessionStorage('project').endsWith('heb')
|
||||
}
|
||||
|
||||
],
|
||||
],
|
||||
caseList: [
|
||||
{
|
||||
name: '西安铁路职业技术学院',
|
||||
url: 'https://joylink.club/oss/portal/cases/西安铁路职业技术学院.pdf'
|
||||
},
|
||||
{
|
||||
name: '贵州装备制造职业学院',
|
||||
url: 'https://joylink.club/oss/portal/cases/贵州装备制造职业学院机电技术专业实训室建设.pdf'
|
||||
},
|
||||
{
|
||||
name: '江苏电子信息职业学院',
|
||||
url: 'https://joylink.club/oss/portal/cases/江苏电子信息职业学院-城市轨道交通行车组织综合实训室.pdf'
|
||||
}
|
||||
],
|
||||
stomp: null,
|
||||
header: null,
|
||||
lang: 'zh'
|
||||
@ -134,13 +145,8 @@ export default {
|
||||
window.open(href, '_blank');
|
||||
},
|
||||
goEmpty() {},
|
||||
goToCaseShow() {
|
||||
const href = 'https://joylink.club/oss/portal/cases/西安铁路职业技术学院.pdf';
|
||||
window.open(href, '_blank');
|
||||
},
|
||||
goToCase() {
|
||||
const href = 'https://joylink.club/oss/portal/cases/贵州装备制造职业学院机电技术专业实训室建设.pdf';
|
||||
window.open(href, '_blank');
|
||||
goToCaseShow(item) {
|
||||
window.open(item.url, '_blank');
|
||||
},
|
||||
goToTraining() {
|
||||
const routeData = this.$router.resolve({
|
||||
|
@ -141,6 +141,7 @@ const BoardManage = () => import('@/views/messageBoard/manage');
|
||||
const DraftLessonManage = () => import('@/views/teach/draftLessonManage');
|
||||
const OrganizationManage = () => import('@/views/organization/index');
|
||||
const RunPlanViewWindow = () => import('@/views/newMap/displayNew/demon/runPlanViewWindow');
|
||||
const SecondaryHome = () => import('@/views/trainingPlatform/secondaryHome');
|
||||
|
||||
// import { GenerateRouteProjectList } from '@/scripts/ProjectConfig';
|
||||
// import { getSessionStorage } from '@/utils/auth';
|
||||
@ -625,6 +626,11 @@ export const asyncRouter = [
|
||||
path: 'permission/:mapId',
|
||||
component: Package,
|
||||
hidden: true
|
||||
},
|
||||
{ // 二级home页面
|
||||
path: 'secondaryHome',
|
||||
component: SecondaryHome,
|
||||
hidden: true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -2,10 +2,10 @@
|
||||
* 鼠标事件
|
||||
*/
|
||||
export const MouseEvent = {
|
||||
Left: 1,
|
||||
Right: 2,
|
||||
Wheel: 3
|
||||
}
|
||||
Left: 1,
|
||||
Right: 2,
|
||||
Wheel: 3
|
||||
};
|
||||
/**
|
||||
* 权限类型
|
||||
*/
|
||||
@ -194,7 +194,8 @@ export const UrlConfig = {
|
||||
course: '/trainingPlatform/course',
|
||||
practical: '/trainingPlatform/practical',
|
||||
permission: '/trainingPlatform/permission',
|
||||
pay: '/trainingPlatform/pay'
|
||||
pay: '/trainingPlatform/pay',
|
||||
secondaryHome: '/trainingPlatform/secondaryHome'
|
||||
},
|
||||
bank: {
|
||||
questionCreate: '/design/race/questionCreate',
|
||||
|
@ -17,7 +17,7 @@ export default {
|
||||
/** 取消临时限速 */
|
||||
CMD_SWITCH_CANCEL_LIMIT_SPEED: {value:'Switch_Cancel_Limit_Speed', label: '取消临时限速'},
|
||||
/** 计轴预复位 */
|
||||
CMD_SWITCH_AXIS_PRE_RESET: {value:'Switch_Axis_Pre_Reset', label: '计轴预复位'},
|
||||
CMD_SWITCH_AXLE_PRE_RESET: {value:'Switch_Axle_Pre_Reset', label: '计轴预复位'},
|
||||
/** 故障解锁 */
|
||||
CMD_SWITCH_FAULT_UNLOCK: {value:'Switch_Fault_Unlock', label: '故障解锁'},
|
||||
/** 强解道岔*/
|
||||
@ -181,9 +181,9 @@ export default {
|
||||
/** 站台总取消 */
|
||||
CMD_STAND_TOTAL_CANCLE:{value:'Stand_Total_Cancle', label: '站台总取消'},
|
||||
/** 手动开启屏蔽门 */
|
||||
CMD_STAND_OPEN_PSD:{value:'Stand_Open_Psd', label: '手动开启屏蔽门'},
|
||||
/** 取消设置*/
|
||||
CMD_STAND_CANCEL_SETTING: {value: 'Stand_Cancel_Setting', label: '取消设置'}
|
||||
CMD_STAND_OPEN_PSD:{value:'Stand_Open_Psd', label: '手动开启屏蔽门'},
|
||||
/** 取消设置*/
|
||||
CMD_STAND_CANCEL_SETTING: {value: 'Stand_Cancel_Setting', label: '取消设置'}
|
||||
},
|
||||
|
||||
Station: {
|
||||
|
@ -38,7 +38,9 @@ export const deviceFaultType = {
|
||||
Switch: [
|
||||
{label: '失表', value: 'SPLIT'},
|
||||
{label: '定位失表', value: 'NORMAL_SPLIT'},
|
||||
{label: '反位失表', value: 'REVERSE_SPLIT'}
|
||||
{label: '反位失表', value: 'REVERSE_SPLIT'},
|
||||
{label: '挤岔', value: 'SQUEEZE'},
|
||||
{label: '计轴故障', value: 'AXLE_FAULT'}
|
||||
// {label: '道岔区段计轴故障', value: 'AXLE_FAULT'}
|
||||
],
|
||||
StationStand: [
|
||||
|
@ -60,6 +60,39 @@ class MenuContextHandler {
|
||||
return result;
|
||||
}
|
||||
|
||||
covert2(menuList) {
|
||||
const selected = this.getCurrentStateObject();
|
||||
let menu = [];
|
||||
const control = this.getStationControl(selected);
|
||||
if (control && !store.state.scriptRecord.audioPlay) {
|
||||
if (this.getPrdType() != '' && this.getPrdType() != null) {
|
||||
const type = State2SimulationMap[this.getPrdType()];
|
||||
const status = State2ControlMap[control.controlMode]; // 判断当前模式
|
||||
if (type) {
|
||||
menu = [...menuList[type]];
|
||||
}
|
||||
// 特殊处理站台的右键操作( 因为小站台不允许有操作 )
|
||||
if (selected._type == 'StationStand') {
|
||||
if (selected.small) {
|
||||
menu = [];
|
||||
}
|
||||
}
|
||||
if (menu.constructor === Array) {
|
||||
menu.forEach(elem => {
|
||||
if (elem.children && elem.children.length > 0) {
|
||||
elem.children.forEach(each=>{
|
||||
this.covertEachCommand(each, type, selected, status, false);
|
||||
});
|
||||
} else {
|
||||
this.covertEachCommand(elem, type, selected, status, false);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
return menu;
|
||||
}
|
||||
|
||||
covert(menuList) {
|
||||
const selected = this.getCurrentStateObject();
|
||||
let menu = [];
|
||||
@ -93,7 +126,7 @@ class MenuContextHandler {
|
||||
return menu;
|
||||
}
|
||||
|
||||
covertEachCommand(elem, type, selected, status) {
|
||||
covertEachCommand(elem, type, selected, status, isSettingCommand = true) {
|
||||
if (elem.type === 'separator') {
|
||||
elem.show = true;
|
||||
return;
|
||||
@ -110,7 +143,9 @@ class MenuContextHandler {
|
||||
elem.disabled = true;
|
||||
}
|
||||
} else {
|
||||
elem.show = false;
|
||||
if (isSettingCommand) {
|
||||
elem.show = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -97,11 +97,11 @@ export const OperationEvent = {
|
||||
domId: '_Tips-Mbar-0-detainControl'
|
||||
},
|
||||
cbtcMode: {
|
||||
operation: '0030',
|
||||
operation: '002a',
|
||||
domId: '_Tips-Mbar-0-cbtcMode'
|
||||
},
|
||||
reserveMode: {
|
||||
operation: '0031',
|
||||
operation: '002b',
|
||||
domId: '_Tips-Mbar-0-reserveMode'
|
||||
}
|
||||
},
|
||||
@ -235,6 +235,7 @@ export const OperationEvent = {
|
||||
domId: '_Tips-commandHaerbin-confirmCr2{BOTTOM}'
|
||||
}
|
||||
},
|
||||
// 西安
|
||||
commandXian: {
|
||||
confirm: {
|
||||
operation: '009',
|
||||
@ -248,6 +249,144 @@ export const OperationEvent = {
|
||||
operation: '0092',
|
||||
domId: '_Tips-commandXian-requestBar{TOP}'
|
||||
}
|
||||
},
|
||||
// 宁波三
|
||||
commandNingBo: {
|
||||
// 线路
|
||||
line: {
|
||||
operation: '00a',
|
||||
domId: '_Tips-ningBo-line{TOP}'
|
||||
},
|
||||
// 站台
|
||||
line_stand: {
|
||||
operation: '00a0',
|
||||
domId: '_Tips-ningBo-line-stand{TOP}'
|
||||
},
|
||||
// 开放或关闭
|
||||
line_stand_openOrClose: {
|
||||
operation: '00a01',
|
||||
domId: '_Tips-ningBo-line-stand-openOrClose{TOP}'
|
||||
},
|
||||
// 设置或取消扣车
|
||||
line_stand_holdOrNot: {
|
||||
operation: '00a02',
|
||||
domId: '_Tips-ningBo-line_stand_holdOrNote{TOP}'
|
||||
},
|
||||
// 设置站间列车数量
|
||||
line_stand_trainNum: {
|
||||
operation: '00a03',
|
||||
domId: '_Tips-ningBo-line_stand_trainNum{TOP}'
|
||||
},
|
||||
// 设置站间停站时间
|
||||
line_stand_stopTime: {
|
||||
operation: '00a04',
|
||||
domId: '_Tips-ningBo-line_stand_stopTime{TOP}'
|
||||
},
|
||||
// 授权转移
|
||||
line_stand_transfer: {
|
||||
operation: '00a05',
|
||||
domId: '_Tips-ningBo-line_stand_transfer{TOP}'
|
||||
},
|
||||
// 显示
|
||||
line_stand_detail: {
|
||||
operation: '00a06',
|
||||
domId: '_Tips-ningBo-line_stand_detail{TOP}'
|
||||
},
|
||||
// 道岔
|
||||
line_switch: {
|
||||
operation: '00a1',
|
||||
domId: '_Tips-ningBo-line-switch{TOP}'
|
||||
},
|
||||
// 命令
|
||||
line_switch_cmd: {
|
||||
operation: '00a11',
|
||||
domId: '_Tips-ningBo-line-switch-cmd{TOP}'
|
||||
},
|
||||
// 封锁
|
||||
line_switch_block: {
|
||||
operation: '00a12',
|
||||
domId: '_Tips-ningBo-line-switch-block{TOP}'
|
||||
},
|
||||
// 解除封锁
|
||||
line_switch_unblock: {
|
||||
operation: '00a13',
|
||||
domId: '_Tips-ningBo-line-switch-unblock{TOP}'
|
||||
},
|
||||
// 请求动岔/请求/授权
|
||||
line_switch_empower: {
|
||||
operation: '00a14',
|
||||
domId: '_Tips-ningBo-line-switch-empower{TOP}'
|
||||
},
|
||||
// 显示
|
||||
line_switch_detail: {
|
||||
operation: '00a15',
|
||||
domId: '_Tips-ningBo-line-switch-detail{TOP}'
|
||||
},
|
||||
// 信号机
|
||||
line_signal: {
|
||||
operation: '00a2',
|
||||
domId: '_Tips-ningBo-line-signal{TOP}'
|
||||
},
|
||||
// 引导
|
||||
line_signal_guide: {
|
||||
operation: '00a21',
|
||||
domId: '_Tips-ningBo-line-signal-guide{TOP}'
|
||||
},
|
||||
// 取消允许锁闭
|
||||
line_signal_lockOrNot: {
|
||||
operation: '00a22',
|
||||
domId: '_Tips-ningBo-line-signal-lockOrNot{TOP}'
|
||||
},
|
||||
// 进路
|
||||
line_signal_cmd: {
|
||||
operation: '00a23',
|
||||
domId: '_Tips-ningBo-line-signal-cmd{TOP}'
|
||||
},
|
||||
// 信号指示模式
|
||||
line_signal_indicator: {
|
||||
operation: '00a24',
|
||||
domId: '_Tips-ningBo-line-signal-indicator{TOP}'
|
||||
},
|
||||
// 封锁
|
||||
line_signal_block: {
|
||||
operation: '00a25',
|
||||
domId: '_Tips-ningBo-line-signal-block{TOP}'
|
||||
},
|
||||
// 解封
|
||||
line_signal_unblock: {
|
||||
operation: '00a26',
|
||||
domId: '_Tips-ningBo-line-signal-unblock{TOP}'
|
||||
},
|
||||
// 显示
|
||||
line_signal_detail: {
|
||||
operation: '00a27',
|
||||
domId: '_Tips-ningBo-line-signal-detail{TOP}'
|
||||
},
|
||||
// 轨道
|
||||
line_section: {
|
||||
operation: '00a3',
|
||||
domId: '_Tips-ningBo-line-section{TOP}'
|
||||
},
|
||||
// 开放
|
||||
line_section_open: {
|
||||
operation: '00a31',
|
||||
domId: '_Tips-ningBo-line-section-open{TOP}'
|
||||
},
|
||||
// 关闭
|
||||
line_section_close: {
|
||||
operation: '00a32',
|
||||
domId: '_Tips-ningBo-line-section-close{TOP}'
|
||||
},
|
||||
// 临时限速
|
||||
line_section_limitSpeed: {
|
||||
operation: '00a33',
|
||||
domId: '_Tips-ningBo-line-section-limitSpeed{TOP}'
|
||||
},
|
||||
// 显示
|
||||
line_section_detail: {
|
||||
operation: '00a34',
|
||||
domId: '_Tips-ningBo-line-section-detail{TOP}'
|
||||
}
|
||||
}
|
||||
},
|
||||
// 站台概要表
|
||||
@ -507,6 +646,10 @@ export const OperationEvent = {
|
||||
stop: {
|
||||
operation: '1105',
|
||||
domId: '_Tips-Switch-AxlePreReset-Stop'
|
||||
},
|
||||
menuButton: {
|
||||
operation: '1106',
|
||||
domId: '_Tips-Switch-AxlePreReset-MenuButton'
|
||||
}
|
||||
},
|
||||
// 切除
|
||||
@ -2522,13 +2665,6 @@ export const OperationEvent = {
|
||||
|
||||
// 混合指令
|
||||
MixinCommand: {
|
||||
/** 控制模式操作 */
|
||||
remoteControl: {
|
||||
mbar: {
|
||||
operation: '2999',
|
||||
domId: '_Tips-Control-StationControl-Mbar{TOP}'
|
||||
}
|
||||
},
|
||||
// 封锁
|
||||
block: {
|
||||
button: {
|
||||
@ -2560,25 +2696,44 @@ export const OperationEvent = {
|
||||
// 取消故障
|
||||
cancelStoppage: {
|
||||
menu: {
|
||||
operation: '2995'
|
||||
operation: '2995',
|
||||
domId: '_Tips-CancelStoppage-Menu{TOP}'
|
||||
}
|
||||
},
|
||||
// 道岔故障
|
||||
stoppage: {
|
||||
menu: {
|
||||
operation: '2996'
|
||||
operation: '2996',
|
||||
domId: '_Tips-Stoppage-Menu{TOP}'
|
||||
}
|
||||
},
|
||||
// 设置托管
|
||||
collocation: {
|
||||
menu: {
|
||||
operation: '2997'
|
||||
operation: '2997',
|
||||
domId: '_Tips-Collocation-Menu{TOP}'
|
||||
}
|
||||
},
|
||||
// 设置连挂
|
||||
setLink: {
|
||||
menu: {
|
||||
operation: '2999'
|
||||
operation: '2998',
|
||||
domId: '_Tips-SetLink-Menu{TOP}'
|
||||
}
|
||||
},
|
||||
/** 控制模式操作 */
|
||||
remoteControl: {
|
||||
mbar: {
|
||||
operation: '299a',
|
||||
domId: '_Tips-Control-StationControl-Mbar{TOP}'
|
||||
},
|
||||
select: {
|
||||
operation: '299b',
|
||||
domId: '_Tips-Control-StationControl-Select{TOP}'
|
||||
},
|
||||
confirm: {
|
||||
operation: '299c',
|
||||
domId: '_Tips-Control-StationControl-Confirm{TOP}'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2,10 +2,10 @@ export function getBaseUrl() {
|
||||
let BASE_API;
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// BASE_API = 'https://api.joylink.club/jlcloud';
|
||||
BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
// BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪
|
||||
// BASE_API = 'http://192.168.8.129:9000'; // 旭强
|
||||
// BASE_API = 'http://192.168.8.119:9000'; // 张赛
|
||||
BASE_API = 'http://192.168.8.119:9000'; // 张赛
|
||||
// BASE_API = 'http://192.168.8.140:9000'; // 杜康
|
||||
// BASE_API = 'http://b29z135112.zicp.vip';
|
||||
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
|
||||
|
@ -37,63 +37,63 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
tipInit() {
|
||||
this.$nextTick(() => {
|
||||
this.$store.dispatch('training/isTeachMode').then(() => {
|
||||
this.tipShow = true;
|
||||
const offset = this.$store.state.config.canvasOffset;
|
||||
if (this.$store.state.training.trainingStart) {
|
||||
const order = this.$store.state.training.order;
|
||||
const steps = this.$store.state.training.steps;
|
||||
if (order > -1 && order < steps.length) {
|
||||
const step = steps[order];
|
||||
const distance = 5;
|
||||
this.tip = step.tip;
|
||||
/** 如果mbm或者bar的处理*/
|
||||
if (step.type === 'mbm' || step.type === 'bar') {
|
||||
const position = this.getOtherTipPoint(step);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow();
|
||||
}
|
||||
} else if (step.code) {
|
||||
/** 默认是shape类型,如果找不到坐标,则可以认为是存在code的dailog*/
|
||||
const position = this.getShapeTipPoint(step);
|
||||
if (position) {
|
||||
this.position = {
|
||||
x: position.x + offset.x,
|
||||
y: position.y + offset.y - distance
|
||||
};
|
||||
this.popTipShow();
|
||||
} else {
|
||||
const position = this.getOtherTipPoint(step);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/** 不存在code字段的dialog处理*/
|
||||
const position = this.getOtherTipPoint(step);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow();
|
||||
} else {
|
||||
this.popTipHide();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.tipShow = false;
|
||||
}
|
||||
} else {
|
||||
this.tipShow = false;
|
||||
}
|
||||
}).catch(() => {
|
||||
this.tipShow = false;
|
||||
});
|
||||
});
|
||||
this.$store.dispatch('training/isTeachMode').then(() => {
|
||||
this.tipShow = true;
|
||||
this.$nextTick(() => {
|
||||
const offset = this.$store.state.config.canvasOffset;
|
||||
if (this.$store.state.training.trainingStart) {
|
||||
const order = this.$store.state.training.order;
|
||||
const steps = this.$store.state.training.steps;
|
||||
if (order > -1 && order < steps.length) {
|
||||
const step = steps[order];
|
||||
const distance = 5;
|
||||
this.tip = step.tip;
|
||||
/** 如果mbm或者bar的处理*/
|
||||
if (step.type === 'mbm' || step.type === 'bar') {
|
||||
const position = this.getOtherTipPoint(step);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow();
|
||||
}
|
||||
} else if (step.code) {
|
||||
/** 默认是shape类型,如果找不到坐标,则可以认为是存在code的dailog*/
|
||||
const position = this.getShapeTipPoint(step);
|
||||
if (position) {
|
||||
this.position = {
|
||||
x: position.x + offset.x,
|
||||
y: position.y + offset.y - distance
|
||||
};
|
||||
this.popTipShow();
|
||||
} else {
|
||||
const position = this.getOtherTipPoint(step);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/** 不存在code字段的dialog处理*/
|
||||
const position = this.getOtherTipPoint(step);
|
||||
if (position) {
|
||||
this.position = position;
|
||||
this.position.y -= distance;
|
||||
this.popTipShow();
|
||||
} else {
|
||||
this.popTipHide();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.tipShow = false;
|
||||
}
|
||||
} else {
|
||||
this.tipShow = false;
|
||||
}
|
||||
});
|
||||
}).catch(() => {
|
||||
this.tipShow = false;
|
||||
});
|
||||
},
|
||||
popTipShow() {
|
||||
this.popShow = true;
|
||||
@ -142,7 +142,7 @@ export default {
|
||||
// 获取地图菜单按钮和对话框按钮提示显示位置
|
||||
getOtherTipPoint(step) {
|
||||
const domId = OperationHandler.getDomIdByOperation(step.operation);
|
||||
const btnDom = document.getElementById(domId);
|
||||
const btnDom = document.getElementById(domId);
|
||||
if (btnDom) {
|
||||
const offset = getDomOffset(btnDom);
|
||||
if (offset.x == 0 && offset.y == 0) {
|
||||
|
@ -461,7 +461,6 @@ export default {
|
||||
this.$refs['dataform'].validate((valid) => {
|
||||
if (valid) {
|
||||
const data = Object.assign({_type: this.editModel.type}, this.editModel);
|
||||
console.log(data, '=====');
|
||||
this.$emit('updateMapModel', data);
|
||||
this.field = '';
|
||||
}
|
||||
|
@ -102,10 +102,12 @@
|
||||
<el-input-number v-model="formModel[item.prop]" :min="item.min" :max="item.max" :label="item.label" :disabled="item.disabled" style="width: 140px" @change="((val)=>{deviceChange(val,item)})" />
|
||||
</template>
|
||||
<span style="padding-left: 1px;">{{ item.placeholder }}</span>
|
||||
<el-button v-if="item.button" type="primary" size="mini" style="margin-left: 20px;" @click="item.clickFunction">{{ item.buttonText }}</el-button>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-input-number v-model="formModel[item.firstLevel][item.secondLevel]" :min="item.min" :max="item.max" :label="item.label" :disabled="item.disabled" />
|
||||
<span style="padding-left: 1px;">{{ item.placeholder }}</span>
|
||||
<el-button v-if="item.button" type="primary" size="mini" style="margin-left: 20px;" @click="item.clickFunction">{{ item.buttonText }}</el-button>
|
||||
</template>
|
||||
</el-form-item>
|
||||
</template>
|
||||
@ -279,6 +281,21 @@
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template v-if="checkFieldType(item, 'lengthFact')">
|
||||
<div v-if="!item.isHidden" :key="item.prop" class="coordinate">
|
||||
<span class="title" :style="{width: item.width}">{{ item.label }}</span>
|
||||
<div class="point-section">
|
||||
<template v-for="(elem, j) in formModel[item.prop]">
|
||||
<div :key="j" style="overflow: hidden;">
|
||||
<el-form-item :label="elem.name" :prop="'logicLengthList[' + j + '].lengthFact'" label-width="20px">
|
||||
<el-input-number v-model="elem.lengthFact" :min="0" :precision="3" style="width: 120px;" /><span>米</span>
|
||||
<el-button v-if="!j" type="primary" size="mini" style="margin-left: 20px;" @click="item.mergeLength">合并长度</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</fieldset>
|
||||
</template>
|
||||
|
@ -53,6 +53,7 @@ class Model {
|
||||
this.belongStation = ''; // 所属车站
|
||||
this.rightAxleOffset = { x: 0, y: 0 };
|
||||
this.leftAxleOffset = { x: 0, y: 0 };
|
||||
this.logicLengthList = [];
|
||||
}
|
||||
SignalModel() {
|
||||
this._type = 'Signal';
|
||||
|
@ -315,19 +315,12 @@ export default {
|
||||
let startOffset = 0;
|
||||
const sectionMap = {};
|
||||
if (section.logicSectionCodeList && section.logicSectionCodeList.length) {
|
||||
const sectionModel = deepAssign({}, section);
|
||||
sectionModel.lengthFact = Number(sectionModel.logicSectionCodeList.reduce((pre, code) => pre + Number(this.$store.getters['map/getDeviceByCode'](code).lengthFact), 0).toFixed(3));
|
||||
models.push(sectionModel);
|
||||
section.logicSectionCodeList.forEach(sectionCode => {
|
||||
const logicSection = this.$store.getters['map/getDeviceByCode'](sectionCode);
|
||||
sectionMap[logicSection.points[0].x + 's' + logicSection.points[0].y] = logicSection;
|
||||
});
|
||||
while (sectionMap[startPoint]) {
|
||||
const model = deepAssign({}, sectionMap[startPoint]);
|
||||
if (!model.lengthFact) {
|
||||
const length = section.lengthFact / section.logicSectionCodeList.length;
|
||||
model.lengthFact = length.toFixed(3);
|
||||
}
|
||||
model.logicSectionStartOffset = startOffset;
|
||||
model.logicSectionEndOffset = (model.lengthFact * 1000 + startOffset * 1000) / 1000;
|
||||
models.push(model);
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="button_box">
|
||||
<el-button-group class="map-draft-group">
|
||||
<el-button type="primary" size="small" @click="edit">{{ $t('map.updateObj') }}</el-button>
|
||||
<el-button type="danger" size="small" @click="deleteObj">{{ $t('map.deleteObj') }}</el-button>
|
||||
<el-button :disabled="editModel.type == '02'" type="danger" size="small" @click="deleteObj">{{ $t('map.deleteObj') }}</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
@ -206,13 +206,12 @@ export default {
|
||||
item: [
|
||||
{ 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: 'belongStation', label: '所属车站:', type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', options: this.stationList, isHidden: !this.editModel.standTrack && !this.editModel.reentryTrack && !this.editModel.transferTrack },
|
||||
{ prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter'), isHidden: !this.isSwitchSectionType || !this.isCrossSectionType },
|
||||
{ prop: 'lengthFact', label: this.$t('map.actualLength') + ':', type: 'number', min: 0, placeholder: this.$t('map.meter'), disabled: this.isStationCodeDisabled, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType, button:true, clickFunction: this.divideLength, buttonText: '均分长度' },
|
||||
{ prop: 'logicLengthList', label: '逻辑区段实际长度:', type: 'lengthFact', isHidden: !this.isHasLogicPhysicalSection, mergeLength: this.mergeLength, width: '160px'},
|
||||
{ prop: 'leftStopPointOffset', label: this.$t('map.leftStopPointOffset'), type: 'number', min: 0, max: this.maxLengthFact, isHidden: !this.isStopPointOffset }, // 左向停车点偏移量
|
||||
{ prop: 'rightStopPointOffset', label: this.$t('map.rightStopPointOffset'), type: 'number', min: 0, max: this.maxLengthFact, 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, isHidden: !this.isSwitchSectionShow || !this.isCrossSectionType }
|
||||
// { 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') }
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -228,20 +227,6 @@ export default {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
// var validateLeftStopPointOffset = (rule, value, callback) => {
|
||||
// if (value != this.editModel.rightStopPointOffset) {
|
||||
// callback();
|
||||
// } else {
|
||||
// callback(new Error('不能与右侧停车点一致'));
|
||||
// }
|
||||
// };
|
||||
// var validateRightStopPointOffset = (rule, value, callback) => {
|
||||
// if (value != this.editModel.leftStopPointOffset) {
|
||||
// callback();
|
||||
// } else {
|
||||
// callback(new Error('不能与左侧停车点一致'));
|
||||
// }
|
||||
// };
|
||||
const rules = {
|
||||
code: [
|
||||
{ required: true, message: this.$t('rules.selectEquipment'), trigger: 'change' }
|
||||
@ -252,14 +237,6 @@ export default {
|
||||
type: [
|
||||
{ required: true, message: this.$t('rules.pleaseEnterSectionType'), trigger: 'blur' }
|
||||
],
|
||||
// leftStopPointOffset: [
|
||||
// { required: true, message: this.$t('rules.pleaseEnterLeftStopPointOffset'), trigger: 'blur' },
|
||||
// { validator: validateLeftStopPointOffset, trigger: 'blur' }
|
||||
// ],
|
||||
// rightStopPointOffset: [
|
||||
// { required: true, message: this.$t('rules.rightStopPointOffset'), trigger: 'blur' },
|
||||
// { validator: validateRightStopPointOffset, trigger: 'blur' }
|
||||
// ],
|
||||
'destinationCodePoint.x': [
|
||||
{ required: true, message: this.$t('rules.destinationCodePointX'), trigger: 'blur' }
|
||||
],
|
||||
@ -367,7 +344,9 @@ export default {
|
||||
isStopPointOffset() {
|
||||
return this.editModel.type !== '04' && (this.editModel.reentryTrack || this.editModel.standTrack || this.editModel.transferTrack);
|
||||
},
|
||||
|
||||
isHasLogicPhysicalSection() { // 有逻辑区段的物理区段
|
||||
return this.editModel.type == '01' && this.editModel.logicSectionCodeList && this.editModel.logicSectionCodeList.length;
|
||||
},
|
||||
isLeftSectionButtonShow() {
|
||||
return this.field === 'leftSection';
|
||||
},
|
||||
@ -446,6 +425,7 @@ export default {
|
||||
this.clear();
|
||||
this.handleInit();
|
||||
this.activeName = 'first';
|
||||
this.handleLogicLengthList(selected);
|
||||
this.editModel = deepAssign(this.editModel, selected);
|
||||
this.oldPoint = JSON.parse(JSON.stringify(selected.points));
|
||||
this.oldLeftSectionCode = selected.leftSectionCode;
|
||||
@ -505,6 +485,30 @@ export default {
|
||||
this.$emit('deviceSelect', '');
|
||||
}
|
||||
},
|
||||
handleLogicLengthList(selected) {
|
||||
if (selected.type === '01' && selected.logicSectionCodeList && selected.logicSectionCodeList.length) {
|
||||
const logicLengthList = [];
|
||||
selected.logicSectionCodeList.forEach(sectionCode => {
|
||||
const section = this.$store.getters['map/getDeviceByCode'](sectionCode);
|
||||
logicLengthList.push({code: section.code, name: section.name, lengthFact: section.lengthFact});
|
||||
});
|
||||
// this.$set(this.editModel, 'logicLengthList', logicLengthList);
|
||||
this.editModel.logicLengthList = [...logicLengthList];
|
||||
}
|
||||
},
|
||||
divideLength() {
|
||||
const logicLength = this.editModel.lengthFact / this.editModel.logicSectionCodeList.length;
|
||||
this.editModel.logicLengthList.forEach(logic => {
|
||||
logic.lengthFact = logicLength.toFixed(3);
|
||||
});
|
||||
},
|
||||
mergeLength() {
|
||||
let physicalLength = 0;
|
||||
this.editModel.logicLengthList.forEach(logic => {
|
||||
physicalLength += logic.lengthFact * 1000;
|
||||
});
|
||||
this.editModel.lengthFact = (physicalLength / 1000).toFixed(3);
|
||||
},
|
||||
addPoint(index) {
|
||||
const data = { x: 0, y: 0 };
|
||||
this.editModel.points.splice(index + 1, 0, data);
|
||||
@ -529,7 +533,6 @@ export default {
|
||||
const changeSectionList = this.handleOtherSectionChange(model);
|
||||
const changeStandList = this.handleRelevanceStand(model);
|
||||
models = [...changeSectionList, ...changeStandList];
|
||||
|
||||
this.$emit('updateMapModel', models);
|
||||
this.oldPoint = JSON.parse(JSON.stringify(model.points));
|
||||
this.oldLeftSectionCode = model.leftSectionCode;
|
||||
@ -540,6 +543,7 @@ export default {
|
||||
this.$message('还有属性未填写,修改未生效!');
|
||||
this.$emit('deviceSelect', '');
|
||||
}
|
||||
// debugger;
|
||||
});
|
||||
},
|
||||
handleRelevanceStand(model) { // 站台轨关联站台调整 所属集中站
|
||||
@ -559,39 +563,13 @@ export default {
|
||||
let models = [model];
|
||||
const pointModel = [];
|
||||
const slope1 = (this.oldPoint[this.oldPoint.length - 1].y - this.oldPoint[0].y) / (this.oldPoint[this.oldPoint.length - 1].x - this.oldPoint[0].x);
|
||||
const logicLengthMap = {};
|
||||
this.editModel.logicLengthList.forEach(item => { logicLengthMap[item.code] = item.lengthFact; });
|
||||
this.sectionList.forEach(section => {
|
||||
if (section.type == '02') {
|
||||
// section.parentCode
|
||||
// const sectionModel = this.$store.getters['map/getDeviceByCode'](section.parentCode);
|
||||
// const copySection = deepAssign({}, sectionModel);
|
||||
// // if (section.leftSectionCode) {
|
||||
// // console.log(section.leftSectionCode, '111111');
|
||||
// // }
|
||||
// if (section.rightSectionCode) {
|
||||
// const sectionModel1 = this.$store.getters['map/getDeviceByCode'](section.rightSectionCode);
|
||||
// if (sectionModel1.type == '02') {
|
||||
// copySection.rightSectionCode = sectionModel1.parentCode;
|
||||
// } else {
|
||||
// copySection.rightSectionCode = section.rightSectionCode;
|
||||
// }
|
||||
// console.log(section.rightSectionCode, '22222');
|
||||
// }
|
||||
// models.push(copySection);
|
||||
// console.log(section.rightSectionCode, section.leftSectionCode);
|
||||
// const copySection = deepAssign({}, section);
|
||||
// if (section.rightSectionCode) {
|
||||
// delete copySection.rightSectionCode;
|
||||
// }
|
||||
// if (section.leftSectionCode) {
|
||||
// delete copySection.leftSectionCode;
|
||||
// }
|
||||
// models.push(copySection);
|
||||
}
|
||||
if (section.parentCode == model.code && section.type == '02') { // 逻辑区段
|
||||
const copySection = deepAssign({}, section);
|
||||
copySection.stationCode = model.stationCode; // 给元素 子逻辑区段设置 设备集中站
|
||||
const length = model.lengthFact / model.logicSectionCodeList.length;
|
||||
copySection.lengthFact = length.toFixed(3);
|
||||
copySection.lengthFact = logicLengthMap[copySection.code];
|
||||
if (this.checkPointsCoincide(this.oldPoint[0], copySection.points[0])) {
|
||||
copySection.points[0] = model.points[0];
|
||||
}
|
||||
@ -622,24 +600,6 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (model.parentCode == copySection.code) { // 物理区段
|
||||
let lengthFact = copySection.logicSectionCodeList.filter(code => model.code != code).reduce((pre, code) => {
|
||||
const length = this.$store.getters['map/getDeviceByCode'](code).lengthFact;
|
||||
return pre + Number(length);
|
||||
}, 0);
|
||||
lengthFact += model.lengthFact;
|
||||
copySection.lengthFact = Number(lengthFact.toFixed(3)); // 自动获取 物理区段的 实际长度 是由逻辑区段相加
|
||||
const logicSectionCodeList = copySection.logicSectionCodeList;
|
||||
const last = deepAssign({}, this.$store.getters['map/getDeviceByCode'](logicSectionCodeList[logicSectionCodeList.length - 1]));
|
||||
last.logicSectionEndOffset = copySection.lengthFact;
|
||||
models.push(last);
|
||||
if (copySection.lengthFact > 5) {
|
||||
copySection.leftStopPointOffset = copySection.leftStopPointOffset || 5;
|
||||
copySection.rightStopPointOffset = copySection.rightStopPointOffset || copySection.lengthFact - 5;
|
||||
}
|
||||
updataFlag = true;
|
||||
}
|
||||
if (this.checkPointsCoincide(this.oldPoint[0], section.points[section.points.length - 1])) {
|
||||
pointModel.push(copySection);
|
||||
}
|
||||
@ -670,20 +630,10 @@ export default {
|
||||
}
|
||||
});
|
||||
|
||||
if (!model.parentCode) {
|
||||
if (model.type === '01') {
|
||||
const arr = this.setLogicOffset(model, models);
|
||||
models = [...models, ...arr];
|
||||
} else {
|
||||
const sectionModel = this.$store.getters['map/getDeviceByCode'](model.parentCode);
|
||||
let arr = [];
|
||||
if (sectionModel) {
|
||||
arr = this.setLogicOffset(sectionModel, models);
|
||||
} else {
|
||||
arr = this.setLogicOffset(model, models);
|
||||
}
|
||||
models = [...models, ...arr];
|
||||
}
|
||||
|
||||
return models;
|
||||
},
|
||||
selectSectionCode(code, list) {
|
||||
@ -708,10 +658,6 @@ export default {
|
||||
});
|
||||
while (sectionMap[startPoint]) {
|
||||
const model = sectionMap[startPoint].deepFlag ? sectionMap[startPoint] : deepAssign({}, sectionMap[startPoint]);
|
||||
if (!model.lengthFact) {
|
||||
const length = section.lengthFact / section.logicSectionCodeList.length;
|
||||
model.lengthFact = length.toFixed(3);
|
||||
}
|
||||
model.logicSectionStartOffset = startOffset;
|
||||
const lastData = Object.keys(sectionMap);
|
||||
const temp = lastData[lastData.length - 1];
|
||||
|
@ -101,6 +101,9 @@ export default {
|
||||
this.mapId = obj.id;
|
||||
const router = { path: `${UrlConfig.trainingPlatform.permission}/${this.mapId}`};
|
||||
this.toNextPage(isReplace, router);
|
||||
} else if ( obj.type === 'System' ) {
|
||||
const router = { path: `${UrlConfig.trainingPlatform.secondaryHome}`, query: { type: obj.id } };
|
||||
this.toNextPage(isReplace, router);
|
||||
} else if ( obj.type === 'MapSystem') {
|
||||
getSubSystemInfo(obj.id).then(resp => { // 查询子系统信息
|
||||
let router = '';
|
||||
|
119
src/views/trainingPlatform/secondaryHome.vue
Normal file
@ -0,0 +1,119 @@
|
||||
<template>
|
||||
<div class="joylink-card">
|
||||
<el-scrollbar wrap-class="scrollbar-wrapper">
|
||||
<div class="content_box">
|
||||
<h1 class="title">{{ title }}</h1>
|
||||
<div class="card-box">
|
||||
<el-carousel :interval="4000" type="card" height="380px">
|
||||
<el-carousel-item v-for="(item, index) in listImg" :key="index">
|
||||
<img :src="item.src" alt="" height="100%" width="100%">
|
||||
</el-carousel-item>
|
||||
</el-carousel>
|
||||
</div>
|
||||
<!--<div class="brief-box">{{ $t('demonstration.simulationSystemDescription') }}</div>-->
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import simulation1 from '@/assets/home_simulation/simulation1.png';
|
||||
import simulation2 from '@/assets/home_simulation/simulation2.png';
|
||||
import simulation3 from '@/assets/home_simulation/simulation3.png';
|
||||
import simulation4 from '@/assets/home_simulation/simulation4.png';
|
||||
import simulation5 from '@/assets/home_simulation/simulation5.png';
|
||||
import teach1 from '@/assets/home_teach/teach1.png';
|
||||
import exam1 from '@/assets/home_exam/exam1.png';
|
||||
|
||||
export default {
|
||||
name: 'SecondaryHome',
|
||||
data() {
|
||||
return {
|
||||
simulationImgList: [
|
||||
{ src: simulation1 },
|
||||
{ src: simulation2 },
|
||||
{ src: simulation3 },
|
||||
{ src: simulation4 },
|
||||
{ src: simulation5 }
|
||||
],
|
||||
teachImgList: [
|
||||
{ src: teach1 }
|
||||
],
|
||||
examImgList: [
|
||||
{ src: exam1 }
|
||||
]
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
listImg() {
|
||||
if (this.$route.query.type === 'Simulation') {
|
||||
return this.simulationImgList;
|
||||
} else if (this.$route.query.type === 'Lesson') {
|
||||
return this.teachImgList;
|
||||
} else if (this.$route.query.type === 'Exam') {
|
||||
return this.examImgList;
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
title() {
|
||||
if (this.$route.query.type === 'Simulation') {
|
||||
return '仿真系统';
|
||||
} else if (this.$route.query.type === 'Lesson') {
|
||||
return '教学系统';
|
||||
} else if (this.$route.query.type === 'Exam') {
|
||||
return '考试系统';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
@import "src/styles/mixin.scss";
|
||||
|
||||
/deep/ .el-carousel {
|
||||
overflow: hidden;
|
||||
width:100%;
|
||||
}
|
||||
.joylink-card{
|
||||
height: 100%;
|
||||
font-family: 'Microsoft YaHei';
|
||||
overflow: hidden;
|
||||
.content_box{
|
||||
padding: 0 100px 15px;
|
||||
}
|
||||
.title {
|
||||
font-size: 35px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: 400;
|
||||
margin-top: 55px;
|
||||
border-bottom: 2px dashed #333;
|
||||
padding-bottom: 15px;
|
||||
margin-bottom: 70px;
|
||||
position: relative;
|
||||
|
||||
.logo-img {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 55px;
|
||||
}
|
||||
}
|
||||
|
||||
.card-box {
|
||||
width: 100%;
|
||||
padding: 0 50px;
|
||||
}
|
||||
|
||||
.brief-box {
|
||||
font-size: 18px;
|
||||
text-indent: 2em;
|
||||
line-height: 32px;
|
||||
padding: 40px 20px 0;
|
||||
font-family: unset;
|
||||
}
|
||||
}
|
||||
</style>
|