西安二号线绘图 站台 扣车 代码调整
This commit is contained in:
parent
795ad48e32
commit
211db36aca
@ -254,12 +254,14 @@ class SkinCode extends defaultStyle {
|
|||||||
detainCar: { // 扣车
|
detainCar: { // 扣车
|
||||||
position: -1, // 扣车标识在站台上显示方向
|
position: -1, // 扣车标识在站台上显示方向
|
||||||
text: 'H', // 扣车显示内容
|
text: 'H', // 扣车显示内容
|
||||||
offset: {x: -8, y: 13}, // 扣车偏移量
|
offset: {x: 8, y: 0}, // 扣车偏移量
|
||||||
centerTrainColor: 'white', // 中心扣车颜色
|
centerTrainColor: 'white', // 中心扣车颜色
|
||||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
||||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||||
fontSize: 10,
|
fontSize: 10,
|
||||||
fontWeight: 'normal'
|
fontWeight: 'normal',
|
||||||
|
circleWidth:14, // 西安二号线特殊样式 圆圈的宽度
|
||||||
|
special:true // 西安二号线特殊样式
|
||||||
},
|
},
|
||||||
stopTime: { // 停站时间
|
stopTime: { // 停站时间
|
||||||
position: 1, // 停站时间方向
|
position: 1, // 停站时间方向
|
||||||
|
@ -294,7 +294,7 @@ class Jlmap {
|
|||||||
}
|
}
|
||||||
showStationHandlePsd(oDevice, stationCode) {
|
showStationHandlePsd(oDevice, stationCode) {
|
||||||
const standDevice = this.mapDevice[oDevice.standCode];
|
const standDevice = this.mapDevice[oDevice.standCode];
|
||||||
if (standDevice.deviceStationCode === stationCode || !stationCode) {
|
if (standDevice && standDevice.deviceStationCode === stationCode || !stationCode) {
|
||||||
this.$painter.updateSpecialShowStation(oDevice, true);
|
this.$painter.updateSpecialShowStation(oDevice, true);
|
||||||
} else {
|
} else {
|
||||||
this.$painter.updateSpecialShowStation(oDevice, false);
|
this.$painter.updateSpecialShowStation(oDevice, false);
|
||||||
|
67
src/jmapNew/shape/StationStand/EDetainCircle.js
Normal file
67
src/jmapNew/shape/StationStand/EDetainCircle.js
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
import Group from 'zrender/src/container/Group';
|
||||||
|
import Circle from 'zrender/src/graphic/shape/Circle';
|
||||||
|
import Line from 'zrender/src/graphic/shape/Line';
|
||||||
|
|
||||||
|
class EDetainCircle extends Group {
|
||||||
|
constructor(model) {
|
||||||
|
super();
|
||||||
|
this.model = model;
|
||||||
|
this.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
create() {
|
||||||
|
const model = this.model;
|
||||||
|
const style = this.model.style;
|
||||||
|
this.detainCircle = new Circle({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape: {
|
||||||
|
cx: model.x,
|
||||||
|
cy: model.y,
|
||||||
|
r: model.radius
|
||||||
|
},
|
||||||
|
style:{
|
||||||
|
lineWidth:2,
|
||||||
|
stroke:style.sidelineColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.line1 = new Line({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape:{
|
||||||
|
x1:model.x - model.radius * 0.7,
|
||||||
|
y1:model.y - model.radius * 0.7,
|
||||||
|
x2:model.x + model.radius * 0.7,
|
||||||
|
y2:model.y + model.radius * 0.7
|
||||||
|
},
|
||||||
|
style:{
|
||||||
|
lineWidth:2,
|
||||||
|
stroke:style.sidelineColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.line2 = new Line({
|
||||||
|
zlevel: model.zlevel,
|
||||||
|
z: model.z,
|
||||||
|
shape:{
|
||||||
|
x1:model.x - model.radius * 0.7,
|
||||||
|
y1:model.y + model.radius * 0.7,
|
||||||
|
x2:model.x + model.radius * 0.7,
|
||||||
|
y2:model.y - model.radius * 0.7
|
||||||
|
},
|
||||||
|
style:{
|
||||||
|
lineWidth:2,
|
||||||
|
stroke:style.sidelineColor
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.add(this.detainCircle);
|
||||||
|
this.add(this.line1);
|
||||||
|
this.add(this.line2);
|
||||||
|
}
|
||||||
|
|
||||||
|
setColor(color) {
|
||||||
|
this.detainCircle.setStyle('stroke', color);
|
||||||
|
this.line1.setStyle('stroke', color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default EDetainCircle;
|
@ -12,6 +12,7 @@ import EHighlight from '../element/EHighlight';
|
|||||||
import ETrainStop from './ETrainStop';
|
import ETrainStop from './ETrainStop';
|
||||||
import ETrainDepart from './ETrainDepart';
|
import ETrainDepart from './ETrainDepart';
|
||||||
import EControl from '../element/EControl';
|
import EControl from '../element/EControl';
|
||||||
|
import EDetainCircle from './EDetainCircle';
|
||||||
import {isShowThePrdType} from '../../utils/handlePath';
|
import {isShowThePrdType} from '../../utils/handlePath';
|
||||||
|
|
||||||
class StationStand extends Group {
|
class StationStand extends Group {
|
||||||
@ -131,21 +132,34 @@ class StationStand extends Group {
|
|||||||
this.add(this.reentry);
|
this.add(this.reentry);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 站台扣车*/
|
if (style.StationStand.detainCar.special) {
|
||||||
const detainD = model.right ? 1 : -1;
|
const detainD = model.right ? 1 : -1;
|
||||||
const detainX = model.position.x - style.StationStand.detainCar.position * detainD * (style.StationStand.detainCar.offset.x - model.width / 2);
|
this.detainCircle = new EDetainCircle({
|
||||||
const detainY = model.position.y + detainD * (style.StationStand.detainCar.offset.y - model.height / 2);
|
zlevel: this.zlevel,
|
||||||
this.detain = new EDetain({
|
z: this.z,
|
||||||
zlevel: this.zlevel,
|
style: style,
|
||||||
z: this.z,
|
x: model.position.x + (model.width / 2) * detainD + detainD * style.StationStand.detainCar.offset.x + detainD * style.StationStand.detainCar.circleWidth / 2,
|
||||||
style: style,
|
y: model.position.y,
|
||||||
x: detainX,
|
radius:style.StationStand.detainCar.circleWidth / 2
|
||||||
y: detainY,
|
});
|
||||||
width: model.width,
|
this.add(this.detainCircle);
|
||||||
inside: model.inside,
|
} else {
|
||||||
right: model.right
|
/** 站台扣车*/
|
||||||
});
|
const detainD = model.right ? 1 : -1;
|
||||||
this.add(this.detain);
|
const detainX = model.position.x - style.StationStand.detainCar.position * detainD * (style.StationStand.detainCar.offset.x - model.width / 2);
|
||||||
|
const detainY = model.position.y + detainD * (style.StationStand.detainCar.offset.y - model.height / 2);
|
||||||
|
this.detain = new EDetain({
|
||||||
|
zlevel: this.zlevel,
|
||||||
|
z: this.z,
|
||||||
|
style: style,
|
||||||
|
x: detainX,
|
||||||
|
y: detainY,
|
||||||
|
width: model.width,
|
||||||
|
inside: model.inside,
|
||||||
|
right: model.right
|
||||||
|
});
|
||||||
|
this.add(this.detain);
|
||||||
|
}
|
||||||
|
|
||||||
/** 停站时间*/
|
/** 停站时间*/
|
||||||
if (style.StationStand.stopTime.offset) {
|
if (style.StationStand.stopTime.offset) {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<progress-bar ref="progressBar" />
|
<progress-bar ref="progressBar" />
|
||||||
<zoom-box v-if="!isScreen" :scale-rate="dataZoom.scaleRate" @setShrink="setShrink" @setMagnify="setMagnify" />
|
<zoom-box v-if="!isScreen" :scale-rate="dataZoom.scaleRate" @setShrink="setShrink" @setMagnify="setMagnify" />
|
||||||
<show-mode v-if="isDesign" :local-station-show="localStationShow" @setShowMode="setShowMode" />
|
<show-mode v-if="isDesign" :local-station-show="localStationShow" @setShowMode="setShowMode" />
|
||||||
<switch-station v-show="isDesign && (showMode === '03') && localStationShow" ref="switchStation" :concentration-station-list="concentrationStationList" @setShowStation="setShowStation" />
|
<switch-station v-if="isDesign && (showMode === '03') && localStationShow" ref="switchStation" :concentration-station-list="concentrationStationList" @setShowStation="setShowStation" />
|
||||||
<div v-if="show" class="zoom-view" :style="{ width: width +'px'}">
|
<div v-if="show" class="zoom-view" :style="{ width: width +'px'}">
|
||||||
<el-form :model="dataZoom" label-width="80px" size="mini" inline>
|
<el-form :model="dataZoom" label-width="80px" size="mini" inline>
|
||||||
<el-form-item :label="$t(`global.offset`)">
|
<el-form-item :label="$t(`global.offset`)">
|
||||||
|
Loading…
Reference in New Issue
Block a user