南京二号线状态调整 道岔长闪

This commit is contained in:
fan 2021-01-14 16:26:04 +08:00
parent ec87dc8eaf
commit ab804e3b95
3 changed files with 43 additions and 10 deletions

View File

@ -159,7 +159,8 @@ class SkinCode extends defaultStyle {
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
}
}
},
switchFault: true // 南京二号线 道岔失败(长闪)
};
this[deviceType.Signal] = {
@ -512,6 +513,7 @@ class SkinCode extends defaultStyle {
this[deviceType.Switch] = {
shapeFlash: true, // 道岔转动失去表示 道岔遮罩删除
faultNoHandle: true, // 南京二 道岔长闪 道岔无状态 道岔区段 bc 闪烁
text: {
show: true, // 道岔名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称

View File

@ -260,17 +260,36 @@ export default class Section extends Group {
// 哈尔滨线路 南京二 道岔相关区段设置 默认颜色
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'))) { // 定位情况
const sectionC = Vue.prototype.$jlmap.mapDevice[switchModel.sectionCCode];
sectionC && sectionC.instance && sectionC.instance.line.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
const sectionB = Vue.prototype.$jlmap.mapDevice[switchModel.sectionBCode];
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')) { // 反位情况
const sectionB = Vue.prototype.$jlmap.mapDevice[switchModel.sectionBCode];
sectionB && sectionB.instance && sectionB.instance.line.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
const sectionC = Vue.prototype.$jlmap.mapDevice[switchModel.sectionCCode];
sectionC && sectionC.instance && sectionC.instance.setState(sectionC, true);
}
if (this.style.Section.switchFault && switchModel.split) {
if (sectionB && sectionB.instance) {
sectionB.instance.setState(sectionB, true);
sectionB.instance.line.animateStyle(true, [
{ time: 0, styles: { stroke: this.style.Section.line.spareColor } },
{ time: 500, styles: { stroke: this.style.backgroundColor } },
{ time: 1000, styles: { stroke: this.style.Section.line.spareColor } }
]);
}
if (sectionC && sectionC.instance) {
sectionC.instance.setState(sectionC, true);
sectionC.instance.line.animateStyle(true, [
{ time: 0, styles: { stroke: this.style.Section.line.spareColor } },
{ time: 500, styles: { stroke: this.style.backgroundColor } },
{ time: 1000, styles: { stroke: this.style.Section.line.spareColor } }
]);
}
} else {
if (sectionB && sectionB.instance) { sectionB.instance.line.stopAnimation(true); }
if (sectionC && sectionC.instance) { sectionC.instance.line.stopAnimation(true); }
}
}
}
/** 设置状态*/

View File

@ -311,7 +311,7 @@ export default class Switch extends Group {
}
}
// 南京二号线 A,B闪烁
shapeFlashing() {
shapeFlashing(split) {
let bColor = '#7F7F7F';
let aColor = '#7F7F7F';
if (this.switchPosition === 'normal') {
@ -319,17 +319,25 @@ export default class Switch extends Group {
} else {
bColor = '#FF0';
}
this.shapeModelB && this.shapeModelB.animateStyle(bColor, this.style.backgroundColor);
// 南京二号线道岔短闪两部分相位不同
this.shapeModelA && this.shapeModelA.animateStyle(aColor, this.style.backgroundColor);
setTimeout(() => {
this.shapeModelB && this.shapeModelB.animateStyle(bColor, this.style.backgroundColor);
}, 100);
if (split) {
this.shapeModelA.hide();
this.shapeModelB.hide();
this.shapeModelC.hide();
}
}
/** 失去*/
setLossAction() {
setLossAction(split) {
this.shapeModelA.show();
this.shapeModelB.show();
this.shapeModelC.show();
this.shapeModelC.setColor(this.style.backgroundColor);
this.shapeModelB.animateStyle();
this.style.Switch.shapeFlash && this.shapeFlashing();
this.style.Switch.shapeFlash && this.shapeFlashing(split);
this.setTextColor(this.style.Switch.text.lossColor);
this.style.Switch.text.faultFlashing && this.nameTextAnimation();
@ -343,6 +351,10 @@ export default class Switch extends Group {
setSwitchFault(split, normalPosition, reversePosition) {
if (this.style.Switch.jointImg.faultStatus && split && !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) {
const switchFault = store.getters['map/getDeviceByCode'](this.model.switchFaultCode);
@ -544,7 +556,7 @@ export default class Switch extends Group {
this.switchPosition = 'reverse';
this.setInversionAction(model); /** 反位*/
} else {
this.setLossAction(); // 失去
this.setLossAction(model.split); // 失去
}
model.isCiConfirm && this.setCiConfirm(); // 道岔使能显示