From 92f2292592865b77662b473a63769b152ea0860b Mon Sep 17 00:00:00 2001
From: fan <18706759286@163.com>
Date: Tue, 12 Nov 2019 09:40:36 +0800
Subject: [PATCH 1/3] =?UTF-8?q?=E6=9A=82=E6=97=A0=E6=B3=95=E8=B4=AD?=
=?UTF-8?q?=E4=B9=B0=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/demonstration/detail/index.vue | 15 +++++++++++----
src/views/exam/detail/courseDetail.vue | 15 +++++++++++----
src/views/publish/publishLesson/index.vue | 23 -----------------------
src/views/teach/detail/index.vue | 13 ++++++++++---
4 files changed, 32 insertions(+), 34 deletions(-)
diff --git a/src/views/demonstration/detail/index.vue b/src/views/demonstration/detail/index.vue
index 451bf4c96..8f93fca02 100644
--- a/src/views/demonstration/detail/index.vue
+++ b/src/views/demonstration/detail/index.vue
@@ -235,11 +235,18 @@ export default {
});
},
buy() {
- this.buttonLoading = true;
- this.$router.push({
- path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
- query: { permissionType: PermissionType.SIMULATION, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
+ this.$confirm('支付系统正在改进,如需购买请联系客服
客服电话:13289398171', this.$t('global.tips'), {
+ confirmButtonText: this.$t('global.confirm'),
+ dangerouslyUseHTMLString: true,
+ type: 'warning',
+ showCancelButton: false,
+ center: true
});
+ // this.buttonLoading = true;
+ // this.$router.push({
+ // path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
+ // query: { permissionType: PermissionType.SIMULATION, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
+ // });
},
transfer() {
this.buttonLoading = false;
diff --git a/src/views/exam/detail/courseDetail.vue b/src/views/exam/detail/courseDetail.vue
index c21001778..274ee4a74 100644
--- a/src/views/exam/detail/courseDetail.vue
+++ b/src/views/exam/detail/courseDetail.vue
@@ -137,11 +137,18 @@ export default {
});
},
buy() {
- this.loading = true;
- this.$router.push({
- path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
- query: { permissionType: PermissionType.EXAM, lessonId: this.courseModel.id, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
+ this.$confirm('支付系统正在改进,如需购买请联系客服
客服电话:13289398171', this.$t('global.tips'), {
+ confirmButtonText: this.$t('global.confirm'),
+ dangerouslyUseHTMLString: true,
+ type: 'warning',
+ showCancelButton: false,
+ center: true
});
+ // this.loading = true;
+ // this.$router.push({
+ // path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`,
+ // query: { permissionType: PermissionType.EXAM, lessonId: this.courseModel.id, prdId: this.courseModel.prdId, mapId: this.courseModel.mapId, subSystem: this.$route.params.subSystem }
+ // });
},
checkCourse() {
this.loading = true;
diff --git a/src/views/publish/publishLesson/index.vue b/src/views/publish/publishLesson/index.vue
index f037ad930..2fe2f9b43 100644
--- a/src/views/publish/publishLesson/index.vue
+++ b/src/views/publish/publishLesson/index.vue
@@ -30,14 +30,6 @@ export default {
type: 'text',
label: this.$t('global.name')
},
- cityCode: {
- type: 'select',
- label: this.$t('publish.city'),
- selectChange: this.handleCitySelect,
- config: {
- data: []
- }
- },
mapId: {
type: 'select',
label: this.$t('publish.belongsToMap'),
@@ -186,21 +178,6 @@ export default {
},
reloadTable() {
this.queryList.reload();
- },
- handleCitySelect(form) {
- this.queryForm.queryObject.mapId.config.data = [];
- form.mapId = '';
- if (!form.cityCode) {
- this.mapList.forEach(elem => {
- this.queryForm.queryObject.mapId.config.data.push({value: elem.id, label: elem.name});
- });
- } else {
- this.mapList.forEach(elem => {
- if (elem.cityCode === form.cityCode) {
- this.queryForm.queryObject.mapId.config.data.push({value: elem.id, label: elem.name});
- }
- });
- }
}
}
};
diff --git a/src/views/teach/detail/index.vue b/src/views/teach/detail/index.vue
index 2cc3e3dc9..2ed856c16 100644
--- a/src/views/teach/detail/index.vue
+++ b/src/views/teach/detail/index.vue
@@ -157,10 +157,17 @@ export default {
return data.name.indexOf(value) !== -1;
},
buy() {
- this.$router.push({
- path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`, query:
- { permissionType: PermissionType.LESSON, lessonId: this.courseModel.id, prdId: this.$route.query.prdId, mapId: this.$route.query.mapId, subSystem: this.$route.params.subSystem }
+ this.$confirm('支付系统正在改进,如需购买请联系客服
客服电话:13289398171', this.$t('global.tips'), {
+ confirmButtonText: this.$t('global.confirm'),
+ dangerouslyUseHTMLString: true,
+ type: 'warning',
+ showCancelButton: false,
+ center: true
});
+ // this.$router.push({
+ // path: `${UrlConfig.trainingPlatform.pay}/${this.courseModel.id}`, query:
+ // { permissionType: PermissionType.LESSON, lessonId: this.courseModel.id, prdId: this.$route.query.prdId, mapId: this.$route.query.mapId, subSystem: this.$route.params.subSystem }
+ // });
},
nodeExpand(obj, node, ele) {
const key = obj.id;
From 7018b4c3089915ea56dce3f6b2cf087520596a15 Mon Sep 17 00:00:00 2001
From: zyy <1787816799@qq.com>
Date: Tue, 12 Nov 2019 13:36:21 +0800
Subject: [PATCH 2/3] =?UTF-8?q?desc:=20=E4=BF=AE=E6=94=B9=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/jmap/config/skinCode/chengdu_03.js | 1136 ++++++++---------
src/jmap/shape/Train/index.js | 750 +++++------
src/router/index.js | 2 +-
src/views/jlmap/index.vue | 9 +-
src/views/mapdraft/index.vue | 25 +-
.../mapdraft/mapoperate/ImageControl.vue | 1 -
src/views/mapdraft/mapoperate/buttonDraft.vue | 1 -
src/views/mapdraft/mapoperate/counter.vue | 1 -
src/views/mapdraft/mapoperate/delayunlock.vue | 1 -
src/views/mapdraft/mapoperate/index.vue | 3 -
src/views/mapdraft/mapoperate/lcControl.vue | 1 -
.../mapdraft/mapoperate/limitControl.vue | 1 -
src/views/mapdraft/mapoperate/line.vue | 1 -
src/views/mapdraft/mapoperate/signal.vue | 1 -
.../mapdraft/mapoperate/stationcontrol.vue | 1 -
.../mapdraft/mapoperate/stationstand.vue | 1 -
src/views/mapdraft/mapoperate/switch.vue | 5 -
src/views/mapdraft/mapoperate/text.vue | 1 -
src/views/mapdraft/mapoperate/train/index.vue | 7 +-
src/views/mapdraft/mapoperate/trainwindow.vue | 21 +-
src/views/mapdraft/mapoperate/zcControl.vue | 1 -
21 files changed, 985 insertions(+), 985 deletions(-)
diff --git a/src/jmap/config/skinCode/chengdu_03.js b/src/jmap/config/skinCode/chengdu_03.js
index 85f09950a..b05cb22fe 100644
--- a/src/jmap/config/skinCode/chengdu_03.js
+++ b/src/jmap/config/skinCode/chengdu_03.js
@@ -2,590 +2,590 @@ import defaultStyle from '../defaultStyle';
import deviceType from '../../constant/deviceType';
class SkinCode extends defaultStyle {
- constructor() {
- super();
- this[deviceType.Link] = {
- lineWidthColor: '#FFFFFF', // line 颜色
- linkWidth: 4.4, // link 宽度
- linkColor: '#3F3F3F', // link 线条颜色
- linkTextColor: '#FFFFFF' // link 字体颜色
- };
+ constructor() {
+ super();
+ this[deviceType.Link] = {
+ lineWidthColor: '#FFFFFF', // line 颜色
+ linkWidth: 4.4, // link 宽度
+ linkColor: '#3F3F3F', // link 线条颜色
+ linkTextColor: '#FFFFFF' // link 字体颜色
+ };
- this[deviceType.Section] = {
- active: {
- routeColor: true // 进路触发颜色
- },
- text: {
- show: true, // 物理区段名称显示
- position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
- distance: 10, // 文字离区段距离
- fontSize: 12, // 字体大小
- fontWeight: 'normal', // 字体粗细
- fontColor: '#FFFFFF', // 字体颜色
- 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, // 目的码名称显示
- opposite: 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' // 逻辑区段名称颜色 (未用)
- },
- axle: {
- radius: 3, // 计轴 半径
- distance: 5, // 计轴和区段之间的距离 (未用)
- color: '#C0C0C0', // 区段计轴颜色
- resetColor: '#00FFFF', // 区段计轴预复位颜色
- Failure: '#E6A23C' // #FFFF00 计轴失效
- },
- 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: '#FFFFFF' // 区段边界符颜色
- },
- shuttleBack: { // 折返进路 (存在此对象 显示折返箭头)
- distance: 5 // 限速线距离区段距离
- }
- };
+ this[deviceType.Section] = {
+ active: {
+ routeColor: true // 进路触发颜色
+ },
+ text: {
+ show: true, // 物理区段名称显示
+ position: 0, // 区段名称位置 1 上面 -1 下面 0 对称
+ distance: 10, // 文字离区段距离
+ fontSize: 12, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ fontColor: '#FFFFFF', // 字体颜色
+ 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, // 目的码名称显示
+ opposite: 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' // 逻辑区段名称颜色 (未用)
+ },
+ axle: {
+ radius: 3, // 计轴 半径
+ distance: 5, // 计轴和区段之间的距离 (未用)
+ color: '#C0C0C0', // 区段计轴颜色
+ resetColor: '#00FFFF', // 区段计轴预复位颜色
+ Failure: '#E6A23C' // #FFFF00 计轴失效
+ },
+ 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: '#FFFFFF' // 区段边界符颜色
+ },
+ shuttleBack: { // 折返进路 (存在此对象 显示折返箭头)
+ distance: 5 // 限速线距离区段距离
+ }
+ };
- this[deviceType.Signal] = {
- distance: 10, // 设备距离区段的距离
- post: {
- standardColor: '#FFFFFF', // 灯柱颜色
- standardWidth: 2 // 灯柱宽度
- },
- text: {
- show: true, // 信号机名称显示
- distance: 3, // 文字和灯杆的距离
- isNoRotation: true, // 是否禁止旋转
- isAlignCenter: false, // 信号字体对其方式
- fontSize: 11, // 信号机名称字体大小
- fontWeight: 'bold', // 信号机名称字体粗细
- defaultColor: '#FFFFFF', // 信号灯字体默认色
- blockColor: '#EF0C08', // 信号灯字体锁定颜色
- checkColor: '#00FF00' // 信号保护区段检查颜色
- },
- lamp: {
- guidName: 'chengdu_03', // 成都三号线引导类型
- borderVariable: true, // 信号灯边框可变
- stopWidth: 2, // 禁止线宽度
- borderWidth: 2, // 信号灯边框线宽度
- borderColor: '#3149C3', // 信号灯边框线颜色
- radiusR: 6, // 信号灯半径
- blockColor: '#EF0C08', // 信号灯锁闭
- grayColor: '#7F7F7F', // 信号灯灰色
- redColor: '#FF0000', // 信号灯红色
- greenColor: '#00FF00', // 信号灯绿色
- yellowColor: '#FFFF00', // 信号灯黄色
- whiteColor: '#FFFFFF', // 信号灯白色
- blueColor: '#0070C0' // 信号灯蓝色
- },
- route: {
- direction: true, // 自动通过方向
- offset: { x: 4, y: 0}, // 自动通过偏移量
- routeColor: '#00FF00' // 自动进路
- },
- auto: {
- 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' // 字体粗细
+ this[deviceType.Signal] = {
+ distance: 10, // 设备距离区段的距离
+ post: {
+ standardColor: '#FFFFFF', // 灯柱颜色
+ standardWidth: 2 // 灯柱宽度
+ },
+ text: {
+ show: true, // 信号机名称显示
+ distance: 3, // 文字和灯杆的距离
+ isNoRotation: true, // 是否禁止旋转
+ isAlignCenter: false, // 信号字体对其方式
+ fontSize: 11, // 信号机名称字体大小
+ fontWeight: 'bold', // 信号机名称字体粗细
+ defaultColor: '#FFFFFF', // 信号灯字体默认色
+ blockColor: '#EF0C08', // 信号灯字体锁定颜色
+ checkColor: '#00FF00' // 信号保护区段检查颜色
+ },
+ lamp: {
+ guidName: 'chengdu_03', // 成都三号线引导类型
+ borderVariable: true, // 信号灯边框可变
+ stopWidth: 2, // 禁止线宽度
+ borderWidth: 2, // 信号灯边框线宽度
+ borderColor: '#3149C3', // 信号灯边框线颜色
+ radiusR: 6, // 信号灯半径
+ blockColor: '#EF0C08', // 信号灯锁闭
+ grayColor: '#7F7F7F', // 信号灯灰色
+ redColor: '#FF0000', // 信号灯红色
+ greenColor: '#00FF00', // 信号灯绿色
+ yellowColor: '#FFFF00', // 信号灯黄色
+ whiteColor: '#FFFFFF', // 信号灯白色
+ blueColor: '#0070C0' // 信号灯蓝色
+ },
+ route: {
+ direction: true, // 自动通过方向
+ offset: { x: 4, y: 0}, // 自动通过偏移量
+ routeColor: '#00FF00' // 自动进路
+ },
+ auto: {
+ 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' // 信号灯按钮闪烁颜色
- }
- };
+ },
+ button: {
+ distance: 5, // 信号灯按钮距离区段的距离
+ borderDashColor: '#FFFFFF', // 信号灯按钮边线
+ buttonColor: 'darkgreen', // 信号灯按钮颜色
+ buttonLightenColor: '#E4EF50' // 信号灯按钮闪烁颜色
+ }
+ };
- this[deviceType.StationStand] = {
- common: { // 通用属性
- textFontSize: 10, // 站台默认字体大小
- haveJumpShow: true // 站台是否有列车停跳显示
- },
- safetyDoor: { // 屏蔽门
- height: 3, // 站台屏蔽门高度
- distance: 8, // 站台和屏蔽门之间的距离
- defaultColor: '#00FF00', // 屏蔽门默认颜色
- splitDoorColor: '#C00808' // 屏蔽门切除颜色
- },
- stand: { // 站台
- headFontSize: 10, // 站台首端字体大小
- spareColor: '#ffffff', // 站台空闲颜色
- stopColor: '#FFF000', // 站台列车停站颜色
- jumpStopColor: '#808080', // 站台跳停颜色
- designatedJumpStopColor: '#808080' // 站台指定列车跳停颜色
- },
- standEmergent: { // 紧急关闭
- mergentR: 4, // 站台紧急关闭半径
- offset: {x: 0, y: 40}, // 站台紧急关闭偏移量
- closeColor: '#F61107' // 站台紧急关闭颜色
- },
- reentry: { // 站台折返策略
- position: 0, // 折返方向
- offset: {x: -16, y: 20}, // 折返偏移量
- noHumanColor: '#0F16DA', // 站台无人折返
- autoChangeEndsColor: '#0BF400' // 站台自动换端
- },
- detainCar: { // 扣车
- text: '扣', // 扣车显示内容
- position: -1, // 扣车方向
- offset: {x: -8, y: -20}, // 扣车偏移量
- trainColor: '#FFFF00', // 车站扣车颜色
- centerTrainColor: '#C0C0C0', // 中心扣车颜色
- andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色
- detainTrainTextColor: '#E4EF50' // 车站扣除文字颜色
- },
- stopTime: { // 停站时间
- position: 1, // 运行时间方向
- offset: {x: -8, y: -4}, // 运行时间偏移量
- textColor: '#C0C0C0' // 停站时间字体颜色
- },
- jump: {
- text: '跳', // 停跳显示内容
- position: -1, // 停跳方向
- offset: {x: -8, y: 0},
- textColor: '#0000FF', // 停跳文字颜色
- arcColor: '#0000FF', // 停跳圆圈颜色
- fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
- r: 8 // 圆半径大小
- },
- level: { // 运行等级
- position: 1, // 运行等级方向
- offset: {x: -8, y: 30}, // 运行等级偏移量
- textColor: '#FFF000' // 停站等级字体颜色
- }
- };
+ this[deviceType.StationStand] = {
+ common: { // 通用属性
+ textFontSize: 10, // 站台默认字体大小
+ haveJumpShow: true // 站台是否有列车停跳显示
+ },
+ safetyDoor: { // 屏蔽门
+ height: 3, // 站台屏蔽门高度
+ distance: 8, // 站台和屏蔽门之间的距离
+ defaultColor: '#00FF00', // 屏蔽门默认颜色
+ splitDoorColor: '#C00808' // 屏蔽门切除颜色
+ },
+ stand: { // 站台
+ headFontSize: 10, // 站台首端字体大小
+ spareColor: '#ffffff', // 站台空闲颜色
+ stopColor: '#FFF000', // 站台列车停站颜色
+ jumpStopColor: '#808080', // 站台跳停颜色
+ designatedJumpStopColor: '#808080' // 站台指定列车跳停颜色
+ },
+ standEmergent: { // 紧急关闭
+ mergentR: 4, // 站台紧急关闭半径
+ offset: {x: 0, y: 40}, // 站台紧急关闭偏移量
+ closeColor: '#F61107' // 站台紧急关闭颜色
+ },
+ reentry: { // 站台折返策略
+ position: 0, // 折返方向
+ offset: {x: -16, y: 20}, // 折返偏移量
+ noHumanColor: '#0F16DA', // 站台无人折返
+ autoChangeEndsColor: '#0BF400' // 站台自动换端
+ },
+ detainCar: { // 扣车
+ text: '扣', // 扣车显示内容
+ position: -1, // 扣车方向
+ offset: {x: -8, y: -20}, // 扣车偏移量
+ trainColor: '#FFFF00', // 车站扣车颜色
+ centerTrainColor: '#C0C0C0', // 中心扣车颜色
+ andCenterTrainColor: '#C0C0C0', // 车站+中心扣车颜色
+ detainTrainTextColor: '#E4EF50' // 车站扣除文字颜色
+ },
+ stopTime: { // 停站时间
+ position: 1, // 运行时间方向
+ offset: {x: -8, y: -4}, // 运行时间偏移量
+ textColor: '#C0C0C0' // 停站时间字体颜色
+ },
+ jump: {
+ text: '跳', // 停跳显示内容
+ position: -1, // 停跳方向
+ offset: {x: -8, y: 0},
+ textColor: '#0000FF', // 停跳文字颜色
+ arcColor: '#0000FF', // 停跳圆圈颜色
+ fillColor: 'rgba(0,0,0,0)', // 透明填充颜色
+ r: 8 // 圆半径大小
+ },
+ level: { // 运行等级
+ position: 1, // 运行等级方向
+ offset: {x: -8, y: 30}, // 运行等级偏移量
+ textColor: '#FFF000' // 停站等级字体颜色
+ }
+ };
- this[deviceType.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: 36, // 控制模式之间灯之间的距离
- grayColor: '#7F7F7F', // 控制模式灰色
- greenColor: '#00FF00', // 控制模式绿色
- redColor: '#FF0000', // 控制模式红色
- yellowColor: '#FFFF00', // 控制模式黄色
- emergencyControlShow: true, // 紧急站控显示
- centerControlShow: true, // 中控显示
- substationControlShow: true, // 站控按钮显示
- interconnectedControlShow: true // 联锁控显示
- },
- arrow: {
- show: false // 控制模式箭头显隐
- }
- };
+ this[deviceType.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: 36, // 控制模式之间灯之间的距离
+ grayColor: '#7F7F7F', // 控制模式灰色
+ greenColor: '#00FF00', // 控制模式绿色
+ redColor: '#FF0000', // 控制模式红色
+ yellowColor: '#FFFF00', // 控制模式黄色
+ emergencyControlShow: true, // 紧急站控显示
+ centerControlShow: true, // 中控显示
+ substationControlShow: true, // 站控按钮显示
+ interconnectedControlShow: true // 联锁控显示
+ },
+ arrow: {
+ show: false // 控制模式箭头显隐
+ }
+ };
- this[deviceType.StationCounter] = {
- text: {
- distance: 2, // 计数器名称和文字的距离
- fontColor: '#FFFFFF', // 计数器字体颜色
- borderColor: '#E4EF50' // 计数器边框颜色
- }
- };
+ this[deviceType.StationCounter] = {
+ text: {
+ distance: 2, // 计数器名称和文字的距离
+ fontColor: '#FFFFFF', // 计数器字体颜色
+ borderColor: '#E4EF50' // 计数器边框颜色
+ }
+ };
- this[deviceType.StationDelayUnlock] = {
- text: {
- distance: 3, // 延迟解锁和设备之间的距离
- fontColor: '#FFFFFF', // 延时解锁字体颜色
- borderColor: '#FFFFFF' // 延迟解锁边框颜色
- }
- };
+ this[deviceType.StationDelayUnlock] = {
+ text: {
+ distance: 3, // 延迟解锁和设备之间的距离
+ fontColor: '#FFFFFF', // 延时解锁字体颜色
+ borderColor: '#FFFFFF' // 延迟解锁边框颜色
+ }
+ };
- this[deviceType.Station] = {
- // text: {
- // show: true // 公里标名称显示
- // },
- kmPostShow: false, // 公里标显示
- kilometerPosition: 'up' // 公里标朝向
- };
+ this[deviceType.Station] = {
+ // text: {
+ // show: true // 公里标名称显示
+ // },
+ kmPostShow: false, // 公里标显示
+ kilometerPosition: 'up' // 公里标朝向
+ };
- 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', // 道岔反位颜色
- monolockColor: '#FFFFFF' // 道岔单锁颜色
- },
- core: {
- length: 6 // 道岔单边长度
- },
- monolock: { // 道岔单锁配置
- locationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色)
- inversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色)
- rectShow: true, // 道岔单锁 矩形框是否显示
- rectWidth: 18, // 矩形框 宽高
- rectBorderColor: '#fff' // 矩形边框颜色
- },
- block: { // 道岔封锁配置
- nameBorderShow: false, // 道岔名称是否有包围框 显示
- contentRectShow: true, // 道岔封锁显示
- contentRectColor: 'red' // 道岔封锁边框颜色
- }
- };
+ 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', // 道岔反位颜色
+ monolockColor: '#FFFFFF' // 道岔单锁颜色
+ },
+ core: {
+ length: 6 // 道岔单边长度
+ },
+ monolock: { // 道岔单锁配置
+ locationColor: '#00FF00', // 道岔单锁'定位'颜色 (绿色)
+ inversionColor: '#FFFF00', // 道岔单锁'反位'颜色 (黄色)
+ rectShow: true, // 道岔单锁 矩形框是否显示
+ rectWidth: 18, // 矩形框 宽高
+ rectBorderColor: '#fff' // 矩形边框颜色
+ },
+ block: { // 道岔封锁配置
+ nameBorderShow: false, // 道岔名称是否有包围框 显示
+ contentRectShow: true, // 道岔封锁显示
+ contentRectColor: 'red' // 道岔封锁边框颜色
+ }
+ };
- this[deviceType.LcControl] = {
- text: {
- fontSize: 11, // 字体大小
- fontWeight: 'normal', // 字体粗细
- distance: 5 // 灯跟文字距离
- },
- lamp: {
- radiusR: 6, // 控制灯大小
- controlColor: '#FFFF00' // 控制灯颜色
- }
- };
+ this[deviceType.LcControl] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ radiusR: 6, // 控制灯大小
+ controlColor: '#FFFF00' // 控制灯颜色
+ }
+ };
- this[deviceType.ZcControl] = {
- text: {
- fontSize: 11, // 字体大小
- fontWeight: 'normal', // 字体粗细
- distance: 5 // 灯跟文字距离
- },
- lamp: {
- radiusR: 6, // 控制灯大小
- controlColor: '#00FF00' // 控制灯颜色
- }
- };
+ 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.LimitControl] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ radiusR: 6, // 控制灯大小
+ controlColor: '#ECE9D8' // 控制灯颜色
+ }
+ };
- this[deviceType.ButtonControl] = {
- text: {
- fontSize: 11, // 字体大小
- fontWeight: 'normal', // 字体粗细
- distance: 5 // 灯跟文字距离
- },
- lamp: {
- radiusR: 6, // 控制灯大小
- controlColor: '#FFFF00' // 控制灯颜色
- }
- };
+ this[deviceType.ButtonControl] = {
+ text: {
+ fontSize: 11, // 字体大小
+ fontWeight: 'normal', // 字体粗细
+ distance: 5 // 灯跟文字距离
+ },
+ lamp: {
+ radiusR: 6, // 控制灯大小
+ controlColor: '#FFFF00' // 控制灯颜色
+ }
+ };
- this[deviceType.Line] = {
- lineColor: '#FFFFFF' // 线条颜色
- };
+ this[deviceType.Line] = {
+ lineColor: '#FFFFFF' // 线条颜色
+ };
- this[deviceType.TrainWindow] = {
- lineColor: '#4DD43F', // 车次窗颜色
- lineDash: null, // 车次窗虚线间隔
- lineWidth: 1, // 车次窗线宽
- trainWindowSmooth: 0 // 车次窗矩形圆滑程度
- };
+ this[deviceType.TrainWindow] = {
+ lineColor: '#4DD43F', // 车次窗颜色
+ lineDash: null, // 车次窗虚线间隔
+ lineWidth: 1, // 车次窗线宽
+ trainWindowSmooth: 0 // 车次窗矩形圆滑程度
+ };
- this[deviceType.Train] = {
- trainBody: {
- trainBodyLineWidth: 1, // 车身line宽
- changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
- specialTrainType: [
- {
- type: '03',
- serviceNumber: '---',
- nameFormat: 'groupNumber:serviceNumber'
- },
- {
- type: '03',
- nameFormat: 'serviceNumber:trainNumber'
- }
- ], // 特殊列车类型需设置显示格式
- lrPadding: 4, // 两边间隔
- upPadding: 4, // 上边距离
- trainBodyFillColor: '#000099', // 列车车身填充颜色
- trainNameFormat: 'serviceNumber:targetCode'// 列车显示格式
- },
- hsda: {
- lrPaddingHSDA: 3, // HSDA两边间隔
- upPaddingHSDA: 4, // HSDA上边距离
- trainHSDATextFontSize: 9, // 列车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: {
- trainTargetNumberOffset: {x: 0, y: 0}// 车组号偏移量
- },
- trainHead: {
- trainMoreLength: 0, // 列车车头比车身高出的长度,上下相比车体伸出去的边框
- trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量
- trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量
- trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量
- trainConntWidth: 3, // 列车竖杠的宽度
- trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
- trainHeadRectHeight: 20 // 列车车头矩形高度
- },
- common: {
- trainHeight: 20, // 列车高度
- trainHeadDistance: 4, // 列车和车头之间的间距
- trainWidth: 48, // 列车长度
- trainTextFontSize: 12, // 列车字号
- fontFamily: 'consolas', // 默认字体 族类
- haveTextHSDA: true, // 是否需创建textHSDA对象
- haveArrowText: true, // 是否需创建arrowText对象
- haveTrainBorder: false, // 是否需创建trainBorder对象
- textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
- trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
- useSelfFormat: true, // 使用配置项的nameFormat
- useSelfText: 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: '01',
- lineLShow: true,
- lineRShow: true,
- arrowLShow: false,
- arrowRShow: false
- },
- {
- type: '02',
- lineLShow: false,
- lineRShow: true,
- arrowLShow: false,
- arrowRShow: true
- },
- {
- type: '03',
- lineLShow: true,
- lineRShow: false,
- arrowLShow: true,
- arrowRShow: false
- }
- ], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
- directionStopType: [
- {
- type: '01',
- lineLShow: false,
- lineRShow: false
- },
- {
- type: '02',
- lineLShow: false,
- lineRShow: true
- },
- {
- type: '03',
- lineLShow: true,
- lineRShow: false
- }
- ], // 列车停止方向类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
- runModeStatus: [
- {
- status: '01',
- trainLColor: '#00FF00',
- trainRColor: '#00FF00'
- },
- {
- status: '02',
- trainLColor: '#FF8000',
- trainRColor: '#FF8000'
- },
- {
- status: '03',
- trainLColor: '#FFFF00',
- trainRColor: '#FFFF00'
- },
- {
- status: '04',
- trainLColor: '#C2C2C2',
- trainRColor: '#C2C2C2'
- },
- {
- status: '05',
- trainLColor: '#C2C2C2',
- trainRColor: '#C2C2C2'
- }
- ], // 列车运行模式对应车头颜色 01未知 02 ATO自动驾驶模式AM 03 ATP监控下的人工驾驶模式CM 04 限制人工驾驶模式RM 05 非限制人工驾驶模式RM
- runControlStatus: [
- {
- status: '01',
- hShow: false,
- sShow: false
- },
- {
- status: '02',
- hShow: true,
- sShow: false
- },
- {
- status: '03',
- hShow: false,
- sShow: true
- }
- ], // 设置运行控制状态类型 01正常 02扣车 03停跳
- doorStatus: [
- {status: '01', dShow: false},
- {status: '02', dShow: true}
- ], // 设置车门状态类型 01关门 02开门
- communicationStatus: [
- {status: '01', trainColor: '#725A64'},
- {status: '02', trainColor: '#C0C0C0'}
- ], // 设置通信状态 01正常 02故障
- alarmStatus: [
- {status: '01', aShow: false},
- {status: '02', aShow: true}
- ] // 设置报警状态 01不报警 02报警
- }
- };
- }
+ this[deviceType.Train] = {
+ trainBody: {
+ trainBodyLineWidth: 1, // 车身line宽
+ changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
+ specialTrainType: [
+ {
+ type: '03',
+ serviceNumber: '---',
+ nameFormat: 'groupNumber:serviceNumber'
+ },
+ {
+ type: '03',
+ nameFormat: 'serviceNumber:trainNumber'
+ }
+ ], // 特殊列车类型需设置显示格式
+ lrPadding: 4, // 两边间隔
+ upPadding: 4, // 上边距离
+ trainBodyFillColor: '#000099', // 列车车身填充颜色
+ trainNameFormat: 'serviceNumber:targetCode'// 列车显示格式
+ },
+ hsda: {
+ lrPaddingHSDA: 3, // HSDA两边间隔
+ upPaddingHSDA: 4, // HSDA上边距离
+ trainHSDATextFontSize: 9, // 列车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: {
+ trainTargetNumberOffset: {x: 0, y: 0}// 车组号偏移量
+ },
+ trainHead: {
+ trainMoreLength: 0, // 列车车头比车身高出的长度,上下相比车体伸出去的边框
+ trainHeadTriangleFirst: { x: 7, y: 1}, // 列车车头三角坐标1偏移量
+ trainHeadTriangleSecond: { x: 13, y: 10}, // 列车车头三角坐标2偏移量
+ trainHeadTriangleThird: { x: 7, y: 19}, // 列车车头三角坐标3偏移量
+ trainConntWidth: 3, // 列车竖杠的宽度
+ trainHeadFillColor: '#000000', // 列车车头矩形填充颜色
+ trainHeadRectHeight: 20 // 列车车头矩形高度
+ },
+ common: {
+ trainHeight: 20, // 列车高度
+ trainHeadDistance: 4, // 列车和车头之间的间距
+ trainWidth: 48, // 列车长度
+ trainTextFontSize: 12, // 列车字号
+ fontFamily: 'consolas', // 默认字体 族类
+ haveTextHSDA: true, // 是否需创建textHSDA对象
+ haveArrowText: true, // 是否需创建arrowText对象
+ haveTrainBorder: false, // 是否需创建trainBorder对象
+ textOffset: 4, // 字体偏移(用以控制字体据车头的距离)
+ trainWidthMoreText: 8, // 计算列车长度时--列车长比text多出尺寸
+ useSelfFormat: true, // 使用配置项的nameFormat
+ useSelfText: 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: '01',
+ lineLShow: true,
+ lineRShow: true,
+ arrowLShow: false,
+ arrowRShow: false
+ },
+ {
+ type: '02',
+ lineLShow: false,
+ lineRShow: true,
+ arrowLShow: false,
+ arrowRShow: true
+ },
+ {
+ type: '03',
+ lineLShow: true,
+ lineRShow: false,
+ arrowLShow: true,
+ arrowRShow: false
+ }
+ ], // 列车运行方向状态类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
+ directionStopType: [
+ {
+ type: '01',
+ lineLShow: false,
+ lineRShow: false
+ },
+ {
+ type: '02',
+ lineLShow: false,
+ lineRShow: true
+ },
+ {
+ type: '03',
+ lineLShow: true,
+ lineRShow: false
+ }
+ ], // 列车停止方向类型对应车头显示状态 01未知方向 02从左往右 上行 03从右往左 下行
+ runModeStatus: [
+ {
+ status: '01',
+ trainLColor: '#00FF00',
+ trainRColor: '#00FF00'
+ },
+ {
+ status: '02',
+ trainLColor: '#FF8000',
+ trainRColor: '#FF8000'
+ },
+ {
+ status: '03',
+ trainLColor: '#FFFF00',
+ trainRColor: '#FFFF00'
+ },
+ {
+ status: '04',
+ trainLColor: '#C2C2C2',
+ trainRColor: '#C2C2C2'
+ },
+ {
+ status: '05',
+ trainLColor: '#C2C2C2',
+ trainRColor: '#C2C2C2'
+ }
+ ], // 列车运行模式对应车头颜色 01未知 02 ATO自动驾驶模式AM 03 ATP监控下的人工驾驶模式CM 04 限制人工驾驶模式RM 05 非限制人工驾驶模式RM
+ runControlStatus: [
+ {
+ status: '01',
+ hShow: false,
+ sShow: false
+ },
+ {
+ status: '02',
+ hShow: true,
+ sShow: false
+ },
+ {
+ status: '03',
+ hShow: false,
+ sShow: true
+ }
+ ], // 设置运行控制状态类型 01正常 02扣车 03停跳
+ doorStatus: [
+ {status: '01', dShow: false},
+ {status: '02', dShow: true}
+ ], // 设置车门状态类型 01关门 02开门
+ communicationStatus: [
+ {status: '01', trainColor: '#725A64'},
+ {status: '02', trainColor: '#C0C0C0'}
+ ], // 设置通信状态 01正常 02故障
+ alarmStatus: [
+ {status: '01', aShow: false},
+ {status: '02', aShow: true}
+ ] // 设置报警状态 01不报警 02报警
+ }
+ };
+ }
}
export default new SkinCode();
diff --git a/src/jmap/shape/Train/index.js b/src/jmap/shape/Train/index.js
index b71b6acb5..2c526caa9 100644
--- a/src/jmap/shape/Train/index.js
+++ b/src/jmap/shape/Train/index.js
@@ -6,382 +6,404 @@ import Rect from 'zrender/src/graphic/shape/Rect';
/** 列车 */
export default class Train extends Group {
- constructor(model, style) {
- super();
- this._code = model.code;
- this._type = model._type;
- this.zlevel = model.zlevel;
- this.model = model;
- this.style = style;
- this.z = 40;
- this.size = 0;
- this.section = null;
- this.fontSize = style.Train.common.useSelfText?style.Train.common.nameFontSize || style.Train.common.trainTextFontSize:model.nameFontSize || style.Train.common.nameFontSize || style.Train.common.trainTextFontSize;
- this.newScale = this.fontSize / style.Train.common.trainTextFontSize;
- this.nameFormat = style.Train.common.useSelfFormat?style.Train.trainBody.trainNameFormat:model.nameFormat || style.Train.trainBody.trainNameFormat;
- if ( style.Train.trainBody.specialTrainType.length > 0) {
- style.Train.trainBody.specialTrainType.some((item) =>{
- if (model.type === item.type) {
- this.nameFormat = item.nameFormat;
- model.serviceNumber = item.serviceNumber?item.serviceNumber : model.serviceNumber;
- return true;
- }
- });
- }
- this.create();
- this.setState(model);
- }
+ constructor(model, style) {
+ super();
+ this._code = model.code;
+ this._type = model._type;
+ this.zlevel = model.zlevel;
+ this.model = model;
+ this.style = style;
+ this.z = 40;
+ this.size = 0;
+ this.section = null;
+ this.fontSize = style.Train.common.useSelfText ? style.Train.common.nameFontSize || style.Train.common.trainTextFontSize : model.nameFontSize || style.Train.common.nameFontSize || style.Train.common.trainTextFontSize;
+ this.newScale = this.fontSize / style.Train.common.trainTextFontSize;
+ this.nameFormat = style.Train.common.useSelfFormat ? style.Train.trainBody.trainNameFormat : model.nameFormat || style.Train.trainBody.trainNameFormat;
+ if ( style.Train.trainBody.specialTrainType.length > 0) {
+ style.Train.trainBody.specialTrainType.some((item) =>{
+ if (model.type === item.type) {
+ this.nameFormat = item.nameFormat;
+ model.serviceNumber = item.serviceNumber ? item.serviceNumber : model.serviceNumber;
+ return true;
+ }
+ });
+ }
+ this.create();
+ this.setState(model);
+ }
- _computed() {
- const model = this.model;
- const style = this.style;
- if (model.trainWindowModel) {
- this.point = {
- x: model.trainWindowModel.point.x,
- y: model.trainWindowModel.point.y
- };
- switch (model.directionType) {
- case '01': // 未知方向
- this.point.x = this.point.x + model.trainWindowModel.width / 2 + Math.abs((style.Train.common.trainWidth - model.trainWindowModel.width) / 2);
- break;
- case '02': // 从左向右
- this.point.x = this.point.x + model.trainWindowModel.width / 2 - style.Train.trainHead.trainConntWidth * this.newScale - style.Train.common.trainWidth;
- break;
- case '03': // 从右向左
- this.point.x = this.point.x - model.trainWindowModel.width / 2 + style.Train.trainHead.trainConntWidth * this.newScale;
- break;
- }
- } else {
- this.point = model.position;
- this.traingle = null;
- }
- }
- create() {
- this._computed();
- this.isChangeTrainWidth(this.model, this.style);
- const model = this.model;
- const style = this.style;
- if (this.point) {
- this.trainB = new TrainBody({
- zlevel: this.zlevel,
- z: this.z,
- style: style,
- point: this.point,
- destinationStatus: model.destinationStatus,
- serviceNumber: model.serviceNumber,
- tripNumber: model.tripNumber,
- targetCode: model.targetCode,
- groupNumber: model.groupNumber,
- directionType: model.directionType,
- directionCode: model.directionCode,
- sectionModel: model.sectionModel,
- runControlStatus: model.runControlStatus,
- runStatus: model.runStatus,
- fontSize: this.fontSize,
- nameFormat: this.nameFormat,
- type: model.type,
- speed: model.speed,
- maLen: model.maLen,
- model: model
- });
- this.trainL = new TrainHead({
- style: style,
- zlevel: this.zlevel,
- z: this.z,
- point: {
- x: this.point.x - style.Train.common.trainHeadDistance,
- y: this.point.y
- },
- drect: -1,
- scale: this.newScale
- });
+ _computed() {
+ const model = this.model;
+ const style = this.style;
+ if (model.trainWindowModel) {
+ this.point = {
+ x: model.trainWindowModel.point.x,
+ y: model.trainWindowModel.point.y
+ };
+ switch (model.directionType) {
+ case '01': // 未知方向
+ this.point.x = this.point.x + model.trainWindowModel.width / 2 + Math.abs((style.Train.common.trainWidth - model.trainWindowModel.width) / 2);
+ break;
+ case '02': // 从左向右
+ this.point.x = this.point.x + model.trainWindowModel.width / 2 - style.Train.trainHead.trainConntWidth * this.newScale - style.Train.common.trainWidth;
+ break;
+ case '03': // 从右向左
+ this.point.x = this.point.x - model.trainWindowModel.width / 2 + style.Train.trainHead.trainConntWidth * this.newScale;
+ break;
+ }
+ } else {
+ this.point = model.position;
+ this.traingle = null;
+ }
+ }
+ create() {
+ this._computed();
+ this.isChangeTrainWidth(this.model, this.style);
+ const model = this.model;
+ const style = this.style;
+ if (this.point) {
+ this.trainB = new TrainBody({
+ zlevel: this.zlevel,
+ z: this.z,
+ style: style,
+ point: this.point,
+ destinationStatus: model.destinationStatus,
+ serviceNumber: model.serviceNumber,
+ tripNumber: model.tripNumber,
+ targetCode: model.targetCode,
+ groupNumber: model.groupNumber,
+ directionType: model.directionType,
+ directionCode: model.directionCode,
+ sectionModel: model.sectionModel,
+ runControlStatus: model.runControlStatus,
+ runStatus: model.runStatus,
+ fontSize: this.fontSize,
+ nameFormat: this.nameFormat,
+ type: model.type,
+ speed: model.speed,
+ maLen: model.maLen,
+ model: model
+ });
+ this.trainL = new TrainHead({
+ style: style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: this.point.x - style.Train.common.trainHeadDistance,
+ y: this.point.y
+ },
+ drect: -1,
+ scale: this.newScale
+ });
- this.trainR = new TrainHead({
- style: style,
- zlevel: this.zlevel,
- z: this.z,
- point: {
- x: this.point.x + style.Train.common.trainWidth + style.Train.common.trainHeadDistance,
- y: this.point.y
- },
- drect: 1,
- scale: this.newScale
- });
+ this.trainR = new TrainHead({
+ style: style,
+ zlevel: this.zlevel,
+ z: this.z,
+ point: {
+ x: this.point.x + style.Train.common.trainWidth + style.Train.common.trainHeadDistance,
+ y: this.point.y
+ },
+ drect: 1,
+ scale: this.newScale
+ });
- this.add(this.trainB);
- this.add(this.trainL);
- this.add(this.trainR);
- }
- if (style.Train.common.haveTrainBorder) {
- this.createTrainBorder();
- }
- }
+ this.add(this.trainB);
+ this.add(this.trainL);
+ this.add(this.trainR);
+ }
+ if (style.Train.common.haveTrainBorder) {
+ this.createTrainBorder();
+ }
+ }
- // 获取设备提示坐标
- getShapeTipPoint() {
- }
+ // 获取设备提示坐标
+ getShapeTipPoint() {
+ }
- // 恢复颜色状态
- recover() {
- this.trainB && this.trainB.setHShow(false);
- this.trainB && this.trainB.setSShow(false);
- this.trainB && this.trainB.setDShow(false);
- this.trainB && this.trainB.setAShow(false);
- this.trainL && this.trainL.setLineShow(false);
- this.trainR && this.trainR.setLineShow(false);
- this.trainL && this.trainL.setArrowShow(false);
- this.trainR && this.trainR.setArrowShow(false);
- }
+ // 恢复颜色状态
+ recover() {
+ this.trainB && this.trainB.setHShow(false);
+ this.trainB && this.trainB.setSShow(false);
+ this.trainB && this.trainB.setDShow(false);
+ this.trainB && this.trainB.setAShow(false);
- // 设置服务号状态类型
- setServerNoType(type) {
- if (this.style.Train.trainStatusStyle.serverNoType.length>0) {
- const flag = this.style.Train.trainStatusStyle.serverNoType.some((item) =>{
- if (type === item.type) {
- this.trainB && this.trainB.setTextTrainServerColor(item.showColor);
- return true;
- }
- });
- if (this.style.Train.trainStatusStyle.defaultServerNoColor && !flag) {
- this.trainB && this.trainB.setTextTrainServerColor(this.style.Train.trainStatusStyle.defaultServerNoColor);
- }
- }
- }
+ this.trainL && this.trainL.setLineShow(false);
+ this.trainR && this.trainR.setLineShow(false);
+ this.trainL && this.trainL.setArrowShow(false);
+ this.trainR && this.trainR.setArrowShow(false);
+ }
- // 设置目的地状态
- setDestinationStatus(status) {
- if (this.style.Train.trainStatusStyle.destinationStatus.length>0) {
- const flag = this.style.Train.trainStatusStyle.destinationStatus.some((item) =>{
- if (status === item.status) {
- switch (this.style.Train.trainStatusStyle.destinationStatusSetText) {
- case 'trainTarget':
- this.trainB && this.trainB.setTextTrainTargetColor(item.showColor);
- break;
- case 'trainServer':
- this.trainB && this.trainB.setTextTrainServerColor(item.showColor);
- break;
- case 'trainWindowBorder':
- this.trainB && this.trainB.setBodyBoxShape('stroke', item.showColor);
- break;
- default:
- this.trainB && this.trainB.setTextTrainTargetColor(item.showColor);
- }
- return true;
- }
- });
- if (this.style.Train.trainStatusStyle.defaultDestinationColor && !flag) {
- switch (this.style.Train.trainStatusStyle.destinationStatusSetText) {
- case 'trainTarget':
- this.trainB && this.trainB.setTextTrainTargetColor(this.style.Train.trainStatusStyle.defaultDestinationColor);
- break;
- case 'trainServer':
- this.trainB && this.trainB.setTextTrainServerColor(this.style.Train.trainStatusStyle.defaultDestinationColor);
- break;
- case 'trainWindowBorder':
- this.trainB && this.trainB.setBodyBoxShape('stroke', this.style.Train.trainStatusStyle.defaultDestinationColor);
- break;
- default:
- this.trainB && this.trainB.setTextTrainTargetColor(this.style.Train.trainStatusStyle.defaultDestinationColor);
- }
- }
- }
- }
+ // 设置服务号状态类型
+ setServerNoType(type) {
+ if (this.style.Train.trainStatusStyle.serverNoType.length > 0) {
+ const flag = this.style.Train.trainStatusStyle.serverNoType.some((item) =>{
+ if (type === item.type) {
+ this.trainB && this.trainB.setTextTrainServerColor(item.showColor);
+ return true;
+ }
+ });
+ if (this.style.Train.trainStatusStyle.defaultServerNoColor && !flag) {
+ this.trainB && this.trainB.setTextTrainServerColor(this.style.Train.trainStatusStyle.defaultServerNoColor);
+ }
+ }
+ }
- // 设置运行方向状态类型
- setDirectionType(type) {
- if (this.style.Train.trainStatusStyle.directionType.length > 0) {
- this.style.Train.trainStatusStyle.directionType.some((item) => {
- if (type === item.type) {
- this.trainL && this.trainL.setLineShow(item.lineLShow);
- this.trainL && this.trainL.setArrowShow(item.arrowLShow);
- this.trainR && this.trainR.setLineShow(item.lineRShow);
- this.trainR && this.trainR.setArrowShow(item.arrowRShow);
- return true;
- }
- });
- }
- }
- // 设置列车停止方向类型
- setDirectionStopType(type) {
- if (this.style.Train.trainStatusStyle.directionStopType.length > 0) {
- this.style.Train.trainStatusStyle.directionStopType.some((item) => {
- if (type === item.type) {
- this.trainL && this.trainL.setLineShow(item.lineLShow);
- this.trainR && this.trainR.setLineShow(item.lineRShow);
- return true;
- }
- });
- }
- }
- // 设置运行状态
- setRunStatus(status) {
- switch (status) {
- case '01': // 停止
- this.setDirectionStopType(this.model.directionType); // 设置运行方向状态类型
- break;
- case '02': // 运行
- this.setDirectionType(this.model.directionType); // 设置运行方向状态类型
- break;
- }
+ // 设置目的地状态
+ setDestinationStatus(status) {
+ if (this.style.Train.trainStatusStyle.destinationStatus.length > 0) {
+ const flag = this.style.Train.trainStatusStyle.destinationStatus.some((item) =>{
+ if (status === item.status) {
+ switch (this.style.Train.trainStatusStyle.destinationStatusSetText) {
+ case 'trainTarget':
+ this.trainB && this.trainB.setTextTrainTargetColor(item.showColor);
+ break;
+ case 'trainServer':
+ this.trainB && this.trainB.setTextTrainServerColor(item.showColor);
+ break;
+ case 'trainWindowBorder':
+ this.trainB && this.trainB.setBodyBoxShape('stroke', item.showColor);
+ break;
+ default:
+ this.trainB && this.trainB.setTextTrainTargetColor(item.showColor);
+ }
+ return true;
+ }
+ });
+ if (this.style.Train.trainStatusStyle.defaultDestinationColor && !flag) {
+ switch (this.style.Train.trainStatusStyle.destinationStatusSetText) {
+ case 'trainTarget':
+ this.trainB && this.trainB.setTextTrainTargetColor(this.style.Train.trainStatusStyle.defaultDestinationColor);
+ break;
+ case 'trainServer':
+ this.trainB && this.trainB.setTextTrainServerColor(this.style.Train.trainStatusStyle.defaultDestinationColor);
+ break;
+ case 'trainWindowBorder':
+ this.trainB && this.trainB.setBodyBoxShape('stroke', this.style.Train.trainStatusStyle.defaultDestinationColor);
+ break;
+ default:
+ this.trainB && this.trainB.setTextTrainTargetColor(this.style.Train.trainStatusStyle.defaultDestinationColor);
+ }
+ }
+ }
+ }
- }
- // 设置运行模式
- setRunMode(status) {
- if (this.style.Train.trainStatusStyle.runModeStatus.length > 0) {
- this.style.Train.trainStatusStyle.runModeStatus.some((item) => {
- if (status === item.status) {
- this.trainL && this.trainL.setColor(item.trainLColor);
- this.trainR &&this.trainR.setColor(item.trainRColor);
- return true;
- }
- });
- }
- }
- // 设置运行控制状态类型
- setRunControlStatus(status) {
- if (this.style.Train.trainStatusStyle.runControlStatus.length > 0) {
- this.style.Train.trainStatusStyle.runControlStatus.some((item) => {
- if (status === item.status) {
- this.trainB && this.trainB.setHShow(item.hShow);
- this.trainB && this.trainB.setSShow(item.sShow);
- return true;
- }
- });
- }
- }
- // 设置车门状态类型
- setDoorStatus(status) {
- if (this.style.Train.trainStatusStyle.doorStatus.length > 0) {
- this.style.Train.trainStatusStyle.doorStatus.some((item) => {
- if (status === item.status) {
- this.trainB && this.trainB.setDShow(item.dShow);
- return true;
- }
- });
- }
- }
- // 设置通信状态类型
- setCommunicationStatus() {
- if (this.style.Train.trainStatusStyle.communicationStatus.length > 0) {
- this.style.Train.trainStatusStyle.communicationStatus.some((item) => {
- if (status === item.status) {
- this.trainB && this.trainB.setTrainColor(item.trainColor);
- return true;
- }
- });
- }
- }
- // 设置报警状态
- setAlarmStatus(status) {
- if (this.style.Train.trainStatusStyle.alarmStatus.length >0) {
- this.style.Train.trainStatusStyle.alarmStatus.some((item) => {
- if (status === item.status) {
- this.trainB && this.trainB.setAShow(item.aShow);
- return true;
- }
- });
- }
- }
- setTrainTypeStatus(type) {
- if (this.style.Train.trainStatusStyle.trainTypeStatus) {
- this.style.Train.trainStatusStyle.trainTypeStatus.some((item) => {
- if ( type === item.type) {
- item.serviceNumberColor && this.trainB && this.trainB.setTextTrainServerColor(item.serviceNumberColor);
- item.trainNumberColor && this.trainB && this.trainB.setTextTrainNumberColor(item.trainNumberColor);
- item.trainTargetColor && this.trainB && this.trainB.setTextTrainTargetColor(item.trainTargetColor);
- item.groupNumberColor && this.trainB && this.trainB.setTextTrainTargetNumberColor(item.groupNumberColor);
- }
- });
- }
- }
- // 设置状态
- setState(model) {
- this.model = model;
- if (model) {
- this.recover();
- this.setServerNoType(model.serverNoType); // 设置服务号状态类型
- this.setDestinationStatus(model.destinationStatus); // 设置目的地状态
- this.setRunStatus(model.runStatus); // 设置运行状态
- this.setRunMode(model.runMode); // 设置运行模式
- this.setRunControlStatus(model.runControlStatus); // 设置运行控制状态类型
- this.setDoorStatus(model.doorStatus); // 设置车门状态类型
- this.setCommunicationStatus(model.communicationStatus); // 设置通信状态类型
- this.setAlarmStatus(model.alarmStatus); // 设置报警状态
- this.setTrainTypeStatus(model.type); // 根据列车类型设置列车识别号样式
- }
- }
- // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
- isChangeTrainWidth(model, style) {
- if (!style.Train.trainBody.changeTrainWidth) { return; }
- if (this.nameFormat) {
- const arr = this.nameFormat.split(':');
- arr.forEach(ele => {
- switch (ele) {
- case 'targetCode': {
- this.size += (style.Train.trainNumber.targetCodePrefix || '').length;
- break;
- }
- case 'serviceNumber': {
- this.size += (style.Train.trainServer.serviceNumberPrefix || '').length;
- break;
- }
- case 'tripNumber': {
- this.size += (style.Train.trainTarget.tripNumberPrefix || '').length;
- break;
- }
- case 'groupNumber': {
- this.size += (style.Train.trainTargetNumber.groupNumberPrefix || '').length;
- break;
- }
- }
- });
- } else {
- this.size = 9;
- }
- this.style.Train.common.trainWidth = this.size * this.fontSize * this.style.Train.common.aspectRatio + this.style.Train.common.trainWidthMoreText;
- }
- removeTrainDetail() {
- this.trainB && this.trainB.removeTrainDetail();
- }
+ // 设置运行方向状态类型
+ setDirectionType(type, flag) {
+ if (this.style.Train.trainStatusStyle.directionType.length > 0) {
+ this.style.Train.trainStatusStyle.directionType.forEach((item) => {
+ if (type === item.type) {
+ let lineLShow = item.lineLShow;
+ let arrowLShow = item.arrowLShow;
+ let lineRShow = item.lineRShow;
+ let arrowRShow = item.arrowRShow;
+ if (flag) {
+ lineLShow = !item.lineLShow;
+ arrowLShow = !item.arrowLShow;
+ lineRShow = !item.lineRShow;
+ arrowRShow = !item.arrowRShow;
+ }
+ this.trainL && this.trainL.setLineShow(lineLShow);
+ this.trainL && this.trainL.setArrowShow(arrowLShow);
+ this.trainR && this.trainR.setLineShow(lineRShow);
+ this.trainR && this.trainR.setArrowShow(arrowRShow);
+ return true;
+ }
+ });
+ }
+ }
+ // 设置列车停止方向类型
+ setDirectionStopType(type) {
+ if (this.style.Train.trainStatusStyle.directionStopType.length > 0) {
+ this.style.Train.trainStatusStyle.directionStopType.forEach((item) => {
+ if (type === item.type) {
+ this.trainL && this.trainL.setLineShow(item.lineLShow);
+ this.trainR && this.trainR.setLineShow(item.lineRShow);
+ return true;
+ }
+ });
+ }
+ }
+ // 设置运行状态
+ setRunStatus(status, flag) {
+ switch (status) {
+ case '01': // 停止
+ this.setDirectionStopType(this.model.directionType); // 设置运行方向状态类型
+ break;
+ case '02': // 运行
+ this.setDirectionType(this.model.directionType, flag); // 设置运行方向状态类型
+ break;
+ }
- getBoundingRect() {
- const list = [this.trainB, this.trainL, this.trainR];
- let rect = null;
+ }
+ // 设置运行模式
+ setRunMode(status) {
+ if (this.style.Train.trainStatusStyle.runModeStatus.length > 0) {
+ this.style.Train.trainStatusStyle.runModeStatus.some((item) => {
+ if (status === item.status) {
+ this.trainL && this.trainL.setColor(item.trainLColor);
+ this.trainR && this.trainR.setColor(item.trainRColor);
+ return true;
+ }
+ });
+ }
+ }
+ // 设置运行控制状态类型
+ setRunControlStatus(status) {
+ if (this.style.Train.trainStatusStyle.runControlStatus.length > 0) {
+ this.style.Train.trainStatusStyle.runControlStatus.some((item) => {
+ if (status === item.status) {
+ this.trainB && this.trainB.setHShow(item.hShow);
+ this.trainB && this.trainB.setSShow(item.sShow);
+ return true;
+ }
+ });
+ }
+ }
+ // 设置车门状态类型
+ setDoorStatus(status) {
+ if (this.style.Train.trainStatusStyle.doorStatus.length > 0) {
+ this.style.Train.trainStatusStyle.doorStatus.some((item) => {
+ if (status === item.status) {
+ this.trainB && this.trainB.setDShow(item.dShow);
+ return true;
+ }
+ });
+ }
+ }
+ // 设置通信状态类型
+ setCommunicationStatus() {
+ if (this.style.Train.trainStatusStyle.communicationStatus.length > 0) {
+ this.style.Train.trainStatusStyle.communicationStatus.some((item) => {
+ if (status === item.status) {
+ this.trainB && this.trainB.setTrainColor(item.trainColor);
+ return true;
+ }
+ });
+ }
+ }
+ // 设置报警状态
+ setAlarmStatus(status) {
+ if (this.style.Train.trainStatusStyle.alarmStatus.length > 0) {
+ this.style.Train.trainStatusStyle.alarmStatus.some((item) => {
+ if (status === item.status) {
+ this.trainB && this.trainB.setAShow(item.aShow);
+ return true;
+ }
+ });
+ }
+ }
+ setTrainTypeStatus(type) {
+ if (this.style.Train.trainStatusStyle.trainTypeStatus) {
+ this.style.Train.trainStatusStyle.trainTypeStatus.some((item) => {
+ if ( type === item.type) {
+ item.serviceNumberColor && this.trainB && this.trainB.setTextTrainServerColor(item.serviceNumberColor);
+ item.trainNumberColor && this.trainB && this.trainB.setTextTrainNumberColor(item.trainNumberColor);
+ item.trainTargetColor && this.trainB && this.trainB.setTextTrainTargetColor(item.trainTargetColor);
+ item.groupNumberColor && this.trainB && this.trainB.setTextTrainTargetNumberColor(item.groupNumberColor);
+ }
+ });
+ }
+ }
+ // 设置状态
+ setState(model) {
+ this.model = model;
+ // let points = [];
+ const flag = false;
+ // if (this.model.sectionModel && this.model.sectionModel.points) {
+ // points = this.model.sectionModel.points;
+ // if (points.length) {
+ // const pointFlag = points[0].x - points[points.length - 1].x;
+ // if (pointFlag > 0) {
+ // flag = true; // 方向去反
+ // }
+ // }
+ // }
+ if (model) {
+ this.recover();
+ this.setServerNoType(model.serverNoType); // 设置服务号状态类型
+ this.setDestinationStatus(model.destinationStatus); // 设置目的地状态
+ this.setRunStatus(model.runStatus, flag); // 设置运行状态
+ this.setRunMode(model.runMode); // 设置运行模式
+ this.setRunControlStatus(model.runControlStatus); // 设置运行控制状态类型
+ this.setDoorStatus(model.doorStatus); // 设置车门状态类型
+ this.setCommunicationStatus(model.communicationStatus); // 设置通信状态类型
+ this.setAlarmStatus(model.alarmStatus); // 设置报警状态
+ this.setTrainTypeStatus(model.type); // 根据列车类型设置列车识别号样式
+ }
+ }
+ // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
+ isChangeTrainWidth(model, style) {
+ if (!style.Train.trainBody.changeTrainWidth) { return; }
+ if (this.nameFormat) {
+ const arr = this.nameFormat.split(':');
+ arr.forEach(ele => {
+ switch (ele) {
+ case 'targetCode': {
+ this.size += (style.Train.trainNumber.targetCodePrefix || '').length;
+ break;
+ }
+ case 'serviceNumber': {
+ this.size += (style.Train.trainServer.serviceNumberPrefix || '').length;
+ break;
+ }
+ case 'tripNumber': {
+ this.size += (style.Train.trainTarget.tripNumberPrefix || '').length;
+ break;
+ }
+ case 'groupNumber': {
+ this.size += (style.Train.trainTargetNumber.groupNumberPrefix || '').length;
+ break;
+ }
+ }
+ });
+ } else {
+ this.size = 9;
+ }
+ this.style.Train.common.trainWidth = this.size * this.fontSize * this.style.Train.common.aspectRatio + this.style.Train.common.trainWidthMoreText;
+ }
+ removeTrainDetail() {
+ this.trainB && this.trainB.removeTrainDetail();
+ }
- list.forEach(elem => {
- if (elem) {
- const tempRect = elem.getBoundingRect();
- if (tempRect.x && tempRect.y && tempRect.width && tempRect.height) {
- if (rect) {
- rect.union(tempRect);
- } else {
- rect = tempRect;
- }
- }
- }
- });
+ getBoundingRect() {
+ const list = [this.trainB, this.trainL, this.trainR];
+ let rect = null;
- return rect || new BoundingRect(0, 0, 0, 0);
- }
- createTrainBorder() {
- const rect = Object.assign({}, this.getBoundingRect());
- rect.x -= this.style.Train.common.trainWidth / 2;
- rect.y -= 5;
- rect.width += this.style.Train.common.trainWidth;
- rect.height += 10;
+ list.forEach(elem => {
+ if (elem) {
+ const tempRect = elem.getBoundingRect();
+ if (tempRect.x && tempRect.y && tempRect.width && tempRect.height) {
+ if (rect) {
+ rect.union(tempRect);
+ } else {
+ rect = tempRect;
+ }
+ }
+ }
+ });
- this.trainBorder = new Rect({
- zlevel: this.zlevel,
- z: this.z,
- silent: true,
- shape: rect,
- style: {
- lineDash: [3, 3],
- stroke: this.style.borderColor,
- fill: this.style.transparentColor
- }
- });
+ return rect || new BoundingRect(0, 0, 0, 0);
+ }
+ createTrainBorder() {
+ const rect = Object.assign({}, this.getBoundingRect());
+ rect.x -= this.style.Train.common.trainWidth / 2;
+ rect.y -= 5;
+ rect.width += this.style.Train.common.trainWidth;
+ rect.height += 10;
- this.add(this.trainBorder);
- }
+ this.trainBorder = new Rect({
+ zlevel: this.zlevel,
+ z: this.z,
+ silent: true,
+ shape: rect,
+ style: {
+ lineDash: [3, 3],
+ stroke: this.style.borderColor,
+ fill: this.style.transparentColor
+ }
+ });
+
+ this.add(this.trainBorder);
+ }
}
diff --git a/src/router/index.js b/src/router/index.js
index b1a72884e..c7b631d99 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -134,7 +134,7 @@ export const userSimulation = '013'; // 仿真系统
export const userScreen = '014'; // 大屏系统
export const userPlan = '015'; // 计划系统
export const userDesign = '016'; // 设计系统
-const isDev = process.env.NODE_ENV === 'development';
+// const isDev = process.env.NODE_ENV === 'development';
export const UrlConfig = {
display: '/display',
diff --git a/src/views/jlmap/index.vue b/src/views/jlmap/index.vue
index dc401af42..d946938c4 100644
--- a/src/views/jlmap/index.vue
+++ b/src/views/jlmap/index.vue
@@ -251,14 +251,7 @@ export default {
},
// 右键点击事件
onContextMenu(em) {
- const path = window.location.href;
- let mouseWheelFlag = false;
- if (path.includes('design/userlist/map/draw')) {
- mouseWheelFlag = true;
- }
- if (!mouseWheelFlag) { // 地图绘制无右键操作
- this.$emit('onMenu', em);
- }
+ this.$emit('onMenu', em);
},
// 设置地图加载状态
mapViewLoaded(loading) {
diff --git a/src/views/mapdraft/index.vue b/src/views/mapdraft/index.vue
index 49acc05c3..279ed3114 100644
--- a/src/views/mapdraft/index.vue
+++ b/src/views/mapdraft/index.vue
@@ -8,7 +8,7 @@