import defaultStyle from '../defaultStyle'; import deviceType from '../../constant/deviceType'; class SkinCode extends defaultStyle { constructor() { super(); this.fontFamily = '宋体'; this[deviceType.Section] = { active: { routeColor: false // 进路触发颜色 }, text: { show: true, // 物理区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 18, // 文字离区段距离 fontSize: 12, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, logicText: { show: true, // 逻辑区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 6, // 文字离区段距离 fontSize: 12, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, standText: { show: true, // 站台轨名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 30, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, reentryText: { show: true, // 折返轨名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 30, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, transferText: { show: true, // 转换轨名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 28, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, destinationText: { show: true, // 目的码名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 10, // 文字离区段距离 fontSize: 10, // 字体大小 fontWeight: 'bold', // 字体粗细 fontColor: 'yellow', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, line: { width: 5, // 区段宽度 beyondWidth: 1, // 区段宽超出宽度 invadeColor: '#EF0C08', // 区段侵入颜色 spareColor: '#3F3F3F', // 区段空闲颜色 communicationOccupiedColor: '#FF329A', // 区段通信车占用颜色 unCommunicationOccupiedColor: '#FE0000', // 区段非通讯车占用颜色 routeLockColor: '#FFFFFF', // 区段路由锁定颜色 faultLockColor: '#9B4A0A', // 区段故障锁定颜色 undefinedColor: '#0071C1', // 区段未定义颜色 protectionLockedColor: '#FEFF00', // 保护区段锁闭(未用) blockColor: '#800080', // 区段封锁颜色 atcExcisionColor: '#A0522D', // 区段atc切除颜色 atsExcisionColor: '#A0522D', // 区段ats切除颜色 timeReleaseColor: '#3F3F3F', // 区段延时释放颜色 protectiveLockColor: '#FFFF00', // 区段保护锁闭 protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁 logicalColor: '#FFFF00', // 逻辑区段颜色 (未用) logicalTextColor: '#FFFFFF', // 逻辑区段名称颜色 (未用) invalidColor: '#A25100' // 区段ARB故障颜色 }, axle: {}, // 计轴 speedLimit: { // 限速元素 width: 1, // 限速线的宽短 distance: 5, // 限速线距离区段距离 lineColor: '#FFFF00', // 限速线颜色 nameShow: false // 名称显示 }, separator: { z: 6, // 分割符层级 width: 1.2, // 分隔符宽度 endWidth: 3.5, // 尽头分隔符宽度 endColor: '#3F3F3F', // 尽头分隔符颜色 color: '#3149C3', // 区段边界符颜色 halfHeight: 5 // 区段分隔符高度的一半 }, block: { special: false // 区段特殊显示 }, trainPosition:{ display: false // 列车实时位置显示 } }; this[deviceType.Signal] = { distance: 3, // 设备距离区段的距离 post: { standardLength: 6, // 高柱长度 standardHeight: 6, // 灯柱高度 standardColor: '#3149C3', // 灯珠颜色 standardWidth: 2 // 灯珠宽度 }, text: { show: true, // 信号机名称显示 distance: 3, // 文字和灯杆的距离 isAlignCenter: false, // 信号字体对其方式 fontSize: 11, // 信号机名称字体大小 fontWeight: 'bold', // 信号机名称字体粗细 defaultColor: '#FFFFFF', // 信号灯字体默认色 blockColor: '#FFFFFF', // 信号灯字体锁定颜色 checkColor: '#00FF00', // 信号字体 nameBorderShow: true // 信号机名字边框显示 }, lamp: { bgShow: false, // 是否被选中 guidName: 'defult', // 默认引导类型 stopWidth: 2, // 禁止线宽度 borderWidth: 1, // 信号灯边框线宽度 borderColor: '#3149C3', // 信号灯边框线颜色 radiusR: 6, // 信号灯半径 blockColor: '#EF0C08', // 信号灯锁闭 grayColor: '#7F7F7F', // 信号灯灰色 redColor: '#FF0000', // 信号灯红色 greenColor: '#00FF00', // 信号灯绿色 yellowColor: '#FFFF00', // 信号灯黄色 whiteColor: '#FFFFFF', // 信号灯白色 blueColor: '#0070C0' // 信号灯蓝色 }, route: { direction: false, // 自动进路方向 offset: { x: -4, y: 0 }, // 自动进路偏移量 routeColor: '#00FF00', // 自动进路 radiusR: 6 // 信号灯半径 }, auto: { signalFrontTriangle: true, // 信号灯前三角展示 direction: false, // 自动通过方向 offset: { x: -4, y: 0}, // 自动通过偏移量 width: 5, // 自动宽度 autoRoute: '#00FF00', // 自动进路 autoTrigger: '#FFFF00', // 自动触发 manualControl: '#FFFF00', // 人工控制 outConflict: '#C00808' // 出车冲突 }, delay: { direction: true, // 延时解锁方向 offset: { x: 15, y: -10}, // 延时解锁偏移量 fontSize: 11, // 延迟解锁字体大小 fontColor: '#FF0000', // 延迟解锁颜色 fontWeight: 'bold' // 字体粗细 }, button: { distance: 5, // 信号灯按钮距离区段的距离 borderDashColor: '#FFFFFF', // 信号灯按钮边线 buttonColor: 'darkgreen', // 信号灯按钮颜色 buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色 }, lowButton:{ display: false // 现地 信号机按钮 } }; this[deviceType.StationStand] = { common: { // 通用属性 textFontSize: 11, // 站台默认字体大小 functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示) }, safetyDoor: { // 屏蔽门 height: 3, // 站台屏蔽门高度 width: 60, distance: 8, // 站台和屏蔽门之间的距离 defaultColor: '#00FF00', // 屏蔽门默认颜色 splitDoorColor: '#F61107' // 屏蔽门切除颜色 }, stand: { // 站台 headFontSize: 11, // 站台首端字体大小 spareColor: '#606060', // 站台空闲颜色 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: { 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.AutoTurnBack] = { // 是否显示 visibleConditions: '03', text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, subtitleText: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 17 // 等于副标题距离 }, lamp: { lineDash: null, // 灯的包围框 borderShow: false, // 是否显示边框 stroke: '#FFFFFF', // 框的颜色 fill: 'rgba(0,0,0,0)', // 填充色 radiusR: 6, // 控制灯大小 controlColor: '#b5b3b3', // 控制灯颜色 (灰色) lightUpColor: '#ffff00' // 点亮灯颜色 }, OutFrame: { } }; /** 引导总锁 */ this[deviceType.GuideLock] = { // 是否显示 displayCondition: '03', // 显示条件 prdType text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { fill: 'rgba(0,0,0,0)', // 填充色 radiusR: 6, // 控制灯大小 controlColor: '#b5b3b3', // 控制灯颜色 (灰色) lightUpColor: '#FF0000' // 点亮灯颜色 } }; this[deviceType.Station] = { // text: { // show: true // 公里标名称显示 // }, kmPostShow: true, // 公里标显示 kilometerPosition: 'up', // 公里标朝向 text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#FFFF00' // 控制灯颜色 }, turnBack: { // 按图折返 lamp: 1, // 灯数量 lampSpace: 60 // 灯间距 }, StationControl:{ text: { distance: 10, // 灯和文字之间的距离 fontSize: 14, // 字体大小 fontFormat: 'consolas', // 字体格式 fontColor: '#ffffff', // 字体颜色 fontWeight: 'normal', // 字体粗细 textAlign: 'middle', // 字体水平对齐 textVerticalAlign: 'top' // 字体垂直对齐 }, lamp: { count: 2, // 控制模式灯个数 offset: {x: 0, y: 3}, // 控制模式灯偏移量 radiusR: 7, // 控制模式灯的半径 distance: 42, // 控制模式之间灯之间的距离 grayColor: '#7F7F7F', // 控制模式灰色 greenColor: '#00FF00', // 控制模式绿色 redColor: '#FF0000', // 控制模式红色 yellowColor: '#FFFF00' // 控制模式黄色 }, emergencyControl: { // 紧急站控 show: false, offset: { x: 0, y: 0 }, text: '紧急', arrowShow: false, grayColor: '#7F7F7F' }, centerControl: { // 中控 show: true, offset: { x: 0, y: 0 }, text: '中控', buttonShow: false, arrowShow: false, grayColor: '#7F7F7F' }, substationControl: { // 站控按钮 show: true, offset: { x: 0, y: 0 }, text: '站控', arrowShow: true, grayColor: '#7F7F7F' }, interconnectedControl: { // 联锁控 show: false, offset: { x: 0, y: 0 }, text: '联锁控', arrowShow: false, grayColor: '#7F7F7F' }, mouseOverStyle: { // 鼠标悬浮样式 fontSize: null, fontFormat: 'consolas', fontColor: '#000', fontWeight: 'normal', textAlign: 'middle', textVerticalAlign: 'top' } } }; this[deviceType.Switch] = { text: { show: true, // 道岔名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 offset: {x: 0, y: 8}, // 道岔名称与区段距离 fontSize: 11, // 字体大小 fontColor: '#C0C0C0', // 道岔名称颜色 fontWeight: 'bold', // 字体粗细 borderColor: '#FE0000', // 道岔边框颜色 lossColor: '#FFFFFF', // 道岔失去颜色 locateColor: '#00FF00', // 道岔定位颜色 inversionColor: '#9C9D09', // 道岔反位颜色 monolockLocationColor: '#ea282c', // 道岔单锁'定位'颜色 monolockInversionColor: '#ea282c', // 道岔单锁'反位'颜色 block: true, // 封锁名称 faultFlashing: true // 故障闪烁 }, sectionAction: { flag: false, // 道岔 关联区段显示 spareColor: '#5b5b5b' // 区段显示颜色 }, core: { length: 6 // 道岔单边长度 }, jointImg: { // 道岔 A B C D四元素属性配置 trapezoidLength: 8, // 直角梯形元素默认长度 block: false, // 联合图形封锁状态 flashingColors: '#D600D5', // 联合图形封锁闪烁显示颜色 fork: false, // 挤岔专用(如有挤岔操作 变为true) forKColor: 'red' // 挤岔颜色 配合挤岔专用 }, arcBlcok: { // 圆形封锁图形 show: false, // 显示 arcBorderColor: 'green', // 默认边框颜色 locationColor: 'green', // 定位封锁颜色 inversionColor: '#FFFF00' // 反位封锁颜色 }, rectLock: { // 矩形封锁框图形 rectWidth: 18, // 矩形框 宽高 rectBorderColor: '#fff', // 矩形边框颜色 monolock: false, // 单锁显示 block: false // 封锁显示 } }; this[deviceType.Line] = { lineColor: '#FFFFFF' // 线条颜色 }; // 供电线路 this[deviceType.Power] = { strokeColor: 'red', // 线条颜色 extendLength: 8 // 延伸长度 }; // 延续保护计时 this[deviceType.OverAp] = { show: false }; this[deviceType.LcControl] = { text: { fontSize: 10, // 灯字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 灯大小 controlColor: '#FFFF00' // 灯颜色 }, mouseOverStyle: { fontSize: 10, fontFormat: 'consolas', fontColor: '#FFF000', fontWeight: 'normal', textAlign: 'middle', textVerticalAlign: 'top', arcColor: '#00FFFF', textColor: '#000000' } }; this[deviceType.ZcControl] = { text: { fontSize: 10, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 灯大小 controlColor: '#00FF00' // 灯颜色 }, mouseOverStyle: { fontSize: 10, fontFormat: 'consolas', fontColor: '#FFF000', fontWeight: 'normal', textAlign: 'middle', textVerticalAlign: 'top', arcColor: '#00FFFF', textColor: '#000000' } }; this[deviceType.LimitControl] = { text: { fontSize: 10, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 灯大小 controlColor: '#ECE9D8' // 灯颜色 }, mouseOverStyle: { fontSize: 10, fontFormat: 'consolas', fontColor: '#FFF000', fontWeight: 'normal', textAlign: 'middle', textVerticalAlign: 'top', textColor: '#000000', arcColor: '#00FFFF' } }; this[deviceType.AutomaticRoute] = { // 是否显示 displayCondition: '03', // 显示条件 prdType text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { fill: 'rgba(0,0,0,0)', // 填充色 radiusR: 6, // 控制灯大小 controlColor: '#b5b3b3' // 控制灯颜色 (灰色) } }; this[deviceType.TrainWindow] = { lineColor: '#4DD43F', // 车次窗颜色 lineDash: null, // 车次窗虚线间隔 lineWidth: 1, // 车次窗线宽 trainWindowSmooth: 0, // 车次窗矩形圆滑程度 show: true // 车次窗是否显示 }; this[deviceType.SplitStation] = { lineLength: 15, // 箭头线长度 lineWidth: 2, // 线宽 height: 35, // 分隔整体高度 strokeColor: '#00FF00', // 线颜色 triangleFillColor: '#00FF00', // 三角填充颜色 textFill: '#FFFFFF', // 文字颜色 verticalDistance: 10, // 箭头三角垂直高度 horizontalDistance: 7// 箭头三角水平高度 }; this[deviceType.Train] = { trainBody: { fontFamily: 'consolas', trainBodyLineWidth: 0, // 车身line宽 changeTrainWidth: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 specialTrainType: [ { type: 'MANUAL', serviceNumber: 'MM', nameFormat: 'serviceNumber:groupNumber' }, { type: 'HEAD', nameFormat: 'targetCode:groupNumber' } ], // 特殊列车类型需设置显示格式 lrPadding: 1, // 两边间隔 upPadding: 1, // 上边距离 trainBodyFillColor: '#000000', // 列车车身填充颜色 trainNameFormat: 'targetCode:serviceNumber:tripNumber'// 列车显示格式 }, soonerOrLater: { level: 3, serviceNumber: true, destinationCode: true, // 目的地号颜色改变 earlyColor: '#00FF00', lateColor: '#800000', normalColor: '#FFF' }, directionArrow: { }, hsda: { trainHSDATextFontSize: 8// 列车HDSA字号 }, trainNumber: { targetCodePrefix: '000', // 目的地码前缀 defaultTargetCode: 'AAA', // 默认目的地码 trainTargetTextAlign: 'left', // 车次号文字显示位置 trainNumberOffset: { x: 1, y: 1}// 目的地码偏移量 }, trainServer: { serviceNumberPrefix: '00', // 服务号(表号)前缀 defaultServiceNumber: 'BB', // 默认服务号(表号) trainServerOffset: { x: 26, y: 1}// 列车服务号偏移 }, trainTarget: { tripNumberPrefix: '0000', // 车次号前缀 defaultDirectionCode: 'D', // 默认车次号1 defaultTripNumber: 'CCC', // 默认车次号2 trainTargetOffset: { x: 42, y: 1}// 列车车次号偏移 }, trainTargetNumber: { groupNumberPrefix: '000', // 车组号前缀 defaultGroupNumber: 'EEE', // 默认车组号 trainTargetNumberOffset: {x: -1, y: 1}, // 车组号偏移量 headTypeColor: '#FFFF00', // 头码车车组号显示颜色 manualTypeColor: '#FFFF00' // 人工车车组号显示颜色 }, trainHead: { trainHeadRectHeight: 15, // 列车车头矩形高度 trainConntWidth: 4, // 列车竖杠的宽度 trainHeadFillColor: '#EF0C08', // 列车车头矩形填充颜色 directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常 trainHeadHeight: 'text', // 列车车头高度取决于trainBox高度 trainHeadArrowWidth: 5, // 列车车头三角宽度 trainHeadArrowOffsetX: 2 // 列车车头三角偏移 }, common: { trainHeight: 17, // 列车高度 trainHeadDistance: 2, // 列车和车头之间的间距 trainWidth: 76, // 列车长度 trainTextFontSize: 10, // 列车字号 fontFamily: 'consolas', // 默认字体 族类 haveTextHSDA: false, // 是否需创建textHSDA对象 haveArrowText: true, // 是否需创建arrowText对象 textOffset: 1, // 字体偏移(用以控制字体据车头的距离) trainWidthMoreText: 2, // 计算列车长度时--列车长比text多出尺寸 displayPosition: 'margin', // 非同通信车在物理区段(有逻辑区段)上显示的位置 margin:行驶方向边缘车次窗 center: 中间位置车次窗 trainTip:true // 鼠标悬停列车状态信息框是否显示 }, trainStatusStyle: { destinationStatus: [ {status: '01', showColor: '#FFFFFF'}, {status: '02', showColor: '#00FF00'}, {status: '03', showColor: '#3265FF'}, {status: '04', showColor: '#9B4A09'}, {status: '05', showColor: '#EF0C08'}, {status: '06', showColor: '#FFFFFF'}, {status: '07', showColor: '#FFFF00'} ], // 目的地状态 01准点 02早点 03严重早点 04晚点 05严重晚点 06头码车 07ATP切除 destinationStatusSetText: 'trainServer', // 目的地状态设置的对应哪个text的颜色 directionType: [ { type: 1, lineLShow: false, lineRShow: false, arrowLShow: false, arrowRShow: true }, { type: 0, lineLShow: false, lineRShow: false, arrowLShow: true, arrowRShow: false } ], // 运行方向状态类型对应车头显示状态 1从左往右 0从右往左 directionStopType: [ { type: 1, lineLShow: false, lineRShow: true }, { type: 0, lineLShow: true, lineRShow: false } ], // 列车停止方向类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行 driveModeStatus: [ { status: 'AM', trainLColor: '#00FF00', trainRColor: '#00FF00' }, { status: 'CM', trainLColor: '#FFFF00', trainRColor: '#FFFF00' }, { status: 'RM', trainLColor: '#EA700D', trainRColor: '#EA700D' }, { status: 'NRM', trainLColor: '#A0522D', trainRColor: '#A0522D' } ], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM runControlStatus: [], // 设置运行控制状态类型 eg:{status: '01', hShow: false, sShow: false} doorStatus: [], // 设置车门状态类型 communicationStatus: [], // 设置通信状态 eg:{status: '01', trainColor:'#725A64'} alarmStatus: [], // 设置报警状态 eg:{status: '01', aShow: false} serverNoType: []// 服务号状态类型 eg:{type: '01', showColor: '#FFFFFF'} } }; this[deviceType.FloodGate] = {}; } } export default new SkinCode();