站台 绘图代码调整
This commit is contained in:
parent
3b8c4852c3
commit
ccf2228eeb
@ -281,6 +281,64 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
// 北京线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
jumpStopColor: 'lightSkyBlue', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 8, // 站台首端字体大小
|
||||
stopColor: '#FEFE00' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: -40 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: 20 }, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: -8, y: 13 }, // 扣车偏移量
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 8, // 停站时间字体大小
|
||||
textColor: '#FFFFFF', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: { x: -8, y: 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现地显示)
|
||||
@ -291,57 +349,18 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: '#00FF00', // 屏蔽门默认颜色
|
||||
splitDoorColor: '#F61107' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 8, // 站台首端字体大小
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
stopColor: '#FEFE00', // 站台列车停站颜色
|
||||
jumpStopColor: 'lightSkyBlue', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: -40 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: 20 }, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: -8, y: 13 }, // 扣车偏移量
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
headFontSize: 8,
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 停站时间方向
|
||||
offset: { x: -8, y: 25 }, // 运行时间偏移量
|
||||
textColor: '#FFFFFF', // 停站时间字体颜色
|
||||
textFontSize: 8
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: { x: -8, y: 10 }, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
},
|
||||
mouseOverStyle: {
|
||||
borderLineColor: '#FFFFFF',
|
||||
borderLineDash: [3, 3]
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -195,49 +195,60 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
common: { // 通用属性
|
||||
textFontSize: 10, // 站台默认字体大小
|
||||
haveJumpShow: false, // 站台是否有列车停跳显示
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
height: 3, // 站台屏蔽门高度
|
||||
distance: 4, // 站台和屏蔽门之间的距离
|
||||
defaultColor: 'green', // 屏蔽门默认颜色
|
||||
splitDoorColor: 'green' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
// 成都一号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level', 'jump'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: 'white', // 站台空闲颜色
|
||||
stopColor: 'yellow', // 站台列车停站颜色
|
||||
jumpStopColor: 'blue', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
stopColor: 'yellow' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25}, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: -8, y: 13}, // 扣车偏移量
|
||||
offset: { x: -8, y: 13 }, // 扣车偏移量
|
||||
centerTrainColor: 'white', // 中心扣车颜色
|
||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 10,
|
||||
fontSize: 10, // 字体大小
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: -4}, // 运行时间偏移量
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 12, // 停站时间字体大小
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
textFontSize: 12
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: -4} // 停站时间偏移量
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 12, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 30}, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
},
|
||||
jump: {
|
||||
z:1,
|
||||
position: 1, // 停跳方向
|
||||
text: '跳', // 停跳显示内容
|
||||
offset: {x: -8, y: 10},
|
||||
@ -246,24 +257,31 @@ class SkinCode extends defaultStyle {
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 8, // 圆半径大小
|
||||
fontWeight: 'normal', // 文字居中
|
||||
textFontSize: 11 // 圆半径大小
|
||||
fontSize: 11 // 文字大小
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 30}, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 10, // 站台默认字体大小
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
height: 3, // 站台屏蔽门高度
|
||||
distance: 4, // 站台和屏蔽门之间的距离
|
||||
defaultColor: 'green', // 屏蔽门默认颜色
|
||||
splitDoorColor: 'green' // 屏蔽门切除颜色
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -211,9 +211,75 @@ class SkinCode extends defaultStyle {
|
||||
show: false
|
||||
};
|
||||
this[deviceType.StationStand] = {
|
||||
// 成都三号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level', 'jump'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#ffffff', // 站台空闲颜色
|
||||
jumpStopColor: '#808080', // 站台跳停颜色
|
||||
designatedJumpStopColor: '#808080', // 站台指定列车跳停颜色
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
stopColor: '#FFF000' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
flicker: true, // 闪烁
|
||||
special:false,
|
||||
mergentR: 5, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 30 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -30}, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: '扣', // 扣车显示内容
|
||||
offset: {x: -8, y: 20}, // 扣车偏移量
|
||||
centerTrainColor: '#C0C0C0', // 中心扣车颜色
|
||||
andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 10, // 字体大小
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 10, // 停站时间字体大小
|
||||
textColor: '#FFFFFF', // 停站时间字体颜色
|
||||
position: -1, // 停站时间方向
|
||||
offset: {x: -8, y: 10} // 停站时间偏移量
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 10, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 15}, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
},
|
||||
// 跳停
|
||||
jump: {
|
||||
z:1,
|
||||
position: 1, // 停跳方向
|
||||
text: '跳', // 停跳显示内容
|
||||
offset: {x: -8, y: 10},
|
||||
textColor: '#00ffcc', // 停跳文字颜色
|
||||
arcColor: '#00ffcc', // 停跳圆圈颜色
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 8, // 圆半径大小
|
||||
fontWeight: 'normal', // 文字居中
|
||||
fontSize: 11 // 文字大小
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 10, // 站台默认字体大小
|
||||
haveJumpShow: true, // 站台是否有列车停跳显示
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(prdType)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
@ -222,65 +288,18 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: '#00FF00', // 屏蔽门默认颜色
|
||||
splitDoorColor: '#C00808' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
spareColor: '#ffffff', // 站台空闲颜色
|
||||
stopColor: '#FFF000', // 站台列车停站颜色
|
||||
jumpStopColor: '#808080', // 站台跳停颜色
|
||||
designatedJumpStopColor: '#808080' // 站台指定列车跳停颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
flicker: true, // 闪烁
|
||||
mergentR: 5, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 30 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -30}, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: '扣', // 扣车显示内容
|
||||
offset: {x: -8, y: 20}, // 扣车偏移量
|
||||
centerTrainColor: '#C0C0C0', // 中心扣车颜色
|
||||
andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 10,
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: -1, // 停站时间方向
|
||||
offset: {x: -8, y: 10}, // 运行时间偏移量
|
||||
textColor: '#FFFFFF', // 停站时间字体颜色
|
||||
textFontSize: 10
|
||||
},
|
||||
jump: {
|
||||
position: 1, // 停跳方向
|
||||
text: '跳', // 停跳显示内容
|
||||
offset: {x: -8, y: 10},
|
||||
textColor: '#00ffcc', // 停跳文字颜色
|
||||
arcColor: '#00ffcc', // 停跳圆圈颜色
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 8, // 圆半径大小
|
||||
fontWeight: 'normal',
|
||||
textFontSize: 11
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 15}, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -189,9 +189,74 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
// 佛山有轨电车站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level', 'jump'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: '#606060', // 站台指定列车跳停颜色
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
stopColor: '#FEFE00' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25}, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: 15}, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: -8, y: 17}, // 扣车偏移量
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 11, // 停站时间字体大小
|
||||
textColor: '#C0C0C0', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: 5} // 停站时间偏移量
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 11, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: -6}, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
},
|
||||
// 跳停
|
||||
jump: {
|
||||
z:1,
|
||||
position: 1, // 停跳方向
|
||||
text: 'S', // 停跳显示内容
|
||||
offset: {x: -8, y: -8},
|
||||
textColor: '#5376B3', // 停跳文字颜色
|
||||
arcColor: '#000000', // 停跳圆圈颜色
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 0, // 圆半径大小
|
||||
fontWeight: 'normal', // 文字居中
|
||||
fontSize: 11 // 文字大小
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 11, // 站台默认字体大小
|
||||
haveJumpShow: true, // 站台是否有列车停跳显示
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
@ -201,64 +266,18 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: '#00FF00', // 屏蔽门默认颜色
|
||||
splitDoorColor: '#F61107' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
stopColor: '#FEFE00', // 站台列车停站颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: '#606060' // 站台指定列车跳停颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25}, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: 15}, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: -8, y: 17}, // 扣车偏移量
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 11,
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: 5}, // 停站时间偏移量
|
||||
textColor: '#C0C0C0', // 停站时间字体颜色
|
||||
textFontSize: 11
|
||||
},
|
||||
jump: {
|
||||
position: 1, // 停跳方向
|
||||
text: 'S', // 停跳显示内容
|
||||
offset: {x: -8, y: -8},
|
||||
textColor: '#5376B3', // 停跳文字颜色
|
||||
arcColor: '#000000', // 停跳圆圈颜色
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 0, // 圆半径大小
|
||||
fontWeight: 'normal', // 文字居中
|
||||
textFontSize: 11
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: -6}, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -188,6 +188,70 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
// 福州一号线新版站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停 折返策略
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level', 'reentry'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
stopColor: '#FEFE00' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: -8, y: 25}, // 扣车偏移量
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
// trainColor: '#E4EF50', // 车站扣车颜色
|
||||
fontSize: 11, // 字体大小
|
||||
circle: true, // 空心圆环
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 11, // 停站时间字体大小
|
||||
textColor: '#FFFFFF', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: 26} // 停站时间偏移量
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 11, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -10, y: -10}, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
},
|
||||
// 折返策略
|
||||
reentry: { // 站台折返策略
|
||||
z:1,
|
||||
mergentR:4, // 站台折返策略边数
|
||||
position: 0, // 折返方向
|
||||
offset: {x: -16, y: 20}, // 折返偏移量
|
||||
noHumanColor: '#0F16DA', // 站台无人折返
|
||||
autoChangeEndsColor: '#0BF400' // 站台自动换端
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 11, // 站台默认字体大小
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
@ -199,57 +263,17 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: '#00FF00', // 屏蔽门默认颜色
|
||||
splitDoorColor: '#F61107' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
stopColor: '#FEFE00', // 站台列车停站颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: { // 站台折返策略
|
||||
position: 0, // 折返方向
|
||||
offset: {x: -16, y: 20}, // 折返偏移量
|
||||
noHumanColor: '#0F16DA', // 站台无人折返
|
||||
autoChangeEndsColor: '#0BF400' // 站台自动换端
|
||||
},
|
||||
detainCar: { // 扣车
|
||||
text: 'H', // 扣车显示内容
|
||||
position: 1, // 扣车方向
|
||||
offset: {x: -8, y: 25}, // 扣车偏移量
|
||||
trainColor: '#E4EF50', // 车站扣车颜色
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
circle: true // 空心圆环
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 运行时间方向
|
||||
offset: {x: -8, y: 26}, // 运行时间偏移量
|
||||
textColor: '#FFFFFF' // 停站时间字体颜色
|
||||
},
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -10, y: -10}, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 运行等级字体颜色
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -195,10 +195,84 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
// 哈尔滨一号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'level', 'jump', 'trainStop', 'trainDepart'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:true,
|
||||
spareColor: '#00FFFF', // 站台空闲颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
stopColor: '#FEFE00', // 站台列车停站颜色
|
||||
textFill: '#fff' // 站台字体颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: -10, y: -20 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: -10, y: -10}, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107', // 站台紧急关闭颜色
|
||||
width: 4,
|
||||
radiusR: 6
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: 60, y: -18 }, // 扣车偏移量
|
||||
centerTrainColor: '#F61107', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 18, // 字体大小
|
||||
fontWeight: 'bold',
|
||||
textVerticalAlign: 'middle' // 车站扣车 文字垂直对齐方式
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 11, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: { x: -8, y: 6 }, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
},
|
||||
// 跳停
|
||||
jump: {
|
||||
z:1,
|
||||
position: 1, // 停跳方向
|
||||
text: 'S', // 停跳显示内容
|
||||
offset: { x: 10, y: 20 },
|
||||
textColor: '#00FF00', // 停跳文字颜色
|
||||
fontWeight: 'bold', // 文字居中
|
||||
fontSize: 18 // 文字大小
|
||||
},
|
||||
// 列车停站
|
||||
trainStop: { // 停车标志
|
||||
z:1,
|
||||
fillColor: '#FF0000',
|
||||
insideOffset:{ x: 6, y: -22}, // 内站台停车标志偏移量
|
||||
outsideOffset: { x: -6, y: 22}, // 外站台停车标志偏移量
|
||||
radiusR: 4 // 标志半径
|
||||
},
|
||||
// 停车计时
|
||||
trainDepart:{ // 停车计时
|
||||
z:1,
|
||||
insideOffset:{ x: 25, y: -21}, // 内站台停车计时偏移量
|
||||
outsideOffset: { x: -25, y: -11}, // 外站台停车计时偏移量
|
||||
textFill: '#00FF00', // 文字颜色
|
||||
textBorderColor: '#00FF00', // 文字边框颜色
|
||||
fontSize: 10 // 字体大小
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 11, // 站台默认字体大小
|
||||
special: true, // 特殊站台
|
||||
haveJumpShow: true, // 站台是否有列车停跳显示
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
@ -208,70 +282,18 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: '#fff', // 屏蔽门默认颜色
|
||||
splitDoorColor: '#F61107' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
textFill: '#fff', // 站台字体颜色
|
||||
spareColor: '#00ffff', // 站台空闲颜色
|
||||
stopColor: '#FEFE00', // 站台列车停站颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: -10, y: -20 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: -10, y: -10}, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107', // 站台紧急关闭颜色
|
||||
width: 4,
|
||||
radiusR: 6
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
fontSize: 18, // 扣车字体大小
|
||||
offset: { x: 60, y: -18 }, // 扣车偏移量
|
||||
centerTrainColor: '#F61107', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontWeight: 'bold',
|
||||
textVerticalAlign: 'middle' // 车站扣车 文字垂直对齐方式
|
||||
},
|
||||
jump: {
|
||||
text: 'S', // 停跳显示内容
|
||||
offset: { x: 10, y: 20 },
|
||||
textColor: '#00FF00', // 停跳文字颜色
|
||||
fontWeight: 'bold',
|
||||
fontSize: 18
|
||||
},
|
||||
stopTime: {}, // 停站时间
|
||||
trainStop: { // 停车标志
|
||||
fillColor: '#FF0000',
|
||||
insideOffset:{ x: 6, y: -22}, // 内站台停车标志偏移量
|
||||
outsideOffset: { x: -6, y: 22}, // 外站台停车标志偏移量
|
||||
radiusR: 4 // 标志半径
|
||||
},
|
||||
trainDepart:{ // 停车计时
|
||||
insideOffset:{ x: 25, y: -21}, // 内站台停车计时偏移量
|
||||
outsideOffset: { x: -25, y: -11}, // 外站台停车计时偏移量
|
||||
textFill: '#00FF00', // 文字颜色
|
||||
textBorderColor: '#00FF00', // 文字边框颜色
|
||||
fontSize: 10 // 字体大小
|
||||
},
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: { x: -8, y: 6 }, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// stopTime: {}, // 停站时间
|
||||
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -318,9 +318,61 @@ class SkinCode extends defaultStyle {
|
||||
}
|
||||
};
|
||||
this[deviceType.StationStand] = {
|
||||
// 宁波一号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: 'white', // 站台空闲颜色
|
||||
jumpStopColor: '#6260f3', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
stopColor: 'yellow' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: -8, y: 10 }, // 扣车偏移量
|
||||
centerTrainColor: 'white', // 中心扣车颜色
|
||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 10, // 字体大小
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 10, // 停站时间字体大小
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: { x: -8, y: 4 } // 停站时间偏移量
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 10, // 运行等级字体大小
|
||||
position: -1, // 运行等级方向
|
||||
offset: { x: -8, y: 4 }, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 10, // 站台默认字体大小
|
||||
haveJumpShow: false, // 站台是否有列车停跳显示
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
@ -329,54 +381,20 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: 'green', // 屏蔽门默认颜色
|
||||
splitDoorColor: 'green' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
spareColor: 'white', // 站台空闲颜色
|
||||
stopColor: 'yellow', // 站台列车停站颜色
|
||||
jumpStopColor: '#6260f3', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: -8, y: 10 }, // 扣车偏移量
|
||||
centerTrainColor: 'white', // 中心扣车颜色
|
||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 10,
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 停站时间方向
|
||||
offset: { x: -8, y: 4 }, // 运行时间偏移量
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
textFontSize: 10 // 停站时间字体大小
|
||||
},
|
||||
jump: {},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: -1, // 运行等级方向
|
||||
offset: { x: -8, y: 4 }, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// jump: {},
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
|
||||
};
|
||||
|
||||
this[deviceType.StationTurnBack] = { // 站后折返
|
||||
|
@ -367,6 +367,65 @@ class SkinCode extends defaultStyle {
|
||||
}
|
||||
};
|
||||
this[deviceType.StationStand] = {
|
||||
// 宁波三号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停
|
||||
elemnetType:['safeStand', 'emergent', 'detainRect', 'stopTime', 'level'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#0080C0', // 站台空闲颜色
|
||||
spareStrokeColor: '#000000', // 站台空闲描边颜色
|
||||
jumpStopColor: '#C00000', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
doorOpenColor:'#00FF00', // 车门开启状态颜色
|
||||
stopColor: 'yellow', // 站台列车停站颜色
|
||||
virtualColor: '#585858', // 虚拟站台颜色
|
||||
lineWidth: 3 // 站台线宽
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 矩形扣车 宁波三号线
|
||||
detainRect:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: -8, y: 10 }, // 扣车偏移量
|
||||
centerTrainColor: '#00FF00', // 中心扣车颜色
|
||||
andCenterTrainColor: '#00FF00', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#FFFF00', // 车站扣除文字颜色
|
||||
spareStrokeColor: '#000000', // 扣车描边颜色
|
||||
lineWidth: 3, // 扣车线宽
|
||||
fontSize: 10,
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 10, // 停站时间字体大小
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: { x: -8, y: 4 } // 停站时间偏移量
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 10, // 运行等级字体大小
|
||||
position: -1, // 运行等级方向
|
||||
offset: { x: -8, y: 4 }, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 10, // 站台默认字体大小
|
||||
haveJumpShow: false, // 站台是否有列车停跳显示
|
||||
@ -378,59 +437,20 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: 'green', // 屏蔽门默认颜色
|
||||
splitDoorColor: 'green' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
lineWidth: 3, // 站台线宽
|
||||
spareColor: '#0080C0', // 站台空闲颜色
|
||||
spareStrokeColor: '#000000', // 站台空闲描边颜色
|
||||
doorOpenColor:'#00FF00', // 车门开启状态颜色
|
||||
stopColor: 'yellow', // 站台列车停站颜色
|
||||
jumpStopColor: '#C00000', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
virtualColor: '#585858' // 虚拟站台颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: { x: -8, y: 10 }, // 扣车偏移量
|
||||
centerTrainColor: '#00FF00', // 中心扣车颜色
|
||||
andCenterTrainColor: '#00FF00', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#FFFF00', // 车站扣除文字颜色
|
||||
fontSize: 10,
|
||||
fontWeight: 'normal',
|
||||
specialShape: 'rect' // 扣车标志形状
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 停站时间方向
|
||||
offset: { x: -8, y: 4 }, // 运行时间偏移量
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
textFontSize: 10 // 停站时间字体大小
|
||||
},
|
||||
jump: {},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: -1, // 运行等级方向
|
||||
offset: { x: -8, y: 4 }, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// jump: {},
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
|
||||
};
|
||||
|
||||
this[deviceType.StationTurnBack] = { // 站后折返
|
||||
|
@ -197,6 +197,70 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
// 西安一/三号线 站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 折返策略
|
||||
elemnetType:['safeStand', 'emergent', 'detainCarNormal', 'stopTime', 'level', 'reentry'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
stopColor: '#FEFE00' // 站台列车停站颜色
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:false,
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
// 扣车元素 普通扣车
|
||||
detainCarNormal:{
|
||||
z:0,
|
||||
position: 1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: -8, y: -6}, // 扣车偏移量
|
||||
trainColor: '#E4EF50', // 车站扣车颜色
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
fontSize: 11, // 字体大小
|
||||
circle: true, // 空心圆环
|
||||
fontWeight: 'normal'
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 11, // 停站时间字体大小
|
||||
textColor: '#FFFFFF', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: 26} // 停站时间偏移
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 11, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 6}, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
},
|
||||
// 折返策略
|
||||
reentry: { // 站台折返策略
|
||||
z:1,
|
||||
mergentR:4, // 站台折返策略边数
|
||||
position: 0, // 折返方向
|
||||
offset: {x: -16, y: -15}, // 折返偏移量
|
||||
noHumanColor: '#0F16DA', // 站台无人折返
|
||||
autoChangeEndsColor: '#0BF400' // 站台自动换端
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 11, // 站台默认字体大小
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
@ -208,57 +272,18 @@ class SkinCode extends defaultStyle {
|
||||
defaultColor: '#00FF00', // 屏蔽门默认颜色
|
||||
splitDoorColor: '#F61107' // 屏蔽门切除颜色
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 11, // 站台首端字体大小
|
||||
spareColor: '#606060', // 站台空闲颜色
|
||||
stopColor: '#FEFE00', // 站台列车停站颜色
|
||||
jumpStopColor: '#9A99FF', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'lightSkyBlue' // 站台指定列车跳停颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 4, // 站台紧急关闭半径
|
||||
mergentN: 4, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
|
||||
closeColor: '#F61107' // 站台紧急关闭颜色
|
||||
},
|
||||
reentry: { // 站台折返策略
|
||||
position: 0, // 折返方向
|
||||
offset: {x: -16, y: -15}, // 折返偏移量
|
||||
noHumanColor: '#0F16DA', // 站台无人折返
|
||||
autoChangeEndsColor: '#0BF400' // 站台自动换端
|
||||
},
|
||||
detainCar: { // 扣车
|
||||
text: 'H', // 扣车显示内容
|
||||
position: 1, // 扣车方向
|
||||
offset: {x: -8, y: -6}, // 扣车偏移量
|
||||
trainColor: '#E4EF50', // 车站扣车颜色
|
||||
centerTrainColor: '#FFFFFF', // 中心扣车颜色
|
||||
andCenterTrainColor: '#F61107', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
|
||||
circle: true // 空心圆环
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 运行时间方向
|
||||
offset: {x: -8, y: 26}, // 运行时间偏移量
|
||||
textColor: '#FFFFFF' // 停站时间字体颜色
|
||||
},
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 6}, // 运行等级偏移量
|
||||
textColor: '#FFFFFF' // 停站等级字体颜色
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -240,11 +240,85 @@ class SkinCode extends defaultStyle {
|
||||
};
|
||||
|
||||
this[deviceType.StationStand] = {
|
||||
// 西安二号线 站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级 跳停 模式筛选标识
|
||||
elemnetType:['safeStand', 'emergent', 'detainCircle', 'stopTime', 'level', 'jump', 'patternFilter'],
|
||||
// 站台
|
||||
safeStand:{
|
||||
// 层级
|
||||
z:0,
|
||||
special:false,
|
||||
spareColor: '#808080', // 站台空闲颜色
|
||||
jumpStopColor: 'yellow', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'yellow', // 站台指定列车跳停颜色
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
stopColor: '#808080', // 站台列车停站颜色
|
||||
standType:'notFill', // 站台的样式(NotFill为未填充,目前是西安二号线线路样式)
|
||||
doorOpenColor:'#007f00' // 车门开启状态颜色(西安二号线线路样式)
|
||||
// relatedStatus:['trainParking', 'assignSkip', 'allSkip', 'emergencyClosed']
|
||||
},
|
||||
// 站台紧急关闭
|
||||
emergent:{
|
||||
z:1,
|
||||
special:true, // 西安二号线特殊样式
|
||||
mergentR: 9, // 站台紧急关闭半径
|
||||
mergentN: 8, // 站台紧急关闭边数
|
||||
insideOffset: { x: 0, y: 40 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -40}, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red', // 站台紧急关闭颜色
|
||||
defaultColor:'#808080' // 西安二号线特殊样式(默认颜色)
|
||||
},
|
||||
// 扣车元素 圆形 西安二号线
|
||||
detainCircle:{
|
||||
z:0,
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: 8, y: 0}, // 扣车偏移量
|
||||
centerTrainColor: '#E400E4', // 中心扣车颜色
|
||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除颜色
|
||||
fontSize: 10,
|
||||
fontWeight: 'normal',
|
||||
circleWidth:14, // 西安二号线特殊样式 圆圈的宽度
|
||||
defaultColor:'#808080' // 默认颜色
|
||||
},
|
||||
// 停站时间
|
||||
stopTime:{
|
||||
z:1,
|
||||
textFontSize: 12, // 停站时间字体大小
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: -4} // 停站时间偏移
|
||||
},
|
||||
// 运行等级
|
||||
level:{
|
||||
z:1,
|
||||
textFontSize: 12, // 运行等级字体大小
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 30}, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
},
|
||||
// 跳停
|
||||
jump: {
|
||||
z:1,
|
||||
position: 1, // 停跳方向
|
||||
text: '跳', // 停跳显示内容
|
||||
offset: {x: -8, y: 10},
|
||||
textColor: '#00ffcc', // 停跳文字颜色
|
||||
arcColor: '#00ffcc', // 停跳圆圈颜色
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 8, // 圆半径大小
|
||||
fontWeight: 'normal', // 文字居中
|
||||
fontSize: 11 // 文字大小
|
||||
},
|
||||
patternFilter:{ // 模式筛选标识
|
||||
z:0,
|
||||
defaultColor:'#808080', // 默认颜色,
|
||||
offset:{x:25, y:15} // 相对于站台边缘的偏移
|
||||
},
|
||||
|
||||
common: { // 通用属性
|
||||
textFontSize: 10, // 站台默认字体大小
|
||||
haveJumpShow: false, // 站台是否有列车停跳显示
|
||||
functionButtonShow: '03', // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
standType:'notFill' // 站台的样式(NotFill为未填充,目前是西安二号线线路样式)
|
||||
functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
|
||||
},
|
||||
safetyDoor: { // 屏蔽门
|
||||
height: 3, // 站台屏蔽门高度
|
||||
@ -255,74 +329,18 @@ class SkinCode extends defaultStyle {
|
||||
emergencyColor:'yellow', // 紧急出发按钮激活颜色
|
||||
special:true // 特殊屏蔽门(目前是西安二号线线路样式)
|
||||
},
|
||||
stand: { // 站台
|
||||
headFontSize: 10, // 站台首端字体大小
|
||||
spareColor: '#808080', // 站台空闲颜色
|
||||
stopColor: '#808080', // 站台列车停站颜色
|
||||
jumpStopColor: 'yellow', // 站台跳停颜色
|
||||
designatedJumpStopColor: 'yellow', // 站台指定列车跳停颜色
|
||||
doorOpenColor:'#007f00' // 车门开启状态颜色(西安二号线线路样式)
|
||||
},
|
||||
standEmergent: { // 紧急关闭
|
||||
mergentR: 9, // 站台紧急关闭半径
|
||||
mergentN: 8, // 站台紧急关闭边数(西安二号线特殊样式)
|
||||
insideOffset: { x: 0, y: 40 }, // 内站台紧急关闭偏移量
|
||||
outsideOffset: { x: 0, y: -40}, // 外站台紧急关闭偏移量
|
||||
closeColor: 'red', // 站台紧急关闭颜色
|
||||
defaultColor:'#808080', // 西安二号线特殊样式(默认颜色)
|
||||
special:true // 西安二号线特殊样式
|
||||
},
|
||||
patternFilter:{ // 模式筛选标识
|
||||
defaultColor:'#808080', // 默认颜色,
|
||||
offset:{x:25, y:15} // 相对于站台边缘的偏移
|
||||
},
|
||||
reentry: {}, // 站台折返策略
|
||||
detainCar: { // 扣车
|
||||
position: -1, // 扣车标识在站台上显示方向
|
||||
text: 'H', // 扣车显示内容
|
||||
offset: {x: 8, y: 0}, // 扣车偏移量
|
||||
centerTrainColor: '#E400E4', // 中心扣车颜色
|
||||
andCenterTrainColor: 'red', // 车站+中心扣车颜色
|
||||
detainTrainTextColor: '#E4EF50', // 车站扣除颜色
|
||||
fontSize: 10,
|
||||
fontWeight: 'normal',
|
||||
circleWidth:14, // 西安二号线特殊样式 圆圈的宽度
|
||||
defaultColor:'#808080', // 默认颜色
|
||||
specialShape: 'circle' // 西安二号线特殊样式
|
||||
},
|
||||
stopTime: { // 停站时间
|
||||
position: 1, // 停站时间方向
|
||||
offset: {x: -8, y: -4}, // 运行时间偏移量
|
||||
textColor: 'white', // 停站时间字体颜色
|
||||
textFontSize: 12
|
||||
},
|
||||
jump: {
|
||||
position: 1, // 停跳方向
|
||||
text: '跳', // 停跳显示内容
|
||||
offset: {x: -8, y: 10},
|
||||
textColor: '#00ffcc', // 停跳文字颜色
|
||||
arcColor: '#00ffcc', // 停跳圆圈颜色
|
||||
fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
|
||||
r: 8, // 圆半径大小
|
||||
fontWeight: 'normal', // 文字居中
|
||||
textFontSize: 11 // 圆半径大小
|
||||
},
|
||||
trainStop: {}, // 停车标志
|
||||
trainDepart: {}, // 停车计时
|
||||
level: { // 运行等级
|
||||
position: 1, // 运行等级方向
|
||||
offset: {x: -8, y: 30}, // 运行等级偏移量
|
||||
textColor: '#FFF000' // 停站等级字体颜色
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
},
|
||||
text: {
|
||||
fontSize: 11, // 字体大小
|
||||
fontWeight: 'normal', // 字体粗细
|
||||
distance: 5 // 灯跟文字距离
|
||||
},
|
||||
lamp: {
|
||||
radiusR: 6, // 控制灯大小
|
||||
lampColor: '#5A5D5A' // 功能按钮颜色
|
||||
}
|
||||
// reentry: {}, // 站台折返策略
|
||||
// trainStop: {}, // 停车标志
|
||||
// trainDepart: {}, // 停车计时
|
||||
};
|
||||
|
||||
this[deviceType.StationCounter] = {
|
||||
|
@ -14,7 +14,7 @@ class ESafeDoor extends Group {
|
||||
const model = this.model;
|
||||
const style = this.model.style;
|
||||
const padding = 0.1;
|
||||
if (style.StationStand.common.special) {
|
||||
if (style.StationStand.safeStand.special) {
|
||||
this.stand1 = new Rect({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
@ -143,7 +143,7 @@ class ESafeDoor extends Group {
|
||||
|
||||
hasDoor(show) {
|
||||
const style = this.model.style;
|
||||
if (style.StationStand.common.special) {
|
||||
if (style.StationStand.safeStand.special) {
|
||||
if (show) {
|
||||
this.stand1.setStyle('fill', style.transparentColor);
|
||||
this.stand2.setStyle('fill', style.transparentColor);
|
||||
|
@ -12,33 +12,39 @@ class EDetain extends Group {
|
||||
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
this.isNew = true;
|
||||
|
||||
/** 站台扣车*/
|
||||
const detainD = model.right ? 1 : -1;
|
||||
const detainX = model.position.x - detainD * (style.StationStand.detainCarNormal.offset.x - model.width / 2);
|
||||
const detainY = model.position.y + detainD * (style.StationStand.detainCarNormal.offset.y - model.height / 2);
|
||||
|
||||
this.detain = new Text({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
position: [0, 0],
|
||||
style: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
text: style.StationStand.detainCar.text,
|
||||
fontSize: `${style.StationStand.detainCar.fontSize}px`,
|
||||
x: detainX,
|
||||
y: detainY,
|
||||
text: style.StationStand.detainCarNormal.text,
|
||||
fontSize: `${style.StationStand.detainCarNormal.fontSize}px`,
|
||||
fontFamily: style.fontFamily,
|
||||
textFill: style.StationStand.detainCar.centerTrainColor,
|
||||
textFill: style.StationStand.detainCarNormal.centerTrainColor,
|
||||
textStroke: style.backgroundColor,
|
||||
textAlign: style.textStyle.textAlign,
|
||||
textVerticalAlign: style.StationStand.detainCar.textVerticalAlign || style.textStyle.textVerticalAlign
|
||||
textVerticalAlign: style.StationStand.detainCarNormal.textVerticalAlign || style.textStyle.textVerticalAlign
|
||||
}
|
||||
});
|
||||
if (style.StationStand.detainCar.circle) {
|
||||
if (style.StationStand.detainCarNormal.circle) {
|
||||
const offsetX = model.right ? 8 : -8;
|
||||
this.circleDetain = new Circle({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
cx: model.x + offsetX,
|
||||
cy: model.y - 3,
|
||||
cx: detainX + offsetX,
|
||||
cy: detainY - 3,
|
||||
r: 2
|
||||
},
|
||||
style: {
|
||||
@ -58,6 +64,10 @@ class EDetain extends Group {
|
||||
this.detain.setStyle('textFill', color);
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
|
||||
hideMode() {
|
||||
this.detain && this.detain.hide();
|
||||
this.circleDetain && this.circleDetain.hide();
|
||||
@ -68,6 +78,27 @@ class EDetain extends Group {
|
||||
this.detain && this.detain.show();
|
||||
this.circleDetain && this.circleDetain.show();
|
||||
}
|
||||
|
||||
holdTrain(type) {
|
||||
const style = this.model.style;
|
||||
switch (type) {
|
||||
case 'centerAndTrain': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.detainCarNormal.andCenterTrainColor);
|
||||
break;
|
||||
}
|
||||
case 'centerDetain': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.detainCarNormal.centerTrainColor);
|
||||
break;
|
||||
}
|
||||
case 'trainDetain': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.detainCarNormal.detainTrainTextColor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default EDetain;
|
||||
|
@ -10,47 +10,54 @@ class EDetainCircle extends Group {
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
|
||||
const detainD = model.right ? 1 : -1;
|
||||
|
||||
const x = model.position.x + (model.width / 2) * detainD + detainD * style.StationStand.detainCircle.offset.x + detainD * style.StationStand.detainCircle.circleWidth / 2;
|
||||
const y = model.position.y;
|
||||
const radius = style.StationStand.detainCircle.circleWidth / 2;
|
||||
|
||||
this.detainCircle = new Circle({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
cx: model.x,
|
||||
cy: model.y,
|
||||
r: model.radius
|
||||
cx: x,
|
||||
cy: y,
|
||||
r: radius
|
||||
},
|
||||
style:{
|
||||
lineWidth:2,
|
||||
stroke:style.StationStand.detainCar.defaultColor
|
||||
stroke:style.StationStand.detainCircle.defaultColor
|
||||
}
|
||||
});
|
||||
this.line1 = new Line({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.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
|
||||
x1:x - radius * 0.7,
|
||||
y1:y - radius * 0.7,
|
||||
x2:x + radius * 0.7,
|
||||
y2:y + radius * 0.7
|
||||
},
|
||||
style:{
|
||||
lineWidth:2,
|
||||
stroke:style.StationStand.detainCar.defaultColor
|
||||
stroke:style.StationStand.detainCircle.defaultColor
|
||||
}
|
||||
});
|
||||
this.line2 = new Line({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.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
|
||||
x1:x - radius * 0.7,
|
||||
y1:y + radius * 0.7,
|
||||
x2:x + radius * 0.7,
|
||||
y2:y - radius * 0.7
|
||||
},
|
||||
style:{
|
||||
lineWidth:2,
|
||||
stroke:style.StationStand.detainCar.defaultColor
|
||||
stroke:style.StationStand.detainCircle.defaultColor
|
||||
}
|
||||
});
|
||||
this.add(this.detainCircle);
|
||||
@ -63,6 +70,29 @@ class EDetainCircle extends Group {
|
||||
this.line1.setStyle('stroke', color);
|
||||
this.line2.setStyle('stroke', color);
|
||||
}
|
||||
|
||||
recover() {
|
||||
const style = this.model.style;
|
||||
this.setColor(style.StationStand.detainCircle.defaultColor);
|
||||
}
|
||||
|
||||
holdTrain(type) {
|
||||
const style = this.model.style;
|
||||
switch (type) {
|
||||
case 'centerAndTrain': {
|
||||
this.setColor(style.StationStand.detainCircle.centerTrainColor);
|
||||
break;
|
||||
}
|
||||
case 'centerDetain': {
|
||||
this.setColor(style.StationStand.detainCircle.centerTrainColor);
|
||||
break;
|
||||
}
|
||||
case 'trainDetain': {
|
||||
this.setColor(style.StationStand.detainCircle.centerTrainColor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default EDetainCircle;
|
||||
|
@ -9,30 +9,34 @@ class EDetainCircle extends Group {
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
|
||||
const standX = model.position.x - model.width / 2;
|
||||
const standY = model.position.y - model.height / 2;
|
||||
|
||||
let y;
|
||||
if (model.right && model.inside) {
|
||||
y = model.y + model.height / 2;
|
||||
y = standY + model.height / 2;
|
||||
} else if (model.right && !model.inside) {
|
||||
y = model.y;
|
||||
y = standY;
|
||||
} else if (!model.right && model.inside) {
|
||||
y = model.y;
|
||||
y = standY;
|
||||
} else if (!model.right && !model.inside) {
|
||||
y = model.y + model.height / 2;
|
||||
y = standY + model.height / 2;
|
||||
}
|
||||
this.detainRect = new Rect({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z + 1,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z + 1,
|
||||
shape: {
|
||||
x: model.x,
|
||||
x: standX,
|
||||
y: y,
|
||||
width: model.width,
|
||||
height: model.height / 2
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.stand.lineWidth || 0,
|
||||
stroke: style.StationStand.stand.spareStrokeColor,
|
||||
lineWidth: style.StationStand.detainRect.lineWidth || 0,
|
||||
stroke: style.StationStand.detainRect.spareStrokeColor,
|
||||
fill: '#000'
|
||||
}
|
||||
});
|
||||
@ -49,6 +53,30 @@ class EDetainCircle extends Group {
|
||||
setHide() {
|
||||
this.detainRect.hide();
|
||||
}
|
||||
recover() {
|
||||
this.setHide();
|
||||
}
|
||||
|
||||
holdTrain(type) {
|
||||
const style = this.model.style;
|
||||
switch (type) {
|
||||
case 'centerAndTrain': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.detainRect.centerTrainColor);
|
||||
break;
|
||||
}
|
||||
case 'centerDetain': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.detainRect.centerTrainColor);
|
||||
break;
|
||||
}
|
||||
case 'trainDetain': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.detainRect.detainTrainTextColor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default EDetainCircle;
|
||||
|
@ -10,15 +10,22 @@ class EJump extends Group {
|
||||
}
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
this.isNew = true;
|
||||
|
||||
const jumpDirct = model.right ? -1 : 1;
|
||||
const jumpX = model.position.x - jumpDirct * (style.StationStand.jump.offset.x - model.width / 2);
|
||||
const jumpY = model.position.y + jumpDirct * style.StationStand.jump.offset.y;
|
||||
const jumpCX = model.position.x - jumpDirct * (style.StationStand.jump.offset.x - model.width / 2);
|
||||
const jumpCY = model.position.y + jumpDirct * style.StationStand.jump.offset.y;
|
||||
|
||||
this.jump = new Text({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
style: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
x: jumpX,
|
||||
y: jumpY,
|
||||
fontWeight: style.StationStand.jump.fontWeight,
|
||||
fontSize: style.StationStand.jump.fontSize,
|
||||
fontFamily: style.fontFamily,
|
||||
@ -31,11 +38,11 @@ class EJump extends Group {
|
||||
this.add(this.jump);
|
||||
if (style.StationStand.jump.r) {
|
||||
this.jumpArc = new Arc({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
cx: model.cx,
|
||||
cy: model.cy,
|
||||
cx: jumpCX,
|
||||
cy: jumpCY,
|
||||
r: style.StationStand.jump.r
|
||||
},
|
||||
style: {
|
||||
@ -68,6 +75,9 @@ class EJump extends Group {
|
||||
this.jump.show();
|
||||
}
|
||||
}
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
}
|
||||
|
||||
export default EJump;
|
||||
|
@ -11,20 +11,25 @@ class ELevel extends Group {
|
||||
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
|
||||
this.isNew = true;
|
||||
|
||||
const levelDrict = model.right ? 1 : -1;
|
||||
const levelX = model.position.x - levelDrict * (style.StationStand.level.offset.x - model.width / 2);
|
||||
const levelY = model.position.y + levelDrict * (style.StationStand.level.offset.y);
|
||||
|
||||
this.level = new Text({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
style: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
x: levelX,
|
||||
y: levelY,
|
||||
fontWeight: style.textStyle.fontWeight,
|
||||
fontSize: style.StationStand.stopTime.textFontSize,
|
||||
fontSize: style.StationStand.level.textFontSize,
|
||||
fontFamily: style.fontFamily,
|
||||
text: model.name,
|
||||
text: model.runLevelTime || '5',
|
||||
textFill: style.StationStand.level.textColor,
|
||||
textAlign: style.textStyle.textAlign,
|
||||
textVerticalAlign: style.textStyle.textVerticalAlign
|
||||
@ -52,6 +57,10 @@ class ELevel extends Group {
|
||||
this.create();
|
||||
this.level.show();
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
}
|
||||
|
||||
export default ELevel;
|
||||
|
@ -9,20 +9,22 @@ class EPatternFilter extends Group {
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
const direction = model.right ? 1 : -1;
|
||||
|
||||
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;
|
||||
const startY = model.position.y + (model.height / 2 + style.StationStand.patternFilter.offset.y) * direction + (1 + direction) / 2 * 14;
|
||||
this.patternFilter1 = new Polygon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.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]
|
||||
[model.position.x - startX, startY],
|
||||
[model.position.x - startX, startY - 14],
|
||||
[model.position.x - startX - 14, startY - 14],
|
||||
[model.position.x - startX - 14 - 10 * 0.866, startY - 7],
|
||||
[model.position.x - startX - 14, startY]
|
||||
]
|
||||
},
|
||||
style: {
|
||||
@ -30,15 +32,15 @@ class EPatternFilter extends Group {
|
||||
}
|
||||
});
|
||||
this.patternFilter2 = new Polygon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.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]
|
||||
[model.position.x + startX, startY],
|
||||
[model.position.x + startX, startY - 14],
|
||||
[model.position.x + startX + 14, startY - 14],
|
||||
[model.position.x + startX + 14 + 10 * 0.866, startY - 7],
|
||||
[model.position.x + startX + 14, startY]
|
||||
]
|
||||
},
|
||||
style: {
|
||||
@ -52,6 +54,10 @@ class EPatternFilter extends Group {
|
||||
setColor(color) {
|
||||
this.patternFilter1.setStyle('fill', color);
|
||||
}
|
||||
|
||||
recover() {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
export default EPatternFilter;
|
||||
|
@ -11,17 +11,24 @@ class EReentry extends Group {
|
||||
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
this.isNew = true;
|
||||
|
||||
const reentryH = style.StationStand.reentry.mergentR;
|
||||
const isRight = model.right ? -1 : 1;
|
||||
const reentryX = model.position.x - (style.StationStand.reentry.position || isRight) * (style.StationStand.reentry.offset.x - model.width / 2);
|
||||
const reentryY = model.position.y + (style.StationStand.reentry.position || isRight) * (style.StationStand.reentry.offset.y) + isRight * reentryH;
|
||||
|
||||
this.reentry = new Polygon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
points: flashlight(model.x, model.y, model.drict, 10, 5, 0, 0, 4)
|
||||
points: flashlight(reentryX, reentryY, isRight, 10, 5, 0, 0, 4)
|
||||
},
|
||||
style: {
|
||||
lineWidth: model.lineWidth,
|
||||
fill: model.fill
|
||||
lineWidth: 0,
|
||||
fill: style.StationStand.reentry.noHumanColor
|
||||
}
|
||||
});
|
||||
|
||||
@ -42,6 +49,27 @@ class EReentry extends Group {
|
||||
this.create();
|
||||
this.reentry.show();
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
|
||||
execOperation(type) {
|
||||
const style = this.model.style;
|
||||
switch (type) {
|
||||
case 'noHumanReentry': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.reentry.noHumanColor);
|
||||
break;
|
||||
}
|
||||
case 'autoChangeEnds': {
|
||||
this.showMode();
|
||||
this.setColor(style.StationStand.reentry.autoChangeEndsColor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export default EReentry;
|
||||
|
@ -9,40 +9,47 @@ class ESafeEmergent extends Group {
|
||||
super();
|
||||
this.model = model;
|
||||
this.isNew = false;
|
||||
if (this.model.style.StationStand.standEmergent.special) {
|
||||
if (this.model.style.StationStand.emergent.special) {
|
||||
this.create();
|
||||
}
|
||||
}
|
||||
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
|
||||
const emergentOffset = model.inside ? style.StationStand.emergent.insideOffset : style.StationStand.emergent.outsideOffset;
|
||||
const emergentH = model.right ? 1 : -1;
|
||||
const emergentX = model.position.x + emergentH * emergentOffset.x;
|
||||
const emergentY = model.position.y + emergentH * emergentOffset.y;
|
||||
|
||||
model.r = style.StationStand.emergent.mergentR;
|
||||
model.n = style.StationStand.emergent.mergentN;
|
||||
this.isNew = true;
|
||||
if (style.StationStand.standEmergent.radiusR) {
|
||||
if (style.StationStand.emergent.radiusR) {
|
||||
const rotation = model.right == 1 ? Math.PI / 2 : Math.PI * 3 / 2;
|
||||
this.emergent = new Polygon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
origin: [model.x, model.y],
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
origin: [emergentX, emergentY],
|
||||
rotation: rotation,
|
||||
shape: {
|
||||
points: arrow(model.x, model.y, style.StationStand.standEmergent.width, style.StationStand.standEmergent.radiusR * 0.8)
|
||||
points: arrow(emergentX, emergentY, style.StationStand.emergent.width, style.StationStand.emergent.radiusR * 0.8)
|
||||
},
|
||||
style: {
|
||||
stroke: style.StationStand.standEmergent.closeColor,
|
||||
fill: style.StationStand.standEmergent.closeColor
|
||||
stroke: style.StationStand.emergent.closeColor,
|
||||
fill: style.StationStand.emergent.closeColor
|
||||
}
|
||||
});
|
||||
this.add(this.emergent);
|
||||
} else {
|
||||
this.emergent = new Isogon({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
x: emergentX,
|
||||
y: emergentY,
|
||||
r: model.r,
|
||||
n: model.n
|
||||
},
|
||||
@ -50,47 +57,47 @@ class ESafeEmergent extends Group {
|
||||
lineWidth: 0
|
||||
}
|
||||
});
|
||||
if (style.StationStand.standEmergent.special) {
|
||||
if (style.StationStand.emergent.special) {
|
||||
this.emergent.setStyle('lineWidth', 2);
|
||||
this.emergent.setStyle('stroke', style.StationStand.standEmergent.defaultColor);
|
||||
this.emergent.setStyle('stroke', style.StationStand.emergent.defaultColor);
|
||||
} else {
|
||||
this.emergent.setStyle('stroke', style.StationStand.standEmergent.closeColor);
|
||||
this.emergent.setStyle('fill', style.StationStand.standEmergent.closeColor);
|
||||
this.emergent.setStyle('stroke', style.StationStand.emergent.closeColor);
|
||||
this.emergent.setStyle('fill', style.StationStand.emergent.closeColor);
|
||||
}
|
||||
this.add(this.emergent);
|
||||
if (style.StationStand.standEmergent.special) {
|
||||
if (style.StationStand.emergent.special) {
|
||||
// r*Math.r*cos(Math.PI/180*22.5)
|
||||
// Math.sin(Math.PI/180*50)
|
||||
// Math.cos(Math.PI/180*50)
|
||||
this.emergent.rotation = Math.PI / 8;
|
||||
this.emergent.origin = [model.x, model.y];
|
||||
this.emergent.origin = [emergentX, emergentY];
|
||||
this.emergent.dirty();
|
||||
this.emergentLine1 = new Line({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape:{
|
||||
x1:model.x - model.r * 0.5939,
|
||||
y1:model.y - model.r * 0.7077,
|
||||
x2:model.x + model.r * 0.5939,
|
||||
y2:model.y + model.r * 0.7077
|
||||
x1:emergentX - model.r * 0.5939,
|
||||
y1:emergentY - model.r * 0.7077,
|
||||
x2:emergentX + model.r * 0.5939,
|
||||
y2:emergentY + model.r * 0.7077
|
||||
},
|
||||
style:{
|
||||
lineWidth:2,
|
||||
stroke:style.StationStand.standEmergent.defaultColor
|
||||
stroke:style.StationStand.emergent.defaultColor
|
||||
}
|
||||
});
|
||||
this.emergentLine2 = new Line({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape:{
|
||||
x1:model.x + model.r * 0.5939,
|
||||
y1:model.y - model.r * 0.7077,
|
||||
x2:model.x - model.r * 0.5939,
|
||||
y2:model.y + model.r * 0.7077
|
||||
x1:emergentX + model.r * 0.5939,
|
||||
y1:emergentY - model.r * 0.7077,
|
||||
x2:emergentX - model.r * 0.5939,
|
||||
y2:emergentY + model.r * 0.7077
|
||||
},
|
||||
style:{
|
||||
lineWidth:2,
|
||||
stroke:style.StationStand.standEmergent.defaultColor
|
||||
stroke:style.StationStand.emergent.defaultColor
|
||||
}
|
||||
});
|
||||
this.add(this.emergentLine1);
|
||||
@ -101,7 +108,7 @@ class ESafeEmergent extends Group {
|
||||
}
|
||||
|
||||
hideMode() {
|
||||
if (!this.model.style.StationStand.standEmergent.special) {
|
||||
if (!this.model.style.StationStand.emergent.special) {
|
||||
this.emergent && this.emergent.hide();
|
||||
}
|
||||
}
|
||||
@ -114,6 +121,10 @@ class ESafeEmergent extends Group {
|
||||
getElement() {
|
||||
return this.emergent;
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
}
|
||||
|
||||
export default ESafeEmergent;
|
||||
|
@ -1,111 +0,0 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
|
||||
class ESafeStand extends Group {
|
||||
constructor(model) {
|
||||
super();
|
||||
this.model = model;
|
||||
this.create();
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const style = this.model.style;
|
||||
// model.x /y 是整个坐标左上角起点
|
||||
if (style.StationStand.common.special) {
|
||||
this.stand1 = new Rect({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
shape: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
width: model.width / 4 - 2,
|
||||
height: model.height
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.stand.lineWidth || 0,
|
||||
stroke: style.StationStand.stand.spareStrokeColor || style.sidelineColor,
|
||||
fill: style.StationStand.stand.spareColor
|
||||
}
|
||||
});
|
||||
this.stand2 = new Rect({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
shape: {
|
||||
x: model.x + model.width * 3 / 4,
|
||||
y: model.y,
|
||||
width: model.width / 4 - 2,
|
||||
height: model.height
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.stand.lineWidth || 0,
|
||||
stroke: style.StationStand.stand.spareStrokeColor || style.sidelineColor,
|
||||
fill: style.StationStand.stand.spareColor
|
||||
}
|
||||
});
|
||||
let height = model.inside ? 7 : -12;
|
||||
if (model.right) {
|
||||
if (model.inside) {
|
||||
height = -12;
|
||||
} else {
|
||||
height = 7;
|
||||
}
|
||||
} else {
|
||||
if (model.inside) {
|
||||
height = 7;
|
||||
} else {
|
||||
height = -12;
|
||||
}
|
||||
}
|
||||
this.standText = new Text({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
style: {
|
||||
x: model.x + model.width / 2,
|
||||
y: model.y + height,
|
||||
fontSize: style.StationStand.stand.headFontSize,
|
||||
text: model.name,
|
||||
textFill: style.StationStand.stand.textFill,
|
||||
textPosition: 'inside',
|
||||
textAlign: 'center'
|
||||
}
|
||||
});
|
||||
this.add(this.stand1);
|
||||
this.add(this.stand2);
|
||||
this.add(this.standText);
|
||||
} else {
|
||||
this.stand = new Rect({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
shape: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
width: model.width,
|
||||
height: model.height
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.stand.lineWidth || 0,
|
||||
stroke: style.StationStand.stand.spareStrokeColor || style.sidelineColor
|
||||
}
|
||||
});
|
||||
if (style.StationStand.common.standType && style.StationStand.common.standType == 'notFill') {
|
||||
this.stand && this.stand.setStyle('lineWidth', 2);
|
||||
} else {
|
||||
this.stand && this.stand.setStyle('fill', style.StationStand.stand.spareColor);
|
||||
}
|
||||
this.add(this.stand);
|
||||
}
|
||||
}
|
||||
|
||||
setColor(color) {
|
||||
const style = this.model.style;
|
||||
if (style.StationStand.common.standType && style.StationStand.common.standType == 'notFill') {
|
||||
this.stand && this.stand.setStyle('stroke', color);
|
||||
} else {
|
||||
this.stand && this.stand.setStyle('fill', color);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default ESafeStand;
|
78
src/jmapNew/shape/StationStand/ESafeStand/EGapStand.js
Normal file
78
src/jmapNew/shape/StationStand/ESafeStand/EGapStand.js
Normal file
@ -0,0 +1,78 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||
import Text from 'zrender/src/graphic/Text';
|
||||
|
||||
class EGapStand extends Group {
|
||||
constructor(model) {
|
||||
super();
|
||||
this.model = model;
|
||||
this.create();
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const style = this.model.style;
|
||||
this.stand1 = new Rect({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z + 1,
|
||||
shape: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
width: model.width / 4 - 2,
|
||||
height: model.height
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.safeStand.lineWidth || 0,
|
||||
stroke: style.StationStand.safeStand.spareStrokeColor || style.sidelineColor,
|
||||
fill: style.StationStand.safeStand.spareColor
|
||||
}
|
||||
});
|
||||
this.stand2 = new Rect({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z + 1,
|
||||
shape: {
|
||||
x: model.x + model.width * 3 / 4,
|
||||
y: model.y,
|
||||
width: model.width / 4 - 2,
|
||||
height: model.height
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.safeStand.lineWidth || 0,
|
||||
stroke: style.StationStand.safeStand.spareStrokeColor || style.sidelineColor,
|
||||
fill: style.StationStand.safeStand.spareColor
|
||||
}
|
||||
});
|
||||
let height = model.inside ? 7 : -12;
|
||||
if (model.right) {
|
||||
if (model.inside) {
|
||||
height = -12;
|
||||
} else {
|
||||
height = 7;
|
||||
}
|
||||
} else {
|
||||
if (model.inside) {
|
||||
height = 7;
|
||||
} else {
|
||||
height = -12;
|
||||
}
|
||||
}
|
||||
this.standText = new Text({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
style: {
|
||||
x: model.x + model.width / 2,
|
||||
y: model.y + height,
|
||||
fontSize: style.StationStand.safeStand.headFontSize,
|
||||
text: model.name,
|
||||
textFill: style.StationStand.safeStand.textFill,
|
||||
textPosition: 'inside',
|
||||
textAlign: 'center'
|
||||
}
|
||||
});
|
||||
this.add(this.stand1);
|
||||
this.add(this.stand2);
|
||||
this.add(this.standText);
|
||||
}
|
||||
}
|
||||
|
||||
export default EGapStand;
|
93
src/jmapNew/shape/StationStand/ESafeStand/index.js
Normal file
93
src/jmapNew/shape/StationStand/ESafeStand/index.js
Normal file
@ -0,0 +1,93 @@
|
||||
import Group from 'zrender/src/container/Group';
|
||||
import Rect from 'zrender/src/graphic/shape/Rect';
|
||||
import EGapStand from './EGapStand';
|
||||
|
||||
class ESafeStand extends Group {
|
||||
constructor(model) {
|
||||
super();
|
||||
this.model = model;
|
||||
this.create();
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
const standX = model.position.x - model.width / 2;
|
||||
const standY = model.position.y - model.height / 2;
|
||||
|
||||
// model.x /y 是整个坐标左上角起点
|
||||
if (style.StationStand.safeStand.special) {
|
||||
// 有间隔的站台 哈尔滨线路暂时使用
|
||||
this.gapStand = new EGapStand({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z + 2,
|
||||
x:standX,
|
||||
y:standY,
|
||||
style:style,
|
||||
width:model.width,
|
||||
height:model.height,
|
||||
inside:model.inside,
|
||||
right:model.right,
|
||||
name:model.name
|
||||
});
|
||||
this.add(this.gapStand);
|
||||
} else {
|
||||
this.stand = new Rect({
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
x: standX,
|
||||
y: standY,
|
||||
width: model.width,
|
||||
height: model.height
|
||||
},
|
||||
style: {
|
||||
lineWidth: style.StationStand.safeStand.lineWidth || 0,
|
||||
stroke: style.StationStand.safeStand.spareStrokeColor || style.sidelineColor
|
||||
}
|
||||
});
|
||||
if (style.StationStand.safeStand.standType && style.StationStand.safeStand.standType == 'notFill') {
|
||||
this.stand && this.stand.setStyle('lineWidth', 2);
|
||||
} else {
|
||||
this.stand && this.stand.setStyle('fill', style.StationStand.safeStand.spareColor);
|
||||
}
|
||||
this.add(this.stand);
|
||||
}
|
||||
}
|
||||
|
||||
setColor(color) {
|
||||
const style = this.model.style;
|
||||
if (style.StationStand.safeStand.standType && style.StationStand.safeStand.standType == 'notFill') {
|
||||
this.stand && this.stand.setStyle('stroke', color);
|
||||
} else {
|
||||
this.stand && this.stand.setStyle('fill', color);
|
||||
}
|
||||
}
|
||||
|
||||
recover() {
|
||||
const style = this.model.style;
|
||||
if (!style.StationStand.safeStand.special) {
|
||||
this.setColor(style.StationStand.safeStand.spareColor);
|
||||
}
|
||||
}
|
||||
|
||||
execOperation(type) {
|
||||
const style = this.model.style;
|
||||
switch (type) {
|
||||
case 'designatedJumpStop': {
|
||||
this.setColor(style.StationStand.safeStand.designatedJumpStopColor);
|
||||
break;
|
||||
}
|
||||
case 'jumpStop': {
|
||||
this.setColor(style.StationStand.safeStand.jumpStopColor);
|
||||
break;
|
||||
}
|
||||
case 'trainStop': {
|
||||
this.setColor(style.StationStand.safeStand.stopColor);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default ESafeStand;
|
@ -10,20 +10,24 @@ class ETime extends Group {
|
||||
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
|
||||
const timeDrict = model.right ? 1 : -1;
|
||||
const timeX = model.position.x + style.StationStand.stopTime.position * timeDrict * (style.StationStand.stopTime.offset.x - model.width / 2);
|
||||
const timeY = model.position.y + timeDrict * (style.StationStand.stopTime.offset.y - model.height / 2);
|
||||
|
||||
this.isNew = true;
|
||||
this.time = new Text({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
style: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
x: timeX,
|
||||
y: timeY,
|
||||
fontWeight: style.textStyle.fontWeight,
|
||||
fontSize: style.StationStand.common.textFontSize,
|
||||
fontSize: style.StationStand.stopTime.textFontSize,
|
||||
fontFamily: style.fontFamily,
|
||||
text: model.name,
|
||||
text: model.parkingTime || '30',
|
||||
textFill: style.StationStand.stopTime.textColor,
|
||||
textAlign: style.textStyle.textAlign,
|
||||
textVerticalAlign: style.textStyle.textVerticalAlign
|
||||
@ -51,6 +55,10 @@ class ETime extends Group {
|
||||
this.create();
|
||||
this.time && this.time.show();
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
}
|
||||
|
||||
export default ETime;
|
||||
|
@ -9,15 +9,21 @@ class ETrainDepart extends Group {
|
||||
}
|
||||
|
||||
create() {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
|
||||
const trainDepartOffset = model.inside ? style.StationStand.trainDepart.insideOffset : style.StationStand.trainDepart.outsideOffset;
|
||||
const trainDepartH = model.right ? 1 : -1;
|
||||
const departX = model.position.x + trainDepartH * trainDepartOffset.x;
|
||||
const departY = model.position.y + trainDepartH * trainDepartOffset.y;
|
||||
|
||||
this.trainDepart = new Text({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
position: [0, 0],
|
||||
style: {
|
||||
x: model.x,
|
||||
y: model.y,
|
||||
x: departX,
|
||||
y: departY,
|
||||
text: '000',
|
||||
textAlign: style.textStyle.textAlign,
|
||||
fontSize: style.StationStand.trainDepart.fontSize,
|
||||
@ -49,7 +55,10 @@ class ETrainDepart extends Group {
|
||||
}
|
||||
this.trainDepart.setStyle('text', remainTime);
|
||||
this.trainDepart.show();
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -10,15 +10,21 @@ class ETrainStop extends Group {
|
||||
|
||||
create() {
|
||||
if (!this.isNew) {
|
||||
const model = this.model;
|
||||
const model = this.model.modelData;
|
||||
const style = this.model.style;
|
||||
this.isNew = true;
|
||||
|
||||
const stopTrainOffset = model.inside ? style.StationStand.trainStop.insideOffset : style.StationStand.trainStop.outsideOffset;
|
||||
const stopTrainH = model.right ? 1 : -1;
|
||||
const stopX = model.position.x + stopTrainH * stopTrainOffset.x;
|
||||
const stopY = model.position.y + stopTrainH * stopTrainOffset.y;
|
||||
|
||||
this.trainStop = new Arc({
|
||||
zlevel: model.zlevel,
|
||||
z: model.z,
|
||||
zlevel: this.model.zlevel,
|
||||
z: this.model.z,
|
||||
shape: {
|
||||
cx: model.x,
|
||||
cy: model.y,
|
||||
cx: stopX,
|
||||
cy: stopY,
|
||||
r: style.StationStand.trainStop.radiusR
|
||||
},
|
||||
style: {
|
||||
@ -43,6 +49,10 @@ class ETrainStop extends Group {
|
||||
this.create();
|
||||
this.trainStop.show();
|
||||
}
|
||||
|
||||
recover() {
|
||||
this.hideMode();
|
||||
}
|
||||
}
|
||||
|
||||
export default ETrainStop;
|
||||
|
@ -3,7 +3,7 @@ import ETime from './ETime';
|
||||
import ELevel from './ELevel';
|
||||
import EReentry from './EReentry';
|
||||
import EDetain from './EDetain';
|
||||
import ESafeStand from './ESafeStand';
|
||||
import ESafeStand from './ESafeStand/index';
|
||||
import ESafeEmergent from './ESafeEmergent';
|
||||
import EMouse from './EMouse';
|
||||
import EJump from './EJump';
|
||||
@ -26,7 +26,6 @@ class StationStand extends Group {
|
||||
this.zlevel = model.zlevel;
|
||||
this.z = 1;
|
||||
this.isShowShape = true;
|
||||
this.doors = new Group();
|
||||
this.create();
|
||||
this.createMouseEvent();
|
||||
if (isShowThePrdType(model.prdType, style.StationStand.common.functionButtonShow) || model.previewOrMapDraw) {
|
||||
@ -42,206 +41,33 @@ class StationStand extends Group {
|
||||
create() {
|
||||
const model = this.model;
|
||||
const style = this.style;
|
||||
|
||||
/** 列车站台*/
|
||||
const standX = model.position.x - model.width / 2;
|
||||
const standY = model.position.y - model.height / 2;
|
||||
this.safeStand = new ESafeStand({
|
||||
// // 站台所有的绘图元素
|
||||
const elementTypeList = {
|
||||
'safeStand':ESafeStand, // 列车站台图形
|
||||
'emergent':ESafeEmergent, // 站台紧急关闭
|
||||
'detainCarNormal':EDetain, // 普通扣车图标
|
||||
'detainCircle':EDetainCircle, // 圆形扣车图标
|
||||
'detainRect':EDetainRect, // 矩形扣车图标
|
||||
'stopTime':ETime, // 停站时间
|
||||
'level':ELevel, // 运行等级
|
||||
'patternFilter':EPatternFilter, // 模式筛选标识(西安二号线特殊的情况)
|
||||
'jump':EJump, // 列车停跳
|
||||
'reentry':EReentry, // 站台折返策略
|
||||
'trainStop':ETrainStop, // 列车停站
|
||||
'trainDepart':ETrainDepart// 列车出发
|
||||
};
|
||||
// 遍历当前线路下的绘图元素
|
||||
const currentTypeList = style.StationStand.elemnetType;
|
||||
currentTypeList.forEach(element => {
|
||||
const ClassName = elementTypeList[element];
|
||||
this[element] = new ClassName({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z,
|
||||
z: this.z + style.StationStand[element].z,
|
||||
style: style,
|
||||
x: standX,
|
||||
y: standY,
|
||||
name: model.name,
|
||||
inside: model.inside,
|
||||
right: model.right,
|
||||
width: model.width,
|
||||
height: model.height
|
||||
modelData:model
|
||||
});
|
||||
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[element]);
|
||||
});
|
||||
this.add(this.patternFilter);
|
||||
}
|
||||
|
||||
/** 站台紧急关闭*/
|
||||
const emergentOffset = model.inside ? style.StationStand.standEmergent.insideOffset : style.StationStand.standEmergent.outsideOffset;
|
||||
const emergentH = model.right ? 1 : -1;
|
||||
const emergentX = model.position.x + emergentH * emergentOffset.x;
|
||||
const emergentY = model.position.y + emergentH * emergentOffset.y;
|
||||
this.emergent = new ESafeEmergent({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
inside: model.inside,
|
||||
right: model.right,
|
||||
width: model.width,
|
||||
x: emergentX,
|
||||
y: emergentY,
|
||||
r: style.StationStand.standEmergent.mergentR,
|
||||
n: style.StationStand.standEmergent.mergentN
|
||||
});
|
||||
this.add(this.emergent);
|
||||
|
||||
// 列车停站
|
||||
if (style.StationStand.trainStop.insideOffset) {
|
||||
const stopTrainOffset = model.inside ? style.StationStand.trainStop.insideOffset : style.StationStand.trainStop.outsideOffset;
|
||||
const stopTrainH = model.right ? 1 : -1;
|
||||
const stopX = model.position.x + stopTrainH * stopTrainOffset.x;
|
||||
const stopY = model.position.y + stopTrainH * stopTrainOffset.y;
|
||||
if (style.StationStand.trainStop.insideOffset) {
|
||||
this.trainStop = new ETrainStop({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
x: stopX,
|
||||
y: stopY
|
||||
});
|
||||
this.add(this.trainStop);
|
||||
}
|
||||
}
|
||||
|
||||
// 列车出发
|
||||
if (style.StationStand.trainDepart.insideOffset) {
|
||||
const trainDepartOffset = model.inside ? style.StationStand.trainDepart.insideOffset : style.StationStand.trainDepart.outsideOffset;
|
||||
const trainDepartH = model.right ? 1 : -1;
|
||||
const departX = model.position.x + trainDepartH * trainDepartOffset.x;
|
||||
const departY = model.position.y + trainDepartH * trainDepartOffset.y;
|
||||
this.trainDepart = new ETrainDepart({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
width: model.width,
|
||||
x: departX,
|
||||
y: departY
|
||||
});
|
||||
this.add(this.trainDepart);
|
||||
}
|
||||
|
||||
/** 站台折返策略*/
|
||||
if (style.StationStand.reentry.offset) {
|
||||
const reentryH = style.StationStand.standEmergent.mergentR;
|
||||
const isRight = model.right ? -1 : 1;
|
||||
const reentryX = model.position.x - (style.StationStand.reentry.position || isRight) * (style.StationStand.reentry.offset.x - model.width / 2);
|
||||
const reentryY = model.position.y + (style.StationStand.reentry.position || isRight) * (style.StationStand.reentry.offset.y) + isRight * reentryH;
|
||||
this.reentry = new EReentry({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
drict: isRight,
|
||||
x: reentryX,
|
||||
y: reentryY,
|
||||
lineWidth: 0,
|
||||
fill: style.StationStand.reentry.noHumanColor
|
||||
});
|
||||
this.add(this.reentry);
|
||||
}
|
||||
|
||||
if (style.StationStand.detainCar.specialShape === 'circle') {
|
||||
const detainD = model.right ? 1 : -1;
|
||||
this.detainCircle = new EDetainCircle({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z,
|
||||
style: style,
|
||||
x: model.position.x + (model.width / 2) * detainD + detainD * style.StationStand.detainCar.offset.x + detainD * style.StationStand.detainCar.circleWidth / 2,
|
||||
y: model.position.y,
|
||||
radius:style.StationStand.detainCar.circleWidth / 2
|
||||
});
|
||||
this.add(this.detainCircle);
|
||||
} else if (style.StationStand.detainCar.specialShape === 'rect') {
|
||||
this.detainRect = new EDetainRect({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z,
|
||||
style: style,
|
||||
x: standX,
|
||||
y: standY,
|
||||
inside: model.inside,
|
||||
right: model.right,
|
||||
width: model.width,
|
||||
height: model.height
|
||||
});
|
||||
this.add(this.detainRect);
|
||||
} else {
|
||||
/** 站台扣车*/
|
||||
const detainD = model.right ? 1 : -1;
|
||||
const detainX = model.position.x - 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) {
|
||||
const timeDrict = model.right ? 1 : -1;
|
||||
const timeX = model.position.x + style.StationStand.stopTime.position * timeDrict * (style.StationStand.stopTime.offset.x - model.width / 2);
|
||||
const timeY = model.position.y + timeDrict * (style.StationStand.stopTime.offset.y - model.height / 2);
|
||||
this.time = new ETime({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
x: timeX,
|
||||
y: timeY,
|
||||
name: model.parkingTime || '30'
|
||||
});
|
||||
this.add(this.time);
|
||||
}
|
||||
|
||||
/** 运行等级*/
|
||||
const levelDrict = model.right ? 1 : -1;
|
||||
const levelX = model.position.x - levelDrict * (style.StationStand.level.offset.x - model.width / 2);
|
||||
const levelY = model.position.y + levelDrict * (style.StationStand.level.offset.y);
|
||||
this.level = new ELevel({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
x: levelX,
|
||||
y: levelY,
|
||||
name: model.runLevelTime || '5'
|
||||
});
|
||||
this.add(this.level);
|
||||
|
||||
/** 列车停跳 */
|
||||
if (style.StationStand.common.haveJumpShow) {
|
||||
const jumpDirct = model.right ? -1 : 1;
|
||||
const jumpX = model.position.x - jumpDirct * (style.StationStand.jump.offset.x - model.width / 2);
|
||||
const jumpY = model.position.y + jumpDirct * style.StationStand.jump.offset.y;
|
||||
const jumpCX = model.position.x - jumpDirct * (style.StationStand.jump.offset.x - model.width / 2);
|
||||
const jumpCY = model.position.y + jumpDirct * style.StationStand.jump.offset.y;
|
||||
this.jump = new EJump({
|
||||
zlevel: this.zlevel,
|
||||
z: this.z + 1,
|
||||
style: style,
|
||||
x: jumpX,
|
||||
y: jumpY,
|
||||
cx: jumpCX,
|
||||
cy: jumpCY,
|
||||
width: model.width,
|
||||
inside: model.inside,
|
||||
right: model.right
|
||||
});
|
||||
this.add(this.jump);
|
||||
}
|
||||
}
|
||||
|
||||
createMouseEvent() {
|
||||
@ -252,6 +78,7 @@ class StationStand extends Group {
|
||||
this.on('mouseover', (e) => { this.mouseEvent.mouseover(e); });
|
||||
}
|
||||
}
|
||||
|
||||
createFunctionButton() {
|
||||
const model = this.model;
|
||||
const style = this.style;
|
||||
@ -386,29 +213,16 @@ class StationStand extends Group {
|
||||
|
||||
/** 恢复初始状态*/
|
||||
recover() {
|
||||
this.time && this.time.hideMode();
|
||||
this.level && this.level.hideMode();
|
||||
this.detain && this.detain.hideMode();
|
||||
this.emergent && this.emergent.hideMode();
|
||||
this.trainStop && this.trainStop.hideMode(); // 列车停站
|
||||
this.trainDepart && this.trainDepart.hideMode();
|
||||
this.reentry && this.reentry.hideMode();
|
||||
this.jump && this.jump.hideMode();
|
||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.defaultColor);
|
||||
this.detainRect && this.detainRect.setHide();
|
||||
}
|
||||
|
||||
/** 空闲*/
|
||||
spare() {
|
||||
if (!this.style.StationStand.common.special) {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.spareColor);
|
||||
}
|
||||
const currentTypeList = this.style.StationStand.elemnetType;
|
||||
currentTypeList.forEach(element => {
|
||||
this[element].recover();
|
||||
});
|
||||
}
|
||||
|
||||
/** 列车停站*/
|
||||
stop() {
|
||||
if (!this.style.StationStand.common.special) {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.stopColor);
|
||||
if (!this.style.StationStand.safeStand.special) {
|
||||
this.safeStand && this.safeStand.execOperation('trainStop');
|
||||
} else {
|
||||
this.trainStop && this.trainStop.showMode();
|
||||
this.trainDepart && this.trainDepart.showMode(this.model.remainTime);
|
||||
@ -417,21 +231,21 @@ class StationStand extends Group {
|
||||
|
||||
/** 车门开启 */
|
||||
doorOpen() {
|
||||
if (this.style.StationStand.stand.doorOpenColor) {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.doorOpenColor);
|
||||
if (this.style.StationStand.safeStand.doorOpenColor) {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.safeStand.doorOpenColor);
|
||||
}
|
||||
}
|
||||
|
||||
/** 站台紧急关闭*/
|
||||
emergentClose() {
|
||||
if (!this.style.StationStand.common.special) {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.spareColor);
|
||||
if (!this.style.StationStand.safeStand.special) {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.safeStand.spareColor);
|
||||
}
|
||||
this.emergent && this.emergent.showMode();
|
||||
if (this.style.StationStand.standEmergent.flicker) {
|
||||
if (this.style.StationStand.emergent.flicker) {
|
||||
this.emergent.getElement().animateStyle(true)
|
||||
.when(0, { fill: this.style.backgroundColor })
|
||||
.when(1000, { fill: this.style.StationStand.standEmergent.closeColor })
|
||||
.when(1000, { fill: this.style.StationStand.emergent.closeColor })
|
||||
.when(2000, { fill: this.style.backgroundColor })
|
||||
.start();
|
||||
}
|
||||
@ -439,47 +253,41 @@ class StationStand extends Group {
|
||||
|
||||
/** 指定列车跳站*/
|
||||
designatedJumpStop() {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.designatedJumpStopColor);
|
||||
this.safeStand && this.safeStand.execOperation('designatedJumpStop');
|
||||
this.jump && this.jump.showMode(0);
|
||||
}
|
||||
|
||||
/** 站台跳停*/
|
||||
jumpStop() {
|
||||
this.safeStand && this.safeStand.setColor(this.style.StationStand.stand.jumpStopColor);
|
||||
this.safeStand && this.safeStand.execOperation('jumpStop');
|
||||
this.jump && this.jump.showMode(1);
|
||||
}
|
||||
|
||||
/** 车站扣车*/
|
||||
standDetainTrain() {
|
||||
this.detain && this.detain.showMode();
|
||||
this.detain && this.detain.setColor(this.style.StationStand.detainCar.detainTrainTextColor);
|
||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||
this.detainRect && this.detainRect.setShow();
|
||||
this.detainRect && this.detainRect.setColor(this.style.StationStand.detainCar.detainTrainTextColor);
|
||||
this.detainCarNormal && this.detainCarNormal.holdTrain('trainDetain');
|
||||
this.detainCircle && this.detainCircle.holdTrain('trainDetain');
|
||||
this.detainRect && this.detainRect.holdTrain('trainDetain');
|
||||
}
|
||||
|
||||
/** 中心扣车*/
|
||||
centerDetainTrain() {
|
||||
this.detain && this.detain.showMode();
|
||||
this.detain && this.detain.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||
this.detainRect && this.detainRect.setShow();
|
||||
this.detainRect && this.detainRect.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||
this.detainCarNormal && this.detainCarNormal.holdTrain('centerDetain');
|
||||
this.detainRect && this.detainRect.holdTrain('centerDetain');
|
||||
this.detainCircle && this.detainCircle.holdTrain('centerDetain');
|
||||
}
|
||||
|
||||
/** 中心+车站扣车*/
|
||||
standAndCenterDetainTrain() {
|
||||
this.detain && this.detain.showMode();
|
||||
this.detain && this.detain.setColor(this.style.StationStand.detainCar.andCenterTrainColor);
|
||||
this.detainCircle && this.detainCircle.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||
this.detainRect && this.detainRect.setShow();
|
||||
this.detainRect && this.detainRect.setColor(this.style.StationStand.detainCar.centerTrainColor);
|
||||
this.detainCarNormal && this.detainCarNormal.holdTrain('centerAndTrain');
|
||||
this.detainRect && this.detainRect.holdTrain('centerAndTrain');
|
||||
this.detainCircle && this.detainCircle.holdTrain('centerAndTrain');
|
||||
}
|
||||
|
||||
/** 人工设置停战时间*/
|
||||
setManuallyArmisticeTime(val) {
|
||||
this.time && this.time.showMode();
|
||||
this.time && this.time.setName(val);
|
||||
this.stopTime && this.stopTime.showMode();
|
||||
this.stopTime && this.stopTime.setName(val);
|
||||
}
|
||||
|
||||
/** 人工设置运行等级*/
|
||||
@ -495,20 +303,18 @@ class StationStand extends Group {
|
||||
|
||||
/** 无人折返*/
|
||||
noHumanReentry() {
|
||||
this.reentry && this.reentry.showMode();
|
||||
this.reentry && this.reentry.setColor(this.style.StationStand.reentry.noHumanColor);
|
||||
this.reentry && this.reentry.execOperation('noHumanReentry');
|
||||
}
|
||||
/** 自动换端*/
|
||||
autoChangeEnds() {
|
||||
this.reentry && this.reentry.showMode();
|
||||
this.reentry && this.reentry.setColor(this.style.StationStand.reentry.autoChangeEndsColor);
|
||||
this.reentry && this.reentry.execOperation('autoChangeEnds');
|
||||
}
|
||||
|
||||
setState(model) {
|
||||
if (!this.isShowShape) return;
|
||||
// 新版地图使用新版状态变更方式
|
||||
// // 新版地图使用新版状态变更方式
|
||||
this.recover();
|
||||
!model.trainParking && this.spare(); /** 空闲*/
|
||||
|
||||
model.trainParking && this.stop(); /** 列车停站*/
|
||||
model.emergencyClosed && this.emergentClose(); /** 站台紧急关闭*/
|
||||
|
||||
|
@ -499,7 +499,6 @@ export default class Switch extends Group {
|
||||
setSectionState(section, style, state) {
|
||||
// && !section.animators.length
|
||||
if (section && section.ignore) {
|
||||
console.log(22222222222);
|
||||
const sectionA = store.getters['map/getDeviceByCode'](state.sectionACode);
|
||||
/** 空闲 */
|
||||
// section.setStyle(style, this.style.Section.line.spareColor);
|
||||
@ -552,7 +551,6 @@ export default class Switch extends Group {
|
||||
this.setInversionAction(model); /** 反位*/
|
||||
} else {
|
||||
this.setLossAction(); // 失去
|
||||
console.log(333333333333333);
|
||||
}
|
||||
model.isCiConfirm && this.setCiConfirm(); // 道岔使能显示
|
||||
this.setSwitchFault(model.split);
|
||||
|
Loading…
Reference in New Issue
Block a user