国赛皮肤调整

This commit is contained in:
fan 2020-10-22 13:40:56 +08:00
parent 883a6b88df
commit 7613a38be1
9 changed files with 876 additions and 19 deletions

View File

@ -2,6 +2,7 @@ const mapDeviceStyle = {
'01': 'chengdu_01', '01': 'chengdu_01',
'02': 'fuzhou_01', '02': 'fuzhou_01',
'03': 'bejing_01', '03': 'bejing_01',
// '03': 'race_01',
'04': 'chengdu_03', '04': 'chengdu_03',
'06': 'ningbo_01', '06': 'ningbo_01',
'07': 'haerbin_01', '07': 'haerbin_01',

View File

@ -300,6 +300,7 @@ class SkinCode extends defaultStyle {
}, },
arcBlcok: { // 圆形封锁图形 arcBlcok: { // 圆形封锁图形
show: true, // 显示 show: true, // 显示
shapeR: 5,
arcBorderColor: 'green', // 默认边框颜色 arcBorderColor: 'green', // 默认边框颜色
locationColor: 'green', // 定位封锁颜色 locationColor: 'green', // 定位封锁颜色
inversionColor: '#FFFF00' // 反位封锁颜色 inversionColor: '#FFFF00' // 反位封锁颜色

View File

@ -0,0 +1,776 @@
import defaultStyle from '../defaultStyle';
import deviceType from '../../constant/deviceType';
class SkinCode extends defaultStyle {
constructor() {
super();
this.fontFamily = '宋体';
this[deviceType.Section] = {
elemnetType:['name', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'destinationText', 'line', 'separator', 'speedLimit'],
active: {
routeColor: false // 进路触发颜色
},
name: { // 物理区段名称
z: 10,
position: -1, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 11, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
logicText: { // 逻辑区段名称
z: 10,
position: -1, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 11, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
standTrackText: { // 站台轨名称
z: 10,
position: 1, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 11, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
reentryTrackText: { // 折返轨名称
z: 10,
position: 1, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 11, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
transferTrackText: { // 转换轨名称
z: 10,
position: 1, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 11, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
fontColor: '#FFFFFF', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
destinationText: { // 目的码名称
z: 10,
position: 1, // 区段名称位置 1 上面 -1 下面 0 对称
distance: 11, // 文字离区段距离
fontSize: 11, // 字体大小
fontWeight: 'bold', // 字体粗细
fontColor: 'yellow', // 字体颜色
textAlign: 'center', // 水平对齐方式
textPosition: 'inside', // 文字位置
textVerticalAlign: 'middle' // 文字垂直对齐方式
},
mouseOverStyle: {
borderColor: '#fff',
borderBackgroundColor: '#22DFDF',
textShadowColor: '#22DFDF',
nameShow: true,
lineDash: [3, 3],
lineWidthMore: 2.5
},
line: {
z: 0,
width: 5, // 区段宽度
beyondWidth: 0, // 区段宽超出宽度
invadeColor: '#EF0C08', // 区段侵入颜色
spareColor: '#808080', // 区段空闲颜色
communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色
unCommunicationOccupiedColor: '#800080', // 区段非通讯车占用颜色
routeLockColor: '#FFFFFF', // 区段路由锁定颜色
faultLockColor: '#800080', // 区段故障锁定颜色
undefinedColor: '#0071C1', // 区段未定义颜色
protectionLockedColor: '#FEFF00', // 保护区段锁闭(未用)
blockColor: '#800080', // 区段封锁颜色
atcExcisionColor: '#A0522D', // 区段atc切除颜色
atsExcisionColor: '#A0522D', // 区段ats切除颜色
invalidColor: '#AC8F40', // 计轴故障颜色
timeReleaseColor: '#3F3F3F', // 区段延时释放颜色
protectiveLockColor: '#FFFF00', // 区段保护锁闭
protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
logicalTextColor: '#C0C0C0' // 逻辑区段名称颜色 (未用)
},
speedLimit: { // 限速元素
z: 2,
width: 1, // 限速线的宽度
distance: 5, // 限速线距离区段距离
lineColor: '#FFFF00', // 限速线颜色
nameShow: false // 名称显示
},
separator: {
z: 3, // 分割符层级
width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度
endColor: '#7F7F7F', // 尽头分隔符颜色
color: '#7F7F7F', // 区段边界符颜色
halfHeight: 5 // 区段分隔符高度的一半
},
trainPosition:{
display: false // 列车实时位置显示
}
};
this[deviceType.Signal] = {
distance: 0, // 设备距离区段的距离
xColor: '#C0C0C0', // 信号灯x颜色
post: {
standardLength: 6, // 高柱长度
standardHeight: 6, // 灯柱高度
standardColor: '#969696', // 灯灯柱颜色
standardWidth: 3 // 灯柱宽度
},
text: {
show: true, // 信号机名称显示
distance: 3, // 文字和灯杆的距离
isAlignCenter: false, // 信号字体对其方式
fontSize: 11, // 信号机名称字体大小
fontWeight: 'bold', // 信号机名称字体粗细
defaultColor: '#C0C0C0', // 信号灯字体默认色
blockColor: '#EF0C08', // 信号灯字体锁定颜色
checkColor: '#00FF00' // 信号字体
},
lamp: {
bgShow: false, // 是否被选中
guidName: 'defult', // 默认引导类型
stopWidth: 1, // 禁止线宽度
borderVariable: false, // 信号灯边框可变
borderWidth: 1, // 信号灯边框线宽度
borderColor: '#c0c0c0', // 信号灯边框线颜色
radiusR: 5, // 信号机宽度
blockColor: '#EF0C08', // 信号灯锁闭
grayColor: '#7F7F7F', // 信号灯灰色
redColor: '#FF0000', // 信号灯红色
greenColor: '#00FF00', // 信号灯绿色
yellowColor: '#FFFF00', // 信号灯黄色
whiteColor: '#FFFFFF', // 信号灯白色
blueColor: '#0070C0' // 信号灯蓝色
},
route: {
direction: false, // 自动进路方向
offset: { x: 1, y: -2 }, // 自动进路偏移量
routeColor: '#00FF00', // 自动进路
radiusR: 6
},
auto: {
signalFrontTriangle: true, // 信号灯前三角展示
direction: true, // 自动通过方向
offset: { x: -4, y: 0 }, // 自动通过偏移量
width: 5, // 自动宽度
autoRoute: '#00FF00', // 自动进路
autoTrigger: '#FFFF00', // 自动触发
manualControl: '#FFFF00', // 人工控制
outConflict: '#C00808' // 出车冲突
},
delay: {
direction: false, // 延时解锁方向
offset: { x: 0, y: -5 }, // 延时解锁偏移量
fontSize: 9, // 延迟解锁字体大小
fontColor: '#FF0000', // 延迟解锁颜色
fontWeight: 'bold' // 字体粗细
},
button: {
distance: 5, // 信号灯按钮距离区段的距离
borderDashColor: '#FFFFFF', // 信号灯按钮边线
buttonColor: 'darkgreen', // 信号灯按钮颜色
buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色
},
mouseOverStyle: {
borderLineColor: '#FFFFFF',
borderLineDash: [3, 3],
nameBackgroundColor: '#22DFDF',
lampBorderLineColor: '#22DFDF'
},
lowButton:{
display: true, // 现地 信号机按钮
strokeColor:'#ffffff',
fillColor:'#025e01',
fillActiveColor:'#ffff00'
}
};
this[deviceType.StationTurnBack] = { // 站后折返
displayCondition: '01', // 显示条件 01所有模式下显示 02 行调显示 03现地显示
lamp: {
fill: '#f1f1f1', // 填充色
radiusR: 7 // 控制灯大小
},
text: {
titleTextShow: true,
fontWeight: 580,
fontSize: 10,
distance: 10
},
rect: {
fill: 'rgba(0,0,0,0)',
stroke: '#fff',
lineWidth: 0,
padding: 6
}
};
this[deviceType.AutoTurnBack] = {
// 是否显示
visibleConditions: '03',
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
subtitleText: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 17 // 等于副标题距离
},
lamp: {
lineDash: null, // 灯的包围框
borderShow: false, // 是否显示边框
stroke: '#FFFFFF', // 框的颜色
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
lightUpColor: '#ffff00' // 点亮灯颜色
},
OutFrame: {
}
};
/** 引导总锁 */
this[deviceType.GuideLock] = {
// 是否显示
displayCondition: '03', // 显示条件 prdType
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
lightUpColor: '#FF0000' // 点亮灯颜色
}
};
// 供电线路
this[deviceType.Power] = {
lineColor: '#FFFFFF', // 线条颜色
strokeColor: 'red', // 线条颜色
extendLength: 10 // 延伸长度
};
// 延续保护计时
this[deviceType.OverAp] = {
show: false
};
// 屏蔽门
this[deviceType.Psd] = {
// 北京线屏蔽门
elemnetType:['safetyDoorNormal'],
safetyDoorNormal: { // 屏蔽门
z:0,
height: 1.6, // 站台屏蔽门高度
distance: 9, // 站台和屏蔽门之间的距离
defaultColor: '#00FF00', // 屏蔽门默认颜色
splitDoorColor: '#F61107' // 屏蔽门切除颜色
}
};
// 站台
this[deviceType.StationStand] = {
// 北京线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级
elemnetType:['solidStand', 'emergentRhombus', 'detainNormal', 'stopTime', 'level', 'jump'],
// 站台
solidStand:{
// 层级
z:0,
spareColor: '#FFF', // 站台空闲颜色
jumpStopColor: '#AB82FF', // 站台跳停颜色
designatedJumpStopColor: '#AB82FF', // 站台指定列车跳停颜色
headFontSize: 8, // 站台首端字体大小
stopColor: '#FEFE00' // 站台列车停站颜色
},
// 站台紧急关闭
emergentRhombus:{
z:1,
mergentR: 4, // 站台紧急关闭半径
mergentN: 4, // 站台紧急关闭边数
insideOffset: { x: 0, y: -40 }, // 内站台紧急关闭偏移量
outsideOffset: { x: 0, y: 20 }, // 外站台紧急关闭偏移量
closeColor: '#F61107' // 站台紧急关闭颜色
},
// 扣车元素 普通扣车
detainNormal:{
z:0,
position: -1, // 扣车标识在站台上显示方向
text: 'H', // 扣车显示内容
offset: { x: -8, y: 13 }, // 扣车偏移量
centerTrainColor: '#00FF00', // 中心扣车颜色
andCenterTrainColor: '#00FF00', // 车站+中心扣车颜色
detainTrainTextColor: '#00FF00', // 车站扣车文字颜色
fontSize: 25, // 字体大小
fontWeight: 'normal'
},
// 停站时间
stopTime:{
z:1,
textFontSize: 8, // 停站时间字体大小
textColor: '#FFFFFF', // 停站时间字体颜色
position: 1, // 停站时间方向
offset: { x: -8, y: 25 } // 停站时间偏移量
},
jump: {
z:1,
position: 1, // 停跳方向
text: 'S', // 停跳显示内容
offset: {x: -8, y: -8},
textColor: '#FA80F5', // 停跳文字颜色
arcColor: '#000000', // 停跳圆圈颜色
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
fontWeight: 'normal', // 文字居中
fontSize: 25 // 文字大小
},
// 运行等级
level:{
z:1,
textFontSize: 8, // 运行等级字体大小
position: 1, // 运行等级方向
offset: { x: -8, y: 10 }, // 运行等级偏移量
textColor: '#FFFFFF' // 停站等级字体颜色
},
// 鼠标事件样式
mouseOverStyle: {
borderLineColor: '#FFFFFF',
borderLineDash: [3, 3]
},
// reentry: {}, // 站台折返策略
common: { // 通用属性
textFontSize: 8, // 站台默认字体大小
functionButtonShow: '03' // 功能灯按钮显示条件01所有模式下显示 02 行调显示 03现地显示
},
lamp: {
radiusR: 6, // 控制灯大小
lampColor: '#5A5D5A' // 功能按钮颜色
},
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
}
// trainStop: {}, // 停车标志
// trainDepart: {}, // 停车计时
};
this[deviceType.StationCounter] = {
text: {
distance: 2, // 计数器名称和文字的距离
fontColor: '#FFFFFF', // 计数器字体颜色
borderColor: '#E4EF50' // 计数器边框颜色
}
};
this[deviceType.StationDelayUnlock] = {
text: {
distance: 3, // 延迟解锁和设备之间的距离
fontColor: '#FFFFFF', // 延时解锁字体颜色
borderColor: '#FFFFFF' // 延迟解锁边框颜色
}
};
this[deviceType.Station] = {
// text: {
// show: true // 公里标名称显示
// },
kmPostShow: true, // 公里标显示
kilometerPosition: 'down', // 公里标位置
fontWeight: 'bold', // 文字错细
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 控制灯大小
controlColor: '#FFFF00' // 控制灯颜色
},
turnBack: { // 按图折返
lamp: 1, // 灯数量
lampSpace: 60 // 灯间距
},
StationControl: {
text: {
distance: 2, // 灯和文字之间的距离
fontSize: 10, // 控制模式字体大小
fontFormat: 'consolas', // 控制模式字体格式
fontColor: '#ffffff', // 控制模式字体颜色
fontWeight: 'normal', // 控制模式字体粗细
textAlign: 'middle', // 控制模式水平对齐
textVerticalAlign: 'top' // 控制模式垂直对齐
},
lamp: {
count: 3, // 控制模式灯个数
offset: { x: 0, y: 0 }, // 偏移量
radiusR: 6, // 控制模式灯的半径
distance: 46, // 控制模式之间灯之间的距离
grayColor: '#7F7F7F', // 控制模式灰色
greenColor: '#00FF00', // 控制模式绿色
redColor: '#FF0000', // 控制模式红色
yellowColor: '#FFFF00', // 控制模式黄色
textColorNoChange: true // 控制灯颜色不随控制灯改变
},
emergencyControl: { // 紧急站控
show: true,
offset: { x: 92, y: 0 },
text: '紧急站控',
arrowShow: false,
grayColor: '#7F7F7F'
},
centerControl: { // 中控
show: true,
offset: { x: -46, y: 0 },
text: '遥控',
buttonShow: false,
arrowShow: false,
grayColor: '#7F7F7F'
},
substationControl: { // 站控按钮
show: true,
offset: { x: -46, y: 0 },
text: '站控',
arrowShow: false,
grayColor: '#7F7F7F'
},
interconnectedControl: { // 联锁控
show: false,
offset: { x: 0, y: 0 },
text: '联锁控',
arrowShow: false,
grayColor: '#7F7F7F'
},
mouseOverStyle: { // 鼠标悬浮样式
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top'
}
}
};
this[deviceType.Switch] = {
text: {
show: true, // 道岔名称显示
position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
offset: { x: 5, y: -10 }, // 道岔名称与区段距离
fontSize: 11, // 字体大小
fontColor: '#C0C0C0', // 道岔名称颜色
fontWeight: 'normal', // 字体粗细
borderColor: '#FE0000', // 道岔边框颜色
lossColor: '#FE0000', // 道岔失去颜色
locateColor: '#00FF00', // 道岔定位颜色
inversionColor: '#FFFF00', // 道岔反位颜色
monolockLocationColor: '#c00000', // 道岔单锁'定位'颜色 (红色)
monolockInversionColor: '#c00000', // 道岔单锁'反位'颜色 (红色)
block: true, // 封锁名称
faultFlashing: true // 故障闪烁
},
sectionAction: {
flag: false, // 道岔 关联区段显示
spareColor: '#5b5b5b' // 区段显示颜色
},
core: {
length: 6, // 道岔单边长度
graphShow: true // 图形显示
},
jointImg: { // 道岔 A B C D四元素属性配置
trapezoidLength: 8, // 直角梯形元素默认长度
fork: true, // 挤岔专用(如有挤岔操作 变为true
faultStatus: true, // 挤岔表示
forKColor: 'red' // 挤岔颜色 配合挤岔专用
},
arcBlcok: { // 圆形封锁图形
show: true, // 显示
shapeR: 15,
arcBorderColor: 'green', // 默认边框颜色
locationColor: 'green', // 定位封锁颜色
inversionColor: '#FFFF00' // 反位封锁颜色
},
rectLock: { // 矩形封锁框图形
rectWidth: 22, // 矩形框 宽高
rectBorderColor: '#fff', // 矩形边框颜色
monolock: false, // 单锁显示
block: false // 封锁显示
}
};
this[deviceType.LcControl] = {
text: {
fontSize: 10, // 灯字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 灯大小
controlColor: '#FFFF00' // 灯颜色
},
mouseOverStyle: {
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top',
arcColor: '#00FFFF',
textColor: '#000000'
}
};
this[deviceType.ZcControl] = {
// 是否显示
visible: true,
text: {
fontSize: 10, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 灯大小
controlColor: '#00FF00', // 灯颜色
activeColor:'#ff0000' // 控制灯激活颜色
},
mouseOverStyle: {
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top',
arcColor: '#00FFFF',
textColor: '#000000'
}
};
this[deviceType.LimitControl] = {
text: {
fontSize: 10, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
radiusR: 6, // 灯大小
controlColor: '#ECE9D8' // 灯颜色
},
mouseOverStyle: {
fontSize: 10,
fontFormat: 'consolas',
fontColor: '#FFF000',
fontWeight: 'normal',
textAlign: 'middle',
textVerticalAlign: 'top',
textColor: '#000000',
arcColor: '#00FFFF'
}
};
this[deviceType.Line] = {
lineColor: '#FFFFFF' // 线条颜色
};
this[deviceType.AutomaticRoute] = {
// 是否显示
displayCondition: '03', // 显示条件 prdType
text: {
fontSize: 11, // 字体大小
fontWeight: 'normal', // 字体粗细
distance: 5 // 灯跟文字距离
},
lamp: {
fill: 'rgba(0,0,0,0)', // 填充色
radiusR: 6, // 控制灯大小
controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
}
};
this[deviceType.TrainWindow] = {
lineColor: '#FFF', // 车次窗颜色
lineDash: [3, 3], // 车次窗虚线间隔
lineWidth: 1, // 车次窗线宽
trainWindowSmooth: 0.01, // 车次窗矩形圆滑程度
show: true // 车次窗是否显示
};
this[deviceType.SplitStation] = {
lineLength: 15, // 箭头线长度
lineWidth: 2, // 线宽
height: 35, // 分隔整体高度
strokeColor: '#00FF00', // 线颜色
triangleFillColor: '#00FF00', // 三角填充颜色
textFill: '#FFFFFF', // 文字颜色
verticalDistance: 10, // 箭头三角垂直高度
horizontalDistance: 7// 箭头三角水平高度
};
this[deviceType.Train] = {
trainBody: {
fontFamily: 'consolas',
trainBodyLineWidth: 0.1, // 车身line宽
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
specialTrainType: [
{
type: '03',
serviceNumber: 'M0',
nameFormat: 'serviceNumber:groupNumber'
},
{
type: '02',
nameFormat: 'targetCode:groupNumber'
}
], // 特殊列车类型需设置显示格式
lrPadding: 4, // 两边间隔
upPadding: 4, // 上边距离
trainBodyFillColor: '#725A64', // 列车车身填充颜色
trainNameFormat: 'serviceNumber:tripNumber'// 列车显示格式
},
soonerOrLater: {
level: 3,
serviceNumber: true,
earlyColor: '#00FF00',
lateColor: '#800000',
normalColor: '#FFF'
},
directionArrow: {
},
hsda: {
lrPaddingHSDA: 3, // HSDA两边间隔
upPaddingHSDA: 4, // HSDA上边距离
trainHSDATextFontSize: 9, // 列车HDSA字号
textHContent: 'H', // textH文本
textSContent: 'S', // textS文本
textDContent: 'D', // textD文本
textAContent: 'A'// textA文本
},
trainNumber: {
targetCodePrefix: '000', // 目的地码前缀
trainNumberOffset: { x: 0, y: 1 }// 目的地码偏移量
},
trainServer: {
serviceNumberPrefix: '00', // 服务号(表号)前缀
defaultServiceNumber: 'AA', // 默认服务号(表号)
trainServerOffset: { x: 4, y: 4 }// 列车服务号偏移
},
trainTarget: {
tripNumberPrefix: '000', // 车次号前缀
defaultTripNumber: 'DDD', // 默认车次号2
trainTargetOffset: { x: 36, y: 4 }, // 列车车次号偏移
trainTargetTextAlign: 'left'// 车次号文字显示位置
},
trainTargetNumber: {
groupNumberPrefix: '000', // 车组号前缀
defaultGroupNumber: 'EEE', // 默认车组号
trainTargetNumberOffset: { x: -4, y: 4 }// 车组号偏移量
},
trainHead: {
trainHeadRectHeight: 20, // 列车车头矩形高度
trainConntWidth: 3, // 列车竖杠的宽度
trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常
trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度
trainHeadArrowWidth: 6, // 列车车头三角宽度
trainHeadArrowOffsetX: 2 // 列车车头三角偏移
},
common: {
trainHeight: 20, // 列车高度
trainHeadDistance: 4, // 列车和车头之间的间距
trainWidth: 40, // 列车长度
trainTextFontSize: 12, // 列车字号
fontFamily: 'consolas', // 默认字体 族类
haveTextHSDA: true, // 是否需创建textHSDA对象
haveArrowText: true, // 是否需创建arrowText对象
textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
displayPosition: 'margin', // 非同通信车在物理区段(有逻辑区段)上显示的位置 margin:行驶方向边缘车次窗 center: 中间位置车次窗
trainTip:true // 鼠标悬停列车状态信息框是否显示
},
trainStatusStyle: {
destinationStatus: [
{ status: '01', showColor: '#FFFFFF' },
{ status: '02', showColor: '#00FF00' },
{ status: '03', showColor: '#A0522D' },
{ status: '04', showColor: '#FFFF00' }
], // 目的地状态 01准点 02早点 03晚点 04头码车
defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色
destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色
directionType: [
{
type: 1,
lineLShow: false,
lineRShow: true,
arrowLShow: false,
arrowRShow: true
},
{
type: 0,
lineLShow: true,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}
], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左
directionStopType: [
{ type: 1, lineLShow: false, lineRShow: true },
{ type: 0, lineLShow: true, lineRShow: false }
], // 列车停止方向类型对应车头显示状态 1从左往右 0从右往左
driveModeStatus: [
{
status: 'AM',
trainLColor: '#00FF00',
trainRColor: '#00FF00'
},
{
status: 'CM',
trainLColor: '#FFFF00',
trainRColor: '#FFFF00'
},
{
status: 'RM',
trainLColor: '#A0522D',
trainRColor: '#A0522D'
},
{
status: 'NRM',
trainLColor: '#A0522D',
trainRColor: '#A0522D'
}
], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM
communicationStatus: [
{status: 'CBTC', trainColor: '#725A64'},
{status: 'ITC', trainColor: '#C0C0C0'},
{status: 'IL', trainColor: '#C0C0C0'}
], // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
serverNoType: [
{ type: '01', showColor: '#FFFFFF' },
{ type: '02', showColor: '#FFF000' }
], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车
defaultServerNoColor: '#FFFFFF' // 默认服务号状态显示颜色
}
};
this[deviceType.FloodGate] = {};
this[deviceType.DirectionRod] = {};
}
}
export default new SkinCode();

View File

@ -64,14 +64,14 @@ class ESigLamp extends Group {
y: model.originY y: model.originY
}, },
shape: { shape: {
x1: model.x + (style.Signal.lamp.radiusR + 1) * Math.cos(Math.PI / 4), x1: model.x + (style.Signal.lamp.radiusR + 0.5) * Math.cos(Math.PI / 4),
y1: model.y + (style.Signal.lamp.radiusR + 1) * Math.sin(Math.PI / 4), y1: model.y + (style.Signal.lamp.radiusR + 0.5) * Math.sin(Math.PI / 4),
x2: model.x - (style.Signal.lamp.radiusR + 1) * Math.cos(Math.PI / 4), x2: model.x - (style.Signal.lamp.radiusR + 0.5) * Math.cos(Math.PI / 4),
y2: model.y - (style.Signal.lamp.radiusR + 1) * Math.sin(Math.PI / 4) y2: model.y - (style.Signal.lamp.radiusR + 0.5) * Math.sin(Math.PI / 4)
}, },
style: { style: {
lineWidth: style.Signal.lamp.stopWidth, lineWidth: style.Signal.lamp.stopWidth,
stroke: style.backgroundColor stroke: style.Signal.xColor || style.backgroundColor
} }
}); });
this.rstop = new Line({ this.rstop = new Line({
@ -84,14 +84,14 @@ class ESigLamp extends Group {
y: model.originY y: model.originY
}, },
shape: { shape: {
x1: model.x + (style.Signal.lamp.radiusR + 1) * Math.cos(Math.PI / 4), x1: model.x + (style.Signal.lamp.radiusR + 0.5) * Math.cos(Math.PI / 4),
y1: model.y + (style.Signal.lamp.radiusR + 1) * (Math.sin(Math.PI / 4) - Math.sqrt(2)), y1: model.y + (style.Signal.lamp.radiusR + 0.5) * (Math.sin(Math.PI / 4) - Math.sqrt(2)),
x2: model.x - (style.Signal.lamp.radiusR + 1) * Math.cos(Math.PI / 4), x2: model.x - (style.Signal.lamp.radiusR + 0.5) * Math.cos(Math.PI / 4),
y2: model.y - (style.Signal.lamp.radiusR + 1) * (Math.sin(Math.PI / 4) - Math.sqrt(2)) y2: model.y - (style.Signal.lamp.radiusR + 0.5) * (Math.sin(Math.PI / 4) - Math.sqrt(2))
}, },
style: { style: {
lineWidth: style.Signal.lamp.stopWidth, lineWidth: style.Signal.lamp.stopWidth,
stroke: style.backgroundColor stroke: style.Signal.xColor || style.backgroundColor
} }
}); });
} }

