diff --git a/src/iscs/constant/deviceStyle.js b/src/iscs/constant/deviceStyle.js
index 30d366b60..6e06195a7 100644
--- a/src/iscs/constant/deviceStyle.js
+++ b/src/iscs/constant/deviceStyle.js
@@ -9,7 +9,15 @@ const mapDeviceStyle = {
'09': 'xian_02',
'10': 'xian_01', // 西安一号线
'11': 'xian_01', // 西安三号线
- '12': 'ningbo_03' // 宁波三号线
+ '12': 'ningbo_03', // 宁波三号线
+ '13': 'race_01', // 2020国赛线路
+ '14':'nanjing_02', // 南京二号线
+ '15': 'datie_01', // 大铁线路一
+ '16': 'datie_02', // 大铁线路二
+ '17':'datie_tky', // 铁科院大铁线路
+ '18':'datie_jd1a',
+ '19': 'datie_ksk', // 大铁 卡斯柯
+ '20': 'ningbo_01'
};
export function selectLineCode(code) {
diff --git a/src/jmapNew/config/deviceStyle.js b/src/jmapNew/config/deviceStyle.js
index 252568bd6..0b70eea44 100644
--- a/src/jmapNew/config/deviceStyle.js
+++ b/src/jmapNew/config/deviceStyle.js
@@ -17,7 +17,8 @@ const mapDeviceStyle = {
'16': 'datie_02', // 大铁线路二
'17':'datie_tky', // 铁科院大铁线路
'18':'datie_jd1a',
- '19': 'datie_ksk' // 大铁 卡斯柯
+ '19': 'datie_ksk', // 大铁 卡斯柯
+ '20': 'ningbo_special'
};
export function selectLineCode(code) {
diff --git a/src/jmapNew/config/skinCode/ningbo_special.js b/src/jmapNew/config/skinCode/ningbo_special.js
new file mode 100644
index 000000000..aa013c18b
--- /dev/null
+++ b/src/jmapNew/config/skinCode/ningbo_special.js
@@ -0,0 +1,870 @@
+import defaultStyle from '../defaultStyle';
+import deviceType from '../../constant/deviceType';
+
+class SkinCode extends defaultStyle {
+ constructor() {
+ super();
+ this.fontFamily = '宋体';
+ this[deviceType.Section] = {
+ elemnetType:['name', 'standTrackText', 'reentryTrackText', 'transferTrackText', 'destinationText', 'line', 'separator', 'speedLimit'],
+ active: {
+ routeColor: false // 进路触发颜色
+ },
+ name: {
+ z: 10,
+ position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
+ distance: 10, // 文字离区段距离
+ fontSize: 12, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ fontColor: 'lightgreen', // 字体颜色
+ 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: 5, // 区段宽度
+ beyondWidth: 0, // 区段宽超出宽度
+ invadeColor: '#FFFFFF', // 区段侵入颜色
+ spareColor: '#5578B6', // 区段空闲颜色
+ communicationOccupiedColor: 'red', // 区段通信车占用颜色 // 调整 未确定
+ unCommunicationOccupiedColor: '#FF0000', // 区段非通讯车占用颜色
+ routeLockColor: '#00ff00', // 区段进路锁定颜色
+ faultLockColor: 'white', // 区段故障锁定颜色
+ undefinedColor: '#0071C1', // 区段未定义颜色
+ blockColor: '#d659d6', // 区段封锁颜色(淡紫色)
+ atcExcisionColor: '#A0522D', // 区段atc切除颜色
+ atsExcisionColor: '#A0522D', // 区段ats切除颜色
+ invalidColor: '#AC8F40', // 计轴故障颜色
+ timeReleaseColor: '#3F3F3F', // 区段延时释放颜色
+ protectiveLockColor: '#03C85C', // 区段保护锁闭 延续保护
+ protectiveTimeReleaseColor: '#0071C1', // 区段保护延时解锁
+ logicalColor: '#FFFF00', // 逻辑区段颜色 (未用)
+ logicalTextColor: 'white' // 逻辑区段名称颜色 (未用)
+ },
+ speedLimit: { // 限速元素
+ z: 2,
+ width: 1, // 限速线的宽度
+ distance: 5, // 限速线距离区段距离
+ lineColor: '#C0C000', // 限速线颜色 (黄色透明光)
+ nameShow: false // 名称显示
+ },
+ separator: {
+ z: 3, // 分割符层级
+ width: 1.5, // 物理区段分隔符宽度
+ logicWidth:1.5, // 逻辑区段分隔符宽度
+ endWidth: 1.5, // 尽头分隔符宽度
+ endColor: '#FFFFFF', // 尽头分隔符颜色
+ color: 'white', // 区段边界符颜色
+ halfHeight: 5 // 区段分隔符高度的一半
+ },
+ block: {
+ blockGlint: true // 区段封锁闪烁显示
+ },
+ trainPosition:{
+ display: false // 列车实时位置显示
+ },
+ mouseOverStyle: {
+ borderColor: '#fff',
+ borderBackgroundColor: '#22DFDF',
+ textShadowColor: '#22DFDF',
+ nameShow: true,
+ nameBackgroundColor: '#000',
+ lineDash: [3, 3],
+ lineWidthMore: 2.5
+ }
+ };
+
+ this[deviceType.Signal] = {
+ distance: 8, // 设备距离区段的距离
+ post: {
+ standardLength: 6, // 高柱长度
+ standardHeight: 6, // 灯柱高度
+ standardColor: '#C0C0C0', // 灯柱颜色
+ standardVerticalWidth: 2, // 灯柱竖杆宽度
+ standardRailWidth: 2, // 灯柱横杆宽度
+ approachLockColor: '#FFFF00' // 接近锁闭灯柱颜色
+ },
+ text: {
+ show: true, // 信号机名称显示
+ distance: 3, // 文字和灯杆的距离
+ isAlignCenter: false, // 信号字体对其方式
+ fontSize: 11, // 信号机名称字体大小
+ fontWeight: 'bold', // 信号机名称字体粗细
+ defaultColor: 'white', // 信号灯字体默认色
+ blockColor: '#EF0C08', // 信号灯字体锁定颜色
+ checkColor: '#00FF00' // 信号保护区段检查颜色
+ },
+ lamp: {
+ bgShow: false, // 是否被选中
+ guidName: 'double', // 默认引导类型
+ borderVariable: true, // 信号灯边框可变
+ stopWidth: 2, // 禁止线宽度
+ borderWidth: 2, // 信号灯边框线宽度
+ borderColor: '#EF0C08', // 信号灯边框线颜色
+ radiusR: 5, // 信号灯半径
+ grayColor: '#C0C0C0', // 信号灯灰色
+ redColor: 'red', // 信号灯红色
+ greenColor: 'green', // 信号灯绿色
+ yellowColor: 'yellow', // 信号灯黄色
+ whiteColor: '#FFFFFF', // 信号灯白色
+ blueColor: '#0070C0', // 信号灯蓝色
+ blockColor: '#339933', // 信号灯墨绿色
+ blockFlash: true // 信号机封锁闪烁
+ },
+ route: {
+ direction: false, // 自动通过方向
+ radiusR: 8, // 自动通过三角半径
+ offset: { x: 2, y: 0 }, // 自动通过偏移量
+ routeColor: '#00FF00' // 自动进路
+ },
+ auto: {
+ signalFrontTriangle: true, // 信号灯前三角展示
+ direction: true, // 自动通过方向
+ 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 // 现地 信号机按钮
+ },
+ mouseOverStyle: {
+ borderLineColor: '#FFFFFF',
+ borderLineDash: [3, 3],
+ nameBackgroundColor: '#22DFDF',
+ lampBorderLineColor: '#22DFDF'
+ }
+ };
+
+ 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' // 控制灯颜色
+ },
+ turnBack: { // 按图折返
+ lamp: 1, // 灯数量
+ lampSpace: 60 // 灯间距
+ },
+ StationControl: {
+ text: {
+ distance: 12, // 灯和文字之间的距离
+ fontSize: 12, // 字体大小
+ fontFormat: 'consolas', // 字体格式
+ fontColor: '#ffffff', // 字体颜色
+ fontWeight: 'normal', // 字体粗细
+ textAlign: 'middle', // 字体水平对齐
+ textVerticalAlign: 'top' // 字体垂直对齐
+ },
+ lamp: {
+ count: 4, // 控制模式的个数
+ offset: { x: 20, y: 0 }, // 偏移量
+ emergencyOffset: {x: 0, y: 0},
+ radiusR: 6, // 控制模式灯的半径
+ distance: 46, // 控制模式之间灯之间的距离
+ grayColor: '#C0C0C0', // 控制模式灰色
+ greenColor: 'green', // 控制模式绿色
+ redColor: 'red', // 控制模式红色
+ yellowColor: 'yellow', // 控制模式黄色
+ stroke: '#FFFFFF', // 框的颜色
+ fill: 'rgba(0,0,0,0)', // 填充色
+ textColorNoChange: true
+ },
+ emergencyControl: { // 紧急站控
+ show: true,
+ offset: { x: 0, y: 0 },
+ text: '紧急站控',
+ arrowShow: false,
+ grayColor: '#7F7F7F'
+ },
+ centerControl: { // 中控
+ show: true,
+ offset: { x: 0, y: 0 },
+ text: '遥控',
+ buttonText: '站遥控按钮',
+ buttonShow: true,
+ arrowShow: false,
+ grayColor: '#7F7F7F',
+ lightShow: true,
+ lightText: '强制点灯',
+ preResetShow: true,
+ preResetText: '计轴复位'
+ },
+ 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'
+ },
+ mouseOverStyle: { // 鼠标悬浮样式
+ fontSize: 10,
+ fontFormat: 'consolas',
+ fontColor: '#FFF000',
+ 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: 'lightgreen', // 道岔名称失去颜色
+ locateColor: 'lightgreen', // 道岔定位颜色
+ inversionColor: '#FFFF00', // 道岔反位颜色
+ monolockLocationColor: 'lightgreen', // 道岔单锁'定位'颜色 (浅绿色)
+ monolockInversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色)
+ block: true, // 封锁名称
+ faultFlashing: true, // 故障闪烁
+ lossRect: false // 道岔失表矩形
+ },
+ sectionAction: {
+ flag: false, // 道岔 关联区段显示
+ spareColor: '#5b5b5b' // 区段显示颜色
+ },
+ core: {
+ length: 6 // 道岔单边长度
+ },
+ jointImg: { // 道岔 A B C D四元素属性配置
+ trapezoidLength: 8, // 直角梯形元素默认长度
+ block: true, // 联合图形封锁状态
+ flashingColors: '#D600D5', // 联合图形封锁闪烁显示颜色
+ fork: true, // 挤岔专用(如有挤岔操作 变为true)
+ faultStatus: true, // 宁波失表状态用 挤岔表示
+ forKColor: 'red' // 挤岔颜色 配合挤岔专用
+ },
+ arcBlcok: { // 圆形封锁图形
+ show: true, // 显示
+ shapeR: 5,
+ arcBorderColor: 'green', // 默认边框颜色
+ locationColor: 'green', // 定位封锁颜色
+ inversionColor: '#FFFF00' // 反位封锁颜色
+ },
+ rectLock: { // 矩形封锁框图形
+ rectWidth: 22, // 矩形框 宽高
+ rectBorderColor: '#fff', // 矩形边框颜色
+ monolock: false, // 单锁显示
+ block: false // 封锁显示
+ },
+ mouseOverStyle: {
+ borderBackgroundColor: '#22DFDF', // 边框背景色
+ borderColor: '#fff', // 边框颜色
+ textShadowColor: '#22DFDF', // 字体阴影颜色
+ coreBackgroundColor: '#00BFFF', // 岔心颜色 浅蓝色
+ coreBackgroundColorOver: '#001AFC' // 岔心颜色 深蓝色
+ }
+ };
+
+ // 屏蔽门
+ this[deviceType.Psd] = {
+ // 宁波一号线 屏蔽门
+ elemnetType:['safetyDoorNormal'],
+ safetyDoorNormal: { // 屏蔽门
+ z:0,
+ height: 3, // 站台屏蔽门高度
+ distance: 4, // 站台和屏蔽门之间的距离
+ defaultColor: 'green', // 屏蔽门默认颜色
+ splitDoorColor: 'green' // 屏蔽门切除颜色
+ }
+ };
+
+ this[deviceType.StationStand] = {
+ // 宁波一号线站台元素 站台 站台紧急关闭 扣车元素 停站时间 运行等级
+ elemnetType:['solidStand', 'emergentRhombus', 'detainNormal', 'stopTime', 'level'],
+ // 站台
+ solidStand:{
+ // 层级
+ z:0,
+ spareColor: 'white', // 站台空闲颜色
+ jumpStopColor: '#6260f3', // 站台跳停颜色
+ designatedJumpStopColor: 'lightSkyBlue', // 站台指定列车跳停颜色
+ headFontSize: 10, // 站台首端字体大小
+ stopColor: 'yellow' // 站台列车停站颜色
+ },
+ // 站台紧急关闭
+ emergentRhombus:{
+ z:1,
+ mergentR: 4, // 站台紧急关闭半径
+ mergentN: 4, // 站台紧急关闭边数
+ insideOffset: { x: 0, y: 25 }, // 内站台紧急关闭偏移量
+ outsideOffset: { x: 0, y: -25 }, // 外站台紧急关闭偏移量
+ closeColor: 'red' // 站台紧急关闭颜色
+ },
+ // 扣车元素 普通扣车
+ detainNormal:{
+ z:0,
+ position: 1, // 扣车标识在站台上显示方向
+ text: 'H', // 扣车显示内容
+ insideOffset: { x: -8, y: 10 }, // 内站台扣车偏移量
+ outsideOffset: { x: -8, y: 10 }, // 外站台扣车偏移量
+ centerTrainColor: 'white', // 中心扣车颜色
+ andCenterTrainColor: 'red', // 车站+中心扣车颜色
+ detainTrainTextColor: '#E4EF50', // 车站扣除文字颜色
+ fontSize: 10, // 字体大小
+ fontWeight: 'normal'
+ },
+ // 停站时间
+ stopTime:{
+ z:1,
+ textFontSize: 10, // 停站时间字体大小
+ textColor: 'white', // 停站时间字体颜色
+ position: 1, // 停站时间方向
+ offset: { x: -8, y: 4 } // 停站时间偏移量
+ },
+ // 运行等级
+ level:{
+ z:1,
+ textFontSize: 10, // 运行等级字体大小
+ position: -1, // 运行等级方向
+ offset: { x: -8, y: 4 }, // 运行等级偏移量
+ textColor: '#FFF000' // 停站等级字体颜色
+ },
+
+ common: { // 通用属性
+ textFontSize: 10, // 站台默认字体大小
+ functionButtonShow: '03' // 功能灯按钮显示条件(01所有模式下显示 02 行调显示 03现地显示)
+ },
+ lamp: {
+ radiusR: 6, // 控制灯大小
+ lampColor: '#5A5D5A' // 功能按钮颜色
+ },
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ mouseOverStyle: {
+ borderLineColor: '#FFFFFF',
+ borderLineDash: [3, 3],
+ standBackgroundColor: '#00BFFF', // 浅蓝色
+ standBackgroundColorOver: '#001AFC' // 深蓝色
+ }
+ // reentry: {}, // 站台折返策略
+ // jump: {},
+ // trainStop: {}, // 停车标志
+ // trainDepart: {}, // 停车计时
+
+ };
+
+ this[deviceType.StationTurnBack] = { // 站后折返
+ lamp: {
+ fill: '#FFFF00', // 填充色
+ radiusR: 6 // 控制灯大小
+ },
+ text: {
+ titleTextShow: false,
+ fontWeight: 580,
+ fontSize: 12,
+ distance: 10
+ },
+ rect: {
+ fill: 'rgba(0,0,0,0)',
+ stroke: '#fff',
+ lineWidth: 2,
+ padding: 6
+ }
+ };
+
+ this[deviceType.AutoTurnBack] = {
+ // 是否显示
+ visibleConditions: '01',
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ subtitleText: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 17 // 等于副标题距离
+ },
+ lamp: {
+ borderShow: true, // 是否显示边框
+ lineDash: null, // 灯的包围框
+ stroke: '#FFFFFF', // 框的颜色
+ fill: 'rgba(0,0,0,0)', // 填充色
+ radiusR: 6, // 控制灯大小
+ controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
+ lightUpColor: '#ffff00' // 点亮灯颜色
+ },
+ OutFrame: {
+
+ }
+ };
+
+ /** 引导总锁 */
+ this[deviceType.GuideLock] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ fill: 'rgba(0,0,0,0)', // 填充色
+ radiusR: 6, // 控制灯大小
+ controlColor: '#b5b3b3', // 控制灯颜色 (灰色)
+ lightUpColor: '#FF0000' // 点亮灯颜色
+ }
+ };
+
+ this[deviceType.StationCounter] = {
+ text: {
+ distance: 2, // 计数器名称和文字的距离
+ fontColor: '#FFFFFF', // 计数器字体颜色
+ borderColor: '#E4EF50' // 计数器边框颜色
+ }
+ };
+
+ // 供电线路
+ this[deviceType.Power] = {
+ noElectricStrokeColor:'#808080', // 无电颜色
+ defaultStrokeColor: '#F00', // 线条颜色
+ extendLength: 10 // 延伸长度
+ };
+
+ // 延续保护计时
+ this[deviceType.OverAp] = {
+ show: false
+ };
+
+ this[deviceType.StationDelayUnlock] = {
+ text: {
+ distance: 3, // 延迟解锁和设备之间的距离
+ fontColor: '#FFFFFF', // 延时解锁字体颜色
+ borderColor: '#FFFFFF' // 延迟解锁边框颜色
+ }
+ };
+
+ this[deviceType.LcControl] = {
+ text: {
+ fontSize: 11, // 字体大小
+ 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] = {
+ // 是否显示
+ visible: true,
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ radiusR: 6, // 控制灯大小
+ controlColor: '#00FF00', // 控制灯颜色
+ activeColor:'#ff0000' // 控制灯激活颜色
+ },
+ mouseOverStyle: {
+ fontSize: 10,
+ fontFormat: 'consolas',
+ fontColor: '#FFF000',
+ fontWeight: 'normal',
+ textAlign: 'middle',
+ textVerticalAlign: 'top',
+ arcColor: '#00FFFF',
+ textColor: '#000000'
+ }
+ };
+
+ this[deviceType.LimitControl] = {
+ text: {
+ fontSize: 11, // 字体大小
+ 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.Line] = {
+ lineColor: '#FFFFFF' // 线条颜色
+ };
+ this[deviceType.AutomaticRoute] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ fill: 'rgba(0,0,0,0)', // 填充色
+ radiusR: 6, // 控制灯大小
+ controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
+ }
+ };
+ this[deviceType.AxleReset] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ fill: 'rgba(0,0,0,0)', // 填充色
+ radiusR: 6, // 控制灯大小
+ controlColor: 'red' // 控制灯颜色 (灰色)
+ }
+ };
+ /* 上电解锁 */
+ this[deviceType.PowerUnLock] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ fill: 'rgba(0,0,0,0)', // 填充色
+ radiusR: 6, // 控制灯大小
+ controlColor: 'red' // 控制灯颜色 (灰色)
+ }
+ };
+
+ /** 引导总锁 */
+ this[deviceType.GuideLock] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ fill: 'rgba(0,0,0,0)', // 填充色
+ radiusR: 6, // 控制灯大小
+ controlColor: '#b5b3b3' // 控制灯颜色 (灰色)
+ }
+ };
+ this[deviceType.TrainWindow] = {
+ lineColor: '#fff', // 车次窗颜色
+ lineDash: [3], // 车次窗虚线间隔
+ lineWidth: 0.5, // 车次窗线宽
+ 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: [
+ {
+ type: 'MANUAL',
+ serviceNumber: '',
+ nameFormat: 'groupNumber:targetCode'
+ },
+ {
+ type: 'HEAD',
+ nameFormat: 'serviceNumber:tripNumber:targetCode'
+ }
+ ], // 特殊列车类型需设置显示格式
+ lrPadding: 4, // 两边间隔
+ upPadding: 4, // 上边距离
+ trainSidelineColor: '#ABFE9B',
+ trainBodyFillColor: '#A388B1', // 列车车身填充颜色
+ trainNameFormat: 'serviceNumber:tripNumber:targetCode'// 列车显示格式
+ },
+ directionArrow: {
+ hasArrow: true,
+ width: 6,
+ radiusR: 4,
+ fillColor: '#00FF00',
+ distanceTop: 15,
+ distanceBottom: 35
+ },
+ hsda: {
+ lrPaddingHSDA: 3, // HSDA两边间隔
+ upPaddingHSDA: 4, // HSDA上边距离
+ trainHSDATextFontSize: 12, // 列车HDSA字号
+ textHContent: 'H', // textH文本
+ textSContent: 'S', // textS文本
+ textDContent: 'D', // textD文本
+ textAContent: 'A' // textA文本
+ },
+ trainNumber: {
+ targetCodePrefix: '00', // 目的地码前缀
+ defaultTargetCode: 'DD', // 默认目的地码
+ trainTargetTextAlign: 'left', // 目的地码文字显示位置
+ trainNumberOffset: { x: 36, y: 4 }, // 目的地码偏移量
+ headTypeColor: '#1CBAFD', // 头码车目的地号显示颜色
+ manualTypeColor: '#1CBAFD' // 人工车目的地号显示颜色
+ },
+ trainServer: {
+ serviceNumberPrefix: '000', // 服务号(表号)前缀
+ defaultServiceNumber: 'TTT', // 默认服务号(表号)
+ defaultServerNoColor: '#FFFFFF', // 默认服务号状态显示颜色
+ trainServerOffset: { x: 4, y: 4 } // 列车服务号偏移
+ },
+ trainTarget: {
+ tripNumberPrefix: '00', // 车次号前缀
+ defaultTripNumber: 'DD', // 默认车次号2
+ trainTargetOffset: { x: 24, y: 4 }, // 列车车次号偏移
+ trainTargetTextAlign: 'right' // 车次号文字显示位置
+ },
+ trainTargetNumber: {
+ groupNumberPrefix: '00000', // 车组号前缀
+ defaultGroupNumber: 'EEEEE', // 默认车组号
+ trainTargetNumberOffset: {x: -4, y: 4}, // 车组号偏移量
+ lineNumber: '01', // 线路号在人工车时车组号拼接线路号
+ manualTypeColor: '#FA7FD7', // 人工车车组号显示颜色
+ maskText: '0' // 车组号遮罩
+ },
+ trainHead: {
+ trainConntWidth: 2, // 列车竖杠的宽度
+ trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
+ trainHeadRectHeight: 20, // 列车车头矩形高度
+ directionStopType:'normal', // special 西安二号线 停车 列车方向图标不消失 normal 正常
+ trainHeadHeight: 'trainBox', // 列车车头高度取决于trainBox高度
+ trainHeadArrowWidth: 5, // 列车车头三角宽度
+ trainHeadArrowOffsetX: 4 // 列车车头三角偏移
+ },
+ common: {
+ trainHeight: 20, // 列车高度
+ trainHeadDistance: 2, // 列车和车头之间的间距
+ trainWidth: 70, // 列车长度
+ trainTextFontSize: 16, // 列车字号
+ fontFamily: 'consolas', // 默认字体 族类
+ haveTextHSDA: true, // 是否需创建textHSDA对象
+ haveArrowText: true, // 是否需创建arrowText对象
+ textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
+ trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
+ trainHeadColorChangeMode: 1, // 1:driveMode + runlevel
+ trainTip:false // 鼠标悬停列车状态信息框是否显示
+ },
+ mouseOverStyle:{
+ borderLineColor: '#FFFFFF',
+ borderLineDash: [3, 3],
+ leftOffset:30,
+ rightOffset:30
+ },
+ 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: 'AMCBTC',
+ trainLColor: '#FFCE4D',
+ trainRColor: '#FFCE4D'
+ },
+ {
+ status: 'CMCBTC',
+ trainLColor: '#FFFFCD',
+ trainRColor: '#FFFFCD'
+ },
+ {
+ status: 'AMITC',
+ trainLColor: '#B903E1',
+ trainRColor: '#B903E1'
+ },
+ {
+ status: 'CMITC',
+ trainLColor: '#9370DB',
+ trainRColor: '#9370DB'
+ },
+ {
+ status: 'RMIL',
+ trainLColor: '#808080',
+ trainRColor: '#808080'
+ },
+ {
+ status: 'RMITC',
+ trainLColor: '#808080',
+ trainRColor: '#808080'
+ },
+ {
+ status: 'RMCBTC',
+ trainLColor: '#808080',
+ trainRColor: '#808080'
+ },
+ {
+ status: 'NRMCBTC',
+ trainLColor: 'rgba(0, 0, 0, 0)',
+ trainRColor: 'rgba(0, 0, 0, 0)'
+ }
+ ], // 列车运行模式对应车头颜色 ATO自动驾驶模式AM ATP监控下的人工驾驶模式CM 限制人工驾驶模式RM 非限制人工驾驶模式NRM
+ communicationStatus: [
+ ] // 设置通信状态 cbtc级别CBTC 点式通信ITC 联锁级IL
+ }
+ };
+ this[deviceType.FloodGate] = {};
+ this[deviceType.DirectionRod] = {};
+ this[deviceType.IndicatorLight] = {};
+ }
+}
+
+export default new SkinCode();
diff --git a/src/jmapNew/theme/factory.js b/src/jmapNew/theme/factory.js
index 3f0e64d42..68936a674 100644
--- a/src/jmapNew/theme/factory.js
+++ b/src/jmapNew/theme/factory.js
@@ -54,7 +54,8 @@ class Theme {
'16': 'datie_02',
'17': 'datie_tky',
'18': 'datie_jd1a',
- '19': 'datie_ksk'
+ '19': 'datie_ksk',
+ '20': 'ningbo_01'
};
this._runplan = {
@@ -77,7 +78,8 @@ class Theme {
'16': 'datie_02',
'17': 'datie_tky',
'18': 'datie_jd1a',
- '19': 'datie_ksk'
+ '19': 'datie_ksk',
+ '20': 'ningbo_01'
};
this._localShowMode = { // 现地显示模式
@@ -99,7 +101,8 @@ class Theme {
'16':'ecStation',
'17': 'all',
'18': 'all',
- '19': 'all'
+ '19': 'all',
+ '20': 'ecStation'
};
}
diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuTrain.vue b/src/jmapNew/theme/fuzhou_01/menus/menuTrain.vue
index 73d2becdc..829863eaa 100644
--- a/src/jmapNew/theme/fuzhou_01/menus/menuTrain.vue
+++ b/src/jmapNew/theme/fuzhou_01/menus/menuTrain.vue
@@ -10,6 +10,7 @@
+
@@ -31,6 +32,7 @@ import { menuOperate, commitOperate, commitTrainSend } from '@/jmapNew/theme/com
import TrainOperation from '@/jmapNew/theme/components/menus/dialog/trainOperation';
import { MouseEvent } from '@/scripts/ConstDic';
import { getSessionStorage } from '@/utils/auth';
+import SetTrainOperation from '@/jmapNew/theme/components/menus/dialog/setTrainOperation';
export default {
name: 'MenuTrain',
@@ -44,7 +46,8 @@ export default {
TrainEditNumber,
SetFault,
SpeedLimit,
- TrainOperation
+ TrainOperation,
+ SetTrainOperation
},
props: {
selected: {
@@ -91,6 +94,10 @@ export default {
{
label: '取消故障',
handler: this.cancelStoppage
+ },
+ {
+ label: '连挂',
+ handler: this.setLink
}
],
menuDirective: [
@@ -239,6 +246,14 @@ export default {
}
});
},
+ // 设置连挂
+ setLink() {
+ commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setTrainOperation.doShow(menuOperate.Common.setLink, this.selected, true);
+ }
+ });
+ },
nextStation() {
commitOperate(menuOperate.Driver.driveAhead, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
}).catch((error) => {
diff --git a/src/jmapNew/theme/ningbo_01/menus/menuTrain.vue b/src/jmapNew/theme/ningbo_01/menus/menuTrain.vue
index 0b95bd060..ea152a429 100644
--- a/src/jmapNew/theme/ningbo_01/menus/menuTrain.vue
+++ b/src/jmapNew/theme/ningbo_01/menus/menuTrain.vue
@@ -11,6 +11,7 @@
+
@@ -34,6 +35,7 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
import TrainDetail from './dialog/trainDetail';
+import SetTrainOperation from '@/jmapNew/theme/components/menus/dialog/setTrainOperation';
export default {
name: 'MenuTrain',
@@ -49,7 +51,8 @@ export default {
trainSetWorkATP,
SetFault,
SpeedLimit,
- TrainDetail
+ TrainDetail,
+ SetTrainOperation
},
props: {
selected: {
@@ -153,6 +156,10 @@ export default {
{
label: '取消故障',
handler: this.cancelStoppage
+ },
+ {
+ label: '连挂',
+ handler: this.setLink
}
],
menuDirective: [
@@ -296,6 +303,14 @@ export default {
}
});
},
+ // 设置连挂
+ setLink() {
+ commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{
+ if (valid) {
+ this.$refs.setTrainOperation.doShow(menuOperate.Common.setLink, this.selected, true);
+ }
+ });
+ },
nextStation() {
commitOperate(menuOperate.Driver.driveAhead, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
}).catch((error) => {