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: 10, // 文字离区段距离 fontSize: 12, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: 'lightgreen', // 字体颜色 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' // 文字垂直对齐方式 }, 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: 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', // 逻辑区段名称颜色 (未用) invalidColor: '#A0522D' // 计轴故障 }, axle: {}, // 计轴 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: 'white', // 区段边界符颜色 halfHeight: 5 // 区段分隔符高度的一半 }, block: { special: false // 区段特殊显示 }, trainPosition:{ display: true // 列车实时位置显示 } }; this[deviceType.Signal] = { distance: 3, // 设备距离区段的距离 post: { standardLength: 6, // 高柱长度 standardHeight: 6, // 灯柱高度 standardColor: '#C0C0C0', // 灯柱颜色 standardWidth: 2 // 灯柱宽度 }, text: { show: true, // 信号机名称显示 distance: 3, // 文字和灯杆的距离 isAlignCenter: false, // 信号字体对其方式 fontSize: 11, // 信号机名称字体大小 fontWeight: 'bold', // 信号机名称字体粗细 defaultColor: 'white', // 信号灯字体默认色 blockColor: '#EF0C08', // 信号灯字体锁定颜色 checkColor: '#00FF00' // 信号保护区段检查颜色 }, lamp: { bgShow: false, // 是否被选中 guidName: 'defult', // 默认引导类型 borderVariable: true, // 信号灯边框可变 stopWidth: 2, // 禁止线宽度 borderWidth: 2, // 信号灯边框线宽度 borderColor: '#3149C3', // 信号灯边框线颜色 radiusR: 5, // 信号灯半径 blockColor: '#EF0C08', // 信号灯锁闭 grayColor: '#C0C0C0', // 信号灯灰色 redColor: 'red', // 信号灯红色 greenColor: 'green', // 信号灯绿色 yellowColor: 'yellow', // 信号灯黄色 whiteColor: '#FFFFFF', // 信号灯白色 blueColor: '#0070C0' // 信号灯蓝色 }, route: { direction: true, // 自动通过方向 offset: { x: 4, y: 0}, // 自动通过偏移量 routeColor: '#00FF00' // 自动进路 }, auto: { signalFrontTriangle: false, // 信号灯前三角展示 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: 'yellow' // 信号灯按钮闪烁颜色 }, lowButton:{ display: false // 现地 信号机按钮 } }; this[deviceType.StationStand] = { common: { // 通用属性 textFontSize: 10, // 站台默认字体大小 haveJumpShow: false, // 站台是否有列车停跳显示 functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示) }, safetyDoor: { // 屏蔽门 height: 3, // 站台屏蔽门高度 distance: 4, // 站台和屏蔽门之间的距离 defaultColor: 'green', // 屏蔽门默认颜色 splitDoorColor: 'green' // 屏蔽门切除颜色 }, stand: { // 站台 headFontSize: 10, // 站台首端字体大小 spareColor: 'white', // 站台空闲颜色 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: { 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.Station] = { // text: { // show: true // 公里标名称显示 // }, kmPostShow: false, // 公里标显示 kilometerPosition: 'up', // 公里标朝向 text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#FFFF00' // 控制灯颜色 }, turnBack: { // 按图折返 lamp: 1, // 灯数量 lampSpace: 60 // 灯间距 }, StationControl:{ text: { distance: 2, // 灯和文字之间的距离 fontSize: 12, // 字体大小 fontFormat: 'consolas', // 字体格式 fontColor: '#ffffff', // 字体颜色 fontWeight: 'normal', // 字体粗细 textAlign: 'middle', // 字体水平对齐 textVerticalAlign: 'top' // 字体垂直对齐 }, lamp: { count: 4, // 控制模式的个数 offset: {x: 0, y: 0}, // 偏移量 emergencyOffset: {x: 0, y: 0}, radiusR: 4, // 控制模式灯的半径 distance: 46, // 控制模式之间灯之间的距离 grayColor: '#C0C0C0', // 控制模式灰色 greenColor: 'green', // 控制模式绿色 redColor: 'red', // 控制模式红色 yellowColor: 'yellow' // 控制模式黄色 }, emergencyControl: { // 紧急站控 show: true, 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: false, grayColor: '#7F7F7F' }, interconnectedControl: { // 联锁控 show: false, offset: { x: 0, y: 0 }, text: '联锁控', arrowShow: false, grayColor: '#7F7F7F' } } }; // 供电线路 this[deviceType.Power] = { lineColor: '#FFFFFF', // 线条颜色 strokeColor: 'red', // 线条颜色 extendLength: 10 // 延伸长度 }; // 延续保护计时 this[deviceType.OverAp] = { show: false }; this[deviceType.Switch] = { text: { show: true, // 道岔名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 offset: {x: 5, y: -10}, // 道岔名称与区段距离 fontSize: 11, // 字体大小 fontColor: '#C0C0C0', // 道岔名称颜色 fontWeight: 'normal', // 字体粗细 borderColor: '#FE0000', // 道岔边框颜色 lossColor: 'lightgreen', // 道岔失去颜色 locateColor: 'lightgreen', // 道岔定位颜色 inversionColor: 'lightgreen', // 道岔反位颜色 monolockLocationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色) monolockInversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色) faultFlashing: true // 故障闪烁 }, sectionAction: { flag: false, // 道岔 关联区段显示 spareColor: '#5b5b5b' // 区段显示颜色 }, core: { length: 10 // 道岔单边长度 }, jointImg: { // 道岔 A B C D四元素属性配置 trapezoidLength: 8 // 直角梯形元素默认长度 }, arcBlcok: { // 圆形封锁图形 show: false, // 显示 arcBorderColor: 'green', // 默认边框颜色 locationColor: 'green', // 定位封锁颜色 inversionColor: '#FFFF00' // 反位封锁颜色 }, rectLock: { // 矩形封锁框图形 rectWidth: 18, // 矩形框 宽高 rectBorderColor: '#fff', // 矩形边框颜色 monolock: true, // 单锁显示 block: true, // 封锁显示 blockColor: 'red' // 封锁颜色 } }; this[deviceType.LcControl] = { text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#FFFF00' // 控制灯颜色 } }; this[deviceType.ZcControl] = { // 是否显示 visible:true, text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#00FF00', // 控制灯颜色 activeColor:'#ff0000' // 控制灯激活颜色 } }; this[deviceType.LimitControl] = { text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { radiusR: 6, // 控制灯大小 controlColor: '#ECE9D8' // 控制灯颜色 } }; this[deviceType.Line] = { lineColor: '#FFFFFF' // 线条颜色 }; this[deviceType.AutomaticRoute] = { // 是否显示 displayCondition: '03', // 显示条件 prdType text: { fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 distance: 5 // 灯跟文字距离 }, lamp: { fill: 'rgba(0,0,0,0)', // 填充色 radiusR: 6, // 控制灯大小 controlColor: '#b5b3b3' // 控制灯颜色 (灰色) } }; /** 引导总锁 */ this[deviceType.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.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: 1, // 车身line宽 changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 specialTrainType: [], // 特殊列车类型需设置显示格式 lrPadding: 4, // 两边间隔 upPadding: 4, // 上边距离 trainBodyFillColor: '#000099', // 列车车身填充颜色 trainNameFormat: 'serviceNumber:targetCode'// 列车显示格式 }, directionArrow: { }, hsda: { lrPaddingHSDA: 3, // HSDA两边间隔 upPaddingHSDA: 4, // HSDA上边距离 trainHSDATextFontSize: 8, // 列车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: { groupNumberPrefix: '000', // 车组号前缀 defaultGroupNumber: 'EEE', // 默认车组号 trainTargetNumberOffset: {x: -4, y: 4}// 车组号偏移量 }, trainHead: { trainConntWidth: 4, // 列车竖杠的宽度 trainHeadFillColor: '#000000', // 列车车头矩形填充颜色 trainHeadRectHeight: 20, // 列车车头矩形高度 directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常 trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度 trainHeadArrowWidth: 5, // 列车车头三角宽度 trainHeadArrowOffsetX: 6 // 列车车头三角偏移 }, common: { trainHeight: 20, // 列车高度 trainHeadDistance: 2, // 列车和车头之间的间距 trainWidth: 55, // 列车长度 trainTextFontSize: 16, // 列车字号 fontFamily: 'consolas', // 默认字体 族类 haveTextHSDA: true, // 是否需创建textHSDA对象 haveArrowText: true, // 是否需创建arrowText对象 textOffset: 4, // 字体偏移(用以控制字体据车头的距离) trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸 displayPosition: 'margin', // 非同通信车在物理区段(有逻辑区段)上显示的位置 margin:行驶方向边缘车次窗 center: 中间位置车次窗 trainTip:true // 鼠标悬停列车状态信息框是否显示 }, trainStatusStyle: { defaultDestinationColor: '#FFFFFF', // 默认目的地状态显示颜色 destinationStatusSetText: 'trainTarget', // 目的地状态设置的对应哪个text的颜色 destinationStatus: [ {status: '01', showColor: '#FFFFFF'}, {status: '02', showColor: '#00FF00'}, {status: '03', showColor: '#A0522D'}, {status: '04', showColor: '#FFFF00'} ], // 目的地状态 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: '#00FF00', trainRColor: '#00FF00' }, { status: 'CM', trainLColor: '#FFFF00', trainRColor: '#FFFF00' }, { status: 'RM', trainLColor: '#A0522D', trainRColor: '#A0522D' }, { status: 'NRM', trainLColor: '#A0522D', trainRColor: '#A0522D' } ], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM communicationStatus: [ {status: 'CBTC', trainColor: '#000099'}, {status: 'ITC', trainColor: '#747474'}, {status: 'IL', trainColor: '#747474'} ] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL } }; this[deviceType.FloodGate] = {}; } } export default new SkinCode();