岔心状态 绘图代码调整
This commit is contained in:
parent
39da2a712d
commit
f61df9b1e8
@ -144,8 +144,13 @@ class SkinCode extends defaultStyle {
|
||||
display: false // 列车实时位置显示
|
||||
},
|
||||
cross:{ // 岔心
|
||||
speedOffset:{
|
||||
x:0,
|
||||
y:50
|
||||
},
|
||||
centerSquare:{
|
||||
defaultColor:'#000'
|
||||
defaultColor:'#000',
|
||||
blockColor:'#00F'
|
||||
},
|
||||
crossSection:{
|
||||
fillColor:'#ff0',
|
||||
|
@ -141,9 +141,27 @@ export default class ELines extends Group {
|
||||
}
|
||||
});
|
||||
|
||||
this.crossSpeedText = new Text({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 8,
|
||||
style: {
|
||||
x: result.x + style.Section.cross.speedOffset.x,
|
||||
y: result.y + style.Section.cross.speedOffset.y,
|
||||
fontWeight: style.Section.cross.text.fontWeight,
|
||||
fontSize: style.Section.cross.text.fontSize,
|
||||
fontFamily: style.Section.cross.text.fontFamily || style.fontFamily,
|
||||
text: '',
|
||||
textFill:style.Section.cross.text.fontColor,
|
||||
textAlign: style.Section.cross.text.textAlign,
|
||||
textPosition: style.Section.cross.text.textPosition,
|
||||
textVerticalAlign: style.Section.cross.text.textVerticalAlign
|
||||
}
|
||||
});
|
||||
|
||||
this.add(this.crossSection);
|
||||
this.add(this.centerSquare);
|
||||
this.add(this.crossText);
|
||||
this.add(this.crossSpeedText);
|
||||
}
|
||||
|
||||
createLine() {
|
||||
@ -359,6 +377,16 @@ export default class ELines extends Group {
|
||||
this.crossSection && this.crossSection.setStyle({lineWidth:0, fill:this.model.style.Section.cross.crossSection.fillColor});
|
||||
}
|
||||
|
||||
setCrossBlock() {
|
||||
this.centerSquare && this.centerSquare.setStyle({fill:this.model.style.Section.cross.centerSquare.blockColor});
|
||||
}
|
||||
setCrossUnBlock() {
|
||||
this.centerSquare && this.centerSquare.setStyle({fill:this.model.style.Section.cross.centerSquare.defaultColor});
|
||||
}
|
||||
setCrossSpeedUpperLimit(speedLimit) {
|
||||
this.crossSpeedText && this.crossSpeedText.setStyle({text:speedLimit});
|
||||
}
|
||||
|
||||
setZleve(lev) {
|
||||
this.section && this.section.attr('z', lev);
|
||||
}
|
||||
|
@ -129,8 +129,6 @@ class EMouse extends Group {
|
||||
this.add(this.lineBorder);
|
||||
this.lineBorder.hide();
|
||||
}
|
||||
} else if (this.device.crossSection) {
|
||||
debugger;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,12 +86,14 @@ export default class Section extends Group {
|
||||
/** 设置区段恢复默认状态*/
|
||||
recover() {
|
||||
if (this.line) {
|
||||
this.line.setCrossUnBlock();
|
||||
this.line.stopAnimation(true);
|
||||
this.sectionBlock && this.sectionBlock.hide(); // 因此特殊区段
|
||||
this.line.setStyle({
|
||||
stroke: this.style.Section.line.spareColor,
|
||||
lineWidth: this.style.Section.line.width
|
||||
});
|
||||
this.line.setCrossSpeedUpperLimit('');
|
||||
}
|
||||
this.name && this.name.recover();
|
||||
this.speedLimit && this.speedLimit.hide();
|
||||
@ -180,6 +182,9 @@ export default class Section extends Group {
|
||||
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
|
||||
});
|
||||
}
|
||||
if (this.style.Section.cross && this.model.type == '04') {
|
||||
this.line.setCrossBlock();
|
||||
}
|
||||
if (this.style.Section.block && this.style.Section.block.blockGlint && this.line) {
|
||||
this.line.animateStyle(true, [
|
||||
{ time: 1000, styles: { stroke: this.style.backgroundColor } },
|
||||
@ -246,13 +251,15 @@ export default class Section extends Group {
|
||||
setSpeedUpperLimit(speedUpLimit) {
|
||||
if (this.style.Section.line.speedLimitColor) { // 宁波三号线 独有
|
||||
this.line.setStyle({stroke: this.style.Section.line.speedLimitColor});
|
||||
} else if (this.style.Section.speedLimitName.nameAlone && this.model.type == '03') { // 南京2,道岔区段只显示一个名称
|
||||
const switchModel = Vue.prototype.$jlmap.mapDevice[this.model.relSwitchCode];
|
||||
if (switchModel && switchModel.sectionACode == this._code) {
|
||||
this.speedLimit && this.speedLimit.show();
|
||||
this.speedLimitName && this.speedLimitName.show(speedUpLimit);
|
||||
}
|
||||
} else {
|
||||
} else if (this.style.Section.speedLimitName.nameAlone && this.model.type == '03') { // 南京2,道岔区段只显示一个名称
|
||||
const switchModel = Vue.prototype.$jlmap.mapDevice[this.model.relSwitchCode];
|
||||
if (switchModel && switchModel.sectionACode == this._code) {
|
||||
this.speedLimit && this.speedLimit.show();
|
||||
this.speedLimitName && this.speedLimitName.show(speedUpLimit);
|
||||
}
|
||||
} else if (this.style.Section.cross && this.model.type == '04') {
|
||||
this.line.setCrossSpeedUpperLimit(speedUpLimit);
|
||||
} else {
|
||||
this.speedLimit && this.speedLimit.show();
|
||||
this.speedLimitName && this.speedLimitName.show(speedUpLimit);
|
||||
}
|
||||
|
@ -624,7 +624,6 @@ export default {
|
||||
}
|
||||
|
||||
if (model.parentCode == copySection.code) { // 物理区段
|
||||
debugger;
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user