View File

@ -72,7 +72,7 @@ export default class ESingleControl extends Group {
} }
setTextColor(color) { setTextColor(color) {
if (color) { if (color && !this.model.style.Station.StationControl.lamp.textColorNoChange) {
this.text.setStyle('textFill', color); this.text.setStyle('textFill', color);
} }
} }

View File

@ -0,0 +1,76 @@
import Group from 'zrender/src/container/Group';
import Text from 'zrender/src/graphic/Text';
class EEarlyStart extends Group {
constructor(model) {
super();
this.model = model;
this.detain = null;
this.isNew = false;
}
create(deviceParam) {
if (!this.isNew) {
const model = this.model.modelData;
const style = this.model.style;
this.isNew = true;
/** 提前发车*/
const startD = model.right ? 1 : -1;
const startX = model.position.x - startD * (deviceParam.offset.x - model.width / 2);
const startY = model.position.y + startD * (deviceParam.offset.y - model.height / 2);
this.earlyStart = new Text({
zlevel: this.model.zlevel,
z: this.model.z,
position: [0, 0],
style: {
x: startX,
y: startY,
text: deviceParam.text,
fontSize: deviceParam.fontSize,
fontFamily: style.fontFamily,
fontWeight: deviceParam.fontWeight,
textFill: deviceParam.centerTrainColor,
textStroke: style.backgroundColor,
textAlign: style.textStyle.textAlign,
textVerticalAlign: deviceParam.textVerticalAlign || style.textStyle.textVerticalAlign
}
});
this.add(this.detain);
}
}
setColor(color) {
this.detain.setStyle('textFill', color);
}
recover() {
this.hideMode();
}
hideMode() {
this.detain && this.detain.hide();
}
showMode(deviceParam) {
this.create(deviceParam);
this.detain && this.detain.show();
}
setState(model, deviceParam = this.model.style.StationStand.detainNormal) {
/** 设置扣车*/
if (model.stationHoldTrain && model.centerHoldTrain) {
this.showMode(deviceParam);
this.setColor(deviceParam.andCenterTrainColor);
} else if (model.stationHoldTrain) {
this.showMode(deviceParam);
this.setColor(deviceParam.detainTrainTextColor);
} else if (model.centerHoldTrain) {
this.showMode(deviceParam);
this.setColor(deviceParam.centerTrainColor);
}
}
}
export default EDetain;

