调整南京二号线岔区设限显示
This commit is contained in:
parent
de1d8bb0db
commit
f92e017f1b
@ -128,7 +128,7 @@ class SkinCode extends defaultStyle {
|
|||||||
nameBackgroundBorderColor: '#C00808', // 限速值背景边框颜色
|
nameBackgroundBorderColor: '#C00808', // 限速值背景边框颜色
|
||||||
limitValueDistance: 18,
|
limitValueDistance: 18,
|
||||||
kilometerFontSize: 0, // 公里标大小
|
kilometerFontSize: 0, // 公里标大小
|
||||||
nameAlone: true, // 只显示一个限速名称
|
switchSectionNoShow: true, // 道岔区段不展示限速
|
||||||
nameNumberFontSize: 11, // 限速值大小
|
nameNumberFontSize: 11, // 限速值大小
|
||||||
nameNumberColor: '#C00808', // 限速值颜色
|
nameNumberColor: '#C00808', // 限速值颜色
|
||||||
nameBackground: 'rgba(0,0,0,0)', // 限速名称背景颜色
|
nameBackground: 'rgba(0,0,0,0)', // 限速名称背景颜色
|
||||||
@ -603,6 +603,10 @@ class SkinCode extends defaultStyle {
|
|||||||
show: true, // 显示
|
show: true, // 显示
|
||||||
coverBlockColor: '#0010FF', // 遮挡物颜色
|
coverBlockColor: '#0010FF', // 遮挡物颜色
|
||||||
preResetColor: '#FFBEC9' // 区段计轴预复位
|
preResetColor: '#FFBEC9' // 区段计轴预复位
|
||||||
|
},
|
||||||
|
limitNameText: { // 道岔限速值
|
||||||
|
fillColor: '#C00808', // 填充颜色
|
||||||
|
fontSize: 11 // 字体大小
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -270,14 +270,11 @@ export default class Section extends Group {
|
|||||||
|
|
||||||
/** 设置限速*/
|
/** 设置限速*/
|
||||||
setSpeedUpperLimit(speedUpLimit) {
|
setSpeedUpperLimit(speedUpLimit) {
|
||||||
if (this.style.Section.line.speedLimitColor) { // 宁波三号线 独有
|
if (this.style.Section.speedLimitName && this.style.Section.speedLimitName.switchSectionNoShow && this.model.type == '03') {
|
||||||
|
// 南京二号线 岔区设限 在道岔下显示
|
||||||
|
return;
|
||||||
|
} else if (this.style.Section.line.speedLimitColor) { // 宁波三号线 独有
|
||||||
this.line.setStyle({stroke: this.style.Section.line.speedLimitColor});
|
this.line.setStyle({stroke: this.style.Section.line.speedLimitColor});
|
||||||
} else if (this.style.Section.speedLimitName && 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 == '05') {
|
} else if (this.style.Section.cross && this.model.type == '05') {
|
||||||
this.line.setCrossSpeedUpperLimit(speedUpLimit);
|
this.line.setCrossSpeedUpperLimit(speedUpLimit);
|
||||||
} else {
|
} else {
|
||||||
@ -391,6 +388,7 @@ export default class Section extends Group {
|
|||||||
const sectionSwitch = store.getters['map/getDeviceByCode'](model.switch.code);
|
const sectionSwitch = store.getters['map/getDeviceByCode'](model.switch.code);
|
||||||
if (sectionSwitch && sectionSwitch.sectionACode === model.code) {
|
if (sectionSwitch && sectionSwitch.sectionACode === model.code) {
|
||||||
sectionSwitch.instance && sectionSwitch.instance.setState(sectionSwitch);
|
sectionSwitch.instance && sectionSwitch.instance.setState(sectionSwitch);
|
||||||
|
sectionSwitch.instance && sectionSwitch.instance.setLimitState(model.speedUpLimit > 0, model.speedUpLimit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
44
src/jmapNew/shape/Switch/ELimitName.js
Normal file
44
src/jmapNew/shape/Switch/ELimitName.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
import Group from 'zrender/src/container/Group';
|
||||||
|
import Text from 'zrender/src/graphic/Text';
|
||||||
|
|
||||||
|
class ESwName extends Group {
|
||||||
|
constructor(model) {
|
||||||
|
super();
|
||||||
|
this.model = model;
|
||||||
|
this.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
create() {
|
||||||
|
const model = this.model;
|
||||||
|
const style = this.model.style;
|
||||||
|
|
||||||
|
this.limitNameText = new Text({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z + 6,
|
||||||
|
style: {
|
||||||
|
x: model.nameTextX,
|
||||||
|
y: model.nameTextY,
|
||||||
|
fontWeight: style.Switch.text.fontWeight,
|
||||||
|
fontSize: model.fontSize,
|
||||||
|
fontFamily: style.fontFamily,
|
||||||
|
text: '0',
|
||||||
|
textAlign: 'center',
|
||||||
|
textVerticalAlign: 'middle',
|
||||||
|
textFill: model.fillColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.add(this.limitNameText);
|
||||||
|
this.limitNameText.hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
limitNameShow(text) {
|
||||||
|
this.limitNameText.show();
|
||||||
|
this.limitNameText.setStyle({ text: text });
|
||||||
|
}
|
||||||
|
limitNameHide() {
|
||||||
|
this.limitNameText.hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default ESwName;
|
@ -3,6 +3,7 @@ import Text from 'zrender/src/graphic/Text';
|
|||||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||||
import JTriangle from '../../utils/JTriangle';
|
import JTriangle from '../../utils/JTriangle';
|
||||||
import ESwName from './ESwName.js';
|
import ESwName from './ESwName.js';
|
||||||
|
import ELimitName from './ELimitName.js';
|
||||||
import ESwLocal from './ESwLocal.js';
|
import ESwLocal from './ESwLocal.js';
|
||||||
import ESwLnversion from './ESwLnversion';
|
import ESwLnversion from './ESwLnversion';
|
||||||
import ELockRect from './ELockRect';
|
import ELockRect from './ELockRect';
|
||||||
@ -167,6 +168,20 @@ export default class Switch extends Group {
|
|||||||
nameShow: style.Switch.text.show,
|
nameShow: style.Switch.text.show,
|
||||||
triangle: this.triangle
|
triangle: this.triangle
|
||||||
});
|
});
|
||||||
|
if (this.style.Switch.limitNameText) { // 道岔限速
|
||||||
|
const limitTextX = model.intersection.x + directx * (style.Section.line.width * 3 + style.Switch.text.offset.x) * this.triangle.getCotRate();
|
||||||
|
const limitTextY = model.intersection.y - style.Switch.text.offset.y * directy;
|
||||||
|
this.limitName = new ELimitName({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
style: style,
|
||||||
|
fillColor: style.Switch.limitNameText.fillColor,
|
||||||
|
fontSize: style.Switch.limitNameText.fontSize,
|
||||||
|
nameTextX: limitTextX,
|
||||||
|
nameTextY: limitTextY
|
||||||
|
});
|
||||||
|
this.add(this.limitName);
|
||||||
|
}
|
||||||
|
|
||||||
this.enabledName = new Text({ // 道岔使能 E 西安二号线独有
|
this.enabledName = new Text({ // 道岔使能 E 西安二号线独有
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
@ -636,7 +651,13 @@ export default class Switch extends Group {
|
|||||||
}
|
}
|
||||||
model.noStatus && this.setAshShow();
|
model.noStatus && this.setAshShow();
|
||||||
}
|
}
|
||||||
|
setLimitState(flag, limitValue) {
|
||||||
|
if (flag) {
|
||||||
|
this.limitName && this.limitName.limitNameShow(limitValue);
|
||||||
|
} else {
|
||||||
|
this.limitName && this.limitName.limitNameHide();
|
||||||
|
}
|
||||||
|
}
|
||||||
getBoundingRect() {
|
getBoundingRect() {
|
||||||
return this.name.getBoundingRect();
|
return this.name.getBoundingRect();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user