import defaultStyle from '../defaultStyle'; import deviceType from '../../constant/deviceType'; class SkinCode extends defaultStyle { constructor() { super(); this[deviceType.Section] = { active: { routeColor: false // 进路触发颜色 }, text: { show: true, // 物理区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 18, // 文字离区段距离 fontSize: 11, // 字体大小 fontWeight: 'normal', // 字体粗细 fontColor: '#FFFFFF', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, logicText: { show: true, // 逻辑区段名称显示 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 6, // 文字离区段距离 fontSize: 8, // 字体大小 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, // 目的码名称显示 opposite: true, // 对称相反 position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 distance: 10, // 文字离区段距离 fontSize: 10, // 字体大小 fontWeight: 'bold', // 字体粗细 fontColor: 'yellow', // 字体颜色 textAlign: 'center', // 水平对齐方式 textPosition: 'inside', // 文字位置 textVerticalAlign: 'middle' // 文字垂直对齐方式 }, line: { width: 5, // 区段宽度 beyondWidth: 0, // 区段宽超出宽度 invadeColor: '#EF0C08', // 区段侵入颜色 spareColor: '#3F3F3F', // 区段空闲颜色 communicationOccupiedColor: '#FF329A', // 区段通信车占用颜色 unCommunicationOccupiedColor: '#FE0000', // 区段非通讯车占用颜色 routeLockColor: '#FFFFFF', // 区段路由锁定颜色 faultLockColor: '#00FF00', // 区段故障锁闭颜色 undefinedColor: '#0071C1', // 区段未定义颜色 protectionLockedColor: '#FEFF00', // 保护区段锁闭(未用) blockColor: '#800080', // 区段封锁颜色 atcExcisionColor: '#A0522D', // 区段atc切除颜色 atsExcisionColor: '#A0522D', // 区段ats切除颜色 timeReleaseColor: '#3F3F3F', // 区段延时释放颜色 protectiveLockColor: '#FFFF00', // 区段保护锁闭 protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁 logicalColor: '#FFFF00', // 逻辑区段颜色 (未用) logicalTextColor: '#FFFFFF' // 逻辑区段名称颜色 (未用) }, 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: 10, // 设备距离区段的距离 post: { standardLength: 6, // 高柱长度 standardHeight: 6, // 灯柱高度 standardColor: '#3149C3', // 灯珠颜色 standardWidth: 2 // 灯珠宽度 }, text: { show: true, // 信号机名称显示 distance: 0, // 文字和灯杆的距离 isAlignCenter: true, // 信号字体对其方式 fontSize: 11, // 信号机名称字体大小 fontWeight: 'bold', // 信号机名称字体粗细 defaultColor: '#FFFFFF', // 信号灯字体默认色 blockColor: '#EF0C08', // 信号灯字体锁定颜色 checkColor: '#00FF00', // 信号字体 nameBorderShow: true // 信号机名字边框显示 }, lamp: { bgShow: false, // 是否被选中 guidName: 'ningbo_01', // 默认引导类型 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, // 自动通过方向 radiusR: 8, // 自动通过三角半径 offset: { x: 2, y: 0 }, // 自动通过偏移量 routeColor: '#00FF00' // 自动进路 }, auto: { // 人工进路显示状态 signalFrontTriangle: true, // 信号灯前三角展示 fleetModeTriangle: false, // 自动进路显示三角形非箭头 direction: false, // 自动通过方向 offset: { x: -4, y: 0 }, // 自动通过偏移量 width: 5, // 自动宽度 manualControl: '#FFFF00', // 人工控制 autoRoute: '#00FF00', // 自动进路 (绿色) autoTrigger: '#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, // 站台默认字体大小 haveJumpShow: true, // 站台是否有列车停跳显示 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: '#606060' // 站台指定列车跳停颜色 }, standEmergent: { // 紧急关闭 mergentR: 4, // 站台紧急关闭半径 insideOffset: { x: 0, y: 25}, // 内站台紧急关闭偏移量 outsideOffset: { x: 0, y: 15}, // 外站台紧急关闭偏移量 closeColor: '#F61107' // 站台紧急关闭颜色 }, reentry: {}, // 站台折返策略 detainCar: { // 扣车 position: 1, // 扣车标识在站台上显示方向 text: 'H', // 扣车显示内容 offset: {x: -8, y: 13}, // 扣车偏移量 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: -5}, textColor: '#5376B3', // 停跳文字颜色 arcColor: '#000000', // 停跳圆圈颜色 fillColor: 'rgba(0,0,0,0)', // 透明填充颜色 r: 8, // 圆半径大小 fontWeight: 'normal', // 文字居中 textFontSize: 11 }, trainStop: {}, // 停车标志 trainDepart: {}, // 停车计时 level: { // 运行等级 position: 1, // 运行等级方向 offset: {x: -8, y: -6}, // 运行等级偏移量 textColor: '#FFFFFF' // 停站等级字体颜色 }, 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: 2, // 灯和文字之间的距离 fontSize: 11, // 字体大小 fontFormat: 'consolas', // 字体格式 fontColor: '#ffffff', // 字体颜色 fontWeight: 'normal', // 字体粗细 textAlign: 'middle', // 字体水平对齐 textVerticalAlign: 'top', // 字体垂直对齐 centerControlText: '中控', // 中控文字内容 substationControlText: '站控', // 站控文字内容 emergencyControlText:'紧急站控', // 紧急站控文字内容 interconnectedControlText:'连锁控' // 连锁控文字内容 // stationCenterControlText: '站中控', // 站中控文字内容 // generalAlarmControlText: '总报警' // 总报警文字内容 }, lamp: { count: 2, // 控制模式灯个数 offset: {x: 0, y: 0}, // 控制模式灯偏移量 radiusR: 4, // 控制模式灯的半径 distance: 36, // 控制模式之间灯之间的距离 grayColor: '#7F7F7F', // 控制模式灰色 greenColor: '#00FF00', // 控制模式绿色 redColor: '#FF0000', // 控制模式红色 yellowColor: '#FFFF00', // 控制模式黄色 emergencyControlShow: false, // 紧急站控显示 centerControlShow: true, // 中控显示 substationControlShow: true, // 站控按钮显示 interconnectedControlShow: false, // 联锁控显示 centerControlButtonShow: false // 中控显示 }, arrow: { show: true // 控制模式箭头显隐 }, 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: 5, y: -10 }, // 道岔名称与区段距离 fontSize: 11, // 字体大小 fontColor: '#C0C0C0', // 道岔名称颜色 fontWeight: 'normal', // 字体粗细 borderColor: '#FE0000', // 道岔边框颜色 lossColor: '#FFFFFF', // 道岔失去颜色 locateColor: '#00FF00', // 道岔定位颜色 inversionColor: '#FFFF00', // 道岔反位颜色 monolockLocationColor: '#c00000', // 道岔单锁'定位'颜色 (红色) monolockInversionColor: '#c00000', // 道岔单锁'反位'颜色 (红色) block: true // 封锁名称 }, sectionAction: { flag: false, // 道岔 关联区段显示 spareColor: '#5b5b5b' // 区段显示颜色 }, core: { length: 6 // 道岔单边长度 }, jointImg: { // 道岔 A B C D四元素属性配置 trapezoidLength: 8 // 直角梯形元素默认长度 }, arcBlcok: { // 圆形封锁图形 show: false, // 显示 arcBorderColor: 'green', // 默认边框颜色 locationColor: 'green', // 定位封锁颜色 inversionColor: '#FFFF00' // 反位封锁颜色 }, rectLock: { // 矩形封锁框图形 rectWidth: 22, // 矩形框 宽高 rectBorderColor: '#fff', // 矩形边框颜色 monolock: false, // 单锁显示 block: false // 封锁显示 } }; this[deviceType.Line] = { lineColor: '#FFFFFF' // 线条颜色 }; 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 // 车次窗矩形圆滑程度 }; this[deviceType.Train] = { trainBody: { trainBodyLineWidth: 0, // 车身line宽 changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 specialTrainType: [ { type: '03', serviceNumber: 'MM', nameFormat: 'serviceNumber:groupNumber' }, { type: '02', nameFormat: 'targetCode:groupNumber' } ], // 特殊列车类型需设置显示格式 lrPadding: 1, // 两边间隔 upPadding: 1, // 上边距离 trainBodyFillColor: '#000000', // 列车车身填充颜色 trainNameFormat: 'serviceNumber:groupNumber'// 列车显示格式 }, 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: '00', // 车次号前缀 defaultDirectionCode: 'D', // 默认车次号1 defaultTripNumber: 'CC', // 默认车次号2 trainTargetOffset: { x: 42, y: 1}// 列车车次号偏移 }, trainTargetNumber: { groupNumberPrefix: '0000', // 车组号前缀 defaultGroupNumber: 'EEEE', // 默认车组号 trainTargetNumberOffset: {x: -1, y: 1}// 车组号偏移量 }, trainHead: { trainMoreLength: 1, // 列车车头比车身高出的长度,上下相比车体伸出去的边框 trainHeadTriangleFirst: { x: 0, y: 0}, // 列车车头三角坐标1偏移量 trainHeadTriangleSecond: { x: 4, y: 7.5}, // 列车车头三角坐标2偏移量 trainHeadTriangleThird: { x: 0, y: 15}, // 列车车头三角坐标3偏移量 trainHeadRectHeight: 15, // 列车车头矩形高度 trainConntWidth: 4, // 列车竖杠的宽度 trainHeadFillColor: '#EF0C08'// 列车车头矩形填充颜色 }, common: { useSelfFormat: true, useSelfText: true, trainHeight: 17, // 列车高度 trainHeadDistance: 2, // 列车和车头之间的间距 trainWidth:50, // 列车长度 trainTextFontSize: 15, // 列车字号 fontFamily: 'consolas', // 默认字体 族类 nameFontSize: 15, // 字体大小 haveTextHSDA: false, // 是否需创建textHSDA对象 haveArrowText: true, // 是否需创建arrowText对象 haveTrainBorder: false, // 是否需创建trainBorder对象 aspectRatio: 8 / 15, // 字体宽高比例(用以拼接text是计算位置) 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: '01', lineLShow: false, lineRShow: false}, {type: '02', lineLShow: false, lineRShow: true}, {type: '03', 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'} } }; } } export default new SkinCode();