View File

@ -37,7 +37,6 @@ class EDetain extends Group {
textVerticalAlign: deviceParam.textVerticalAlign || style.textStyle.textVerticalAlign textVerticalAlign: deviceParam.textVerticalAlign || style.textStyle.textVerticalAlign
} }
}); });
console.log(this.detain, '************');
this.add(this.detain); this.add(this.detain);
} }
} }

View File

@ -198,12 +198,12 @@ export default class Switch extends Group {
this.add(this.lockRect); this.add(this.lockRect);
this.lockRect.hide(); this.lockRect.hide();
if (this.style.Switch.arcBlcok || this.style.Switch.interlocking) { if (this.style.Switch.arcBlcok || this.style.Switch.interlocking) {
this.lockArc = new ELockArc({ // 单锁圆形 只有宁波线路使用 this.lockArc = new ELockArc({ // 单锁圆形 只有宁波线路使用 国赛线
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z + 6, z: this.z + 6,
x: this.model.intersection.x, x: this.model.intersection.x,
y: this.model.intersection.y, y: this.model.intersection.y,
shapeR: 5, shapeR: this.style.Switch.arcBlcok.shapeR,
lineWidth: 1.2, lineWidth: 1.2,
stroke: this.style.Switch.arcBlcok.arcBorderColor, stroke: this.style.Switch.arcBlcok.arcBorderColor,
fill: this.style.transparentColor fill: this.style.transparentColor
@ -375,7 +375,7 @@ export default class Switch extends Group {
} }
/** 单锁*/ /** 单锁*/
setMonolock() { setMonolock(normalPosition, reversePosition) {
if (this.style.Switch.rectLock.monolock) { // 判断单锁矩形是否显示 if (this.style.Switch.rectLock.monolock) { // 判断单锁矩形是否显示
this.lockRect.show(); this.lockRect.show();
if (this.style.Switch.rectLock.rectBorderFillColor) { // 西安二号线 专用显示 if (this.style.Switch.rectLock.rectBorderFillColor) { // 西安二号线 专用显示
@ -387,7 +387,11 @@ export default class Switch extends Group {
} }
if (this.style.Switch.arcBlcok.show) { // 圆形单锁是否显示 if (this.style.Switch.arcBlcok.show) { // 圆形单锁是否显示
this.lockArc.show(); this.lockArc.show();
this.lockArc.setStyle({ stroke: this.style.Switch.arcBlcok.locationColor }); if (normalPosition) {
this.lockArc.setStyle({ stroke: this.style.Switch.arcBlcok.locationColor });
} else if (reversePosition) {
this.lockArc.setStyle({ stroke: this.style.Switch.arcBlcok.inversionColor });
}
} }
this.model.normalPosition && this.setTextColor(this.style.Switch.text.monolockLocationColor); // 定位 设置道岔名称颜色 this.model.normalPosition && this.setTextColor(this.style.Switch.text.monolockLocationColor); // 定位 设置道岔名称颜色
this.model.reversePosition && this.setTextColor(this.style.Switch.text.monolockInversionColor); // 反位 设置道岔名称颜色 this.model.reversePosition && this.setTextColor(this.style.Switch.text.monolockInversionColor); // 反位 设置道岔名称颜色
@ -522,7 +526,7 @@ export default class Switch extends Group {
} }
model.isCiConfirm && this.setCiConfirm(); // 道岔使能显示 model.isCiConfirm && this.setCiConfirm(); // 道岔使能显示
model.singleLock && this.setMonolock(); // 道岔单锁 model.singleLock && this.setMonolock(model.normalPosition, model.reversePosition); // 道岔单锁
model.blockade && this.block(); // 道岔封锁 model.blockade && this.block(); // 道岔封锁
model.singleLock && model.blockade && this.blockMonolock(); // 单锁&锁闭状态 model.singleLock && model.blockade && this.blockMonolock(); // 单锁&锁闭状态
const path = window.location.href; const path = window.location.href;

View File

@ -3,10 +3,10 @@ export function getBaseUrl() {
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud'; // BASE_API = 'https://joylink.club/jlcloud';
// BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'https://test.joylink.club/jlcloud';
BASE_API = 'http://192.168.3.5:9000'; // 袁琪 // BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.169:9000'; // 旭强 // BASE_API = 'http://192.168.3.169:9000'; // 旭强
// BASE_API = 'http://192.168.3.175:9000'; // 张赛 // BASE_API = 'http://192.168.3.175:9000'; // 张赛
// BASE_API = 'http://192.168.3.82:9000'; // 杜康 BASE_API = 'http://192.168.3.82:9008'; // 杜康
// BASE_API = 'http://b29z135112.zicp.vip'; // BASE_API = 'http://b29z135112.zicp.vip';
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康 // BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
// BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛 // BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