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 @@ 恢复 - +
@@ -49,7 +49,7 @@