调整哈尔滨道岔显示问题
This commit is contained in:
parent
ff640adf39
commit
446593fded
@ -98,6 +98,10 @@ class Status {
|
|||||||
this.statusObj = {
|
this.statusObj = {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
handleTrainWindow(device) {
|
||||||
|
this.statusObj = {
|
||||||
|
};
|
||||||
|
}
|
||||||
getStatus() {
|
getStatus() {
|
||||||
return this.statusObj;
|
return this.statusObj;
|
||||||
}
|
}
|
||||||
|
@ -240,8 +240,17 @@ class Jlmap {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
setUpdateMapDevice(list) {
|
||||||
|
store.dispatch('map/updateMapDevice', list);
|
||||||
|
(list || []).forEach(elem => {
|
||||||
|
const code = elem.code;
|
||||||
|
const type = elem._type;
|
||||||
|
const oDevice = this.mapDevice[code] || deviceFactory(type, elem);
|
||||||
|
this.hookHandle(oDevice, elem)
|
||||||
|
});
|
||||||
|
}
|
||||||
update(list) {
|
update(list) {
|
||||||
|
this.setUpdateMapDevice(list || []); // 增加一个 前数据 处理 为了在区段中 获取全部的 道岔信息
|
||||||
(list || []).forEach(elem => {
|
(list || []).forEach(elem => {
|
||||||
const code = elem.code;
|
const code = elem.code;
|
||||||
const type = elem._type;
|
const type = elem._type;
|
||||||
@ -258,9 +267,9 @@ class Jlmap {
|
|||||||
if (elem.dispose) {
|
if (elem.dispose) {
|
||||||
this.$painter.delete(oDevice);
|
this.$painter.delete(oDevice);
|
||||||
} else {
|
} else {
|
||||||
if (this.hookHandle(oDevice, elem)) {
|
// if (this.hookHandle(oDevice, elem)) {
|
||||||
this.$painter.update(oDevice);
|
this.$painter.update(oDevice);
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import { EBackArrow, EBackArrowTriangle } from './EBackArrow'; // 折返进路
|
|||||||
import ELimitName from './ELimitName'; // 成都三号线 限速名称
|
import ELimitName from './ELimitName'; // 成都三号线 限速名称
|
||||||
import JTriangle from '../../utils/JTriangle';
|
import JTriangle from '../../utils/JTriangle';
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
import {drawSectionStyle} from '../../config/defaultStyle';
|
import { drawSectionStyle } from '../../config/defaultStyle';
|
||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
|
|
||||||
/** 区段*/
|
/** 区段*/
|
||||||
@ -38,8 +38,8 @@ export default class Section extends Group {
|
|||||||
this.createSectionText(); // 创建区段文字
|
this.createSectionText(); // 创建区段文字
|
||||||
if ((model.type === '01' || model.type === '03') && (
|
if ((model.type === '01' || model.type === '03') && (
|
||||||
model.logicSectionNum.length <= 0 ||
|
model.logicSectionNum.length <= 0 ||
|
||||||
model.logicSectionNum.length == 1 && model.logicSectionNum[0] == 0) ||
|
model.logicSectionNum.length == 1 && model.logicSectionNum[0] == 0) ||
|
||||||
model.type === '02' ) {
|
model.type === '02') {
|
||||||
this.createSection(); // 创建区段
|
this.createSection(); // 创建区段
|
||||||
this.creatRelease(); // 创建延时释放
|
this.creatRelease(); // 创建延时释放
|
||||||
this.createSeparator(); // 创建分隔符
|
this.createSeparator(); // 创建分隔符
|
||||||
@ -315,7 +315,7 @@ export default class Section extends Group {
|
|||||||
this.add(this.name);
|
this.add(this.name);
|
||||||
}
|
}
|
||||||
} else if (model.type == '04') {
|
} else if (model.type == '04') {
|
||||||
if (router.currentRoute.path.startsWith('/design/usermap/map/draw') && router.currentRoute.path.endsWith('/draft') ) {
|
if (router.currentRoute.path.startsWith('/design/usermap/map/draw') && router.currentRoute.path.endsWith('/draft')) {
|
||||||
this.name = new ETextName({
|
this.name = new ETextName({
|
||||||
zlevel: this.zlevel,
|
zlevel: this.zlevel,
|
||||||
z: this.z + 2,
|
z: this.z + 2,
|
||||||
@ -774,6 +774,15 @@ export default class Section extends Group {
|
|||||||
/** 设置状态*/
|
/** 设置状态*/
|
||||||
setState(model) {
|
setState(model) {
|
||||||
this.recover();
|
this.recover();
|
||||||
|
// 实际上就是 状态重置 必须在设置其他状态之前 设置颜色之类的
|
||||||
|
if (this.style.Switch.sectionAction.flag && model.relSwitchCode) {
|
||||||
|
const switchModel = store.getters['map/getDeviceByCode'](model.relSwitchCode);
|
||||||
|
if (switchModel.normalPosition && switchModel.sectionCCode == model.code) {
|
||||||
|
this.section.setStyle({ stroke: this.style.Switch.sectionAction.spareColor })
|
||||||
|
} else if (switchModel.reversePosition && switchModel.sectionBCode == model.code) {
|
||||||
|
this.section.setStyle({ stroke: this.style.Switch.sectionAction.spareColor })
|
||||||
|
}
|
||||||
|
}
|
||||||
/** 道岔保护区段锁闭 */
|
/** 道岔保护区段锁闭 */
|
||||||
model.overlapLock && this.protectiveLock();
|
model.overlapLock && this.protectiveLock();
|
||||||
/** 空闲锁闭或者叫进路锁闭 */
|
/** 空闲锁闭或者叫进路锁闭 */
|
||||||
@ -786,24 +795,16 @@ export default class Section extends Group {
|
|||||||
/** CBTC车占用 */
|
/** CBTC车占用 */
|
||||||
model.ctOccupied && this.communicationOccupied();
|
model.ctOccupied && this.communicationOccupied();
|
||||||
/** 区段切除*/
|
/** 区段切除*/
|
||||||
model.cutOff && this.sectionCutOff();
|
model.cutOff && this.sectionCutOff();
|
||||||
/** 是否限速*/
|
/** 是否限速*/
|
||||||
model.speedUpLimit && this.setSpeedUpperLimit();
|
model.speedUpLimit && this.setSpeedUpperLimit();
|
||||||
/** 道岔区段更新岔心颜色 */
|
/** 道岔区段更新岔心颜色 */
|
||||||
if (model.type === '03' && model.switch) {
|
if (model.type === '03' && model.switch) {
|
||||||
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.style.Switch.sectionAction.flag && model.relSwitchCode) {
|
|
||||||
const switchCode = store.getters['map/getDeviceByCode'](model.relSwitchCode);
|
|
||||||
if (switchCode.normalPosition && switchCode.sectionCCode == model.code) {
|
|
||||||
this.section.setStyle({stroke: this.style.Switch.sectionAction.spareColor })
|
|
||||||
} else if (switchCode.reversePosition && switchCode.sectionBCode == model.code){
|
|
||||||
this.section.setStyle({stroke: this.style.Switch.sectionAction.spareColor })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 计算提示位置*/
|
/** 计算提示位置*/
|
||||||
@ -835,9 +836,9 @@ export default class Section extends Group {
|
|||||||
drawSelected(selected) {
|
drawSelected(selected) {
|
||||||
this.selected = selected;
|
this.selected = selected;
|
||||||
if (selected) {
|
if (selected) {
|
||||||
!this.selectedType && this.section && this.section.setStyle({stroke: '#fbfbfb'});
|
!this.selectedType && this.section && this.section.setStyle({ stroke: '#fbfbfb' });
|
||||||
} else {
|
} else {
|
||||||
!this.selectedType && this.section && this.section.setStyle({stroke: this.style.Section.line.spareColor });
|
!this.selectedType && this.section && this.section.setStyle({ stroke: this.style.Section.line.spareColor });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
drawBatchSelected(selected, type) {
|
drawBatchSelected(selected, type) {
|
||||||
@ -845,9 +846,9 @@ export default class Section extends Group {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (selected && !this.selectedType) {
|
if (selected && !this.selectedType) {
|
||||||
this.section && this.section.setStyle({stroke: drawSectionStyle[type]});
|
this.section && this.section.setStyle({ stroke: drawSectionStyle[type] });
|
||||||
} else {
|
} else {
|
||||||
this.section && this.section.setStyle({stroke: this.style.Section.line.spareColor });
|
this.section && this.section.setStyle({ stroke: this.style.Section.line.spareColor });
|
||||||
}
|
}
|
||||||
this.selectedType = type;
|
this.selectedType = type;
|
||||||
}
|
}
|
||||||
@ -855,8 +856,8 @@ export default class Section extends Group {
|
|||||||
checkIsDrawMap() {
|
checkIsDrawMap() {
|
||||||
const path = window.location.href;
|
const path = window.location.href;
|
||||||
if (path.includes('/map/draw')) {
|
if (path.includes('/map/draw')) {
|
||||||
this.on('mouseout', () => { !this.selectedType && !this.selected && this.section && this.section.setStyle({stroke: this.style.Section.line.spareColor }); });
|
this.on('mouseout', () => { !this.selectedType && !this.selected && this.section && this.section.setStyle({ stroke: this.style.Section.line.spareColor }); });
|
||||||
this.on('mouseover', () => { !this.selectedType && this.section && this.section.setStyle({stroke: '#fbfbfb'}); });
|
this.on('mouseover', () => { !this.selectedType && this.section && this.section.setStyle({ stroke: '#fbfbfb' }); });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -865,7 +866,7 @@ export default class Section extends Group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
mouseover() {
|
mouseover() {
|
||||||
this.section && this.section.setStyle({stroke: 'rgba(255,255,255,0.8)'});
|
this.section && this.section.setStyle({ stroke: 'rgba(255,255,255,0.8)' });
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -498,6 +498,11 @@ const map = {
|
|||||||
state.mapDevice = {};
|
state.mapDevice = {};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
updateMapDevice: (state, list) => {
|
||||||
|
list.forEach(elem => {
|
||||||
|
state.mapDevice[elem.code] = deepAssign(state.mapDevice[elem.code] || {}, elem);
|
||||||
|
})
|
||||||
|
},
|
||||||
setMapConfig: (state, config) => {
|
setMapConfig: (state, config) => {
|
||||||
state.mapConfig = config;
|
state.mapConfig = config;
|
||||||
},
|
},
|
||||||
@ -624,6 +629,9 @@ const map = {
|
|||||||
setMapData: ({ commit }, map) => { // 设置地图数据
|
setMapData: ({ commit }, map) => { // 设置地图数据
|
||||||
commit('setMapData', map);
|
commit('setMapData', map);
|
||||||
},
|
},
|
||||||
|
updateMapDevice: ({ commit }, list) => {
|
||||||
|
commit('updateMapDevice', list);
|
||||||
|
},
|
||||||
setMapConfig: ({ commit }, config) => { // 设置地图所属线路
|
setMapConfig: ({ commit }, config) => { // 设置地图所属线路
|
||||||
commit('setMapConfig', config);
|
commit('setMapConfig', config);
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user