西安二号线 绘图 站台添加模式筛选标识
This commit is contained in:
parent
a190aedb62
commit
7d5605d170
@ -253,6 +253,10 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor:'#808080', // 西安二号线特殊样式(默认颜色)
|
||||
special:true // 西安二号线特殊样式
|
||||
},
|
||||
patternFilter:{ // 模式筛选标识
|
||||
defaultColor:'#808080', // 默认颜色,
|
||||
offset:{x:25, y:15} // 相对于站台边缘的偏移
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
|
57
src/jmapNew/shape/StationStand/EPatternFilter.js
Normal file
57
src/jmapNew/shape/StationStand/EPatternFilter.js
Normal file
@ -0,0 +1,57 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Polygon from 'zrender/src/graphic/shape/Polygon';
|
||||
|
||||
class EPatternFilter extends Group {
|
||||
constructor(model) {
|
||||
super();
|
||||
this.model = model;
|
||||
this.create();
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const style = this.model.style;
|
||||
const startX = (model.width / 2 + style.StationStand.patternFilter.offset.x);
|
||||
const startY = model.y + (model.height / 2 + style.StationStand.patternFilter.offset.y) * model.direction + (1 + model.direction) / 2 * 14;
|
||||
this.patternFilter1 = new Polygon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
shape: {
|
||||
points:[
|
||||
[model.x - startX, startY],
|
||||
[model.x - startX, startY - 14],
|
||||
[model.x - startX - 14, startY - 14],
|
||||
[model.x - startX - 14 - 10 * 0.866, startY - 7],
|
||||
[model.x - startX - 14, startY]
|
||||
]
|
||||
},
|
||||
style: {
|
||||
fill: style.StationStand.patternFilter.defaultColor
|
||||
}
|
||||
});
|
||||
this.patternFilter2 = new Polygon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
shape: {
|
||||
points:[
|
||||
[model.x + startX, startY],
|
||||
[model.x + startX, startY - 14],
|
||||
[model.x + startX + 14, startY - 14],
|
||||
[model.x + startX + 14 + 10 * 0.866, startY - 7],
|
||||
[model.x + startX + 14, startY]
|
||||
]
|
||||
},
|
||||
style: {
|
||||
fill: style.StationStand.patternFilter.defaultColor
|
||||
}
|
||||
});
|
||||
this.add(this.patternFilter1);
|
||||
this.add(this.patternFilter2);
|
||||
}
|
||||
|
||||
setColor(color) {
|
||||
this.patternFilter1.setStyle('fill', color);
|
||||
}
|
||||
}
|
||||
|
||||
export default EPatternFilter;
|
@ -13,6 +13,7 @@ import ETrainStop from './ETrainStop';
|
||||
import ETrainDepart from './ETrainDepart';
|
||||
import EControl from '../element/EControl';
|
||||
import EDetainCircle from './EDetainCircle';
|
||||
import EPatternFilter from './EPatternFilter';
|
||||
import {isShowThePrdType} from '../../utils/handlePath';
|
||||
|
||||
class StationStand extends Group {
|
||||
@ -60,6 +61,22 @@ class StationStand extends Group {
|
||||
});
|
||||
this.add(this.safeStand);
|
||||
|
||||
// 模式筛选标识(西安二号线特殊的情况)
|
||||
if (style.StationStand.patternFilter) {
|
||||
const direction = model.right ? 1 : -1;
|
||||
this.patternFilter = new EPatternFilter({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
x: model.position.x,
|
||||
y: model.position.y,
|
||||
width: model.width,
|
||||
height:model.height,
|
||||
direction:direction
|
||||
});
|
||||
this.add(this.patternFilter);
|
||||
}
|
||||
|
||||
/** 站台紧急关闭*/
|
||||
const emergentOffset = model.inside ? style.StationStand.standEmergent.insideOffset : style.StationStand.standEmergent.outsideOffset;
|
||||
const emergentH = model.right ? 1 : -1;
|
||||
|
@ -64,7 +64,8 @@ export default {
|
||||
row: null,
|
||||
operation: '',
|
||||
stationLists: [],
|
||||
disabledAll: false
|
||||
disabledAll: false,
|
||||
checked2: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
|
@ -24,10 +24,10 @@
|
||||
</el-row>
|
||||
<el-row style="margin: 12px 0;">
|
||||
<el-col :span="11">
|
||||
<el-radio :id="upRadioId" v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'">设置</el-radio>
|
||||
<el-radio v-model="passRadio" label="1" style="display: block; padding-left: 10px; margin-bottom: 10px;" :disabled="passRadio == '2'">设置</el-radio>
|
||||
</el-col>
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-radio :id="upRadioId" v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'">取消</el-radio>
|
||||
<el-radio v-model="passRadio" label="2" style="display: block; padding-left: 10px;" :disabled="passRadio == '1'">取消</el-radio>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row justify="center" class="button-group">
|
||||
|
Loading…
Reference in New Issue
Block a user