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