From 3f40d2973176fc2a828eaf0d39e94271563ee6cc Mon Sep 17 00:00:00 2001 From: fan Date: Fri, 24 Jun 2022 16:23:21 +0800 Subject: [PATCH] =?UTF-8?q?JD=5F1A=E7=BA=BF=E8=B7=AF=E5=BB=BA=E7=AB=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/config/skinCode/datie_jd1a.js | 1143 +++++++++++++++++ src/jmapNew/theme/datie_jd1a/menus/index.vue | 37 + .../theme/datie_jd1a/menus/menuSignal.vue | 131 ++ .../theme/datie_jd1a/menus/menuSwitch.vue | 170 +++ .../theme/datie_jd1a/operationConfig.js | 5 + src/jmapNew/theme/factory.js | 9 +- .../newMap/jointTrainingNew/menuSchema.vue | 6 +- 7 files changed, 1495 insertions(+), 6 deletions(-) create mode 100644 src/jmapNew/config/skinCode/datie_jd1a.js create mode 100644 src/jmapNew/theme/datie_jd1a/menus/index.vue create mode 100644 src/jmapNew/theme/datie_jd1a/menus/menuSignal.vue create mode 100644 src/jmapNew/theme/datie_jd1a/menus/menuSwitch.vue create mode 100644 src/jmapNew/theme/datie_jd1a/operationConfig.js diff --git a/src/jmapNew/config/skinCode/datie_jd1a.js b/src/jmapNew/config/skinCode/datie_jd1a.js new file mode 100644 index 000000000..b0ad9d229 --- /dev/null +++ b/src/jmapNew/config/skinCode/datie_jd1a.js @@ -0,0 +1,1143 @@ +import defaultStyle from '../defaultStyle'; +import deviceType from '../../constant/deviceType'; + +class SkinCode extends defaultStyle { + constructor() { + super(); + this.fontFamily = '宋体'; + this[deviceType.Section] = { + elemnetType:['name', 'line', 'separator', 'badShunt', 'derailer'], + // 'speedLimit', 'speedLimitName','standTrackText','reentryTrackText','transferTrackText', + active: { + routeColor: true // 进路触发颜色 + }, + name: { + z: 10, + position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 10, // 文字离区段距离 + fontSize: 12, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: 'rgb(192,192,192)', // 字体颜色 (银白) + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle', // 文字垂直对齐方式 + approachColor: '#FFFFFF' + }, + logicText: { + z: 10, + position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 12, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + fontColor: '#FFFFFF', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + // standTrackText: { + // z: 10, + // position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + // distance: 24, // 文字离区段距离 + // fontSize: 11, // 字体大小 + // fontWeight: 'normal', // 字体粗细 + // fontColor: '#FFFFFF', // 字体颜色 + // textAlign: 'center', // 水平对齐方式 + // textPosition: 'inside', // 文字位置 + // textVerticalAlign: 'middle' // 文字垂直对齐方式 + // }, + // reentryTrackText: { + // z: 10, + // position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + // distance: 36, // 文字离区段距离 + // fontSize: 11, // 字体大小 + // fontWeight: 'normal', // 字体粗细 + // fontColor: '#FFFFFF', // 字体颜色 + // textAlign: 'center', // 水平对齐方式 + // textPosition: 'inside', // 文字位置 + // textVerticalAlign: 'middle' // 文字垂直对齐方式 + // }, + // transferTrackText: { + // z: 10, + // position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + // distance: 36, // 文字离区段距离 + // fontSize: 11, // 字体大小 + // fontWeight: 'normal', // 字体粗细 + // fontColor: '#FFFFFF', // 字体颜色 + // textAlign: 'center', // 水平对齐方式 + // textPosition: 'inside', // 文字位置 + // textVerticalAlign: 'middle' // 文字垂直对齐方式 + // }, + destinationText: { + z: 10, + position: 0, // 区段名称位置 1 上面 -1 下面 0 对称 + distance: 12, // 文字离区段距离 + fontSize: 11, // 字体大小 + fontWeight: 'bold', // 字体粗细 + fontColor: 'yellow', // 字体颜色 + textAlign: 'center', // 水平对齐方式 + textPosition: 'inside', // 文字位置 + textVerticalAlign: 'middle' // 文字垂直对齐方式 + }, + line: { + z: 0, + width: 3, // 区段宽度 + beyondWidth: 0, // 区段宽超出宽度 + invadeColor: '#FF0000', // 区段侵入颜色 (红色) + spareColor: 'rgb(85,120,182)', // 区段空闲颜色 (浅蓝) + + communicationOccupiedColor: '#FF0000', // 区段通信车占用颜色 (红色) + unCommunicationOccupiedColor: '#FF0000', // 区段非通讯车占用颜色 (红色) + + routeLockColor: '#FFFFFF', // 区段进路锁定颜色 (白色) + faultLockColor: '#006400', // 区段故障锁定颜色 + + undefinedColor: '#0071C1', // 区段未定义颜色 + blockColor: '#00FF00', // 区段封锁颜色 + atcExcisionColor: '#A0522D', // 区段atc切除颜色 + atsExcisionColor: '#A0522D', // 区段ats切除颜色 + timeReleaseColor: '#3F3F3F', // 区段延时释放颜色 + + protectiveLockColor: '#FFFF00', // 区段保护锁闭 + + protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁 + logicalColor: '#FFFF00', // 逻辑区段颜色 (未用) + logicalTextColor: '#C0C0C0', // 逻辑区段名称颜色 (未用) + invalidColor: '#B18E38' // 区段ARB故障颜色 + }, + badShunt:{ + z: 2, + distance: 2, // 分路不良 距离区段距离 + width: 1, // 分路不良的宽度 + lineColor: 'rgb(188,67,180)' // 分路不良颜色 (粉红色) + }, + // speedLimit: { // 限速元素 + // z: 2, + // width: 1, // 限速线的宽度 + // distance: 5, // 限速线距离区段距离 + // lineColor: '#C0C000', // 限速线颜色 (黄色透明光) + // nameShow: true // 名称显示 + // }, + // speedLimitName: { + // z: 10, + // leftName: true, // 左侧限速值是否展示 + // rightName: true, // 右侧限速值是否展示 + // nameBackgroundIsRect: false, // 限速值背景是否为矩形 + // nameBackgroundBorderWidth: 0, // 限速值背景是否边框宽度 + // nameBackgroundBorderColor: '#000', // 限速值背景边框颜色 + // limitValueDistance: -15, + // kilometerFontSize: 8, // 公里标大小 + // kilometerColor: '#fff', // 公里标颜色 + // nameNumberFontSize: 11, // 限速值大小 + // nameNumberColor: '#C00808', // 限速值颜色 + // nameBackground: '#C0C000', // 限速名称背景颜色 + // drogueWidth: 19, // 浮标宽度 + // drogueHeight: 12 // 浮标高度 + // }, + separator: { + z: 3, // 分割符层级 + width: 2, // 物理区段分隔符宽度 + logicWidth:2, // 逻辑区段分隔符宽度 + endWidth: 2, // 尽头分隔符宽度 + endColor: 'rgb(128,128,128)', // 尽头分隔符颜色 + color: 'rgb(128,128,128)', // 区段边界符颜色 + invadeSpecial:true, // 特殊侵限 + halfHeight: 3 // 区段分隔符高度的一半 + }, + shuttleBack: { // 折返进路 (存在此对象 显示折返箭头) + z: 10, + width: 1.5, + color: '#FFFFFF', + distance: 5 // 限速线距离区段距离 + }, + derailer: { + text: { + color: 'green', + offset: { + x: -5, + y: -15 + } + }, + symbol: { + color: 'red' + } + }, + trainPosition:{ + display: false // 列车实时位置显示 + } + }; + + this[deviceType.Signal] = { + distance: 10, // 设备距离区段的距离 + colorSpecial: true, // 特殊处理灯位颜色 + post: { + standardLength: 6, // 高柱长度 + standardHeight: 6, // 灯柱高度 + standardColor: '#FFFFFF', // 灯柱颜色 + standardVerticalWidth: 2, // 灯柱竖杆宽度 + standardRailWidth: 2 // 灯柱横杆宽度 + }, + text: { + show: true, // 信号机名称显示 + distance: 3, // 文字和灯杆的距离 + isAlignCenter: false, // 信号字体对其方式 + fontSize: 11, // 信号机名称字体大小 + fontWeight: 'bold', // 信号机名称字体粗细 + defaultColor: '#FFFFFF', // 信号灯字体默认色 + blockColor: '#FFFFFF', // 信号灯字体锁定颜色 + checkColor: '#00FF00' // 信号保护区段检查颜色 + }, + remainTimeColor: '#F00', + tText: { + offsetX: 0, + offsetY: -30, + fontSize: 11, // 信号机名称字体大小 + fontWeight: 'bold', // 信号机名称字体粗细 + defaultColor: '#F00', // 信号灯字体默认色 + defaultText: 0 + }, + lamp: { + bgShow: false, // 是否被选中 + guidName: 'singleRY', // 成都三号线引导类型 + borderVariable: false, // 信号灯边框可变 + stopWidth: 2, // 禁止线宽度 + borderWidth: 2, // 信号灯边框线宽度 + borderColor: '#677DBB', // 信号灯边框线颜色 + radiusR: 6, // 信号灯半径 + grayColor: '#7F7F7F', // 信号灯灰色 + redColor: '#FF0000', // 信号灯红色 + greenColor: '#00FF00', // 信号灯绿色 + yellowColor: '#FFFF00', // 信号灯黄色 + whiteColor: '#FFFFFF', // 信号灯白色 + blueColor: '#0070C0', // 信号灯蓝色 + faultType: 'light', // 信号机故障类型 (light闪) + special:true // 大铁类型信号机 + }, + route: { + direction: true, // 自动通过方向 + offset: { x: 4, y: 0}, // 自动通过偏移量 + routeColor: '#00FF00', // 自动进路 + radiusR: 6 + }, + auto: { + signalFrontTriangle: true, // 信号灯前三角展示 + fleetModeTriangle: 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' // 信号灯按钮闪烁颜色 + }, + lowButton:{ + display: false // 现地 信号机按钮 + }, + sigBack: { + fillColor:'rgba(0,0,0,0)', // 信号背景颜色 + strokecolor:'#F00', // 信号描边颜色 + lineWidth: 1, // 信号背景描边宽度 + distanceX: 2, // 信号背景x偏移距离 + distanceY: 1 // 信号背景Y偏移距离 + } + }; + + // 供电线路 + this[deviceType.Power] = { + noElectricStrokeColor:'#808080', // 无电颜色 + defaultStrokeColor: '#F00', // 线条颜色 + extendLength: 10 // 延伸长度 + }; + + // 延续保护计时 + this[deviceType.OverAp] = { + show: false + }; + + // 屏蔽门 + this[deviceType.Psd] = { + // 成都三号线屏蔽门 + elemnetType:['safetyDoorNormal'], + safetyDoorNormal: { // 屏蔽门 + z:0, + height: 3, // 站台屏蔽门高度 + distance: 8, // 站台和屏蔽门之间的距离 + defaultColor: '#00FF00', // 屏蔽门默认颜色 + splitDoorColor: '#C00808' // 屏蔽门切除颜色 + } + }; + + this[deviceType.StationStand] = { + // 站台元素 站台 + elemnetType:['lineStand'], + // 站台 + lineStand:{ + // 层级 + z:0, + spareColor: '#02cc3d', // 站台空闲颜色 + lineWidth:2 // 线宽 + // jumpStopColor: '#808080', // 站台跳停颜色 + // designatedJumpStopColor: '#808080', // 站台指定列车跳停颜色 + // headFontSize: 10, // 站台首端字体大小 + // stopColor: '#FFF000' // 站台列车停站颜色 + }, + common: { // 通用属性 + textFontSize: 10, // 站台默认字体大小 + functionButtonShow: '03' // 功能灯按钮显示条件(prdType) + }, + lamp: { + radiusR: 6, // 控制灯大小 + lampColor: '#5A5D5A' // 功能按钮颜色 + }, + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + } + // reentry: {}, // 站台折返策略 + // trainStop: {}, // 停车标志 + // trainDepart: {}, // 停车计时 + }; + + this[deviceType.StationCounter] = { + text: { + distance: 2, // 计数器名称和文字的距离 + fontColor: '#FFFFFF', // 计数器字体颜色 + borderColor: '#E4EF50' // 计数器边框颜色 + } + }; + + this[deviceType.StationDelayUnlock] = { + text: { + distance: 3, // 延迟解锁和设备之间的距离 + fontColor: '#FFFFFF', // 延时解锁字体颜色 + borderColor: '#FFFFFF' // 延迟解锁边框颜色 + } + }; + + this[deviceType.StationTurnBack] = { // 站后折返 + displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + lamp: { + fill: '#f1f1f1', // 填充色 + radiusR: 7 // 控制灯大小 + }, + text: { + titleTextShow: false, + fontWeight: 580, + fontSize: 10, + distance: 10 + }, + rect: { + fill: 'rgba(0,0,0,0)', + stroke: '#fff', + lineWidth: 0, + padding: 6 + } + }; + + this[deviceType.Station] = { + // 成都三号线车站元素 车站名称 + elemnetType:['stationText'], + stationText:{ + z:0, + fontWeight:'normal', // 字体粗细 + textPadding:[0, 0], // 字体边距 + borderColor:'', // 字体边框颜色 + textBorderWidth:0 // 字体边框宽度 + }, + + kmPostShow: false, // 公里标显示 + 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' // 字体垂直对齐 + }, + lamp: { + count: 4, // 控制模式的个数 + offset: {x: 0, y: 0}, // 偏移量 + radiusR: 6, // 控制模式灯的半径 + distance: 46, // 控制模式之间灯之间的距离 + grayColor: '#7F7F7F', // 控制模式灰色 + greenColor: '#00FF00', // 控制模式绿色 + redColor: '#FF0000', // 控制模式红色 + yellowColor: '#FFFF00', // 控制模式黄色 + purpleColor:'#840084', // 控制模式紫色 + strokeColor: '#fff', + lineWidth: 1 + }, + emergencyControl: { // 紧急站控 + show: false, + offset: { x: 0, y: 0 }, + text: '紧急站控', + arrowShow: false, + grayColor: '#7F7F7F' + }, + centerControl: { // 中控 + show: false, + offset: { x: 0, y: 0 }, + text: '中控', + buttonShow: false, + arrowShow: false, + grayColor: '#7F7F7F' + }, + substationControl: { // 站控按钮 + show: false, + offset: { x: 0, y: 0 }, + text: '站控', + arrowShow: false, + grayColor: '#7F7F7F' + }, + interconnectedControl: { // 联锁控 + show: false, + offset: { x: 0, y: 0 }, + text: '联锁控', + arrowShow: false, + grayColor: '#7F7F7F' + }, + veryControl: { + show: true, + offset: { x: 0, y: 0 }, + lightColor: '#f00', + defaultColor: '#7F7F7F', + text: '非常站控' + }, + selfDiscipline: { + show: true, + offset: { x: 0, y: 0 }, + text: '允许自律', + defaultColor: '#7F7F7F', + lightColor: '#ff0', + }, + selfDisciplineControl: { + show: true, + offset: { x: 0, y: 0 }, + lightColor: '#0f0', + defaultColor: '#7F7F7F', + text: '自律控制' + }, + veryControlButton: { + offset: { x: 0, y: 0 }, + text: '非常站控', + lightColor: '#ff0', + defaultColor: '#ccc', + }, + selfDisciplineThree: { + offset: { x: 0, y: 0 }, + text: '分散自律', + lightColor: '#0f0', + defaultColor: '#ccc' + }, + graphRoad: { + show: true, + offset: { x: 0, y: 0 }, + text: '按图排路', + lightColor: '#0f0', + defaultColor: '#ccc' + }, + planControl: { + show: true, + offset: { x: 0, y: 0 }, + text: '计划控制', + lightColor: '#0f0', + defaultColor: '#ccc' + }, + centerCommunication: { + show: true, + offset: { x: 0, y: 30 }, + text: '中心通信', + lightColor: '#0f0', + defaultColor: '#ccc' + }, + selfDisciplineCommunication: { + show: true, + offset: { x: 0, y: 30 }, + text: '自律机通信', + lightColor: '#0f0', + defaultColor: '#ccc' + }, + allowedTurnBack: { + show: true, + offset: { x: 0, y: 30 }, + text: '允许转回', + lightColor: '#0f0', + defaultColor: '#ccc' + }, + trainControl: { + show: true, + offset: { x: 0, y: 30 }, + text: '列控', + lightColor: '#0f0', + defaultColor: '#ccc' + } + } + }; + + 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', // 道岔反位颜色 + monolockLocationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色) + monolockInversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色) + faultFlashing: false // 故障闪烁 + }, + sectionAction: { + flag: false, // 道岔 关联区段显示 + spareColor: '#5b5b5b' // 区段显示颜色 + }, + core: { + length: 6, // 道岔单边长度 + graphShow: true, // 图形显示 + graphInversionColor: '#FFFF00', // 反位颜色 + graphLocalColor: '#00FF00' // 定位颜色 + }, + jointImg: { // 道岔 A B C D四元素属性配置 + trapezoidLength: 8, // 直角梯形元素默认长度 + faultStatus: true, // 挤岔表示 + fork: true, // 挤岔专用(如有挤岔操作 变为true) + forKColor: 'red' // 挤岔颜色 配合挤岔专用 + }, + // arcBlcok: { // 圆形封锁图形 + // show: false, // 显示 + // arcBorderColor: 'green', // 默认边框颜色 + // locationColor: 'green', // 定位封锁颜色 + // inversionColor: '#FFFF00' // 反位封锁颜色 + // }, + rectLock: { // 矩形封锁框图形 + rectWidth: 18, // 矩形框 宽高 + rectBorderColor: '#fff', // 矩形边框颜色 + block: true, // 封锁显示 + blockColor: 'red', // 封锁颜色 + followName: true // 位置跟随名称确定 + }, + arcBlcok: { // 圆形封锁图形 + show: true, // 显示 + shapeR: 10, + arcBorderColor: 'red', // 默认边框颜色 + locationColor: 'red', // 定位封锁颜色 + inversionColor: 'red' // 反位封锁颜色 + } + }; + + this[deviceType.LcControl] = { + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#FFFF00' // 控制灯颜色 + } + }; + this[deviceType.PowerSupply] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00', // 控制灯颜色 + offColor: '#000', + strokeColor: '#fff' + } + }; + this[deviceType.Maintain] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00' // 控制灯颜色 + } + }; + this[deviceType.NoOneReturn] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#FFFFFF' + } + }; + this[deviceType.AtsControl] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00', // 控制灯颜色 + offColor: '#FF0000' + } + }; + this[deviceType.MaintenanceLamps] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#b5b3b3' // 控制灯颜色 + } + }; + this[deviceType.ZcCommunication] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00' // 控制灯颜色 + } + }; + this[deviceType.ChainControl] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00', // 控制灯颜色 + offColor: '#ff0000' + } + }; + this[deviceType.IntersiteControl] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00' // 控制灯颜色 + } + }; + this[deviceType.CenterCommunication] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00' // 控制灯颜色 + } + }; + this[deviceType.LeuControl] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00' // 控制灯颜色 + } + }; + this[deviceType.LocalControl] = { + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#00FF00', // 控制灯颜色 + offColor: '#ff0000' + } + }; + 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', // 控制灯颜色 (灰色) + lightColor: '#FFFF00' // 控制灯亮颜色 + } + }; + this[deviceType.AutomaticRoute] = { + // 是否显示 + displayCondition: '03', // 显示条件prdType 为01 + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + fill: 'rgba(0,0,0,0)', // 填充色 + radiusR: 6, // 控制灯大小 + controlColor: '#b5b3b3', // 控制灯颜色 (灰色) + lightColor: '#FFFF00' // 控制灯亮颜色 + } + }; + this[deviceType.AutoTurnBack] = { + // 是否显示 + visibleConditions: '03', + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + subtitleText: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 17 // 等于副标题距离 + }, + lamp: { + borderShow: false, // 是否显示边框 + lineDash: null, // 灯的包围框 + stroke: '#FFFFFF', // 框的颜色 + fill: 'rgba(0,0,0,0)', // 填充色 + radiusR: 6, // 控制灯大小 + controlColor: '#b5b3b3', // 控制灯颜色 (灰色) + lightUpColor: '#ffff00' // 点亮灯颜色 + }, + OutFrame: { + + } + }; + + /** 引导总锁 */ + this[deviceType.GuideLock] = { + // 是否显示 + displayCondition: '03', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + 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: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 + specialTrainType: [ + { + type: '03', + serviceNumber: '---', + // nameFormat: 'groupNumber:serviceNumber' + nameFormat:'tripNumber' + }, + { + type: '03', + // nameFormat: 'serviceNumber:trainNumber' + nameFormat:'tripNumber' + } + ], // 特殊列车类型需设置显示格式 + lrPadding: 4, // 两边间隔 + upPadding: 4, // 上边距离 + trainBodyFillColor: '#88DF8E', // 列车车身填充颜色 + trainSidelineColor: '#F00', + trainSidelineStopColor: '#000', + // trainNameFormat: 'serviceNumber:targetCode'// 列车显示格式 + trainNameFormat:'tripNumber' + }, + directionArrow: { + }, + soonerOrLater: { + level: 3, + trainBody: true, + earlyColor: '#00FF00', + lateColor: '#800000', + normalColor: '#F00' + }, + hsda: { + lrPaddingHSDA: 3, // HSDA两边间隔 + upPaddingHSDA: 4, // HSDA上边距离 + trainHSDATextFontSize: 9, // 列车HDSA字号 + textHContent: '扣', // textH文本 + textSContent: '跳', // textS文本 + textDContent: '门', // textD文本 + textAContent: '警' // textA文本 + }, + trainNumber: { + targetCodePrefix: '000', // 目的地码前缀 + defaultTargetCode: 'DDD', // 默认目的地码 + fontColor: '#F00', + trainTargetTextAlign: 'left', // 目的地码文字显示位置 + trainNumberOffset: { x: 24, y: 4}// 目的地码偏移量 + }, + trainServer: { + serviceNumberPrefix: '000', // 服务号(表号)前缀 + defaultServiceNumber: 'TTT', // 默认服务号(表号) + defaultServerNoColor: '#F00', // 默认服务号状态显示颜色 + fontColor: '#F00', + trainServerOffset: { x: 4, y: 4} // 列车服务号偏移 + }, + trainTarget: { + tripNumberPrefix: '', // 车次号前缀 + // defaultTripNumber: 'DDD', // 默认车次号2 + defaultTripNumber: ' ', // 默认车次号 + trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移 + trainTargetTextAlign: 'right' // 车次号文字显示位置 + }, + trainTargetNumber: { + groupNumberPrefix: '000', // 车组号前缀 + defaultGroupNumber: 'EEE', // 默认车组号 + trainTargetNumberOffset: {x: -4, y: 4}// 车组号偏移量 + }, + trainHead: { + trainConntWidth: 10, // 列车竖杠的宽度 + trainHeadFillColor: '#189B4D', // 列车车头矩形填充颜色 + trainHeadRectNoChange: true, // 列车车头矩形填充颜色不变 + trainHeadRectHeight: 20, // 列车车头矩形高度 + directionStopType:'specialAll', // special 西安二号线 停车 列车方向图标不消失 normal 正常 + trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度 + trainHeadArrowWidth: 15, // 列车车头三角宽度 + trainHeadArrowOffsetX: 0, // 列车车头三角偏移 + trainHeadRectOffsetX: 10 + }, + common: { + trainHeight: 20, // 列车高度 + trainHeadDistance: 2, // 列车和车头之间的间距 + trainWidth: 48, // 列车长度 + trainTextFontSize: 12, // 列车字号 + fontFamily: 'consolas', // 默认字体 族类 + haveTextHSDA: false, // 是否需创建textHSDA对象 + haveArrowText: true, // 是否需创建arrowText对象 + textOffset: 4, // 字体偏移(用以控制字体据车头的距离) + trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸 + trainTip:true // 鼠标悬停列车状态信息框是否显示 + }, + 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: false, + arrowLShow: false, + arrowRShow: true + }, + { + type: 0, + lineLShow: false, + lineRShow: false, + arrowLShow: true, + arrowRShow: false + } + ], // 列车运行方向状态类型对应车头显示状态 1从左往右 0从右往左 + directionStopType: [ + { + type: 1, + lineLShow: true, + arrowLShow: false, + lineRShow: false, + arrowRShow: true + }, + { + type: 0, + lineLShow: false, + arrowLShow: true, + lineRShow: true, + arrowRShow: false + } + ], // 列车停止方向类型对应车头显示状态 1从左往右 0从右往左 + driveModeStatus: [ + { + status: 'AM', + trainLColor: '#FF8000', + trainRColor: '#FF8000' + }, + { + status: 'CM', + trainLColor: '#FFFF00', + trainRColor: '#FFFF00' + }, + { + status: 'RM', + trainLColor: '#fff', + trainRColor: '#fff' + }, + { + status: 'NRM', + trainLColor: '#FF0000', + trainRColor: '#FF0000' + } + ], // 列车运行模式对应车头颜色 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] = {}; + this[deviceType.DirectionRod] = {}; + this[deviceType.IndicatorLight] = { + displayCondition: '01', // 显示条件 (01所有模式下显示 02 行调显示 03现地显示) + indicator:{ + radiusR:6, + offset:{ x:0, y:20}, + color:'red' + }, + text:{ + fontWeight:'normal', + fontSize:12, + fontFamily:'宋体' + } + }; + this[deviceType.DepartArrow] = { + triangleLength: 15, + lineWidth: 8, + length: 35, + distance: 15, + fill: '#000', + stroke: '#fff', + fontSize: 11, + defaultText: '发车', + defaultColor: '#ccc', + occupiedColor:'#f00', + noOccupiedColor:'#00ff00', + blockStatusColor:'#00ff00', + noBlockStatusColor:'#ffff00', + }; + this[deviceType.PickArrow] = { + triangleLength: 15, + lineWidth: 8, + length: 35, + distance: 15, + fill: '#000', + stroke: '#fff', + fontSize: 11, + defaultText: '接车', + defaultColor: '#ccc', + occupiedColor:'#f00', + noOccupiedColor:'#ffff00', + blockStatusColor:'#00ff00', + noBlockStatusColor:'#ffff00', + }; + this[deviceType.Occlusion] = { + text: { + fontSize: 11, // 字体大小 + fontWeight: 'normal', // 字体粗细 + distance: 5 // 灯跟文字距离 + }, + lamp: { + radiusR: 6, // 控制灯大小 + controlColor: '#ccc' // 控制灯颜色 + } + }; + this[deviceType.Accident] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc' + } + }; + this[deviceType.Recovery] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc' + } + }; + this[deviceType.PickAssist] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc' + } + }; + this[deviceType.DepartAssist] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc' + } + }; + this[deviceType.TotalAssist] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc' + } + }; + this[deviceType.AssistStatus] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc', + occupiedColor:'#ffffff', + } + }; + this[deviceType.SectionOccupied] = { + text: { + fontSize: 11, + fontWeight: 'normal', + distance: 5 + }, + lamp: { + radiusR: 6, + controlColor: '#ccc', + occupiedColor:'#ff0000', + } + }; + } +} + +export default new SkinCode(); diff --git a/src/jmapNew/theme/datie_jd1a/menus/index.vue b/src/jmapNew/theme/datie_jd1a/menus/index.vue new file mode 100644 index 000000000..76b4ba9b6 --- /dev/null +++ b/src/jmapNew/theme/datie_jd1a/menus/index.vue @@ -0,0 +1,37 @@ + + + diff --git a/src/jmapNew/theme/datie_jd1a/menus/menuSignal.vue b/src/jmapNew/theme/datie_jd1a/menus/menuSignal.vue new file mode 100644 index 000000000..28a3fa9fe --- /dev/null +++ b/src/jmapNew/theme/datie_jd1a/menus/menuSignal.vue @@ -0,0 +1,131 @@ + + diff --git a/src/jmapNew/theme/datie_jd1a/menus/menuSwitch.vue b/src/jmapNew/theme/datie_jd1a/menus/menuSwitch.vue new file mode 100644 index 000000000..54b30f0c8 --- /dev/null +++ b/src/jmapNew/theme/datie_jd1a/menus/menuSwitch.vue @@ -0,0 +1,170 @@ + + diff --git a/src/jmapNew/theme/datie_jd1a/operationConfig.js b/src/jmapNew/theme/datie_jd1a/operationConfig.js new file mode 100644 index 000000000..88287eb76 --- /dev/null +++ b/src/jmapNew/theme/datie_jd1a/operationConfig.js @@ -0,0 +1,5 @@ +import CMD from '@/scripts/cmdPlugin/CommandEnum'; +export default { + list: [ + ] +}; diff --git a/src/jmapNew/theme/factory.js b/src/jmapNew/theme/factory.js index 4d777321c..0e95d2520 100644 --- a/src/jmapNew/theme/factory.js +++ b/src/jmapNew/theme/factory.js @@ -52,7 +52,8 @@ class Theme { '14': 'nanjing_02', // 南京二号线 '15': 'datie_01', '16': 'datie_02', - '17': 'datie_tky' + '17': 'datie_tky', + '18': 'datie_jd1a' }; this._runplan = { @@ -73,7 +74,8 @@ class Theme { '14': 'nanjing_02', // 南京二号线 '15': 'datie_01', '16': 'datie_02', - '17': 'datie_tky' + '17': 'datie_tky', + '18': 'datie_jd1a' }; this._localShowMode = { // 现地显示模式 @@ -93,7 +95,8 @@ class Theme { '14':'ecStation', '15':'all', '16':'ecStation', - '17': 'all' + '17': 'all', + '18': 'all' }; } diff --git a/src/views/newMap/jointTrainingNew/menuSchema.vue b/src/views/newMap/jointTrainingNew/menuSchema.vue index 29517c0f6..ad55c7c61 100644 --- a/src/views/newMap/jointTrainingNew/menuSchema.vue +++ b/src/views/newMap/jointTrainingNew/menuSchema.vue @@ -24,7 +24,7 @@ {{ faultMode?' 切换到普通模式[Tab]':'切换到故障模式[Tab]' }} - + {{ directiveMode? '切换到普通模式[Tab]':'切换到指令模式[Tab]' }} @@ -139,10 +139,10 @@ export default { return this.$store.state.training.started; }, datie() { - return this.$route.query.lineCode == '16'; + return this.$route.query.lineCode == '16'; }, isCtc() { - return !!this.$route.query.ctc; + return !!this.$route.query.ctc; }, isScreen() { return this.$store.state.training.prdType === '07';