调整宁波线显示数据,哈尔滨道岔逻辑判断显示

This commit is contained in:
zyy 2020-03-02 16:16:17 +08:00
parent e7a247ab4d
commit 79820a9725
8 changed files with 65 additions and 59 deletions

View File

@ -91,7 +91,7 @@ class SkinCode extends defaultStyle {
beyondWidth: 0, // 区段宽超出宽度
invadeColor: '#FFFFFF', // 区段侵入颜色
spareColor: '#5578B6', // 区段空闲颜色
communicationOccupiedColor: 'lightpink', // 区段通信车占用颜色
communicationOccupiedColor: 'red', // 区段通信车占用颜色 // 调整 未确定
unCommunicationOccupiedColor: 'red', // 区段非通讯车占用颜色
routeLockColor: 'rgba(0, 255, 0, 1)', // 区段路由锁定颜色
faultLockColor: 'white', // 区段故障锁定颜色
@ -101,7 +101,7 @@ class SkinCode extends defaultStyle {
atcExcisionColor: '#A0522D', // 区段atc切除颜色
atsExcisionColor: '#A0522D', // 区段ats切除颜色
timeReleaseColor: '#3F3F3F', // 区段延时释放颜色
protectiveLockColor: '#92D14F', // 区段保护锁闭
protectiveLockColor: '#a2d36f', // 区段保护锁闭 延续保护
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
logicalTextColor: 'white' // 逻辑区段名称颜色 (未用)
@ -134,12 +134,12 @@ class SkinCode extends defaultStyle {
color: 'white' // 区段边界符颜色
},
block: {
special: false, // 区段特殊显示
special: false // 区段特殊显示
}
};
this[deviceType.Signal] = {
distance: 3, // 设备距离区段的距离
distance: 8, // 设备距离区段的距离
post: {
standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度
@ -162,7 +162,7 @@ class SkinCode extends defaultStyle {
stopWidth: 2, // 禁止线宽度
borderWidth: 2, // 信号灯边框线宽度
borderColor: '#3149C3', // 信号灯边框线颜色
radiusR: 3, // 信号灯半径
radiusR: 5, // 信号灯半径
blockColor: '#EF0C08', // 信号灯锁闭
grayColor: '#C0C0C0', // 信号灯灰色
redColor: 'red', // 信号灯红色
@ -173,13 +173,13 @@ class SkinCode extends defaultStyle {
},
route: {
direction: true, // 自动通过方向
offset: { x: 4, y: 0}, // 自动通过偏移量
offset: { x: 4, y: 0 }, // 自动通过偏移量
routeColor: '#00FF00' // 自动进路
},
auto: {
signalFrontTriangle: true, // 信号灯前三角展示
direction: false, // 自动通过方向
offset: { x: -4, y: 0}, // 自动通过偏移量
offset: { x: -4, y: 0 }, // 自动通过偏移量
width: 5, // 自动宽度
manualControl: '#FFFF00', // 人工控制
autoRoute: '#00FF00', // 自动进路
@ -188,7 +188,7 @@ class SkinCode extends defaultStyle {
},
delay: {
direction: false, // 延时解锁方向
offset: { x: -5, y: 0}, // 延时解锁偏移量
offset: { x: -5, y: 0 }, // 延时解锁偏移量
fontSize: 11, // 延迟解锁字体大小
fontColor: '#C00808', // 延迟解锁颜色
fontWeight: 'bold' // 字体粗细
@ -222,19 +222,19 @@ class SkinCode extends defaultStyle {
},
standEmergent: { // 紧急关闭
mergentR: 4, // 站台紧急关闭半径
offset: {x: 0, y: 3}, // 站台紧急关闭偏移量
offset: { x: 0, y: 3 }, // 站台紧急关闭偏移量
closeColor: 'red' // 站台紧急关闭颜色
},
reentry: { // 站台折返策略
position: 0, // 折返方向
offset: {x: -16, y: 20}, // 折返偏移量
offset: { x: -16, y: 20 }, // 折返偏移量
noHumanColor: '#0F16DA', // 站台无人折返
autoChangeEndsColor: '#0BF400' // 站台自动换端
},
detainCar: { // 扣车
text: 'H', // 扣车显示内容
position: 1, // 扣车方向
offset: {x: -8, y: 0}, // 扣车偏移量
offset: { x: -8, y: 0 }, // 扣车偏移量
trainColor: 'yellow', // 车站扣车颜色
centerTrainColor: 'white', // 中心扣车颜色
andCenterTrainColor: 'red', // 车站+中心扣车颜色
@ -242,13 +242,13 @@ class SkinCode extends defaultStyle {
},
stopTime: { // 停站时间
position: 1, // 运行时间方向
offset: {x: -8, y: -4}, // 运行时间偏移量
offset: { x: -8, y: -4 }, // 运行时间偏移量
textColor: 'white' // 停站时间字体颜色
},
jump: {
text: '跳', // 停跳显示内容
position: -1, // 停跳方向
offset: {x: -8, y: 0},
offset: { x: -8, y: 0 },
textColor: '#0000FF', // 停跳文字颜色
arcColor: '#0000FF', // 停跳圆圈颜色
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
@ -256,7 +256,7 @@ class SkinCode extends defaultStyle {
},
level: { // 运行等级
position: -1, // 运行等级方向
offset: {x: -8, y: 4}, // 运行等级偏移量
offset: { x: -8, y: 4 }, // 运行等级偏移量
textColor: '#FFF000' // 停站等级字体颜色
}
};
@ -296,7 +296,7 @@ class SkinCode extends defaultStyle {
lamp: 1, // 灯数量
lampSpace: 60 // 灯间距
},
StationControl:{
StationControl: {
text: {
distance: 2, // 灯和文字之间的距离
fontSize: 12, // 字体大小
@ -308,14 +308,14 @@ class SkinCode extends defaultStyle {
centerControlButton: '站遥控按钮', // 中控文字内容
centerControlText: '遥控', // 中控文字内容
substationControlText: '站控', // 站控文字内容
emergencyControlText:'紧急站控', // 紧急站控文字内容
interconnectedControlText:'连锁控' // 连锁控文字内容
emergencyControlText: '紧急站控', // 紧急站控文字内容
interconnectedControlText: '连锁控' // 连锁控文字内容
// stationCenterControlText: '站中控', // 站中控文字内容
// generalAlarmControlText: '总报警' // 总报警文字内容
},
lamp: {
count: 4, // 控制模式的个数
offset: {x: 20, y: 0}, // 偏移量
offset: { x: 20, y: 0 }, // 偏移量
radiusR: 4, // 控制模式灯的半径
distance: 46, // 控制模式之间灯之间的距离
grayColor: '#C0C0C0', // 控制模式灰色
@ -338,7 +338,7 @@ class SkinCode extends defaultStyle {
text: {
show: true, // 道岔名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
offset: {x: 5, y: -10}, // 道岔名称与区段距离
offset: { x: 5, y: -10 }, // 道岔名称与区段距离
fontSize: 11, // 字体大小
fontColor: '#C0C0C0', // 道岔名称颜色
fontWeight: 'normal', // 字体粗细
@ -384,7 +384,7 @@ class SkinCode extends defaultStyle {
this[deviceType.ZcControl] = {
// 是否显示
visible:true,
visible: true,
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
@ -442,28 +442,28 @@ class SkinCode extends defaultStyle {
targetCodePrefix: '000', // 目的地码前缀
defaultTargetCode: 'DDD', // 默认目的地码
trainTargetTextAlign: 'left', // 目的地码文字显示位置
trainNumberOffset: { x: 24, y: 4}// 目的地码偏移量
trainNumberOffset: { x: 24, y: 4 }// 目的地码偏移量
},
trainServer: {
serviceNumberPrefix: '000', // 服务号(表号)前缀
defaultServiceNumber: 'TTT', // 默认服务号(表号)
defaultServerNoColor: '#FFFFFF', // 默认服务号状态显示颜色
trainServerOffset: { x: 4, y: 4} // 列车服务号偏移
trainServerOffset: { x: 4, y: 4 } // 列车服务号偏移
},
trainTarget: {
tripNumberPrefix: '000', // 车次号前缀
defaultTripNumber: 'DDD', // 默认车次号2
trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移
trainTargetOffset: { x: 36, y: 4 }, // 列车车次号偏移
trainTargetTextAlign: 'right' // 车次号文字显示位置
},
trainTargetNumber: {
trainTargetNumberOffset: {x: 0, y: 0}// 车组号偏移量
trainTargetNumberOffset: { x: 0, y: 0 }// 车组号偏移量
},
trainHead: {
trainMoreLength: 1, // 列车车头比车身高出的长度,上下相比车体伸出去的边框
trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量
trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量
trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量
trainHeadTriangleFirst: { x: 7, y: 1 }, // 列车车头三角坐标1偏移量
trainHeadTriangleSecond: { x: 13, y: 10 }, // 列车车头三角坐标2偏移量
trainHeadTriangleThird: { x: 7, y: 19 }, // 列车车头三角坐标3偏移量
trainConntWidth: 4, // 列车竖杠的宽度
trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
trainHeadRectHeight: 20 // 列车车头矩形高度
@ -488,14 +488,14 @@ class SkinCode extends defaultStyle {
defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色
destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色
destinationStatus: [
{status: '01', showColor: '#FFFFFF'},
{status: '02', showColor: '#00FF00'},
{status: '03', showColor: '#A0522D'},
{status: '04', showColor: '#FFFF00'}
{ status: '01', showColor: '#FFFFFF' },
{ status: '02', showColor: '#00FF00' },
{ status: '03', showColor: '#A0522D' },
{ status: '04', showColor: '#FFFF00' }
], // 目的地状态 01准点 02早点 03晚点 04头码车
serverNoType: [
{type: '01', showColor: '#FFFFFF'},
{type: '02', showColor: '#FFF000'}
{ type: '01', showColor: '#FFFFFF' },
{ type: '02', showColor: '#FFF000' }
], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车
directionType: [
{
@ -565,17 +565,17 @@ class SkinCode extends defaultStyle {
}
], // 设置运行控制状态类型 01正常 02扣车 03停跳
doorStatus: [
{status: true, dShow: false},
{status: false, dShow: true}
{ status: true, dShow: false },
{ status: false, dShow: true }
], // 设置车门状态类型 true车门关闭且锁闭
communicationStatus: [
{status: 'CBTC', trainColor: '#000099'},
{status: 'ITC', trainColor: '#C0C0C0'},
{status: 'IL', trainColor: '#C0C0C0'}
{ status: 'CBTC', trainColor: '#000099' },
{ status: 'ITC', trainColor: '#C0C0C0' },
{ status: 'IL', trainColor: '#C0C0C0' }
], // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
alarmStatus: [
{status: '01', aShow: false},
{status: '02', aShow: true}
{ status: '01', aShow: false },
{ status: '02', aShow: true }
] // 设置报警状态 01不报警 02报警
}
};

View File

@ -102,6 +102,10 @@ class Status {
this.statusObj = {
};
}
handleLine(device) {
this.statusObj = {
};
}
getStatus() {
return this.statusObj;
}

View File

@ -13,6 +13,7 @@ import JTriangle from '../../utils/JTriangle';
import router from '@/router';
import { drawSectionStyle } from '../../config/defaultStyle';
import store from '@/store';
import Vue from 'vue';
/** 区段*/
export default class Section extends Group {
@ -776,11 +777,14 @@ export default class Section extends Group {
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 })
const switchModel = Vue.prototype.$jlmap.mapDevice[model.relSwitchCode];
// const switchModel = store.getters['map/getDeviceByCode'](model.relSwitchCode);
if (switchModel.normalPosition != 0) { // 定位情况
const sectionC = Vue.prototype.$jlmap.mapDevice[switchModel.sectionCCode];
sectionC && sectionC.instance && sectionC.instance.section.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
} else if (switchModel.normalPosition == 0) { // 反位情况
const sectionB = Vue.prototype.$jlmap.mapDevice[switchModel.sectionBCode];
sectionB && sectionB.instance && sectionB.instance.section.setStyle({ stroke: this.style.Switch.sectionAction.spareColor });
}
}
/** 道岔保护区段锁闭 */

View File

@ -57,7 +57,7 @@ class ESigPost extends Group {
const model = this.model;
const style = this.model.style;
if (style.Signal.post.standardShow) {
type = '01'
type = '01';
}
const length = style.Signal.post.standardShow ? 4 : 0;
if (type === '01') {

View File

@ -100,12 +100,11 @@ class Signal extends Group {
textAlign: textAlign,
textVerticalAlign: textVerticalAlign
});
// signalBackTriangle
// 北京一号线,宁波一号线 自动进路状态
// const signalRouteH=;
// 自动进路
const sigRouteH = style.Signal.route.direction ? this.count * style.Signal.lamp.radiusR * 2 : -style.Signal.lamp.radiusR * 2;
const sigRouteX = endPoint.x + (style.Signal.route.offset.x + sigRouteH) * drict;
@ -499,9 +498,7 @@ class Signal extends Group {
// this.setAutoFlicker();
// }
/** 信号机封锁 */
if (model.blockade) {
this.block();
}
model.blockade && this.block();
/** 设置点灯类型*/
if (model.lightType) {
this.logicalLight(); // 设置逻辑点灯
@ -511,11 +508,11 @@ class Signal extends Group {
/** 进路交人工控或自动控 */
if (model.atsControl) {
this.sigRoute.hide();
} else {
if (this.style.Signal.auto.signalFrontTriangle){
this.sigRoute.show();
this.sigRoute.setStyle({fill: this.style.Signal.auto.manualControl});
}
} else { // 人工控显示黄色三角
if (this.style.Signal.auto.signalFrontTriangle) {
this.sigRoute.show();
this.sigRoute.setStyle({ fill: this.style.Signal.auto.manualControl });
}
}
/** 设置灯的颜色 */
if (model.greenOpen) {

View File

@ -14,6 +14,7 @@ import EHighlight from '../element/EHighlight';
import ERhomboid from './ERhomboid';
import ETriangle from './ETriangle';
import store from '@/store';
import Vue from 'vue';
export default class Switch extends Group {
constructor(model, style) {
@ -126,7 +127,7 @@ export default class Switch extends Group {
let spointLength1 = 8;
const Tspoint1 = [model.intersection.x + directx * width3 + directx * (width2 + width1) - directx * width3, model.intersection.y + directy * switchWidth1];
if (this.style.Switch.block.rhomboidShow) {
spointLength1 = 16
spointLength1 = 16;
}
const Tspoint2 = [Tspoint1[0] - directx * spointLength1, Tspoint1[1]];
const Tspoint3 = [Tspoint1[0] - directx * spointLength1, model.intersection.y - directy * switchWidth1];

View File

@ -25,7 +25,7 @@ function handle(state, data) {
break;
case 'Simulation_RunFact': // 仿真-列车实际到发车站消息
let runFactMsg = msg;
console.log(msg, '----------------');
// console.log(msg, '----------------');
if (runFactMsg.constructor !== Array ) {
runFactMsg = [msg];
}

View File

@ -22,7 +22,7 @@ export function creatSubscribe(topic, header) {
function callback(Response) {
if (store) {
var data = JSON.parse(Response.body);
console.log(data);
// console.log(data);
store.dispatch('socket/setStomp', data);
} else {
callback(Response);