import defaultStyle from '../defaultStyle'; import deviceType from '../../constant/deviceType'; class SkinCode extends defaultStyle { constructor() { super(); this[deviceType.Section] = { active: { routeColor: true // 进路触发颜色 }, text: { show: true, // 物理区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 10, // 文字离区段距离 fontSize: 12, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, logicText: { show: false, // 逻辑区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 12, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, switchText: { show: false, // 道岔区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 18, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, standText: { show: true, // 站台轨名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 24, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, reentryText: { show: true, // 折返轨名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 36, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, transferText: { show: true, // 转换轨名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 36, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, destinationText: { show: false, // 目的码名称显示 opposite: true, // 对称相反 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 12, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'bold', // 字体粗细 fontColor: 'yellow', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, line: { width: 5, // 区段宽度 beyondWidth: 0, // 区段宽超出宽度 invadeColor: '#FFFFFF', // 区段侵入颜色 spareColor: '#618cc3', // 区段空闲颜色 communicationOccupiedColor: '#FF00FF', // 区段通信车占用颜色 unCommunicationOccupiedColor: '#DE310C', // 区段非通讯车占用颜色 routeLockColor: '#3FFD46', // 区段进路锁定颜色 faultLockColor: '#006400', // 区段故障锁定颜色 undefinedColor: '#0071C1', // 区段未定义颜色 protectionLockedColor: '#3FFD46', // 保护区段锁闭 blockColor: '#00FF00', // 区段封锁颜色 atcExcisionColor: '#A0522D', // 区段atc切除颜色 atsExcisionColor: '#A0522D', // 区段ats切除颜色 timeReleaseColor: '#3F3F3F', // 区段延时释放颜色 protectiveLockColor: '#FFFF00', // 区段保护锁闭 protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁 logicalColor: '#FFFF00', // 逻辑区段颜色 (未用) logicalTextColor: '#C0C0C0' // 逻辑区段名称颜色 (未用) }, axle: { radius: 3, // 计轴 半径 distance: 5, // 计轴和区段之间的距离 (未用) color: '#C0C0C0', // 区段计轴颜色 resetColor: '#00FFFF', // 区段计轴预复位颜色 Failure: '#E6A23C' // #FFFF00 计轴失效 }, speedLimit: { // 限速元素 width: 1, // 限速线的宽度 distance: 5, // 限速线距离区段距离 lineColor: '#C0C000', // 限速线颜色 (黄色透明光) nameBackground: '#C0C000', // 限速名称背景颜色 nameShow: true, // 名称显示 nameNumberColor: '#C00808', // 限速值颜色 nameNumberFontSize: 11, // 限速值大小 kilometerColor: '#fff', // 公里标颜色 kilometerFontSize: 8, // 公里标大小 drogueWidth: 19, // 浮标宽度 drogueHeight: 12 // 浮标高度 }, separator: { z: 6, // 分割符层级 width: 1.5, // 分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度 endColor: '#FFFFFF', // 尽头分隔符颜色 color: '#FFFFFF' // 区段边界符颜色 }, shuttleBack: { // 折返进路 (存在此对象 显示折返箭头) distance: 5 // 限速线距离区段距离 }, block: { special: false, // 区段特殊显示 }, trainPosition:{ display: false // 列车实时位置显示 } }; this[deviceType.Signal] = { distance: 10, // 设备距离区段的距离 post: { standardLength: 6, // 高柱长度 standardHeight: 6, // 灯柱高度 standardColor: '#FFFFFF', // 灯柱颜色 standardWidth: 2 // 灯柱宽度 }, text: { show: true, // 信号机名称显示 distance: 3, // 文字和灯杆的距离 isAlignCenter: false, // 信号字体对其方式 fontSize: 11, // 信号机名称字体大小 fontWeight: 'bold', // 信号机名称字体粗细 defaultColor: '#FFFFFF', // 信号灯字体默认色 blockColor: '#EF0C08', // 信号灯字体锁定颜色 checkColor: '#00FF00' // 信号保护区段检查颜色 }, lamp: { guidName: 'chengdu_03', // 成都三号线引导类型 borderVariable: true, // 信号灯边框可变 stopWidth: 2, // 禁止线宽度 borderWidth: 2, // 信号灯边框线宽度 borderColor: '#3149C3', // 信号灯边框线颜色 radiusR: 6, // 信号灯半径 blockColor: '#EF0C08', // 信号灯锁闭 grayColor: '#7F7F7F', // 信号灯灰色 redColor: '#FF0000', // 信号灯红色 greenColor: '#00FF00', // 信号灯绿色 yellowColor: '#FFFF00', // 信号灯黄色 whiteColor: '#FFFFFF', // 信号灯白色 blueColor: '#0070C0' // 信号灯蓝色 }, route: { direction: true, // 自动通过方向 offset: { x: 4, y: 0}, // 自动通过偏移量 routeColor: '#00FF00' // 自动进路 }, auto: { signalFrontTriangle: true, // 信号灯前三角展示 direction: false, // 自动通过方向 offset: { x: -4, y: 0}, // 自动通过偏移量 width: 5, // 自动宽度 manualControl: '#FFFF00', // 人工控制 autoRoute: '#00FF00', // 自动进路 autoTrigger: '#FFFF00', // 自动触发 outConflict: '#C00808' // 出车冲突 }, delay: { direction: false, // 延时解锁方向 offset: { x: -5, y: 0}, // 延时解锁偏移量 fontSize: 11, // 延迟解锁字体大小 fontColor: '#C00808', // 延迟解锁颜色 fontWeight: 'bold' // 字体粗细 }, button: { distance: 5, // 信号灯按钮距离区段的距离 borderDashColor: '#FFFFFF', // 信号灯按钮边线 buttonColor: 'darkgreen', // 信号灯按钮颜色 buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色 } }; this[deviceType.StationStand] = { common: { // 通用属性 textFontSize: 10, // 站台默认字体大小 haveJumpShow: true, // 站台是否有列车停跳显示 functionButtonShow: ['01'] // 功能灯按钮显示条件(prdType) }, safetyDoor: { // 屏蔽门 height: 3, // 站台屏蔽门高度 distance: 8, // 站台和屏蔽门之间的距离 defaultColor: '#00FF00', // 屏蔽门默认颜色 splitDoorColor: '#C00808' // 屏蔽门切除颜色 }, stand: { // 站台 headFontSize: 10, // 站台首端字体大小 spareColor: '#ffffff', // 站台空闲颜色 stopColor: '#FFF000', // 站台列车停站颜色 jumpStopColor: '#808080', // 站台跳停颜色 designatedJumpStopColor: '#808080' // 站台指定列车跳停颜色 }, standEmergent: { // 紧急关闭 flicker: true, // 闪烁 mergentR: 5, // 站台紧急关闭半径 offset: {x: 0, y: 15}, // 站台紧急关闭偏移量 closeColor: '#F61107' // 站台紧急关闭颜色 }, reentry: { // 站台折返策略 position: 0, // 折返方向 offset: {x: -16, y: 20}, // 折返偏移量 noHumanColor: '#0F16DA', // 站台无人折返 autoChangeEndsColor: '#0BF400' // 站台自动换端 }, detainCar: { // 扣车 text: '扣', // 扣车显示内容 position: -1, // 扣车方向 offset: {x: -8, y: -20}, // 扣车偏移量 trainColor: '#FFFF00', // 车站扣车颜色 centerTrainColor: '#C0C0C0', // 中心扣车颜色 andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色 detainTrainTextColor: '#E4EF50' // 车站扣除文字颜色 }, stopTime: { // 停站时间 position: 1, // 运行时间方向 offset: {x: -8, y: -4}, // 运行时间偏移量 textColor: '#C0C0C0', // 停站时间字体颜色 textFontSize: 12 }, jump: { text: '跳', // 停跳显示内容 position: -1, // 停跳方向 offset: {x: -8, y: 10}, textColor: '#00ffcc', // 停跳文字颜色 arcColor: '#00ffcc', // 停跳圆圈颜色 fillColor: 'rgba(0,0,0,0)', // 透明填充颜色 r: 8 // 圆半径大小 }, level: { // 运行等级 position: 1, // 运行等级方向 offset: {x: -8, y: 15}, // 运行等级偏移量 textColor: '#FFF000' // 停站等级字体颜色 }, text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 lampColor: '#5A5D5A' // 功能按钮颜色 } }; this[deviceType.StationCounter] = { text: { distance: 2, // 计数器名称和文字的距离 fontColor: '#FFFFFF', // 计数器字体颜色 borderColor: '#E4EF50' // 计数器边框颜色 } }; this[deviceType.StationDelayUnlock] = { text: { distance: 3, // 延迟解锁和设备之间的距离 fontColor: '#FFFFFF', // 延时解锁字体颜色 borderColor: '#FFFFFF' // 延迟解锁边框颜色 } }; this[deviceType.Station] = { // text: { // show: true // 公里标名称显示 // }, kmPostShow: false, // 公里标显示 functionButtonShow: ['01'], // 功能灯按钮(引导总锁)显示条件(prdType) kilometerPosition: 'up', // 公里标朝向 text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#FFFF00', // 控制灯颜色 guideColor: '#5A5D5A' // 引导总锁灯颜色 }, turnBack: { // 按图折返 lamp: 1, // 灯数量 lampSpace: 60 // 灯间距 }, StationControl:{ text: { distance: 2, // 灯和文字之间的距离 fontSize: 11, // 字体大小 fontFormat: 'consolas', // 字体格式 fontColor: '#ffffff', // 字体颜色 fontWeight: 'normal', // 字体粗细 textAlign: 'middle', // 字体水平对齐 textVerticalAlign: 'top', // 字体垂直对齐 centerControlText: '中控', // 中控文字内容 substationControlText: '站控', // 站控文字内容 emergencyControlText:'紧急站控', // 紧急站控文字内容 interconnectedControlText:'连锁控' // 连锁控文字内容 // stationCenterControlText: '站中控', // 站中控文字内容 // generalAlarmControlText: '总报警' // 总报警文字内容 }, lamp: { count: 4, // 控制模式的个数 offset: {x: 0, y: 0}, // 偏移量 radiusR: 6, // 控制模式灯的半径 distance: 46, // 控制模式之间灯之间的距离 grayColor: '#7F7F7F', // 控制模式灰色 greenColor: '#00FF00', // 控制模式绿色 redColor: '#FF0000', // 控制模式红色 yellowColor: '#FFFF00', // 控制模式黄色 emergencyControlShow: true, // 紧急站控显示 centerControlShow: true, // 中控显示 substationControlShow: true, // 站控按钮显示 interconnectedControlShow: true, // 联锁控显示 centerControlButtonShow: false // 中控显示 }, arrow: { show: false // 控制模式箭头显隐 } } }; this[deviceType.Switch] = { text: { show: true, // 道岔名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 offset: {x: 5, y: -10}, // 道岔名称与区段距离 fontSize: 11, // 字体大小 fontColor: '#fff', // 道岔名称颜色 fontWeight: 'normal', // 字体粗细 borderColor: '#FE0000', // 道岔边框颜色 lossColor: '#C00808', // 道岔失去颜色 locateColor: '#00FF00', // 道岔定位颜色 inversionColor: '#FFFF00', // 道岔反位颜色 monolockColor: '#FFFFFF' // 道岔单锁颜色 }, sectionAction: { flag: false, // 道岔 关联区段显示 spareColor: '#5b5b5b', // 区段显示颜色 }, core: { length: 6 // 道岔单边长度 }, monolock: { // 道岔单锁配置 locationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色) inversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色) rectShow: true, // 道岔单锁 矩形框是否显示 rectWidth: 18, // 矩形框 宽高 rectBorderColor: '#fff' // 矩形边框颜色 }, block: { // 道岔封锁配置 blockName: 'default', // 默认道岔封锁类型 nameBorderShow: false, // 道岔名称是否有包围框 显示 contentRectShow: true, // 道岔封锁显示 contentRectColor: 'red' // 道岔封锁边框颜色 } }; this[deviceType.LcControl] = { text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#FFFF00' // 控制灯颜色 } }; this[deviceType.ZcControl] = { text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#00FF00' // 控制灯颜色 } }; this[deviceType.LimitControl] = { text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#ECE9D8' // 控制灯颜色 } }; this[deviceType.Line] = { lineColor: '#FFFFFF' // 线条颜色 }; this[deviceType.Automactic] = { // 是否显示 visible: true, text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, subtitleText: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 17 // 等于副标题距离 }, lamp: { lineDash: null, // 灯的包围框 stroke: '#FFFFFF', // 框的颜色 fill: 'rgba(0,0,0,0)', // 填充色 radiusR: 6, // 控制灯大小 controlColor: '#b5b3b3' // 控制灯颜色 (灰色) } }; this[deviceType.AutomaticRoute] = { // 是否显示 displayCondition: ['01'], // 显示条件prdType 为01 text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { fill: 'rgba(0,0,0,0)', // 填充色 radiusR: 6, // 控制灯大小 controlColor: '#b5b3b3' // 控制灯颜色 (灰色) } }; this[deviceType.TrainWindow] = { lineColor: '#4DD43F', // 车次窗颜色 lineDash: null, // 车次窗虚线间隔 lineWidth: 1, // 车次窗线宽 trainWindowSmooth: 0 // 车次窗矩形圆滑程度 }; this[deviceType.Train] = { trainBody: { trainBodyLineWidth: 1, // 车身line宽 changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 specialTrainType: [ { type: '03', serviceNumber: '---', nameFormat: 'groupNumber:serviceNumber' }, { type: '03', nameFormat: 'serviceNumber:trainNumber' } ], // 特殊列车类型需设置显示格式 lrPadding: 4, // 两边间隔 upPadding: 4, // 上边距离 trainBodyFillColor: '#000099', // 列车车身填充颜色 trainNameFormat: 'serviceNumber:targetCode'// 列车显示格式 }, hsda: { lrPaddingHSDA: 3, // HSDA两边间隔 upPaddingHSDA: 4, // HSDA上边距离 trainHSDATextFontSize: 9, // 列车HDSA字号 textHContent: '扣', // textH文本 textSContent: '跳', // textS文本 textDContent: '门', // textD文本 textAContent: '警' // textA文本 }, trainNumber: { targetCodePrefix: '000', // 目的地码前缀 defaultTargetCode: 'DDD', // 默认目的地码 trainTargetTextAlign: 'left', // 目的地码文字显示位置 trainNumberOffset: { x: 24, y: 4}// 目的地码偏移量 }, trainServer: { serviceNumberPrefix: '000', // 服务号(表号)前缀 defaultServiceNumber: 'TTT', // 默认服务号(表号) defaultServerNoColor: '#FFFFFF', // 默认服务号状态显示颜色 trainServerOffset: { x: 4, y: 4} // 列车服务号偏移 }, trainTarget: { tripNumberPrefix: '000', // 车次号前缀 defaultTripNumber: 'DDD', // 默认车次号2 trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移 trainTargetTextAlign: 'right' // 车次号文字显示位置 }, trainTargetNumber: { trainTargetNumberOffset: {x: -4, y: 4}// 车组号偏移量 }, trainHead: { trainMoreLength: 0, // 列车车头比车身高出的长度,上下相比车体伸出去的边框 trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量 trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量 trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量 trainConntWidth: 3, // 列车竖杠的宽度 trainHeadFillColor: '#000000', // 列车车头矩形填充颜色 trainHeadRectHeight: 20 // 列车车头矩形高度 }, common: { trainHeight: 20, // 列车高度 trainHeadDistance: 4, // 列车和车头之间的间距 trainWidth: 48, // 列车长度 trainTextFontSize: 12, // 列车字号 fontFamily: 'consolas', // 默认字体 族类 haveTextHSDA: true, // 是否需创建textHSDA对象 haveArrowText: true, // 是否需创建arrowText对象 haveTrainBorder: false, // 是否需创建trainBorder对象 textOffset: 4, // 字体偏移(用以控制字体据车头的距离) trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸 useSelfFormat: true, // 使用配置项的nameFormat useSelfText: true, // 使用配置项的字体大小 displayPosition: 'margin' // 非同通信车在物理区段(有逻辑区段)上显示的位置 margin:行驶方向边缘车次窗 center: 中间位置车次窗 }, trainStatusStyle: { trainTypeStatus: [ {type: '03', serviceNumberColor: '#FFF000', groupNumberColor: '#FFF000'}, {type: '02', trainNumberColor: '#FFF000', groupNumberColor: '#FFF000'} ], // 列车类型对应的识别号样式 defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色 destinationStatusSetText: 'trainWindowBorder', // 目的地状态设置的对应哪个颜色 destinationStatus: [ {status: '01', showColor: '#FFFFFF'}, {status: '02', showColor: '#00FF00'}, {status: '03', showColor: '#A0522D'} ], // 目的地状态 01准点 02早点 03晚点 04头码车 serverNoType: [ {type: '01', showColor: '#FFFFFF'}, {type: '02', showColor: '#FFF000'} ], // 服务号状态类型 01显示服务号 计划车 02显示车组号: 头码车与人工车 directionType: [ { type: 1, lineLShow: false, lineRShow: true, arrowLShow: false, arrowRShow: true }, { type: 0, lineLShow: true, lineRShow: false, arrowLShow: true, arrowRShow: false } ], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左 directionStopType: [ { type: 1, lineLShow: false, lineRShow: true }, { type: 0, lineLShow: true, lineRShow: false } ], // 列车停止方向类型对应车头显示状态 1从左往右 0从右往左 driveModeStatus: [ { status: 'AM', trainLColor: '#FF8000', trainRColor: '#FF8000' }, { status: 'CM', trainLColor: '#FFFF00', trainRColor: '#FFFF00' }, { status: 'RM', trainLColor: '#C2C2C2', trainRColor: '#C2C2C2' }, { status: 'NRM', trainLColor: '#FF0000', trainRColor: '#FF0000' } ], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM runControlStatus: [ { status: '01', hShow: false, sShow: false }, { status: '02', hShow: true, sShow: false }, { status: '03', hShow: false, sShow: true } ], // 设置运行控制状态类型 01正常 02扣车 03停跳 doorStatus: [ {status: true, dShow: false}, {status: false, dShow: true} ], // 设置车门状态类型 true车门关闭且锁闭 communicationStatus: [ {status: 'CBTC', trainColor: '#000099'}, {status: 'ITC', trainColor: '#747474'}, {status: 'IL', trainColor: '#747474'} ], // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL alarmStatus: [ {status: '01', aShow: false}, {status: '02', aShow: true} ] // 设置报警状态 01不报警 02报警 } }; } } export default new SkinCode();