南京二号线状态调整 道岔长闪
This commit is contained in:
parent
ec87dc8eaf
commit
ab804e3b95
@ -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 对称
|
||||
|
@ -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); }
|
||||
}
|
||||
}
|
||||
}
|
||||
/** 设置状态*/
|
||||
|
@ -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(); // 道岔使能显示
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user