From 65c235bfcd6cd01c4d8e1da281844ea8e93615f2 Mon Sep 17 00:00:00 2001 From: joylink_cuiweidong <364937672@qq.com> Date: Thu, 24 Jun 2021 13:05:00 +0800 Subject: [PATCH 01/50] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E7=99=BB?= =?UTF-8?q?=E9=99=86=E8=B7=B3=E8=BD=AC=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icon/favicon_richor.png | Bin 0 -> 33696 bytes src/jmapNew/mouseController.js | 1 + src/router/index.js | 1 + src/scripts/ProjectConfig.js | 21 +++++++++++++++++---- src/store/modules/permission.js | 4 +++- src/views/thirdLogin/index.vue | 13 +++++++++++-- 6 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 src/assets/icon/favicon_richor.png diff --git a/src/assets/icon/favicon_richor.png b/src/assets/icon/favicon_richor.png new file mode 100644 index 0000000000000000000000000000000000000000..f04540d409c2c1c213cd648c4f2e965671d911a8 GIT binary patch literal 33696 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 literal 0 HcmV?d00001 diff --git a/src/jmapNew/mouseController.js b/src/jmapNew/mouseController.js index 360f9286f..6f786e015 100644 --- a/src/jmapNew/mouseController.js +++ b/src/jmapNew/mouseController.js @@ -239,6 +239,7 @@ class MouseController extends Eventful { this.$jmap.deleteCheckBox('check_box'); this.eventTarget = ''; this.deviceList = []; + store.commit('map/setSeclectDeviceList', this.deviceList); // 给store设置框选的 model } } // 通过包围盒筛选选中区域的元素 diff --git a/src/router/index.js b/src/router/index.js index 62424839b..a74967ab4 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -225,6 +225,7 @@ export const projectTky = '018'; // 铁科院 export const projectHeb = '019'; // 哈盈达 export const projectDrts = '020'; // 行调实训 export const projectSdy = '021';// 苏电院 +export const projectRichor = '022';// 中航锐创 export const userTrainingPlatform = '016'; // 实训系统 // export const refereePlatform = '017'; // 裁判系统 diff --git a/src/scripts/ProjectConfig.js b/src/scripts/ProjectConfig.js index 080120e0f..b9b51babf 100644 --- a/src/scripts/ProjectConfig.js +++ b/src/scripts/ProjectConfig.js @@ -15,6 +15,7 @@ import FaviconNty from '@/assets/icon/favicon_nty.png'; import FaviconBjd from '@/assets/icon/favicon_bjd.png'; import FaviconSdy from '@/assets/icon/favicon_jdy.png'; import FaviconCgy from '@/assets/icon/favicon_cgy.png'; +import FaviconRichor from '@/assets/icon/favicon_richor.png'; import FaviconZzww from '@/assets/icon/favicon_zzww.png'; import Link_Bxkc from '@/assets/icon/link_bxkc.png'; import Link_Crsc from '@/assets/icon/link_crsc.png'; @@ -425,6 +426,15 @@ export const loginInfo = { navigationLogoWidth: '180px', navigationMarginLeft: '195px', systemType: '011' + }, + richor:{ + title: '中航锐创城市轨道交通实训平台', + loginParam: 'RICHOR', + linkIcon: FaviconRichor, + titleIcon: FaviconRichor, + navigationLogoWidth: '40px', + navigationMarginLeft: '50px', + systemType: '022' } }; @@ -466,7 +476,8 @@ export const ProjectIcon = { sdy: FaviconSdy, designsdy: FaviconSdy, cgy: FaviconCgy, - designcgy: FaviconCgy + designcgy: FaviconCgy, + richor:FaviconRichor }; export const ProjectCode = { @@ -495,10 +506,11 @@ export const ProjectCode = { sdy: 'SDY', designsdy: 'SDY', cgy: 'CGY', - designcgy: 'CGY' + designcgy: 'CGY', + richor:'RICHOR' }; export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 底部栏仅展示公司信息不展示备案号 -export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww']; // 实训设计平台通过项目code获取地图列表的项目 +export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'richor']; // 实训设计平台通过项目code获取地图列表的项目 export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目 export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 登录页右下角版本开发基于不展示 export const MainBodyNoShow = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 登录页右下角主体不展示 @@ -557,7 +569,8 @@ export const ProjectList = [ {value: 'sdy', label: '苏电院'}, {value: 'cgy', label: '成都工业'}, {value: 'wjls', label: '微机联锁'}, - {value: 'zzww', label: '郑州共赢'} + {value: 'zzww', label: '郑州共赢'}, + {value: 'richor', label: '中航锐创'} ]; export const localPackageProject = { localdesign: 'designheb', diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js index 8314f639e..1d1b255ac 100644 --- a/src/store/modules/permission.js +++ b/src/store/modules/permission.js @@ -1,4 +1,4 @@ -import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectJyd, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy } from '@/router/index'; +import { publicAsyncRoute, asyncRouter, constantRoutes, user, projectTrain, projectXian, projectXty, projectGzzb, projectJsxt, projectJyd, projectRichor, projectTky, projectHeb, superAdmin, admin, userTrainingPlatform, JSXT, projectRoute, projectDrts, projectSdy } from '@/router/index'; import { loginInfo } from '@/scripts/ProjectConfig'; import { getSessionStorage } from '@/utils/auth'; @@ -78,6 +78,8 @@ function resetAsyncRouter({ systemType }) { list = [...list, ...asyncRouter]; } else if (systemType == projectDrts) { list = [...list, ...asyncRouter]; + } else if (systemType == projectRichor) { + list = [...list, ...asyncRouter]; } else if (systemType == projectSdy) { if (projectRoute && projectRoute.designsdy && projectRoute.designsdy.length) { projectRoute.designheb.forEach(item => { diff --git a/src/views/thirdLogin/index.vue b/src/views/thirdLogin/index.vue index 07545fc62..67dadb760 100644 --- a/src/views/thirdLogin/index.vue +++ b/src/views/thirdLogin/index.vue @@ -9,7 +9,9 @@ import { LoginParams } from '@/utils/login'; import { thirdCountLogin } from '@/api/management/user'; import md5 from 'js-md5'; -import { setToken, getToken, setSessionStorage } from '@/utils/auth'; +import { setToken, getToken, setSessionStorage, getSessionStorage } from '@/utils/auth'; +// , ProjectLoginStyleList, VersionBaseNoShow, MainBodyNoShow, NoQrcodeList, localPackageProject, RegisterCodeList +import { loginInfo, ProjectIcon } from '@/scripts/ProjectConfig'; export default { name:'ThirdLogin', @@ -24,8 +26,14 @@ export default { return project || 'login'; } }, - mounted() { + created() { setSessionStorage('project', this.project); + const project = getSessionStorage('project'); + if (project) { + document.querySelector("link[rel*='icon']").href = loginInfo[project].linkIcon || ProjectIcon[project]; + } + }, + mounted() { const userId = this.$route.query.userId; const paccount = this.$route.query.paccount; const secret = this.$route.query.secret; @@ -35,6 +43,7 @@ export default { if (userId && paccount && secret == computeSecret) { const model = Object.assign({ parentAccount:paccount, + project:loginInfo[this.project].loginParam, account:userId, deviceCode:deviceCode }, LoginParams.LianKeTang); From e1b5c43fb775404753b76ef74a8e6aa694c8f2f2 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Thu, 24 Jun 2021 13:54:44 +0800 Subject: [PATCH 02/50] =?UTF-8?q?zc=E8=AE=BE=E5=A4=87=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0noService=E5=B1=9E=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/ZcControl/index.js | 23 ++++++++++--------- .../newMapdraft/mapoperate/zcControl.vue | 10 +++++--- 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/jmapNew/shape/graph/ZcControl/index.js b/src/jmapNew/shape/graph/ZcControl/index.js index 012028b8c..2984d4c41 100644 --- a/src/jmapNew/shape/graph/ZcControl/index.js +++ b/src/jmapNew/shape/graph/ZcControl/index.js @@ -59,21 +59,22 @@ export default class ZcControl extends Group { } - setAshShow() { - this.control && this.control.setControlColor('#7F7F7F'); - } + setAshShow() { + this.control && this.control.setControlColor('#7F7F7F'); + } // 设置状态 setState(model) { - this.recover(); + this.recover(); - // 只响应前端自定义类型的状态变化 - if (model._free) { - this.setAshShow() - } else { - model.fault == 'FAULT' && this.fault(); - if (!this.isShowShape) return; - } + // 只响应前端自定义类型的状态变化 + if (model._free) { + this.setAshShow(); + } else { + model.fault == 'FAULT' && this.fault(); + model.noService && this.fault(); + if (!this.isShowShape) return; + } } recover() { diff --git a/src/views/newMap/newMapdraft/mapoperate/zcControl.vue b/src/views/newMap/newMapdraft/mapoperate/zcControl.vue index 1982b42da..d2c8e70ee 100644 --- a/src/views/newMap/newMapdraft/mapoperate/zcControl.vue +++ b/src/views/newMap/newMapdraft/mapoperate/zcControl.vue @@ -55,6 +55,7 @@ export default { name: '', managedSectionList:[], // visible: '', + noService: false, concentrateStationList:[], position: { x: 0, @@ -65,6 +66,7 @@ export default { code: '', name: '', // visible: '', + noService: false, concentrateStationList:[], position: { x: 0, @@ -82,9 +84,9 @@ export default { // visible: [ // { required: true, message: this.$t('rules.visible'), trigger: 'change' } // ], - concentrateStationList:[ - { required: true, message: this.$t('rules.selectConcentrateStation'), trigger: 'change' } - ], + // concentrateStationList:[ + // { required: true, message: this.$t('rules.selectConcentrateStation'), trigger: 'change' } + // ], 'position.x': [ { required: true, message: this.$t('rules.trainPositionX'), trigger: 'blur' } ], @@ -121,6 +123,7 @@ export default { { prop: 'position.x', firstLevel: 'position', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' }, { prop: 'position.y', firstLevel: 'position', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' } ] }, + { prop: 'noService', label: '无服务:', type: 'checkbox' }, { prop:'concentrateStationList', label:this.$t('map.concentrateStationList'), type: 'multiSelect', optionLabel: 'name', optionValue: 'code', options: this.concertrateStation }, // deviceChange: this.changeConcertrateStation { prop:'managedSectionList', label:'管理区段列表: ', type: 'checkBoxDevice', getName:this.getName, mouseenter:this.mouseenter, mouseleave:this.mouseleave, buttonShowType:this.isButtonType, hover:this.hover, buttonType:'checkZcSection', clear:this.clear} @@ -187,6 +190,7 @@ export default { this.editModel = { code: selected.code, name: selected.name, + noService: !!selected.noService, concentrateStationList:selected.concentrateStationList || [], managedSectionList:selected.managedSectionList || [], position: Object.assign({}, selected.position) From 8a13e4475b283729b8b459d4bc53959e1fe4970a Mon Sep 17 00:00:00 2001 From: joylink_cuiweidong <364937672@qq.com> Date: Thu, 24 Jun 2021 15:02:49 +0800 Subject: [PATCH 03/50] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E7=99=BB?= =?UTF-8?q?=E9=99=86=20=E5=8E=BB=E6=8E=89=E4=B8=8B=E9=9D=A2=E7=9A=84icp?= =?UTF-8?q?=E5=A4=87=E6=A1=88=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/scripts/ProjectConfig.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scripts/ProjectConfig.js b/src/scripts/ProjectConfig.js index b9b51babf..1b671bd84 100644 --- a/src/scripts/ProjectConfig.js +++ b/src/scripts/ProjectConfig.js @@ -430,6 +430,7 @@ export const loginInfo = { richor:{ title: '中航锐创城市轨道交通实训平台', loginParam: 'RICHOR', + bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081', linkIcon: FaviconRichor, titleIcon: FaviconRichor, navigationLogoWidth: '40px', @@ -509,7 +510,7 @@ export const ProjectCode = { designcgy: 'CGY', richor:'RICHOR' }; -export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 底部栏仅展示公司信息不展示备案号 +export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor']; // 底部栏仅展示公司信息不展示备案号 export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'richor']; // 实训设计平台通过项目code获取地图列表的项目 export const CaseHideProjectList = ['heb', 'designheb', 'cgy', 'designcgy']; // 案例展示隐藏的项目 export const VersionBaseNoShow = ['heb', 'designheb', 'hls', 'designhls', 'drts', 'wjls', 'hyd', 'designhyd', 'cgy', 'designcgy']; // 登录页右下角版本开发基于不展示 From 8528475bcb49b5db4e28726779ea8ab2ad916768 Mon Sep 17 00:00:00 2001 From: joylink_cuiweidong <364937672@qq.com> Date: Thu, 24 Jun 2021 15:15:31 +0800 Subject: [PATCH 04/50] =?UTF-8?q?=E5=88=A0=E9=99=A4404=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E7=9A=84=20=E4=B8=80=E4=BA=9B=E6=96=87=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/error-page/404.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/error-page/404.vue b/src/views/error-page/404.vue index 0ccdb6a22..23cb65a64 100644 --- a/src/views/error-page/404.vue +++ b/src/views/error-page/404.vue @@ -9,9 +9,9 @@
OOPS!
-
All rights reserved +
{{ message }}
Please check that the URL you entered is correct, or click the button below to return to the homepage.
From 65d84a98a83683876e031e165a69169699c5cf29 Mon Sep 17 00:00:00 2001 From: yuan Date: Thu, 24 Jun 2021 18:14:36 +0800 Subject: [PATCH 05/50] =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E6=9C=BA=E8=B7=9D?= =?UTF-8?q?=E7=A6=BB=E8=AE=A1=E7=AE=97=E6=96=B9=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mapoperate/responder/responderBatchOperate.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/newMap/newMapdraft/mapoperate/responder/responderBatchOperate.vue b/src/views/newMap/newMapdraft/mapoperate/responder/responderBatchOperate.vue index cb9082dc5..12836b643 100644 --- a/src/views/newMap/newMapdraft/mapoperate/responder/responderBatchOperate.vue +++ b/src/views/newMap/newMapdraft/mapoperate/responder/responderBatchOperate.vue @@ -62,9 +62,9 @@ export default { return idx; }, - // 只是用来比较就不开根号了, 同一个区段的信号机距离应该不会溢出 + // 采用合理的距离计算方式 distanceOf(a, b) { - return (b.x - a.x) ** 2 + (b.y - a.y) ** 2; + return Math.hypot(b.x - a.x, b.y - a.y); } } }; From 51a0ebd5fe4e4946a2c57c58527d834bd63cf0f0 Mon Sep 17 00:00:00 2001 From: yuan Date: Fri, 25 Jun 2021 15:34:35 +0800 Subject: [PATCH 06/50] =?UTF-8?q?=E6=8A=BD=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/xian_01/menus/menuBar.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/jmapNew/theme/xian_01/menus/menuBar.vue b/src/jmapNew/theme/xian_01/menus/menuBar.vue index aab0162ed..c4cbb1583 100644 --- a/src/jmapNew/theme/xian_01/menus/menuBar.vue +++ b/src/jmapNew/theme/xian_01/menus/menuBar.vue @@ -15,6 +15,7 @@ +
+ + From 118a8d07d4f1b7776acfd2a217e476776827e9c3 Mon Sep 17 00:00:00 2001 From: yuan Date: Mon, 28 Jun 2021 10:21:16 +0800 Subject: [PATCH 08/50] =?UTF-8?q?=E9=94=99=E5=88=AB=E5=AD=97=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/Train/EMouse.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/jmapNew/shape/graph/Train/EMouse.js b/src/jmapNew/shape/graph/Train/EMouse.js index 107efdd85..9fb4ea8a0 100644 --- a/src/jmapNew/shape/graph/Train/EMouse.js +++ b/src/jmapNew/shape/graph/Train/EMouse.js @@ -65,7 +65,7 @@ class EMouse extends Group { text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`; } else { if (this.device.style.Train.moreTrainDetail) { - text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车次通信: 通信车\n运行时间: \n停站时间: \n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折法策略: \n折返状态: \n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; + text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车次通信: 通信车\n运行时间: \n停站时间: \n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: \n折返状态: \n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; } else { text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; } @@ -139,6 +139,7 @@ class EMouse extends Group { } } mouseover() { + console.log(this.device.model) if (this.device.model.style.Train.common.trainTip) { this.device.deviceModel.__down = true; this.arrowText.show(); From 7514ff3270e06409050cc15b32f23f3b2a95a566 Mon Sep 17 00:00:00 2001 From: yuan Date: Mon, 28 Jun 2021 10:40:35 +0800 Subject: [PATCH 09/50] =?UTF-8?q?bugfix-xa3-048=20=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=88=97=E8=BD=A6=E8=AF=86=E5=88=AB=E5=8F=B7=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/components/menus/dialog/trainControl.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/jmapNew/theme/components/menus/dialog/trainControl.vue b/src/jmapNew/theme/components/menus/dialog/trainControl.vue index a6bea6f08..100b441a2 100644 --- a/src/jmapNew/theme/components/menus/dialog/trainControl.vue +++ b/src/jmapNew/theme/components/menus/dialog/trainControl.vue @@ -29,7 +29,9 @@ {{ $t('menu.artificialTrain') }} - + + + {{ $t('menu.serviceNumber') + ':' }} - + + + + + + + Date: Mon, 28 Jun 2021 14:55:18 +0800 Subject: [PATCH 10/50] =?UTF-8?q?=E5=88=97=E8=BD=A6=E9=99=90=E9=80=9F?= =?UTF-8?q?=E5=8C=BA=E9=97=B4=E9=80=89=E6=8B=A95-65?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/components/menus/dialog/trainSpeedLimit.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jmapNew/theme/components/menus/dialog/trainSpeedLimit.vue b/src/jmapNew/theme/components/menus/dialog/trainSpeedLimit.vue index d3b149370..6f6b7615d 100644 --- a/src/jmapNew/theme/components/menus/dialog/trainSpeedLimit.vue +++ b/src/jmapNew/theme/components/menus/dialog/trainSpeedLimit.vue @@ -17,7 +17,7 @@
km/h - +
@@ -94,10 +94,10 @@ export default { validateLimit(rule, value, callback) { const num = Number(value); if (num) { - if ((num >= 25 && num <= 65) || num === -1) { + if ((num >= 5 && num <= 65) || num === -1) { callback(); } else { - callback(new Error('限速值应该在25-65之间')); + callback(new Error('限速值应该在5-65之间')); } } else { callback(new Error('请输入数值类型')); From e0f672cb7da929fe34568ac7f6ba09fca2102adf Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Mon, 28 Jun 2021 15:28:33 +0800 Subject: [PATCH 11/50] =?UTF-8?q?=E8=A5=BF=E5=AE=89=E4=B8=89=E5=88=97?= =?UTF-8?q?=E8=BD=A6=E6=95=85=E9=9A=9C=E5=A4=84=E7=90=86=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=BF=9E=E6=8C=82=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../menus/dialog/setTrainOperation.vue | 8 ++++---- src/jmapNew/theme/xian_01/menus/menuTrain.vue | 17 ++++++++++++++++- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue b/src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue index fa7958a9f..e46314d37 100644 --- a/src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue +++ b/src/jmapNew/theme/components/menus/dialog/setTrainOperation.vue @@ -93,7 +93,7 @@ export default { }, groupNumber: '', field: '', - selected: null, + selected: null, rules: { groupNumber2: [ { required: true, message: '请选择被动车', trigger: 'change'} @@ -146,8 +146,8 @@ export default { this.field = field == this.field ? '' : field; }, doShow(operate, selected) { - this.$root.$emit('dialogOpen', selected); - this.selected = selected; + this.$root.$emit('dialogOpen', selected); + this.selected = selected; if (!this.dialogShow) { this.operation = operate.operation; this.cmdType = operate.cmdType; @@ -164,7 +164,7 @@ export default { this.loading = false; this.dialogShow = false; this.$refs.form.resetFields(); - this.$root.$emit('dialogClose', this.selected); + this.$root.$emit('dialogClose', this.selected); this.$store.dispatch('training/emitTipFresh'); }, commit() { diff --git a/src/jmapNew/theme/xian_01/menus/menuTrain.vue b/src/jmapNew/theme/xian_01/menus/menuTrain.vue index 0abd101e0..787cd9e0a 100644 --- a/src/jmapNew/theme/xian_01/menus/menuTrain.vue +++ b/src/jmapNew/theme/xian_01/menus/menuTrain.vue @@ -10,6 +10,7 @@ +
@@ -29,6 +30,7 @@ import TrainMove from './dialog/trainMove'; import TrainSwitch from './dialog/trainSwitch'; import TrainEditNumber from './dialog/trainEditNumber'; import TrainDetail from './dialog/trainDetail'; +import SetTrainOperation from '@/jmapNew/theme/components/menus/dialog/setTrainOperation'; import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler'; import SpeedLimit from '@/jmapNew/theme/components/menus/dialog/trainSpeedLimit'; import { menuOperate, commitOperate, commitTrainSend } from '@/jmapNew/theme/components/utils/menuOperate'; @@ -45,7 +47,8 @@ export default { TrainEditNumber, TrainDetail, SetFault, - SpeedLimit + SpeedLimit, + SetTrainOperation // SelectStation }, props: { @@ -175,6 +178,10 @@ export default { { label: '驾驶至', handler: this.handleDriveTo + }, + { + label: '连挂', + handler: this.setLink } ] } @@ -440,6 +447,14 @@ export default { } }); }, + // 设置连挂 + setLink() { + commitOperate(menuOperate.Common.setLink, { code: this.selected.code }, 0).then(({valid, operate})=>{ + if (valid) { + this.$refs.setTrainOperation.doShow(menuOperate.Common.setLink, this.selected, true); + } + }); + }, // 换端 handleTurnDirection() { const group = this.$route.query.group; From 95882eeeef71e7813f44b70078eae63d4a8124a5 Mon Sep 17 00:00:00 2001 From: joylink_cuiweidong <364937672@qq.com> Date: Tue, 29 Jun 2021 09:43:20 +0800 Subject: [PATCH 12/50] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E7=99=BB?= =?UTF-8?q?=E9=99=86=E8=81=94=E7=B3=BB=E6=96=B9=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/components/Navbar.vue | 2 +- .../displayNew/dispatherContest/contectUs.vue | 34 +++++++++++++++---- src/views/thirdLogin/index.vue | 2 +- 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 1ff59aad5..2b5a90323 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -115,7 +115,7 @@ export default { } }, mounted() { - this.thirdLogin = getSessionStorage('thirdLogin'); + this.thirdLogin = getSessionStorage('project') == 'richor'; this.routes = this.$router.options.routes; if (this.$route.fullPath.indexOf('design/usermap') >= 0) { this.activePath = '/design/usermap/home'; diff --git a/src/views/newMap/displayNew/dispatherContest/contectUs.vue b/src/views/newMap/displayNew/dispatherContest/contectUs.vue index 087ed7e69..b5755610c 100644 --- a/src/views/newMap/displayNew/dispatherContest/contectUs.vue +++ b/src/views/newMap/displayNew/dispatherContest/contectUs.vue @@ -5,14 +5,28 @@ width="400px" :before-close="handleClose" > -
联系人:小九
-
手    机:13289398171
-
邮    箱:ServiceEmail@joylink.club
-
- - 微    信: - +
+
联系人:欧阳炜椿
+
电    话:4000500081
+
邮    箱:zhrc@richortech.com
+
网    址:www.richortech.com
+
+
+
联系人:小九
+
手    机:13289398171
+
邮    箱:ServiceEmail@joylink.club
+
+ + 微    信: + +
+
+ 确 定 @@ -20,6 +34,7 @@ + diff --git a/src/store/modules/runplan.js b/src/store/modules/runplan.js index f86ad70be..0b04156ec 100644 --- a/src/store/modules/runplan.js +++ b/src/store/modules/runplan.js @@ -113,7 +113,86 @@ const runPlan = { state.planData[serviceNumber] = { oldIndex, serviceNumber, trainMap: {} }; state.planLoadedCount++; } - }, + }, + updateTrainRunplan:(state, updateServiceNumber) => { + const dataList = updateServiceNumber.serviceNumberDataList; + const length = dataList.length; + if (length > 0) { + dataList.forEach(data=>{ + const {serviceNumber, tripNumberDataList} = data; + const serviceNumberDataList = state.planData.serviceNumberDataList; + const serviceObj = serviceNumberDataList.find(serviceNumberData=>{ return serviceNumberData.serviceNumber == serviceNumber; }); + if (!serviceObj) { + // 原始计划不存在 + state.editData[serviceNumber] = { oldIndex: serviceNumberDataList.length, serviceNumber: serviceNumber, backup: undefined, trainMap: {}}; + tripNumberDataList.forEach(tripNumberData=>{ + state.editData[serviceNumber].trainMap[tripNumberData.tripNumber] = Object.assign({oldIndex:tripNumberDataList.length }, tripNumberData); + }); + state.planData.serviceNumberDataList.push({ + serviceNumber: serviceNumber, + tripNumberDataList:[...tripNumberDataList] + }); + } else { + // 原始计划存在 + tripNumberDataList.forEach(tripNumberData=>{ + if (tripNumberData.add) { + // 添加计划 + state.editData[serviceNumber].trainMap[tripNumberData.tripNumber] = Object.assign({oldIndex:serviceObj.tripNumberDataList.length }, tripNumberData); + serviceObj.tripNumberDataList.push(tripNumberData); + } else if (tripNumberData.invalid) { + // 删除计划 + if (tripNumberData.firstInvalid) { + // 删除的第一条数据处理 + } else { + + } + } + }); + // 删除 刷新 绘制 + // if (tripNumberData.invalid) { + // if (tripNumberData.firstInvalid) { + // } else { + // // delete state.editData[serviceNumber].trainMap[tripNumberData.tripNumber]; + // } + // } else { + // } + } + // if (tripNumberDataList.length > 0) { + // tripNumberDataList.forEach(tripNumberData=>{ + // if (tripNumberData.add) { + // const trainLength = Object.keys(state.initialPlanData[serviceNumber].trainMap).length; + // state.initialPlanData[serviceNumber].trainMap[tripNumberData.tripNumber] = { + // directionCode:tripNumberData.directionCode, + // endSecondTime:tripNumberData.endSecondTime, + // endSectionCode:tripNumberData.endSectionCode, + // oldIndex:trainLength, + // right:tripNumberData.right, + // reentry: tripNumberData.reentry, + // startSecondTime:tripNumberData.startSecondTime, + // startSectionCode:tripNumberData.startSectionCode, + // stationTimeList:tripNumberData.stationTimeList, + // tripNumber:tripNumberData.tripNumber + // }; + // } else if (tripNumberData.invalid) { + // if (tripNumberData.firstInvalid) { + // // 处理被删除的前一段的最后一个点的问题 + // // state.initialPlanData[serviceNumber].trainMap[tripNumberData.tripNumber] + // } else { + // delete state.initialPlanData[serviceNumber].trainMap[tripNumberData.tripNumber]; + // } + // } + // }); + // } + }); + } + state.planLoadedCount++; + // const serviceObj = state.planData[serviceNumber]; + // if (serviceObj) { + // const oldIndex = serviceObj.oldIndex; + // state.planData[serviceNumber] = { oldIndex, serviceNumber, trainMap: {} }; + // state.planLoadedCount++; + // } + }, clear: (state) => { // state.stations = []; state.planData = {}; @@ -188,6 +267,10 @@ const runPlan = { addServiceNumber: ({ commit }, serviceNumber) => { commit('addServiceNumber', serviceNumber); }, + /** 更新仿真里的运行图(西安三加线抽线逻辑) */ + updateTrainRunplan: ({ commit }, updateServiceNumber) => { + commit('updateTrainRunplan', updateServiceNumber); + }, /** 选择车次*/ setSelected: ({ commit }, selected) => { commit('setSelected', selected); diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js index 9b22616fa..1b6321e14 100644 --- a/src/store/modules/socket.js +++ b/src/store/modules/socket.js @@ -189,9 +189,13 @@ function handle(state, data) { store.dispatch('training/over'); } break; - case 'Simulation_PslStatus': + case 'Simulation_PslStatus': state.simulationPslStatus = msg; break; + // 运行图加线/抽线/变化推送消息 + case 'Simulation_Trip_Plan_Change': + state.simulationPlanChange = msg; + break; } } @@ -337,7 +341,8 @@ const socket = { deviceStateMessages: null, // 新版订阅设备状态消息 simulationSpeed: 1, // 仿真倍速 simulationPause: false, - simulationPslStatus: [], //PSL面板按钮状态信息 + simulationPslStatus: [], // PSL面板按钮状态信息 + simulationPlanChange:{} // 运行图加线/抽线/变化推送消息 }, getters: { }, diff --git a/src/views/newMap/displayNew/demon/runPlanView.vue b/src/views/newMap/displayNew/demon/runPlanView.vue index fda0188dc..6231b01d9 100644 --- a/src/views/newMap/displayNew/demon/runPlanView.vue +++ b/src/views/newMap/displayNew/demon/runPlanView.vue @@ -254,6 +254,7 @@ export default { this.staticSeries = []; const stations = this.$store.state.runPlan.stations; const planData = this.$store.state.runPlan.planData; + debugger; this.kmRangeMap = this.PlanParser.convertStationsToMap(stations); if (this.$route.query.lineCode === '07') { this.pushModels(this.staticSeries, [this.PlanParser.initializeAxisX(stations)]); diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue index a2d4e9c69..1511b2ea9 100644 --- a/src/views/newMap/displayNew/menuSchema.vue +++ b/src/views/newMap/displayNew/menuSchema.vue @@ -142,9 +142,22 @@ export default { this.swch = '01'; } }, - '$store.state.map.mapDataLoadedCount': function () { + // '$store.state.map.mapDataLoadedCount': function () { + // this.loadRunData(); + // }, + '$store.state.training.subscribeCount': function () { + debugger; this.loadRunData(); }, + '$store.state.socket.simulationPlanChange': function (val) { + // debugger; + // 判断是否已经加载运行图,若加载只处理运行图数据,否则,缓存数据 + if (JSON.stringify(this.$store.state.runPlan.planData) == '{}') { + + } else { + this.$store.dispatch('runPlan/updateTrainRunplan', val); + } + }, '$store.state.training.triggerFaultCount': function () { this.setFault(); }, @@ -170,6 +183,7 @@ export default { // 获取排序的车站列表 getByGroupStationList(this.group).then(response => { this.$store.dispatch('runPlan/setStations', response.data).then(() => { + debugger; loadRunPlanData(this.group, this.dataError); }); }).catch(() => { diff --git a/src/views/newMap/mapsystemNew/index.vue b/src/views/newMap/mapsystemNew/index.vue index 70f3d0a47..b2c899967 100644 --- a/src/views/newMap/mapsystemNew/index.vue +++ b/src/views/newMap/mapsystemNew/index.vue @@ -116,6 +116,7 @@ export default { }); }, async subscribe() { + debugger; this.clearSubscribe(); const header = { group: this.$route.query.group || '', 'X-Token': getToken() }; creatSubscribe(`${displayTopic}\/${this.$route.query.group}`, header); From fb7dbd65fbf240a34dba73cd2e0f8f13a78ab0e0 Mon Sep 17 00:00:00 2001 From: yuan Date: Thu, 1 Jul 2021 11:29:06 +0800 Subject: [PATCH 30/50] =?UTF-8?q?=E5=88=97=E8=BD=A6=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/Train/EMouse.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/jmapNew/shape/graph/Train/EMouse.js b/src/jmapNew/shape/graph/Train/EMouse.js index 87f36f9f4..665f7fe4b 100644 --- a/src/jmapNew/shape/graph/Train/EMouse.js +++ b/src/jmapNew/shape/graph/Train/EMouse.js @@ -79,9 +79,9 @@ class EMouse extends Group { text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`; } else { if (this.device.style.Train.moreTrainDetail) { - text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: ${stationNames.get(this.device.model.startStation)}\n终点站名: ${stationNames.get(this.device.model.endStation)}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: ${stationNames.get(this.device.model.stationCode) || ''}\n车次通信: 通信车\n运行时间: ${this.device.model.runningTime}s\n停站时间: ${this.device.model.parkingRemainTime < 0 ? '无效' : `${this.device.model.parkingRemainTime}s`}\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: ${turnBackStrategyMap.get(this.device.model.turnBackStrategy)}\n折返状态: ${turnBackStatusMap.get(this.device.model.turnBackStatus)}\n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; + text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: ${stationNames.get(this.device.model.stationCode) || ''}\n车次通信: 通信车\n运行时间: ${this.device.model.runningTime}s\n停站时间: ${this.device.model.parkingRemainTime < 0 ? '无效' : `${this.device.model.parkingRemainTime}s`}\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: ${turnBackStrategyMap.get(this.device.model.turnBackStrategy) || ''}\n折返状态: ${turnBackStatusMap.get(this.device.model.turnBackStatus)}\n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; } else { - text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: \n终点站名: \n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; + text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; } } } else { From 19058b19353700a3cd1a683aedd409a5ed8d66de Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Thu, 1 Jul 2021 16:06:31 +0800 Subject: [PATCH 31/50] =?UTF-8?q?=E5=88=97=E8=BD=A6=E9=81=AE=E6=8C=A1?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/config/skinCode/xian_01.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jmapNew/config/skinCode/xian_01.js b/src/jmapNew/config/skinCode/xian_01.js index 2f634e12a..187b17f47 100644 --- a/src/jmapNew/config/skinCode/xian_01.js +++ b/src/jmapNew/config/skinCode/xian_01.js @@ -658,7 +658,7 @@ class SkinCode extends defaultStyle { ], // 特殊列车类型需设置显示格式 lrPadding: 1, // 两边间隔 upPadding: 1, // 上边距离 - trainBodyFillColor: '#000000', // 列车车身填充颜色 + trainBodyFillColor: 'rgba(0,0,0,0)', // 列车车身填充颜色 // targetCode: trainNameFormat: 'serviceNumber:tripNumber'// 列车显示格式 }, From 813a0771d98f3511319877fafaab2c6890e8f16b Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Fri, 2 Jul 2021 10:02:41 +0800 Subject: [PATCH 32/50] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=BA=BF=E8=B7=AF?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=EF=BC=9AtransferRouteCanOnlyFaultUnlock=20?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E8=BD=A8=E8=BF=9B=E8=B7=AF=E5=8F=AA=E8=83=BD?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E6=95=85=E9=9A=9C=E8=A7=A3=E9=94=81=E6=9D=A5?= =?UTF-8?q?=E5=8F=96=E6=B6=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/configLine/config.vue | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/views/system/configLine/config.vue b/src/views/system/configLine/config.vue index ef0612569..4304c1a62 100644 --- a/src/views/system/configLine/config.vue +++ b/src/views/system/configLine/config.vue @@ -110,7 +110,8 @@ export default { 'holdCommandIgnoreControlMode', 'delayWhenCancelRouteWithAbnormalInterlock', 'noARB', - 'checkDirectionWhenSetHead' + 'checkDirectionWhenSetHead', + 'transferRouteCanOnlyFaultUnlock' ], selectList: ['runMode'], generalConfig: [ @@ -153,7 +154,8 @@ export default { 'figuresOfTripNumber', 'figuresOfServiceNumber', 'noARB', - 'checkDirectionWhenSetHead' + 'checkDirectionWhenSetHead', + 'transferRouteCanOnlyFaultUnlock' ], rangeList: ['noParkingSM', 'parkingSM'], speedList: ['rmAtpSpeed', 'urmAtpSpeed'], @@ -201,7 +203,8 @@ export default { figuresOfTripNumber: '车次号的位数', figuresOfServiceNumber: '服务号的位数', noARB: '没有ARB判定', - checkDirectionWhenSetHead: '设置头码车时检查方向' + checkDirectionWhenSetHead: '设置头码车时检查方向', + transferRouteCanOnlyFaultUnlock: '转换轨进路只能通过故障解锁来取消' } }; }, From 4e2b07829ce7eaca1234c4ff5c65a714fe808e6e Mon Sep 17 00:00:00 2001 From: joylink_cuiweidong <364937672@qq.com> Date: Fri, 2 Jul 2021 13:44:21 +0800 Subject: [PATCH 33/50] =?UTF-8?q?=E8=A5=BF=E5=AE=89=E4=B8=89=E5=8F=B7?= =?UTF-8?q?=E7=BA=BF=20=E8=BF=90=E8=A1=8C=E5=9B=BE=20=E5=8A=A0=E7=BA=BF?= =?UTF-8?q?=E6=8A=BD=E7=BA=BF=E5=8A=9F=E8=83=BD=20=E6=B7=BB=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/parser/EqualRatioParser.js | 56 +++-- .../menus/menuDialog/addRunplanLine.vue | 223 +++++++++++------- .../menus/menuDialog/deleteRunplanLine.vue | 22 +- src/store/modules/runplan.js | 71 +++--- .../newMap/displayNew/demon/runPlanView.vue | 28 ++- src/views/newMap/displayNew/menuSchema.vue | 8 +- src/views/newMap/mapsystemNew/index.vue | 1 - src/views/planSchedule/schedule.vue | 25 +- 8 files changed, 268 insertions(+), 166 deletions(-) diff --git a/src/jmapNew/theme/parser/EqualRatioParser.js b/src/jmapNew/theme/parser/EqualRatioParser.js index e847c66d1..16ec2f495 100644 --- a/src/jmapNew/theme/parser/EqualRatioParser.js +++ b/src/jmapNew/theme/parser/EqualRatioParser.js @@ -52,32 +52,50 @@ class EqualRatioParser { /** 如果车次号为空,不显示名称*/ if (train.tripNumber) { - /** 创建标记点名称和坐标*/ - // pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`; - pointdata.name = `${service.serviceNumber}${train.tripNumber}`; - pointdata.color = '#000' || lineStyle.color; - pointdata.directionCode = train.right ? '2' : '1'; - if (!store.state.map.mapConfig.upRight) { - pointdata.directionCode = train.right ? '1' : '2'; + // 如果不是被删除的首个车次 + if (!train.firstInvalid) { + /** 创建标记点名称和坐标*/ + // pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`; + pointdata.name = `${service.serviceNumber}${train.tripNumber}`; + pointdata.color = '#000' || lineStyle.color; + pointdata.directionCode = train.right ? '2' : '1'; + if (!store.state.map.mapConfig.upRight) { + pointdata.directionCode = train.right ? '1' : '2'; + } + pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeMap, train.stationTimeList[1], pointdata.directionCode, false)]; + /** 给服务对象添加服务名称和标记点*/ + opt.markPointData.push(this.__createMartPoint(pointdata)); } - pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeMap, train.stationTimeList[1], pointdata.directionCode, false)]; - /** 给服务对象添加服务名称和标记点*/ - opt.markPointData.push(this.__createMartPoint(pointdata)); /** 创建服务号名称*/ opt.name = `${service.serviceNumber}`; } - /** 计算非折返点车次点坐标集合*/ - train.stationTimeList.forEach((elem, index) => { - idx = index; - // if (index == 0 && train.stationTimeList[index].stationCode != train.stationTimeList[index + 1].stationCode || - // index == train.stationTimeList.length - 2 && train.stationTimeList[index].secondTime != train.stationTimeList[index + 1].secondTime || - // index > 0 && index < train.stationTimeList.length - 1) { - const aa = `${train.tripNumber}`; - opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeMap, elem, pointdata.directionCode, false), elem.stationCode, aa]); + if (!train.firstInvalid) { + /** 计算非折返点车次点坐标集合*/ + train.stationTimeList.forEach((elem, index) => { + idx = index; + // if (index == 0 && train.stationTimeList[index].stationCode != train.stationTimeList[index + 1].stationCode || + // index == train.stationTimeList.length - 2 && train.stationTimeList[index].secondTime != train.stationTimeList[index + 1].secondTime || + // index > 0 && index < train.stationTimeList.length - 1) { + const aa = `${train.tripNumber}`; + opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeMap, elem, pointdata.directionCode, false), elem.stationCode, aa]); // } - }); + }); + } else { + const deletePoint = { + symbol:'circle', + name:'breakPoint', + symbolSize:10, + itemStyle:{ + color:'#FF5A3B' + }, + coord: [train.stationTimeList[0].secondTime, this.getCoordYByElem(stations, kmRangeMap, train.stationTimeList[0], pointdata.directionCode, false)] + }; + /** 给服务对象添加服务名称和标记点*/ + // this.__createMartPoint(deletePoint) + opt.markPointData.push(deletePoint); + } /** 计算折返点车次坐标点集合*/ if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) { diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/addRunplanLine.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/addRunplanLine.vue index 8b3d7a7fe..b31b8e8fa 100644 --- a/src/jmapNew/theme/xian_01/menus/menuDialog/addRunplanLine.vue +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/addRunplanLine.vue @@ -13,11 +13,11 @@ 表号: - + 车次号: - + 目的地码: @@ -30,7 +30,7 @@ /> - + 交路: { + if (value && value.id != '') { + return callback(); + } else { + return callback(new Error('请选择交路')); + } + }; + + const crules = { + serviceNumber: [ + { required: true, trigger: 'blur', validator:this.validateService} + // message: '请输入表号', + ], + tripNumber: [ + { required: true, message: '请输入车次号', trigger: 'blur' } + ], + destinationCode:[ + { required: true, message: '请选择目的地码', trigger: 'blur' }, + { required: true, message: '请选择目的地码', trigger: 'change' } + ], + routing:[ + { required: true, validator: validateRouting, trigger: 'blur' }, + { required: true, validator: validateRouting, trigger: 'change' } + ], + startTime:[ + { required: true, message: '请选择开始时间', trigger: 'blur' }, + { required: true, message: '请选择开始时间', trigger: 'change' } + ] + }; + return crules; } }, mounted() { @@ -166,10 +193,42 @@ export default { this.$store.dispatch('training/emitTipFresh'); }); }, + validateService (rule, value, callback) { + if (typeof value == 'string' && value.trim().length == 0) { + return callback(new Error('请输入表号')); + } else { + let newValue = parseInt(value); + if (newValue) { + if (newValue > 0 & newValue < 9) { + newValue = '0' + newValue; + } + this.addModel.serviceNumber = newValue; + return callback(); + } else { + this.addModel.serviceNumber = ''; + } + } + }, doClose() { this.$refs['routing'].blur(); this.$refs['destinationCode'].blur(); this.$refs['startTime'].hidePicker(); + this.$refs['form'].resetFields(); + this.addModel = { + serviceNumber:'', + tripNumber:'', + destinationCode:'', + startTime:'', + routing:{ + startStationCode:'', + endStationCode:'', + endSectionCode:'', + startSectionCode:'', + id:'', + startTbFront: null, + endTbFront: null + } + }, this.loading = false; this.dialogShow = false; this.$store.dispatch('training/emitTipFresh'); @@ -187,76 +246,80 @@ export default { } }, commit() { - const runplanLine = {serviceNumber:this.addModel.serviceNumber, tripConfigList:[{ - startStationCode:this.addModel.routing.startStationCode, - endStationCode:this.addModel.routing.endStationCode, - endSectionCode:this.addModel.routing.endSectionCode, - startSectionCode:this.addModel.routing.startSectionCode, - routingCode:this.addModel.routing.id, - id:1, - tripNumber:this.addModel.tripNumber, - startTime:this.addModel.startTime - }] }; - // - // startTbFront - // startTbFront - // endTbFront - const arriveConfigList = []; - const that = this; - querySectionListByRouting(that.addModel.routing.id).then(resp=>{ - const length = resp.data.length - 1; - resp.data.forEach((parkSectionCode, index)=>{ - const arriveConfig = {arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode}; - const prev = arriveConfigList[index - 1]; - const reentryData = that.reentryData[parkSectionCode.stationCode] || {}; - if (index == 0) { - arriveConfig.departureTime = that.addModel.startTime; - } else if (index < length) { - if (String(that.addModel.routing.startTbFront) == 'false' && index == 1) { - // const reentryData = that.reentryData[parkSectionCode.stationCode] || {}; - arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (reentryData.tbTo || 0)); - } else { - const runLevel = that.stopStationMap[[prev.sectionCode, parkSectionCode.sectionCode].toString()] || {}; - arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (runLevel.l3 || 0)); - } - const nowParking = that.stopTimeMap[parkSectionCode.stationCode] || {}; - arriveConfig.departureTime = formatTime(this.computedTimeByString(arriveConfig.arriveTime) / 1000 + nowParking.parkingTime || 0 ); - } else { - if (String(that.addModel.routing.endTbFront) == 'false') { - // const reentryData = that.reentryData[parkSectionCode.stationCode] || {}; - arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (reentryData.tbTo || 0)); - } else { - const runLevel = that.stopStationMap[[prev.sectionCode, parkSectionCode.sectionCode].toString()] || {}; - arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (runLevel.l3 || 0)); - } - arriveConfig.departureTime = ''; - } - // if (index == 0) { - // arriveConfig.departureTime = that.addModel.startTime; - // } else if (index < resp.data.length - 1) { - // const prev = arriveConfigList[index - 1]; - // // startSectionCode; - // // endSectionCode; - // const runLevel = that.stopStationMap[[prev.sectionCode, parkSectionCode.sectionCode].toString()] || 0; - // arriveConfig.arriveTime = prev.departureTime + that.stopTimeMap[prev.stationCode] || 0 + runLevel ? runLevel.l3 : 0; + this.$refs['form'].validate((valid) => { + if (valid) { + const runplanLine = {serviceNumber:this.addModel.serviceNumber, tripConfigList:[{ + startStationCode:this.addModel.routing.startStationCode, + endStationCode:this.addModel.routing.endStationCode, + endSectionCode:this.addModel.routing.endSectionCode, + startSectionCode:this.addModel.routing.startSectionCode, + routingCode:this.addModel.routing.id, + id:1, + tripNumber:this.addModel.tripNumber, + startTime:this.addModel.startTime + }] }; // - // // elem.stopTime = this.stopTimeMap[elem.stationCode].parkingTime; - // } else { - // arriveConfig.arriveTime = ''; - // } - // { } - arriveConfigList.push(arriveConfig); - }); - runplanLine.tripConfigList[0].arriveConfigList = arriveConfigList; - runplanLine.tripConfigList[0].endTime = arriveConfigList[arriveConfigList.length - 1].arriveTime; + // startTbFront + // startTbFront + // endTbFront + const arriveConfigList = []; + const that = this; + querySectionListByRouting(that.addModel.routing.id).then(resp=>{ + const length = resp.data.length - 1; + resp.data.forEach((parkSectionCode, index)=>{ + const arriveConfig = {arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode}; + const prev = arriveConfigList[index - 1]; + const reentryData = that.reentryData[parkSectionCode.stationCode] || {}; + if (index == 0) { + arriveConfig.departureTime = that.addModel.startTime; + } else if (index < length) { + if (String(that.addModel.routing.startTbFront) == 'false' && index == 1) { + // const reentryData = that.reentryData[parkSectionCode.stationCode] || {}; + arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (reentryData.tbTo || 0)); + } else { + const runLevel = that.stopStationMap[[prev.sectionCode, parkSectionCode.sectionCode].toString()] || {}; + arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (runLevel.l3 || 0)); + } + const nowParking = that.stopTimeMap[parkSectionCode.stationCode] || {}; + arriveConfig.departureTime = formatTime(this.computedTimeByString(arriveConfig.arriveTime) / 1000 + nowParking.parkingTime || 0 ); + } else { + if (String(that.addModel.routing.endTbFront) == 'false') { + // const reentryData = that.reentryData[parkSectionCode.stationCode] || {}; + arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (reentryData.tbTo || 0)); + } else { + const runLevel = that.stopStationMap[[prev.sectionCode, parkSectionCode.sectionCode].toString()] || {}; + arriveConfig.arriveTime = formatTime(this.computedTimeByString(prev.departureTime) / 1000 + (runLevel.l3 || 0)); + } + arriveConfig.departureTime = ''; + } + // if (index == 0) { + // arriveConfig.departureTime = that.addModel.startTime; + // } else if (index < resp.data.length - 1) { + // const prev = arriveConfigList[index - 1]; + // // startSectionCode; + // // endSectionCode; + // const runLevel = that.stopStationMap[[prev.sectionCode, parkSectionCode.sectionCode].toString()] || 0; + // arriveConfig.arriveTime = prev.departureTime + that.stopTimeMap[prev.stationCode] || 0 + runLevel ? runLevel.l3 : 0; + // + // // elem.stopTime = this.stopTimeMap[elem.stationCode].parkingTime; + // } else { + // arriveConfig.arriveTime = ''; + // } + // { } + arriveConfigList.push(arriveConfig); + }); + runplanLine.tripConfigList[0].arriveConfigList = arriveConfigList; + runplanLine.tripConfigList[0].endTime = arriveConfigList[arriveConfigList.length - 1].arriveTime; - if (this.group) { - sendCommandNew(this.group, 'RunPlan_Add_Trip', runplanLine).then((response) => { - this.$message.success('添加计划车成功'); - this.doClose(); - // 重新加载 仿真运行图 - }).catch(error => { - this.$messageBox('添加计划车失败:' + error.$message); + if (this.group) { + sendCommandNew(this.group, 'RunPlan_Add_Trip', runplanLine).then((response) => { + this.$message.success('添加计划车成功'); + this.doClose(); + // 重新加载 仿真运行图 + }).catch(error => { + this.$messageBox('添加计划车失败:' + error.$message); + }); + } }); } }); diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/deleteRunplanLine.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/deleteRunplanLine.vue index adbf35dd7..fb15cc0a9 100644 --- a/src/jmapNew/theme/xian_01/menus/menuDialog/deleteRunplanLine.vue +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/deleteRunplanLine.vue @@ -18,7 +18,7 @@ :rules="rules" > - + @@ -56,7 +56,8 @@ export default { { required: true, trigger: "blur", - message: "请输入表号" + validator:this.validateService + // message: "请输入表号" } ], tripNumber: [ @@ -95,6 +96,22 @@ export default { this.dialogShow = false; this.$store.dispatch("training/emitTipFresh"); }, + validateService (rule, value, callback) { + if (typeof value == 'string' && value.trim().length == 0) { + return callback(new Error('请输入表号')); + } else { + let newValue = parseInt(value); + if (newValue) { + if (newValue > 0 & newValue < 9) { + newValue = '0' + newValue; + } + this.model.serviceNumber = newValue; + return callback(); + } else { + this.model.serviceNumber = ''; + } + } + }, commit() { this.$refs.form.validate(valid => { if (valid) { @@ -103,6 +120,7 @@ export default { sendCommandNew(group, "RunPlan_Delete_Trip", data) .then(resp => { console.log(resp); + this.$message.success('删除计划车成功'); this.doClose(); }) .catch(e => { diff --git a/src/store/modules/runplan.js b/src/store/modules/runplan.js index 476abcda4..a56649ab3 100644 --- a/src/store/modules/runplan.js +++ b/src/store/modules/runplan.js @@ -16,7 +16,8 @@ const runPlan = { runPlanMap: {}, // 运行图数据map(以id和version 为标识) runPlanInfo: {}, // 运行图信息 loadRunPlanCount: 0, // 运行图加载数据完成 - serviceNumberDataList: [] // 运行图数据 + serviceNumberDataList: [], // 运行图数据 + updateTrainRpData:{} // 更新仿真运行图数据 }, getters: { stations: (state) => { @@ -75,6 +76,10 @@ const runPlan = { state.planLoadedCount++; } }, + setUpdateTrainRpData: (state, updateTrainRpData) => { + state.updateTrainRpData = updateTrainRpData; + }, + updateTrainRunplan:(state, updateServiceNumber) => { const dataList = updateServiceNumber.serviceNumberDataList; const length = dataList.length; @@ -84,7 +89,7 @@ const runPlan = { const serviceNumberDataList = state.planData.serviceNumberDataList; const serviceObj = serviceNumberDataList.find(serviceNumberData=>{ return serviceNumberData.serviceNumber == serviceNumber; }); if (!serviceObj) { - // 原始计划不存在 + // 原始计划不存在 添加 state.editData[serviceNumber] = { oldIndex: serviceNumberDataList.length, serviceNumber: serviceNumber, backup: undefined, trainMap: {}}; tripNumberDataList.forEach(tripNumberData=>{ state.editData[serviceNumber].trainMap[tripNumberData.tripNumber] = Object.assign({oldIndex:tripNumberDataList.length }, tripNumberData); @@ -96,54 +101,32 @@ const runPlan = { } else { // 原始计划存在 tripNumberDataList.forEach(tripNumberData=>{ - if (tripNumberData.add) { - // 添加计划 - state.editData[serviceNumber].trainMap[tripNumberData.tripNumber] = Object.assign({oldIndex:serviceObj.tripNumberDataList.length }, tripNumberData); - serviceObj.tripNumberDataList.push(tripNumberData); - } else if (tripNumberData.invalid) { + if (tripNumberData.invalid) { // 删除计划 + const index = serviceObj.tripNumberDataList.findIndex(tripNumberInfo=>{ return tripNumberInfo.tripNumber == tripNumberData.tripNumber; }); if (tripNumberData.firstInvalid) { // 删除的第一条数据处理 + serviceObj.tripNumberDataList[index].stationTimeList.splice(1, tripNumberData.stationTimeList.length - 1); + serviceObj.tripNumberDataList[index].firstInvalid = tripNumberData.firstInvalid; + delete state.editData[serviceNumber].trainMap[tripNumberData.tripNumber]; + // state.editData[serviceNumber].trainMap[tripNumberData.tripNumber].stationTimeList.splice(1, tripNumberData.stationTimeList.length - 1); } else { - + serviceObj.tripNumberDataList.splice(index, 1); + delete state.editData[serviceNumber].trainMap[tripNumberData.tripNumber]; + } + } else { + if (tripNumberData.add) { + // 添加计划 + state.editData[serviceNumber].trainMap[tripNumberData.tripNumber] = Object.assign({oldIndex:serviceObj.tripNumberDataList.length }, tripNumberData); + serviceObj.tripNumberDataList.push(tripNumberData); } } }); - // 删除 刷新 绘制 - // if (tripNumberData.invalid) { - // if (tripNumberData.firstInvalid) { - // } else { - // // delete state.editData[serviceNumber].trainMap[tripNumberData.tripNumber]; - // } - // } else { - // } + // 处理所有的车次号删除 + if (serviceObj.tripNumberDataList.length == 1 && serviceObj.tripNumberDataList[0].firstInvalid) { + delete state.editData[serviceNumber]; + } } - // if (tripNumberDataList.length > 0) { - // tripNumberDataList.forEach(tripNumberData=>{ - // if (tripNumberData.add) { - // const trainLength = Object.keys(state.initialPlanData[serviceNumber].trainMap).length; - // state.initialPlanData[serviceNumber].trainMap[tripNumberData.tripNumber] = { - // directionCode:tripNumberData.directionCode, - // endSecondTime:tripNumberData.endSecondTime, - // endSectionCode:tripNumberData.endSectionCode, - // oldIndex:trainLength, - // right:tripNumberData.right, - // reentry: tripNumberData.reentry, - // startSecondTime:tripNumberData.startSecondTime, - // startSectionCode:tripNumberData.startSectionCode, - // stationTimeList:tripNumberData.stationTimeList, - // tripNumber:tripNumberData.tripNumber - // }; - // } else if (tripNumberData.invalid) { - // if (tripNumberData.firstInvalid) { - // // 处理被删除的前一段的最后一个点的问题 - // // state.initialPlanData[serviceNumber].trainMap[tripNumberData.tripNumber] - // } else { - // delete state.initialPlanData[serviceNumber].trainMap[tripNumberData.tripNumber]; - // } - // } - // }); - // } }); } state.planLoadedCount++; @@ -218,6 +201,10 @@ const runPlan = { updateTrainRunplan: ({ commit }, updateServiceNumber) => { commit('updateTrainRunplan', updateServiceNumber); }, + /** 设置需要更新的仿真运行图数据 (西安三加线抽线逻辑) */ + setUpdateTrainRpData: ({ commit }, updateTrainRpData) => { + commit('setUpdateTrainRpData', updateTrainRpData); + }, /** 选择车次*/ setSelected: ({ commit }, selected) => { commit('setSelected', selected); diff --git a/src/views/newMap/displayNew/demon/runPlanView.vue b/src/views/newMap/displayNew/demon/runPlanView.vue index 941b2f10a..46e9aa0aa 100644 --- a/src/views/newMap/displayNew/demon/runPlanView.vue +++ b/src/views/newMap/displayNew/demon/runPlanView.vue @@ -157,7 +157,7 @@ export default { mounted() { this.staticSeries = []; this.selectSeries = []; this.runSeries = []; this.runPlanData = {}; this.PlanParser = this.$theme.loadPlanParser(this.$route.query.lineCode); - this.loadChartPage(); + // this.loadChartPage(); EventBus.$on('clearRunSeries', () => { this.runSeries = []; }); @@ -246,7 +246,6 @@ export default { this.staticSeries = []; const stations = this.$store.state.runPlan.stations; const planData = this.$store.state.runPlan.planData; - debugger; this.kmRangeMap = this.PlanParser.convertStationsToMap(stations); if (this.$route.query.lineCode === '07') { this.pushModels(this.staticSeries, [this.PlanParser.initializeAxisX(stations)]); @@ -524,13 +523,18 @@ export default { axisTooltip(param) { const station = (this.$store.getters['map/getDeviceByCode'](param.data[2])) || { name: '', kmRange: '' }; if (this.$route.query.lineCode !== '07') { - return [ - `Point Data
`, - `车站名称: ${station.name}
`, - `车站公里标: ${station.kmRange} km
`, - `到站时间: ${timeFormat(param.data[0] + this.PlanParser.getTranslation())} (${param.data[0]})
` - ].join(''); + if (station.name) { + return [ + `Point Data
`, + `车站名称: ${station.name}
`, + `车站公里标: ${station.kmRange} km
`, + `到站时间: ${timeFormat(param.data[0] + this.PlanParser.getTranslation())} (${param.data[0]})
` + ].join(''); + } else { + return ''; + } } else { + return [ `Point Data
`, `车站名称: ${station.name}
`, @@ -559,8 +563,12 @@ export default { } } else if (this.seriesMap[serviceNumber]) { markPoint = deepAssign({}, this.seriesMap[serviceNumber].markPoint); - markPoint.data.forEach(each => { - each.label.color = '#f00'; + markPoint.data.forEach((each, index) => { + if (each.symbol == 'circle') { + markPoint.data.splice(index, 1); + } else { + each.label.color = '#f00'; + } }); data = this.seriesMap[serviceNumber].data; } diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue index 1511b2ea9..5b11be398 100644 --- a/src/views/newMap/displayNew/menuSchema.vue +++ b/src/views/newMap/displayNew/menuSchema.vue @@ -146,14 +146,12 @@ export default { // this.loadRunData(); // }, '$store.state.training.subscribeCount': function () { - debugger; this.loadRunData(); }, '$store.state.socket.simulationPlanChange': function (val) { - // debugger; // 判断是否已经加载运行图,若加载只处理运行图数据,否则,缓存数据 if (JSON.stringify(this.$store.state.runPlan.planData) == '{}') { - + this.$store.dispatch('runPlan/setUpdateTrainRpData', val); } else { this.$store.dispatch('runPlan/updateTrainRunplan', val); } @@ -163,6 +161,9 @@ export default { }, '$store.state.runPlan.loadRunPlanCount': function () { this.viewDisabled = false; + if (JSON.stringify(this.$store.state.runPlan.updateTrainRpData) != '{}') { + this.$store.dispatch('runPlan/updateTrainRunplan', this.$store.state.runPlan.updateTrainRpData); + } }, '$store.state.socket.simulationSpeed': function (val) { this.speed = val; @@ -183,7 +184,6 @@ export default { // 获取排序的车站列表 getByGroupStationList(this.group).then(response => { this.$store.dispatch('runPlan/setStations', response.data).then(() => { - debugger; loadRunPlanData(this.group, this.dataError); }); }).catch(() => { diff --git a/src/views/newMap/mapsystemNew/index.vue b/src/views/newMap/mapsystemNew/index.vue index b2c899967..70f3d0a47 100644 --- a/src/views/newMap/mapsystemNew/index.vue +++ b/src/views/newMap/mapsystemNew/index.vue @@ -116,7 +116,6 @@ export default { }); }, async subscribe() { - debugger; this.clearSubscribe(); const header = { group: this.$route.query.group || '', 'X-Token': getToken() }; creatSubscribe(`${displayTopic}\/${this.$route.query.group}`, header); diff --git a/src/views/planSchedule/schedule.vue b/src/views/planSchedule/schedule.vue index 41e8a9d1d..54ca9a3ad 100644 --- a/src/views/planSchedule/schedule.vue +++ b/src/views/planSchedule/schedule.vue @@ -490,13 +490,18 @@ export default { axisTooltip(param) { const station = (this.$store.getters['map/getDeviceByCode'](param.data[2])) || { name: '', kmRange: '' }; if (this.$route.query.lineCode !== '07') { - return [ - `Point Data
`, - `车站名称: ${station.name}
`, - `车站公里标: ${station.kmRange} km
`, - `到站时间: ${timeFormat(param.data[0] + this.PlanParser.getTranslation())} (${param.data[0]})
` - ].join(''); + if (station.name) { + return [ + `Point Data
`, + `车站名称: ${station.name}
`, + `车站公里标: ${station.kmRange} km
`, + `到站时间: ${timeFormat(param.data[0] + this.PlanParser.getTranslation())} (${param.data[0]})
` + ].join(''); + } else { + return ''; + } } else { + return [ `Point Data
`, `车站名称: ${station.name}
`, @@ -525,8 +530,12 @@ export default { } } else { markPoint = deepAssign({}, item.markPoint); - markPoint.data.forEach(each=>{ - each.label.color = '#f00'; + markPoint.data.forEach((each, index)=>{ + if (each.symbol == 'circle') { + markPoint.data.splice(index, 1); + } else { + each.label.color = '#f00'; + } }); data = item.data; } From 041cabfe007f29f943e280d6a0bedec6f4373f3d Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Fri, 2 Jul 2021 14:02:12 +0800 Subject: [PATCH 34/50] =?UTF-8?q?=E8=A5=BF=E5=AE=89=E5=BB=B6=E7=BB=AD?= =?UTF-8?q?=E4=BF=9D=E6=8A=A4=E4=BF=A1=E5=8F=B7=E6=9C=BA=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E8=B0=83=E6=95=B4=20=E5=88=97=E8=BD=A6?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/config/skinCode/xian_01.js | 3 ++- src/jmapNew/shape/graph/Signal/index.js | 7 ++++++- src/jmapNew/shape/graph/Train/EMouse.js | 22 ++++++++++++++++++++-- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/jmapNew/config/skinCode/xian_01.js b/src/jmapNew/config/skinCode/xian_01.js index 187b17f47..b80dda468 100644 --- a/src/jmapNew/config/skinCode/xian_01.js +++ b/src/jmapNew/config/skinCode/xian_01.js @@ -160,7 +160,8 @@ class SkinCode extends defaultStyle { yellowColor: '#FFFF00', // 信号灯黄色 whiteColor: '#FFFFFF', // 信号灯白色 blueColor: '#0070C0', // 信号灯蓝色 - faultType: 'flash' // 信号机故障类型(flash太阳) + faultType: 'flash', // 信号机故障类型(flash太阳) + overlapColor: '#0000ff' // 信号机延续保护颜色 }, route: { direction: false, // 自动进路方向 diff --git a/src/jmapNew/shape/graph/Signal/index.js b/src/jmapNew/shape/graph/Signal/index.js index 7f3bcdfc0..d92e17a0a 100644 --- a/src/jmapNew/shape/graph/Signal/index.js +++ b/src/jmapNew/shape/graph/Signal/index.js @@ -685,7 +685,11 @@ class Signal extends Group { } } } - + overlapLock() { + if (this.style.Signal.lamp.overlapColor) { + this.sigName && this.sigName.setStyle({ textFill: this.style.Signal.lamp.overlapColor }); + } + } // 封锁 block() { this.lamps[0].setColor(this.style.Signal.lamp.redColor); @@ -970,6 +974,7 @@ class Signal extends Group { } /** 信号机封锁 */ // 缺一个功能封锁 model.blockade && this.block(); // 因大铁处理信号按钮状态 封锁处理需在延时解锁时间之后处理 + model.overlapLock && this.overlapLock(); model.reblockade && this.reblock(); if (!path.includes('/map/draw')) { // 联锁自动进路通过 diff --git a/src/jmapNew/shape/graph/Train/EMouse.js b/src/jmapNew/shape/graph/Train/EMouse.js index 665f7fe4b..86be1a9b4 100644 --- a/src/jmapNew/shape/graph/Train/EMouse.js +++ b/src/jmapNew/shape/graph/Train/EMouse.js @@ -3,7 +3,6 @@ import Text from 'zrender/src/graphic/Text'; import LangStorage from '@/utils/lang'; import Rect from 'zrender/src/graphic/shape/Rect'; import store from '@/store/index'; -import Vue from 'vue'; class EMouse extends Group { constructor(device) { @@ -58,6 +57,25 @@ class EMouse extends Group { if (!store.state.map.mapConfig.upRight) { direction = this.device.model.right != 1; } + const physicalSection = store.getters['map/getDeviceByCode'](this.device.model.model.physicalCode); + let closeDoorTip = ''; + if (physicalSection.standTrack) { + const stationStand = store.state.map.map.stationStandList.find(item => item.standTrackCode === physicalSection.code); + if ((stationStand.right && this.device.model.right) || (!stationStand.right && !this.device.model.right)) { + if (stationStand.inside) { + closeDoorTip = '左开右关'; + } else { + closeDoorTip = '左关右开'; + } + } else { + if (stationStand.inside) { + closeDoorTip = '左关右开'; + } else { + closeDoorTip = '左开右关'; + } + } + } + console.log(physicalSection, this.device.model.model.physicalCode, '====', this.device.model.model.doorCloseLock, this.device.model.right); const turnBackStrategyMap = new Map([ ['NONE', '无折返'], ['DEFAULT', '默认'], @@ -79,7 +97,7 @@ class EMouse extends Group { text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`; } else { if (this.device.style.Train.moreTrainDetail) { - text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: ${stationNames.get(this.device.model.stationCode) || ''}\n车次通信: 通信车\n运行时间: ${this.device.model.runningTime}s\n停站时间: ${this.device.model.parkingRemainTime < 0 ? '无效' : `${this.device.model.parkingRemainTime}s`}\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.speed ? '关闭' : direction ? '左开右关' : '左关右开'}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: ${turnBackStrategyMap.get(this.device.model.turnBackStrategy) || ''}\n折返状态: ${turnBackStatusMap.get(this.device.model.turnBackStatus)}\n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; + text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: ${stationNames.get(this.device.model.stationCode) || ''}\n车次通信: 通信车\n运行时间: ${this.device.model.runningTime}s\n停站时间: ${this.device.model.parkingRemainTime < 0 ? '无效' : `${this.device.model.parkingRemainTime}s`}\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.model.doorCloseLock ? '关闭' : closeDoorTip}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: ${turnBackStrategyMap.get(this.device.model.turnBackStrategy) || ''}\n折返状态: ${turnBackStatusMap.get(this.device.model.turnBackStatus)}\n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; } else { text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; } From 9d64d05202cedc58a09d253d019d4a5aa629e629 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Fri, 2 Jul 2021 14:10:52 +0800 Subject: [PATCH 35/50] =?UTF-8?q?=E5=88=A0=E9=99=A4console?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/Train/EMouse.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/jmapNew/shape/graph/Train/EMouse.js b/src/jmapNew/shape/graph/Train/EMouse.js index 86be1a9b4..2ea16cdd3 100644 --- a/src/jmapNew/shape/graph/Train/EMouse.js +++ b/src/jmapNew/shape/graph/Train/EMouse.js @@ -75,7 +75,6 @@ class EMouse extends Group { } } } - console.log(physicalSection, this.device.model.model.physicalCode, '====', this.device.model.model.doorCloseLock, this.device.model.right); const turnBackStrategyMap = new Map([ ['NONE', '无折返'], ['DEFAULT', '默认'], From a39996e457f9d8e0ab4fbbf408cefaa923064063 Mon Sep 17 00:00:00 2001 From: joylink_cuiweidong <364937672@qq.com> Date: Fri, 2 Jul 2021 16:45:51 +0800 Subject: [PATCH 36/50] =?UTF-8?q?=E7=A6=8F=E5=B7=9E=E4=B8=80=E5=8F=B7?= =?UTF-8?q?=E7=BA=BF=20=E8=BF=90=E8=A1=8C=E5=9B=BE=20=E5=8A=A0=E7=BA=BF?= =?UTF-8?q?=E6=8A=BD=E7=BA=BF=20=E5=8E=BB=E9=99=A4=20=E8=A5=BF=E5=AE=89?= =?UTF-8?q?=E4=B8=89=20=E8=BF=90=E8=A1=8C=E5=9B=BE=20=E5=8A=A0=E7=BA=BF?= =?UTF-8?q?=E6=8A=BD=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/fuzhou_01/menus/menuBar.vue | 24 +- .../menus/menuDialog/addRunplanLine.vue | 377 ++++++++++++++++++ .../menus/menuDialog/deleteRunplanLine.vue | 141 +++++++ .../theme/parser/EqualDistanceParser.js | 56 ++- src/jmapNew/theme/xian_01/menus/menuBar.vue | 21 +- .../newMap/jointTrainingNew/menuSchema.vue | 20 +- 6 files changed, 601 insertions(+), 38 deletions(-) create mode 100644 src/jmapNew/theme/fuzhou_01/menus/menuDialog/addRunplanLine.vue create mode 100644 src/jmapNew/theme/fuzhou_01/menus/menuDialog/deleteRunplanLine.vue diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuBar.vue b/src/jmapNew/theme/fuzhou_01/menus/menuBar.vue index 956180d70..6933e3919 100644 --- a/src/jmapNew/theme/fuzhou_01/menus/menuBar.vue +++ b/src/jmapNew/theme/fuzhou_01/menus/menuBar.vue @@ -6,9 +6,11 @@ - + - + + +
@@ -18,9 +20,11 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler.js'; import MenuBar from '@/jmapNew/theme/components/menus/menuBar'; import StationControlConvert from './menuDialog/stationControlConvert'; -import TrainAdd from './menuDialog/trainAdd'; +// import TrainAdd from './menuDialog/trainAdd'; import TrainTranstalet from './menuDialog/trainTranstalet'; -import TrainDelete from './menuDialog/trainDelete'; +// import TrainDelete from './menuDialog/trainDelete'; +import AddRunplanLine from './menuDialog/addRunplanLine'; +import DeleteRunplanLine from './menuDialog/deleteRunplanLine'; import PasswordBox from './menuDialog/passwordBox'; import ViewTrainId from './menuDialog/viewTrainId'; import ViewName from './menuDialog/viewName'; @@ -38,9 +42,11 @@ export default { ViewTrainId, ViewName, ViewDevice, - TrainAdd, + // TrainAdd, TrainTranstalet, - TrainDelete, + // TrainDelete, + AddRunplanLine, + DeleteRunplanLine, ManageUser, HelpAbout }, @@ -397,7 +403,8 @@ export default { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.trainAdd.doShow(operate); + // this.$refs.trainAdd.doShow(operate); + this.$refs.addRunplanLine.doShow(operate); } }); }, @@ -421,7 +428,8 @@ export default { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); - this.$refs.trainDelete.doShow(operate); + // this.$refs.trainDelete.doShow(operate); + this.$refs.deleteRunplanLine.doShow(operate); } }); }, diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuDialog/addRunplanLine.vue b/src/jmapNew/theme/fuzhou_01/menus/menuDialog/addRunplanLine.vue new file mode 100644 index 000000000..2b638208a --- /dev/null +++ b/src/jmapNew/theme/fuzhou_01/menus/menuDialog/addRunplanLine.vue @@ -0,0 +1,377 @@ + + + diff --git a/src/jmapNew/theme/fuzhou_01/menus/menuDialog/deleteRunplanLine.vue b/src/jmapNew/theme/fuzhou_01/menus/menuDialog/deleteRunplanLine.vue new file mode 100644 index 000000000..2bb05b9bb --- /dev/null +++ b/src/jmapNew/theme/fuzhou_01/menus/menuDialog/deleteRunplanLine.vue @@ -0,0 +1,141 @@ + + + + + diff --git a/src/jmapNew/theme/parser/EqualDistanceParser.js b/src/jmapNew/theme/parser/EqualDistanceParser.js index d8843d719..f7fb72d69 100644 --- a/src/jmapNew/theme/parser/EqualDistanceParser.js +++ b/src/jmapNew/theme/parser/EqualDistanceParser.js @@ -50,27 +50,47 @@ class EqualDistanceParser { var lastPoint = null; var nextPoint = null; - /** 创建标记点名称和坐标*/ - // pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`; - pointdata.name = `${service.serviceNumber}${train.tripNumber}`; - pointdata.color = '#000' || lineStyle.color; - pointdata.directionCode = train.right ? '2' : '1'; - if (!store.state.map.mapConfig.upRight) { - pointdata.directionCode = train.right ? '1' : '2'; + /** 如果车次号为空,不显示名称*/ + if (train.tripNumber) { + // 如果不是被删除的首个车次 + if (!train.firstInvalid) { + /** 创建标记点名称和坐标*/ + // pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`; + pointdata.name = `${service.serviceNumber}${train.tripNumber}`; + pointdata.color = '#000' || lineStyle.color; + pointdata.directionCode = train.right ? '2' : '1'; + if (!store.state.map.mapConfig.upRight) { + pointdata.directionCode = train.right ? '1' : '2'; + } + pointdata.coord = [train.stationTimeList[0].secondTime, this.getCoordYByElem(stations, kmRangeMap, train.stationTimeList[0], pointdata.directionCode, false)]; + /** 给服务对象添加服务名称和标记点*/ + opt.markPointData.push(this.__createMartPoint(pointdata)); + } + opt.name = '' + service.serviceNumber; } - pointdata.coord = [train.stationTimeList[0].secondTime, this.getCoordYByElem(stations, kmRangeMap, train.stationTimeList[0], pointdata.directionCode, false)]; - - /** 给服务对象添加服务名称和标记点*/ - opt.name = '' + service.serviceNumber; - opt.markPointData.push(this.__createMartPoint(pointdata)); + if (!train.firstInvalid) { /** 计算非折返点车次点坐标集合*/ - train.stationTimeList.forEach((elem, index) => { - idx = index; - // ${train.directionCode} - const aa = `${train.tripNumber}`; - opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeMap, elem, pointdata.directionCode, false), elem.stationCode, aa]); - }); + train.stationTimeList.forEach((elem, index) => { + idx = index; + // ${train.directionCode} + const aa = `${train.tripNumber}`; + opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeMap, elem, pointdata.directionCode, false), elem.stationCode, aa]); + }); + } else { + const deletePoint = { + symbol:'circle', + name:'breakPoint', + symbolSize:10, + itemStyle:{ + color:'#FF5A3B' + }, + coord: [train.stationTimeList[0].secondTime, this.getCoordYByElem(stations, kmRangeMap, train.stationTimeList[0], pointdata.directionCode, false)] + }; + /** 给服务对象添加服务名称和标记点*/ + // this.__createMartPoint(deletePoint) + opt.markPointData.push(deletePoint); + } /** 计算折返点车次坐标点集合*/ if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) { diff --git a/src/jmapNew/theme/xian_01/menus/menuBar.vue b/src/jmapNew/theme/xian_01/menus/menuBar.vue index 21ea1ee56..527d7b2c4 100644 --- a/src/jmapNew/theme/xian_01/menus/menuBar.vue +++ b/src/jmapNew/theme/xian_01/menus/menuBar.vue @@ -15,8 +15,8 @@ - - + + From 67fe7b6774650c97ec108b3237bc1d2b780d2393 Mon Sep 17 00:00:00 2001 From: yuan Date: Thu, 8 Jul 2021 11:15:04 +0800 Subject: [PATCH 41/50] =?UTF-8?q?xa3=5F=E5=A4=B4=E7=A0=81=E8=BD=A6?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E5=8F=B7=E6=A0=A1=E9=AA=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../components/menus/dialog/trainControl.vue | 486 ++++++++++-------- 2 files changed, 272 insertions(+), 215 deletions(-) diff --git a/.gitignore b/.gitignore index 799d62889..83295a118 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ src/utils/baseUrl.js* *.njsproj *.sln debug.log +.prettierrc diff --git a/src/jmapNew/theme/components/menus/dialog/trainControl.vue b/src/jmapNew/theme/components/menus/dialog/trainControl.vue index 50bb7cf9a..9018a69b2 100644 --- a/src/jmapNew/theme/components/menus/dialog/trainControl.vue +++ b/src/jmapNew/theme/components/menus/dialog/trainControl.vue @@ -1,102 +1,133 @@ - + From cd3eb07730a017ef37ca7c92bbc25df639c34b58 Mon Sep 17 00:00:00 2001 From: yuan Date: Thu, 8 Jul 2021 14:08:33 +0800 Subject: [PATCH 43/50] =?UTF-8?q?PSL=E5=A2=9E=E5=8A=A0=E9=94=81=E7=B4=A7?= =?UTF-8?q?=E6=8C=87=E7=A4=BA=E7=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/components/menus/dialog/psl.vue | 381 ++++++++---------- src/utils/baseUrl.js | 2 +- 2 files changed, 179 insertions(+), 204 deletions(-) diff --git a/src/jmapNew/theme/components/menus/dialog/psl.vue b/src/jmapNew/theme/components/menus/dialog/psl.vue index 4be2754cc..98abbdd6c 100644 --- a/src/jmapNew/theme/components/menus/dialog/psl.vue +++ b/src/jmapNew/theme/components/menus/dialog/psl.vue @@ -1,111 +1,88 @@ diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js index 11702c286..5c8bc402a 100644 --- a/src/utils/baseUrl.js +++ b/src/utils/baseUrl.js @@ -4,7 +4,7 @@ export function getBaseUrl() { // BASE_API = 'https://joylink.club/jlcloud'; BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'http://192.168.8.107:9000'; // 袁琪 - // BASE_API = 'http://192.168.3.83:9000'; // 旭强 有线 + // BASE_API = 'http://192.168.3.250:9000'; // 旭强 有线 // BASE_API = 'http://192.168.8.114:9000'; // 旭强 无线 // BASE_API = 'http://192.168.3.120:9000'; // 张赛 // BASE_API = 'http://192.168.8.140:9000'; // 杜康 From af3f6fcbc82aa8a7e7b52da6705a7d0fe967c963 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Thu, 8 Jul 2021 15:48:03 +0800 Subject: [PATCH 44/50] =?UTF-8?q?=EF=BC=B4=EF=BC=B3=E5=BC=BA=E8=BD=AC?= =?UTF-8?q?=E7=AB=99=E6=8E=A7=E5=AF=86=E7=A0=81=E4=B8=BA=EF=BC=91=EF=BC=92?= =?UTF-8?q?=EF=BC=8C=E4=BB=BF=E7=9C=9F=E7=B3=BB=E7=BB=9F=E4=B8=BA=EF=BC=91?= =?UTF-8?q?=EF=BC=92=EF=BC=93=EF=BC=94=EF=BC=95=EF=BC=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue b/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue index baeb7fbe0..7e9905b7d 100644 --- a/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue +++ b/src/jmapNew/theme/xian_01/menus/menuDialog/passwordBox.vue @@ -138,7 +138,7 @@ export default { operate.operation = OperationEvent.StationControl.forcedStationControl.passwordConfirm.operation; } - if (this.model.password == '123456') { + if (this.model.password == '12') { this.loading = true; this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { this.loading = false; From a641b515057b641c0eff05c4004ba36145fce9b5 Mon Sep 17 00:00:00 2001 From: yuan Date: Fri, 9 Jul 2021 10:30:51 +0800 Subject: [PATCH 45/50] =?UTF-8?q?xa3-=E4=BF=AE=E6=94=B9=E5=88=97=E8=BD=A6?= =?UTF-8?q?=E8=AF=86=E5=88=AB=E5=8F=B7bugfix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/menus/dialog/trainControl.vue | 69 +++++-------------- 1 file changed, 17 insertions(+), 52 deletions(-) diff --git a/src/jmapNew/theme/components/menus/dialog/trainControl.vue b/src/jmapNew/theme/components/menus/dialog/trainControl.vue index 9018a69b2..afdd1ef5d 100644 --- a/src/jmapNew/theme/components/menus/dialog/trainControl.vue +++ b/src/jmapNew/theme/components/menus/dialog/trainControl.vue @@ -10,17 +10,8 @@ :modal="false" :close-on-click-modal="false" > - - + + {{ $t("menu.planTrain") }} {{ $t("menu.headCodeTrain") }} - {{ - $t("menu.artificialTrain") - }} + {{ $t("menu.artificialTrain") }} {{ $t("menu.serviceNumber") + ":" }} - + @@ -89,18 +74,8 @@ :label="this.$t('menu.category') + this.$t('global.colon')" prop="category" > - - + + @@ -181,11 +156,11 @@ export default { { required: !(this.formModel.type === "HEAD" && this.popClass === "xian-01__systerm"), message: "请输入车次号", - trigger: "blur" + trigger: "change" }, - { validator: validateTripNum, trigger: "blur" } + { validator: validateTripNum, trigger: "change" } ], - destinationCode: [{ required: true, message: "请输入目的地号", trigger: "blur" }] + destinationCode: [{ required: true, message: "请输入目的地号", trigger: "change" }] }; }, serverNoIsDisabled() { @@ -290,11 +265,7 @@ export default { }, watch: { "formModel.tripNumber": function(val) { - if ( - this.popClass !== "foshan-01__systerm" && - val.length === 4 && - this.formModel.type !== "HEAD" - ) { + if (this.popClass !== "foshan-01__systerm" && val.length === 4 && this.formModel.type !== "HEAD") { this.trainNoChange(val); } else if (this.popClass !== "foshan-01__systerm" && this.formModel.type !== "HEAD") { this.formModel = { @@ -302,8 +273,8 @@ export default { tripNumber: val, type: this.formModel.type, serviceNumber: "", - targetCode: "", - category: "MM" + category: "MM", + destinationCode: "" }; } else if ( this.popClass === "foshan-01__systerm" && @@ -313,36 +284,30 @@ export default { ) { this.trainNoChange(val, this.formModel.serviceNumber); } else if (this.popClass === "foshan-01__systerm" && this.formModel.type !== "HEAD") { - const serviceNumber = this.formModel.serviceNumber; - const destinationCode = this.formModel.destinationCode; + let serviceNumber = this.formModel.serviceNumber; + let destinationCode = this.formModel.destinationCode; this.formModel = { groupNumber: this.formModel.groupNumber, destinationCode: destinationCode, tripNumber: val, type: this.formModel.type, serviceNumber: serviceNumber, - targetCode: "", category: "MM" }; } }, "formModel.serviceNumber": function(val) { - if ( - this.popClass === "foshan-01__systerm" && - val.length === 3 && - this.formModel.tripNumber.length === 2 - ) { + if (this.popClass === "foshan-01__systerm" && val.length === 3 && this.formModel.tripNumber.length === 2) { this.trainNoChange(this.formModel.tripNumber, val); } else if (this.popClass === "foshan-01__systerm") { - const tripNumber = this.formModel.tripNumber; - const destinationCode = this.formModel.destinationCode; + let tripNumber = this.formModel.tripNumber; + let destinationCode = this.formModel.destinationCode; this.formModel = { groupNumber: this.formModel.groupNumber, tripNumber: tripNumber, destinationCode: destinationCode, type: this.formModel.type, serviceNumber: val, - targetCode: "", category: "MM" }; } From 2cdac30d1930731118298e94e36429f9055fb159 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Fri, 9 Jul 2021 11:26:02 +0800 Subject: [PATCH 46/50] =?UTF-8?q?=E4=BB=BF=E7=9C=9F=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8F=8D=E9=A6=88=E8=A1=A811=EF=BC=9A?= =?UTF-8?q?=E5=88=97=E8=BD=A6=E9=99=8D=E7=BA=A7ITC=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E9=BC=A0=E6=A0=87=E6=82=AC=E5=81=9C=E5=88=97=E8=BD=A6=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E4=BE=9D=E7=84=B6=E6=98=BE=E7=A4=BACTC?= =?UTF-8?q?=E5=88=97=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/shape/graph/Train/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/jmapNew/shape/graph/Train/index.js b/src/jmapNew/shape/graph/Train/index.js index 860796c64..779d11620 100644 --- a/src/jmapNew/shape/graph/Train/index.js +++ b/src/jmapNew/shape/graph/Train/index.js @@ -93,6 +93,7 @@ export default class Train extends Group { turnBackStrategy: model.turnBackStrategy, turnBackStatus: model.turnBackStatus, stationCode: model.stationCode, + runLevel: model.runLevel, model: model }); const rect = this.trainB.getBoundingRectOfFont().clone(); From 01ed5397ad2d251cea9047d11e5cba0bb45437b7 Mon Sep 17 00:00:00 2001 From: yuan Date: Mon, 12 Jul 2021 10:37:14 +0800 Subject: [PATCH 47/50] =?UTF-8?q?ibp=E7=9B=98=E6=8C=89=E9=92=AE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=AE=E7=81=AF=E9=A2=9C=E8=89=B2=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/i18n/langs/en/ibp.js | 7 ++++ src/i18n/langs/zh/ibp.js | 7 ++++ src/ibp/shape/button.js | 7 +++- src/scripts/ConstDic.js | 4 +-- .../ibp/ibpDraw/ibpOperate/ibpButton.vue | 32 +++++++++++++++---- 5 files changed, 47 insertions(+), 10 deletions(-) diff --git a/src/i18n/langs/en/ibp.js b/src/i18n/langs/en/ibp.js index 20910b09b..d6c095707 100644 --- a/src/i18n/langs/en/ibp.js +++ b/src/i18n/langs/en/ibp.js @@ -36,6 +36,13 @@ export default { backgroundHeight: 'backgroundHeight', buttonCode: 'Button code', buttonColor: 'Button color', + buttonLightColor: 'Button Light Color', + red: 'Red', + blue: 'Blue', + yellow: 'Yellow', + green: 'Green', + gray: 'White', + button: 'Button', buttonWidth: 'Button width', redButton: 'Red button', blueButton: 'Blue button', diff --git a/src/i18n/langs/zh/ibp.js b/src/i18n/langs/zh/ibp.js index 8e437bc29..15ffb5f34 100644 --- a/src/i18n/langs/zh/ibp.js +++ b/src/i18n/langs/zh/ibp.js @@ -41,6 +41,13 @@ export default { backgroundHeight: '背景板高度', buttonCode: '按钮编号', buttonColor: '按钮颜色', + buttonLightColor: '按钮灯颜色', + red: '红色', + blue: '蓝色', + yellow: '黄色', + green: '绿色', + gray: '白色', + button: '按钮', buttonWidth: '按钮宽度', redButton: '红色按钮', blueButton: '蓝色按钮', diff --git a/src/ibp/shape/button.js b/src/ibp/shape/button.js index 0c5ec21d5..e364555cf 100644 --- a/src/ibp/shape/button.js +++ b/src/ibp/shape/button.js @@ -86,7 +86,12 @@ export default class button extends Group { } getImagePic() { - const color = colors.get(`${this.model.color}${this.model.pressed ? '_pressed' : ''}_${this.model.status}`); + let color; + if (this.model.status === 'on') { + color = colors.get(`${this.model.lightColor || this.model.color}${this.model.pressed ? '_pressed' : ''}_on`) + } else if (this.model.status === 'off') { + color = colors.get(`${this.model.color}${this.model.pressed ? '_pressed' : ''}_off`) + } return color; } diff --git a/src/scripts/ConstDic.js b/src/scripts/ConstDic.js index 4d65f4370..ff4a74f3c 100644 --- a/src/scripts/ConstDic.js +++ b/src/scripts/ConstDic.js @@ -139,8 +139,8 @@ export const IbpOperation = { XXYS: {operate: '09', event: 'XXYS', name: '下行钥匙'}, SXYS: {operate: '11', event: 'SXYS', name: '上行钥匙'}, AXLE_RESET: {operate: '12', event: 'AXLE_RESET', name: '计轴复位'}, - AXLE_PRE_RESET: {operate: '13', event: 'AXLE_PRE_RESET', name: '计轴预复位'}, - PRERESET_Z: {operate: '14', event: 'PRERESET_Z', name: '计轴预复零'}, + AXLE_PRE_RESET: {operate: '13', event: 'AXLE_PRE_RESET', name: '计轴区段复位'}, + PRERESET_Z: {operate: '14', event: 'PRERESET_Z', name: '计轴预复位'}, SD: {operate: '15', event: 'SD', name: '试灯'}, XXGM: {operate: '16', event: 'XXGM', name: '下行屏蔽门开门'}, SXGM: {operate: '17', event: 'SXGM', name: '上行屏蔽门开门'}, diff --git a/src/views/ibp/ibpDraw/ibpOperate/ibpButton.vue b/src/views/ibp/ibpDraw/ibpOperate/ibpButton.vue index ce233aca4..7bd7ace7d 100644 --- a/src/views/ibp/ibpDraw/ibpOperate/ibpButton.vue +++ b/src/views/ibp/ibpDraw/ibpOperate/ibpButton.vue @@ -10,11 +10,23 @@ - - - - - + + + + + + + @@ -86,14 +98,16 @@ export default { { label: "屏蔽门开门", value: "KM" }, { label: "屏蔽门关门", value: "GM" }, { label: "计轴复位", value: "AXLE_RESET" }, - { label: "计轴预复位", value: "AXLE_PRE_RESET" }, - { label: "计轴预复零", value: "PRERESET_Z" }, + { label: "计轴区段复位", value: "AXLE_PRE_RESET" }, + { label: "计轴预复位", value: "PRERESET_Z" }, { label: "试灯", value: "SD" } ], + colors: ["red", "yellow", "blue", "green", "gray"], operateWithoutDirections: ["AXLE_RESET", "AXLE_PRE_RESET", "PRERESET_Z", "SD"], form: { code: "", buttonColor: "red", + buttonLightColor: "", buttonWidth: 25, x: 10, y: 10, @@ -125,6 +139,7 @@ export default { this.isUpdate = true; this.form.code = model.code; this.form.buttonColor = model.color; + this.form.buttonLightColor = model.lightColor; this.form.buttonWidth = model.width; this.form.x = model.point.x; this.form.y = model.point.y; @@ -167,6 +182,7 @@ export default { _type: "SquareButton", code: this.form.code, color: this.form.buttonColor, + lightColor: this.form.buttonLightColor, status: "off", width: this.form.buttonWidth, mean: this.form.mean, @@ -189,6 +205,7 @@ export default { _type: "SquareButton", code: this.form.code, color: this.form.buttonColor, + lightColor: this.form.buttonLightColor, status: "off", width: this.form.buttonWidth, mean: this.form.mean, @@ -205,6 +222,7 @@ export default { this.form = { code: "", buttonColor: "red", + buttonLightColor: "", buttonWidth: 25, x: 10, y: 10, From 79a85639fc312a0a8f5866b348a8e61525eb18f7 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Mon, 12 Jul 2021 10:38:39 +0800 Subject: [PATCH 48/50] =?UTF-8?q?=E9=9D=9E=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E5=BC=80=E6=94=BE=E5=80=8D=E9=80=9F=E5=8A=9F=E8=83=BD=EF=BC=88?= =?UTF-8?q?5=E5=80=8D=E9=80=9F=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/newMap/displayNew/menuSchema.vue | 34 +++++++++++++--------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue index 5b11be398..e98baf39e 100644 --- a/src/views/newMap/displayNew/menuSchema.vue +++ b/src/views/newMap/displayNew/menuSchema.vue @@ -2,7 +2,7 @@
- + Date: Wed, 14 Jul 2021 09:32:12 +0800 Subject: [PATCH 49/50] =?UTF-8?q?=E8=B0=83=E6=95=B4=E9=9B=86=E4=B8=AD?= =?UTF-8?q?=E7=AB=99=E8=AE=BE=E5=A4=87=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/map.js | 86 +++--- src/jmapNew/mouseController.js | 27 +- src/jmapNew/painter.js | 10 +- src/jmapNew/shape/graph/Arrow/index.js | 3 +- src/jmapNew/shape/graph/AutoTurnBack/index.js | 3 +- .../shape/graph/AutomacticRoute/index.js | 3 +- src/jmapNew/shape/graph/AxleReset/index.js | 21 +- src/jmapNew/shape/graph/DirectionRod/index.js | 3 +- src/jmapNew/shape/graph/FloodGate/index.js | 3 +- src/jmapNew/shape/graph/GuideLock/index.js | 27 +- src/jmapNew/shape/graph/LcControl/index.js | 22 +- src/jmapNew/shape/graph/LimitControl/index.js | 21 +- src/jmapNew/shape/graph/Line/index.js | 3 +- src/jmapNew/shape/graph/OutFrame/index.js | 3 +- src/jmapNew/shape/graph/Power/index.js | 3 +- src/jmapNew/shape/graph/Psd/index.js | 5 +- src/jmapNew/shape/graph/Resource/index.js | 3 +- src/jmapNew/shape/graph/Responder/index.js | 3 +- src/jmapNew/shape/graph/SaidLamp/index.js | 3 +- src/jmapNew/shape/graph/Section/index.js | 3 +- src/jmapNew/shape/graph/Signal/index.js | 2 +- src/jmapNew/shape/graph/SignalButton/index.js | 3 +- src/jmapNew/shape/graph/SplitStation/index.js | 3 +- src/jmapNew/shape/graph/Station/index.js | 4 +- .../shape/graph/StationCounter/index.js | 3 +- .../shape/graph/StationDelayUnlock/index.js | 3 +- src/jmapNew/shape/graph/StationStand/index.js | 3 +- .../shape/graph/StationTurnBack/index.js | 3 +- src/jmapNew/shape/graph/Switch/index.js | 3 +- src/jmapNew/shape/graph/Text/index.js | 7 +- src/jmapNew/shape/graph/Train/EMouse.js | 2 +- src/jmapNew/shape/graph/Train/index.js | 6 +- src/jmapNew/shape/graph/TrainWindow/index.js | 29 +- src/jmapNew/shape/graph/ZcControl/index.js | 3 +- src/jmapNew/shape/graph/checkBox/checkBox.js | 4 +- src/store/modules/map.js | 13 + src/utils/baseUrl.js | 6 +- src/views/newMap/jlmapNew/index.vue | 1 - .../newMap/newMapdraft/mapoperate/index.vue | 40 ++- .../newMapdraft/mapoperate/localConfig.vue | 255 ++++++++++++++++++ .../newMapdraft/mapoperate/splitScreen.vue | 4 + 41 files changed, 491 insertions(+), 161 deletions(-) create mode 100644 src/views/newMap/newMapdraft/mapoperate/localConfig.vue diff --git a/src/jmapNew/map.js b/src/jmapNew/map.js index 2678f6402..ea4e966bb 100644 --- a/src/jmapNew/map.js +++ b/src/jmapNew/map.js @@ -330,37 +330,36 @@ class Jlmap { getShowConfig() { return this.showConfig; } - showStationHandlePsd(oDevice, stationCode) { - const standDevice = this.mapDevice[oDevice.standCode]; - if (standDevice && standDevice.deviceStationCode === stationCode || !stationCode) { - this.$painter.updateSpecialShowStation(oDevice, true); - } else { - this.$painter.updateSpecialShowStation(oDevice, false); - } - } - showStationHandleSection(oDevice, stationCode) { - const trainWinDevice = this.mapDevice[oDevice.trainWindowCode]; - if (oDevice.stationCode === stationCode || !stationCode) { - this.$painter.updateSpecialShowStation(trainWinDevice, true); - } else { - this.$painter.updateSpecialShowStation(trainWinDevice, false); - } - } - showStationHandleStation (oDevice, stationCode) { - if ((oDevice.centralized && oDevice.code === stationCode) || !stationCode) { - this.$painter.updateSpecialShowStation(oDevice, true); - oDevice.chargeStationCodeList.forEach(staCode => { - const staDevice = this.mapDevice[staCode]; - this.$painter.updateSpecialShowStation(staDevice, true); - }); - } else if (oDevice.centralized && oDevice.code !== stationCode) { - this.$painter.updateSpecialShowStation(oDevice, false); - oDevice.chargeStationCodeList.forEach(staCode => { - const staDevice = this.mapDevice[staCode]; - this.$painter.updateSpecialShowStation(staDevice, false); - }); - } - } + // showStationHandlePsd(oDevice, stationCode) { + // if (store.getters['map/checkDeviceShow'](stationCode, oDevice.standCode) || !stationCode) { + // this.$painter.updateSpecialShowStation(oDevice, true); + // } else { + // this.$painter.updateSpecialShowStation(oDevice, false); + // } + // } + // showStationHandleSection(oDevice, stationCode) { + // const trainWinDevice = this.mapDevice[oDevice.trainWindowCode]; + // if (oDevice.stationCode === stationCode || !stationCode) { + // this.$painter.updateSpecialShowStation(trainWinDevice, true); + // } else { + // this.$painter.updateSpecialShowStation(trainWinDevice, false); + // } + // } + // showStationHandleStation (oDevice, stationCode) { + // if ((oDevice.centralized && oDevice.code === stationCode) || !stationCode) { + // this.$painter.updateSpecialShowStation(oDevice, true); + // oDevice.chargeStationCodeList.forEach(staCode => { + // const staDevice = this.mapDevice[staCode]; + // this.$painter.updateSpecialShowStation(staDevice, true); + // }); + // } else if (oDevice.centralized && oDevice.code !== stationCode) { + // this.$painter.updateSpecialShowStation(oDevice, false); + // oDevice.chargeStationCodeList.forEach(staCode => { + // const staDevice = this.mapDevice[staCode]; + // this.$painter.updateSpecialShowStation(staDevice, false); + // }); + // } + // } updateShowStation(list = [], stationCode = '') { this.stationCode = stationCode; @@ -369,18 +368,19 @@ class Jlmap { const code = elem.code; const type = elem._type; const oDevice = this.mapDevice[code] || deviceFactory(type, elem, this.showConfig); - if (oDevice._type === deviceType.Station) { - this.showStationHandleStation(oDevice, stationCode); - } else if (oDevice._type === deviceType.Section) { - this.$painter.updateShowStation(oDevice, stationCode); - this.showStationHandleSection(oDevice, stationCode); - } else if (oDevice._type === deviceType.TrainWindow) { - // 不处理车次窗 勿删 - } else if (oDevice._type === deviceType.Psd) { - this.showStationHandlePsd(oDevice, stationCode); - } else { - this.$painter.updateShowStation(oDevice, stationCode); - } + // if (oDevice._type === deviceType.Station) { + // this.showStationHandleStation(oDevice, stationCode); + // } else if (oDevice._type === deviceType.Section) { + // this.$painter.updateShowStation(oDevice, stationCode); + // this.showStationHandleSection(oDevice, stationCode); + // } else if (oDevice._type === deviceType.TrainWindow) { + // // 不处理车次窗 勿删 + // } else if (oDevice._type === deviceType.Psd) { + // this.showStationHandlePsd(oDevice, stationCode); + // } else { + // this.$painter.updateShowStation(oDevice, stationCode); + // } + this.$painter.updateShowStation(oDevice, stationCode); }); this.$painter.$transformHandle.revisibleAll(); if (stationCode) { diff --git a/src/jmapNew/mouseController.js b/src/jmapNew/mouseController.js index 6f786e015..cc21941a4 100644 --- a/src/jmapNew/mouseController.js +++ b/src/jmapNew/mouseController.js @@ -277,8 +277,7 @@ class MouseController extends Eventful { if (this.whetherInclude(boundingRect, deviceBoundingRect )) { includeDeviceList.push(item); } - } - if (item.instance && item.instance._type == deviceType.Switch) { + } else if (item.instance && item.instance._type == deviceType.Switch) { const deviceBoundingRect = { x1: item.intersection.x, y1: item.intersection.y, @@ -288,8 +287,7 @@ class MouseController extends Eventful { if (this.whetherInclude(boundingRect, deviceBoundingRect )) { includeDeviceList.push(item); } - } - if (item.instance && item.instance._type == deviceType.Signal) { + } else if (item.instance && item.instance._type == deviceType.Signal) { const deviceBoundingRect = { x1: item.position.x, y1: item.position.y, @@ -299,6 +297,27 @@ class MouseController extends Eventful { if (this.whetherInclude(boundingRect, deviceBoundingRect )) { includeDeviceList.push(item); } + } else if (item.instance && item.instance._type == deviceType.Psd) { + const deviceBoundingRect = { + x1: item.position.x, + y1: item.position.y, + x2: item.position.x, + y2: item.position.y + }; + if (this.whetherInclude(boundingRect, deviceBoundingRect )) { + includeDeviceList.push(item); + } + } else if (item.instance && item.instance._type !== deviceType.TrainWindow && item.instance._type !== deviceType.CheckBox && item.instance._type !== deviceType.Train) { + const rect = item.instance.getBoundingRect(); + const deviceBoundingRect = { + x1: rect.x, + y1: rect.y, + x2: rect.x, + y2: rect.y + }; + if (this.whetherInclude(boundingRect, deviceBoundingRect)) { + includeDeviceList.push(item); + } } }); this.deviceList = includeDeviceList; diff --git a/src/jmapNew/painter.js b/src/jmapNew/painter.js index 3bc597c6a..32a58c7a1 100644 --- a/src/jmapNew/painter.js +++ b/src/jmapNew/painter.js @@ -199,11 +199,11 @@ class Painter { device.instance.setShowStation(stationCode); } } - updateSpecialShowStation(device, flag) { - if (device && device.instance) { - device.instance.setShowStation(flag); - } - } + // updateSpecialShowStation(device, flag) { + // if (device && device.instance) { + // device.instance.setShowStation(flag); + // } + // } /** * 更新transform变化 * @param {*} opt diff --git a/src/jmapNew/shape/graph/Arrow/index.js b/src/jmapNew/shape/graph/Arrow/index.js index 8b64f10f5..407539661 100644 --- a/src/jmapNew/shape/graph/Arrow/index.js +++ b/src/jmapNew/shape/graph/Arrow/index.js @@ -1,5 +1,6 @@ import Group from 'zrender/src/container/Group'; import Polygon from 'zrender/src/graphic/shape/Polygon'; +import store from '@/store/index'; export default class Arrow extends Group { constructor(model, {style}) { @@ -53,7 +54,7 @@ export default class Arrow extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/AutoTurnBack/index.js b/src/jmapNew/shape/graph/AutoTurnBack/index.js index 4d015d2bd..864cc4252 100644 --- a/src/jmapNew/shape/graph/AutoTurnBack/index.js +++ b/src/jmapNew/shape/graph/AutoTurnBack/index.js @@ -7,6 +7,7 @@ import Text from 'zrender/src/graphic/Text'; import Rect from 'zrender/src/graphic/shape/Rect'; import EMouse from './EMouse'; import BoundingRect from 'zrender/src/core/BoundingRect'; +import store from '@/store/index'; export default class AutoTurnBack extends Group { constructor(model, {style}) { @@ -172,7 +173,7 @@ export default class AutoTurnBack extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.isShowShape = true; this.showMode(); } else { diff --git a/src/jmapNew/shape/graph/AutomacticRoute/index.js b/src/jmapNew/shape/graph/AutomacticRoute/index.js index afca7a75d..9d36efa3d 100644 --- a/src/jmapNew/shape/graph/AutomacticRoute/index.js +++ b/src/jmapNew/shape/graph/AutomacticRoute/index.js @@ -6,6 +6,7 @@ import Arc from 'zrender/src/graphic/shape/Arc'; import Text from 'zrender/src/graphic/Text'; import EMouse from './EMouse'; import BoundingRect from 'zrender/src/core/BoundingRect'; +import store from '@/store/index'; export default class AutomacticRoute extends Group { constructor(model, {style}) { @@ -137,7 +138,7 @@ export default class AutomacticRoute extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.isShowShape = true; this.showMode(); } else { diff --git a/src/jmapNew/shape/graph/AxleReset/index.js b/src/jmapNew/shape/graph/AxleReset/index.js index f4029ee45..d8582e78b 100644 --- a/src/jmapNew/shape/graph/AxleReset/index.js +++ b/src/jmapNew/shape/graph/AxleReset/index.js @@ -6,6 +6,7 @@ import Arc from 'zrender/src/graphic/shape/Arc'; import Text from 'zrender/src/graphic/Text'; import EMouse from './EMouse'; import BoundingRect from 'zrender/src/core/BoundingRect'; +import store from '@/store/index'; export default class AxleReset extends Group { constructor(model, {style}) { @@ -83,18 +84,18 @@ export default class AxleReset extends Group { this.add(this.text); } - setAshShow() { - this.control && this.control.setStyle({fill:'#FFF'}); - } + setAshShow() { + this.control && this.control.setStyle({fill:'#FFF'}); + } // 设置状态 setState(model) { - // 只响应前端自定义类型的状态变化 - if (model._free) { - this.setAshShow() - } else { - if (!this.isShowShape) return; - } + // 只响应前端自定义类型的状态变化 + if (model._free) { + this.setAshShow(); + } else { + if (!this.isShowShape) return; + } } createMouseEvent() { @@ -141,7 +142,7 @@ export default class AxleReset extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.isShowShape = true; this.showMode(); } else { diff --git a/src/jmapNew/shape/graph/DirectionRod/index.js b/src/jmapNew/shape/graph/DirectionRod/index.js index 30c419775..e565710b0 100644 --- a/src/jmapNew/shape/graph/DirectionRod/index.js +++ b/src/jmapNew/shape/graph/DirectionRod/index.js @@ -1,6 +1,7 @@ import Group from 'zrender/src/container/Group'; import Polygon from 'zrender/src/graphic/shape/Polygon'; import Text from 'zrender/src/graphic/Text'; +import store from '@/store/index'; export default class DirectionRod extends Group { constructor(model, {style}) { @@ -97,7 +98,7 @@ export default class DirectionRod extends Group { } setShowStation(stationCode) { - if (!stationCode || this.model.deviceStationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.isShowShape = true; this.showMode(); } else { diff --git a/src/jmapNew/shape/graph/FloodGate/index.js b/src/jmapNew/shape/graph/FloodGate/index.js index e72c3f6fc..1b544c886 100644 --- a/src/jmapNew/shape/graph/FloodGate/index.js +++ b/src/jmapNew/shape/graph/FloodGate/index.js @@ -3,6 +3,7 @@ */ import Group from 'zrender/src/container/Group'; import Rect from 'zrender/src/graphic/shape/Rect'; +import store from '@/store/index'; export default class FloodGate extends Group { constructor(model, {style}) { @@ -61,7 +62,7 @@ export default class FloodGate extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.isShowShape = true; this.showMode(); } else { diff --git a/src/jmapNew/shape/graph/GuideLock/index.js b/src/jmapNew/shape/graph/GuideLock/index.js index 2e70e01b7..04c46cbeb 100644 --- a/src/jmapNew/shape/graph/GuideLock/index.js +++ b/src/jmapNew/shape/graph/GuideLock/index.js @@ -6,6 +6,7 @@ import Arc from 'zrender/src/graphic/shape/Arc'; import Text from 'zrender/src/graphic/Text'; import EMouse from './EMouse'; import BoundingRect from 'zrender/src/core/BoundingRect'; +import store from '@/store/index'; export default class GuideLock extends Group { constructor(model, {style}) { @@ -86,22 +87,22 @@ export default class GuideLock extends Group { } handleSignal() { this.control.setStyle({ fill: this.style.GuideLock.lamp.lightUpColor }); - } + } - setAshShow() { - this.control && this.control.setStyle({fill:'#FFF'}); - } + setAshShow() { + this.control && this.control.setStyle({fill:'#FFF'}); + } // 设置状态 setState(model) { - // 只响应前端自定义类型的状态变化 - if (model._free) { - this.setAshShow() - } else { - if (!this.isShowShape) return; - this.recover(); - model.totalGuideLock && this.handleSignal(); - } + // 只响应前端自定义类型的状态变化 + if (model._free) { + this.setAshShow(); + } else { + if (!this.isShowShape) return; + this.recover(); + model.totalGuideLock && this.handleSignal(); + } } createMouseEvent() { @@ -148,7 +149,7 @@ export default class GuideLock extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.isShowShape = true; this.showMode(); } else { diff --git a/src/jmapNew/shape/graph/LcControl/index.js b/src/jmapNew/shape/graph/LcControl/index.js index 95a464335..468322f6d 100644 --- a/src/jmapNew/shape/graph/LcControl/index.js +++ b/src/jmapNew/shape/graph/LcControl/index.js @@ -4,6 +4,7 @@ import Group from 'zrender/src/container/Group'; import EControl from '../element/EControl'; import EMouse from './EMouse'; +import store from '@/store/index'; export default class LcControl extends Group { constructor(model, {style}) { @@ -53,19 +54,18 @@ export default class LcControl extends Group { this.add(this.control); } - setAshShow() { - this.control && this.control.setControlColor('#7F7F7F'); - } - + setAshShow() { + this.control && this.control.setControlColor('#7F7F7F'); + } // 设置状态 setState(model) { - // 只响应前端自定义类型的状态变化 - if (model._free) { - this.setAshShow() - } else { - if (!this.isShowShape) return; - } + // 只响应前端自定义类型的状态变化 + if (model._free) { + this.setAshShow(); + } else { + if (!this.isShowShape) return; + } } createMouseEvent() { @@ -89,7 +89,7 @@ export default class LcControl extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.control.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/LimitControl/index.js b/src/jmapNew/shape/graph/LimitControl/index.js index 4c21cced0..d318cca2a 100644 --- a/src/jmapNew/shape/graph/LimitControl/index.js +++ b/src/jmapNew/shape/graph/LimitControl/index.js @@ -4,6 +4,7 @@ import Group from 'zrender/src/container/Group'; import EControl from '../element/EControl'; import EMouse from './EMouse'; +import store from '@/store/index'; export default class LimitControl extends Group { constructor(model, {style}) { @@ -57,18 +58,18 @@ export default class LimitControl extends Group { this.add(this.control); } - setAshShow() { - this.control && this.control.setControlColor('#FFF'); - } + setAshShow() { + this.control && this.control.setControlColor('#FFF'); + } // 设置状态 setState(model) { - // 只响应前端自定义类型的状态变化 - if (model._free) { - this.setAshShow() - } else { - if (!this.isShowShape) return; - } + // 只响应前端自定义类型的状态变化 + if (model._free) { + this.setAshShow(); + } else { + if (!this.isShowShape) return; + } } createMouseEvent() { @@ -93,7 +94,7 @@ export default class LimitControl extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.control.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/Line/index.js b/src/jmapNew/shape/graph/Line/index.js index 559d72e92..ccb30003f 100644 --- a/src/jmapNew/shape/graph/Line/index.js +++ b/src/jmapNew/shape/graph/Line/index.js @@ -1,5 +1,6 @@ import Group from 'zrender/src/container/Group'; import Polyline from 'zrender/src/graphic/shape/Polyline'; +import store from '@/store/index'; export default class Line2 extends Group { constructor(model, {style}) { @@ -105,7 +106,7 @@ export default class Line2 extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.segment && this.segment.show(); this.viceSegment && this.viceSegment.show(); this.isShowShape = true; diff --git a/src/jmapNew/shape/graph/OutFrame/index.js b/src/jmapNew/shape/graph/OutFrame/index.js index 1838e4c98..3d17b19f2 100644 --- a/src/jmapNew/shape/graph/OutFrame/index.js +++ b/src/jmapNew/shape/graph/OutFrame/index.js @@ -1,5 +1,6 @@ import Group from 'zrender/src/container/Group'; import Rect from 'zrender/src/graphic/shape/Rect'; +import store from '@/store/index'; export default class OutFrame extends Group { constructor(model, {style}) { @@ -57,7 +58,7 @@ export default class OutFrame extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.box && this.box.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/Power/index.js b/src/jmapNew/shape/graph/Power/index.js index c9bab3853..99563bc82 100644 --- a/src/jmapNew/shape/graph/Power/index.js +++ b/src/jmapNew/shape/graph/Power/index.js @@ -2,6 +2,7 @@ import Polyline from 'zrender/src/graphic/shape/Polyline'; import Group from 'zrender/src/container/Group'; import JTriangle from '../../../utils/JTriangle'; import ESeparator from './ESeparator'; +import store from '@/store/index'; export default class Line2 extends Group { constructor(model, {style}) { @@ -135,7 +136,7 @@ export default class Line2 extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild((child) => { child.show(); }); diff --git a/src/jmapNew/shape/graph/Psd/index.js b/src/jmapNew/shape/graph/Psd/index.js index e2b3f0de1..e01796eac 100644 --- a/src/jmapNew/shape/graph/Psd/index.js +++ b/src/jmapNew/shape/graph/Psd/index.js @@ -5,6 +5,7 @@ import EHorizontal2Door from './EHorizontal2Door'; import EHighlight from '../element/EHighlight'; import {traverseLineElements} from '../utils/ShapeStatusCovert'; import ERectDoor from './ERectDoor'; +import store from '@/store/index'; export default class Line2 extends Group { constructor(model, {style}) { @@ -90,8 +91,8 @@ export default class Line2 extends Group { }); } } - setShowStation(flag) { - if (flag) { + setShowStation(stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/Resource/index.js b/src/jmapNew/shape/graph/Resource/index.js index 12a4d2f09..f90a5c02f 100644 --- a/src/jmapNew/shape/graph/Resource/index.js +++ b/src/jmapNew/shape/graph/Resource/index.js @@ -3,6 +3,7 @@ */ import Group from 'zrender/src/container/Group'; import Image from 'zrender/src/graphic/Image'; +import store from '@/store/index'; export default class Resource extends Group { constructor(model, {style}) { @@ -70,7 +71,7 @@ export default class Resource extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.image && this.image.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/Responder/index.js b/src/jmapNew/shape/graph/Responder/index.js index c90c15cd2..676a17802 100644 --- a/src/jmapNew/shape/graph/Responder/index.js +++ b/src/jmapNew/shape/graph/Responder/index.js @@ -6,6 +6,7 @@ import Rect from 'zrender/src/graphic/shape/Rect'; import Text from 'zrender/src/graphic/Text'; import Polygon from 'zrender/src/graphic/shape/Polygon'; import EHighlight from '../element/EHighlight'; +import store from '@/store/index'; const defaultStyle = { distance: 12, @@ -188,7 +189,7 @@ export default class Responder extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.block && this.block.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/SaidLamp/index.js b/src/jmapNew/shape/graph/SaidLamp/index.js index 486afbf0f..b126ee18b 100644 --- a/src/jmapNew/shape/graph/SaidLamp/index.js +++ b/src/jmapNew/shape/graph/SaidLamp/index.js @@ -10,6 +10,7 @@ import EModeStatus from './EModeStatus'; import EUnmanned from './EUnmanned'; import EAxle from './EAxle'; import EIndicatorLight from './EIndicatorLight'; +import store from '@/store/index'; export default class SaidLamp extends Group { constructor(model, {style}) { @@ -222,7 +223,7 @@ export default class SaidLamp extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.control && this.control.show(); this.isShowShape = true; this.setState(this.model); diff --git a/src/jmapNew/shape/graph/Section/index.js b/src/jmapNew/shape/graph/Section/index.js index 80fb970fc..ea430ebac 100644 --- a/src/jmapNew/shape/graph/Section/index.js +++ b/src/jmapNew/shape/graph/Section/index.js @@ -14,6 +14,7 @@ import ELimitName from './ELimitName'; // 成都三号线 限速名称 import { drawSectionStyle } from '../../../config/defaultStyle'; import EStopRouteImg from './EStopRouteImg'; import EBadShunt from './EBadShunt'; +import store from '@/store/index'; const exec = (f, ...args) => { f && f(...args); }; const DerailerMap = { @@ -594,7 +595,7 @@ export default class Section extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/Signal/index.js b/src/jmapNew/shape/graph/Signal/index.js index d92e17a0a..cac40d689 100644 --- a/src/jmapNew/shape/graph/Signal/index.js +++ b/src/jmapNew/shape/graph/Signal/index.js @@ -1175,7 +1175,7 @@ class Signal extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/SignalButton/index.js b/src/jmapNew/shape/graph/SignalButton/index.js index 6e6abfc47..3ced63ed2 100644 --- a/src/jmapNew/shape/graph/SignalButton/index.js +++ b/src/jmapNew/shape/graph/SignalButton/index.js @@ -2,6 +2,7 @@ import Group from 'zrender/src/container/Group'; import Rect from 'zrender/src/graphic/shape/Rect'; import Line from 'zrender/src/graphic/shape/Line'; import Text from 'zrender/src/graphic/Text'; +import store from '@/store/index'; export default class SignalButton extends Group { constructor(model, {style}) { @@ -131,7 +132,7 @@ export default class SignalButton extends Group { setShowMode() { } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/SplitStation/index.js b/src/jmapNew/shape/graph/SplitStation/index.js index 7a5595281..0e075bc02 100644 --- a/src/jmapNew/shape/graph/SplitStation/index.js +++ b/src/jmapNew/shape/graph/SplitStation/index.js @@ -2,6 +2,7 @@ import Group from 'zrender/src/container/Group'; import Line from 'zrender/src/graphic/shape/Line'; import Polygon from 'zrender/src/graphic/shape/Polygon'; import Text from 'zrender/src/graphic/Text'; +import store from '@/store/index'; export default class SplitStation extends Group { constructor(model, {style}) { @@ -132,7 +133,7 @@ export default class SplitStation extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/Station/index.js b/src/jmapNew/shape/graph/Station/index.js index dad163a71..49ef9ae33 100644 --- a/src/jmapNew/shape/graph/Station/index.js +++ b/src/jmapNew/shape/graph/Station/index.js @@ -783,8 +783,8 @@ export default class Station extends Group { this.troButton && this.troButton.hide(); } } - setShowStation(flag) { - if (flag) { + setShowStation(stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { if (this.model.visible) { this.eachChild(item => { item.show(); diff --git a/src/jmapNew/shape/graph/StationCounter/index.js b/src/jmapNew/shape/graph/StationCounter/index.js index 91d56ba47..7a74bbbf6 100644 --- a/src/jmapNew/shape/graph/StationCounter/index.js +++ b/src/jmapNew/shape/graph/StationCounter/index.js @@ -4,6 +4,7 @@ import Polyline from 'zrender/src/graphic/shape/Polyline'; import Group from 'zrender/src/container/Group'; import Text from 'zrender/src/graphic/Text'; +import store from '@/store/index'; export default class StationCounter extends Group { constructor(model, {style}) { @@ -90,7 +91,7 @@ export default class StationCounter extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/StationDelayUnlock/index.js b/src/jmapNew/shape/graph/StationDelayUnlock/index.js index f27cc3c0b..3f061abf7 100644 --- a/src/jmapNew/shape/graph/StationDelayUnlock/index.js +++ b/src/jmapNew/shape/graph/StationDelayUnlock/index.js @@ -4,6 +4,7 @@ import Rect from 'zrender/src/graphic/shape/Rect'; import Text from 'zrender/src/graphic/Text'; import Group from 'zrender/src/container/Group'; +import store from '@/store/index'; export default class StationDelayUnlock extends Group { constructor(model, {style}) { @@ -108,7 +109,7 @@ export default class StationDelayUnlock extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/StationStand/index.js b/src/jmapNew/shape/graph/StationStand/index.js index 37b73f717..82d911d65 100644 --- a/src/jmapNew/shape/graph/StationStand/index.js +++ b/src/jmapNew/shape/graph/StationStand/index.js @@ -38,6 +38,7 @@ import ETrainSetButton from './ETrainSetButton'; import EStationPlatform from './EStationPlatform'; import {traverseLineElements, traverseStatusElements} from '../utils/ShapeStatusCovert'; +import store from '@/store/index'; class StationStand extends Group { constructor(model, {style, mapDevice}) { @@ -248,7 +249,7 @@ class StationStand extends Group { } } setShowStation(stationCode) { - if ((!stationCode || this.model.deviceStationCode === stationCode) && this.model.visible) { + if ((!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) && this.model.visible) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/StationTurnBack/index.js b/src/jmapNew/shape/graph/StationTurnBack/index.js index e7cc18eab..5cb821923 100644 --- a/src/jmapNew/shape/graph/StationTurnBack/index.js +++ b/src/jmapNew/shape/graph/StationTurnBack/index.js @@ -4,6 +4,7 @@ import Text from 'zrender/src/graphic/Text'; import Rect from 'zrender/src/graphic/shape/Rect'; import EFoldbackMode from './EFoldbackMode'; import EMouse from './EMouse'; +import store from '@/store/index'; export default class StationTurnBack extends Group { constructor(model, {style, lineCode}) { @@ -198,7 +199,7 @@ export default class StationTurnBack extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/Switch/index.js b/src/jmapNew/shape/graph/Switch/index.js index f5f2bce1c..b819473cd 100644 --- a/src/jmapNew/shape/graph/Switch/index.js +++ b/src/jmapNew/shape/graph/Switch/index.js @@ -12,6 +12,7 @@ import ESwBlock from './ESwBlock'; import EMouse from './EMouse'; import EHighlight from '../element/EHighlight'; import ETriangle from './ETriangle'; +import store from '@/store/index'; export default class Switch extends Group { constructor(model, {style, mapDevice}) { @@ -811,7 +812,7 @@ export default class Switch extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/Text/index.js b/src/jmapNew/shape/graph/Text/index.js index a108df734..ee484fe2d 100644 --- a/src/jmapNew/shape/graph/Text/index.js +++ b/src/jmapNew/shape/graph/Text/index.js @@ -1,6 +1,7 @@ import Text from 'zrender/src/graphic/Text'; import Group from 'zrender/src/container/Group'; import BoundingRect from 'zrender/src/core/BoundingRect'; +import store from '@/store/index'; export default class Text2 extends Group { constructor(model, {style, lineCode}) { @@ -11,8 +12,8 @@ export default class Text2 extends Group { this.zlevel = model.zlevel; this.model = model; this.style = style; - this.z = 6; - this.lineCode = lineCode; + this.z = 6; + this.lineCode = lineCode; this.isShowShape = true; this.create(); this.setState(model); @@ -69,7 +70,7 @@ export default class Text2 extends Group { } } setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/Train/EMouse.js b/src/jmapNew/shape/graph/Train/EMouse.js index 2ea16cdd3..54d7b0a69 100644 --- a/src/jmapNew/shape/graph/Train/EMouse.js +++ b/src/jmapNew/shape/graph/Train/EMouse.js @@ -96,7 +96,7 @@ class EMouse extends Group { text = ` The planned train: ${trainType} \n Table No.: ${this.device.model.serviceNumber} \n Train Trip No.: ${this.device.model.tripNumber}\n Destination: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n Train No.: ${this.device.model.groupNumber}\n Early or late: ${destinationText}\n Direction: ${direction ? 'up' : 'down'}\n Crew No.: \n Start Station: \n Terminal Station: \n Occupied Track: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n Current Station: \n Train-ground communication: normal \n Operation Speed level: 4 \n Detained: ${this.device.model.hold ? 'Detained' : 'Normal'}\n \n 跳停状态: ${this.device.model.jump ? 'Skip to continue moving' : 'Normal'}Stationary: ${!this.device.model.stop ? 'No' : 'Yes'}\n Blocked: No \n Speed: ${this.device.model.speed || 0} km/h \n Authorized Distance: ${this.device.model.maLen || 0} m`; } else { if (this.device.style.Train.moreTrainDetail) { - text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: ${stationNames.get(this.device.model.stationCode) || ''}\n车次通信: 通信车\n运行时间: ${this.device.model.runningTime}s\n停站时间: ${this.device.model.parkingRemainTime < 0 ? '无效' : `${this.device.model.parkingRemainTime}s`}\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel || 'CTC'}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.model.doorCloseLock ? '关闭' : closeDoorTip}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: ${turnBackStrategyMap.get(this.device.model.turnBackStrategy) || ''}\n折返状态: ${turnBackStatusMap.get(this.device.model.turnBackStatus)}\n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; + text = `列车类型: ${trainType}\n来\0\0\0\0源:人工标记\n车\0组\0号: ${this.device.model.groupNumber}\n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n早\0晚\0点: ${destinationText}${this.parseDt(this.device.model.dt)}\n运行方向: ${direction ? '上行' : '下行'}\nATP报告方向: ${direction ? '上行' : '下行'}\n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: ${stationNames.get(this.device.model.stationCode) || ''}\n车次通信: 通信车\n运行时间: ${this.device.model.runningTime}s\n停站时间: ${this.device.model.parkingRemainTime < 0 ? '无效' : `${this.device.model.parkingRemainTime}s`}\n扣车状态: ${ this.device.model.hold ? '扣车' : '正常'}\n车载扣车: 不执行\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'}\n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车状态: ${this.device.model.runLevel === 'CBTC' ? 'CTC' : this.device.model.runLevel}车\n最高信号系统控制: CTC\n驾驶模式: ${this.device.model.driveMode}模式\n最高ATP模式: AM\nATP1状态: 激活\nATP2状态: 备用\n速度: ${this.device.model.speed || 0} km/h\n车门状态: ${this.device.model.model.doorCloseLock ? '关闭' : closeDoorTip}\n制动状态: 无紧急制动\n停车保证: 可保证停车\n站台无法进入: 否\n前方站台停车点: 中间\n折返策略: ${turnBackStrategyMap.get(this.device.model.turnBackStrategy) || ''}\n折返状态: ${turnBackStatusMap.get(this.device.model.turnBackStatus)}\n屏蔽门开门许可: 是\n运营里程: 无效\n总重量: 196T\n车长: 11860cm\n列车编组: 1`; } else { text = `列车类型: ${trainType} \n表\0\0\0\0号: ${this.device.model.serviceNumber}\n车\0次\0号: ${this.device.model.tripNumber}\n目的地号: ${this.device.model.destinationCode ? this.device.model.destinationCode : ''}\n车\0组\0号: ${this.device.model.groupNumber}\n早\0晚\0点: ${destinationText}\n运行方向: ${direction ? '上行' : '下行'}\n乘务组号: \n起点站名: ${stationNames.get(this.device.model.startStation) || ''}\n终点站名: ${stationNames.get(this.device.model.endStation) || ''}\n占用轨道: ${this.device.model.sectionModel ? (this.device.model.sectionModel.parentName ? this.device.model.sectionModel.parentName : this.device.model.sectionModel.name) : ''}\n所在车站: \n车地通信: 正常\n运行等级: 4\n扣车状态: ${this.device.model.hold ? '扣车' : '正常'}\n跳停状态: ${this.device.model.jump ? '跳停' : '正常'} \n停稳状态: ${!this.device.model.stop ? '未停稳' : '停稳'}\n阻塞状态: 无\n列车速度: ${this.device.model.speed || 0} km/h\n列车移动授权距离: ${this.device.model.maLen || 0} m`; } diff --git a/src/jmapNew/shape/graph/Train/index.js b/src/jmapNew/shape/graph/Train/index.js index 779d11620..853a93f29 100644 --- a/src/jmapNew/shape/graph/Train/index.js +++ b/src/jmapNew/shape/graph/Train/index.js @@ -455,24 +455,22 @@ export default class Train extends Group { } setShowMode() { } initShowStation(model) { - if (model.trainWindowModel && model.trainWindowModel.instance && !model.trainWindowModel.instance.isShowShape) { + if (model.trainWindowModel && model.trainWindowModel.instance && !store.getters['map/checkDeviceShow'](model.trainWindowModel.instance.stationCode, model.sectionModel.code)) { this.eachChild(item => { item.hide(); }); } } setShowStation(stationCode) { - if ((this.model.sectionModel && this.model.sectionModel.stationCode === stationCode) || !stationCode) { + if ((this.model.sectionModel && store.getters['map/checkDeviceShow'](stationCode, this.model.sectionModel.code)) || !stationCode) { this.eachChild(item => { item.show(); }); - this.isShowShape = true; this.setState(this.model, this); } else { this.eachChild(item => { item.hide(); }); - this.isShowShape = false; } } // screenShow() { diff --git a/src/jmapNew/shape/graph/TrainWindow/index.js b/src/jmapNew/shape/graph/TrainWindow/index.js index 8b4682fc9..46bbcca54 100644 --- a/src/jmapNew/shape/graph/TrainWindow/index.js +++ b/src/jmapNew/shape/graph/TrainWindow/index.js @@ -15,6 +15,7 @@ class TrainWindow extends Group { this.z = 9; this.prdType = store.state.training.prdType; this.isShowShape = model.isShowShape; + this.stationCode = ''; this.create(); this.createMouseEvent(); this.setState(model); @@ -92,19 +93,21 @@ class TrainWindow extends Group { }); } } - setShowStation(flag) { - if (flag) { - this.eachChild(item => { - item.show(); - }); - this.isShowShape = true; - this.setState(this.model); - } else { - this.eachChild(item => { - item.hide(); - }); - this.isShowShape = false; - } + setShowStation(stationCode) { + this.stationCode = stationCode; + // console.log(this.model); + // if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this.model.sectionModel)) { + // this.eachChild(item => { + // item.show(); + // }); + // this.isShowShape = true; + // this.setState(this.model); + // } else { + // this.eachChild(item => { + // item.hide(); + // }); + // this.isShowShape = false; + // } } getAnchorPoint() { return this.model.point || this.model.position; diff --git a/src/jmapNew/shape/graph/ZcControl/index.js b/src/jmapNew/shape/graph/ZcControl/index.js index 2984d4c41..04d21ab79 100644 --- a/src/jmapNew/shape/graph/ZcControl/index.js +++ b/src/jmapNew/shape/graph/ZcControl/index.js @@ -4,6 +4,7 @@ import Group from 'zrender/src/container/Group'; import EControl from '../element/EControl'; import EMouse from './EMouse'; +import store from '@/store/index'; export default class ZcControl extends Group { constructor(model, {style}) { @@ -110,7 +111,7 @@ export default class ZcControl extends Group { } setShowMode() {} setShowStation(stationCode) { - if (!stationCode || this.model.stationCode === stationCode) { + if (!stationCode || store.getters['map/checkDeviceShow'](stationCode, this._code)) { this.eachChild(item => { item.show(); }); diff --git a/src/jmapNew/shape/graph/checkBox/checkBox.js b/src/jmapNew/shape/graph/checkBox/checkBox.js index 9d35a4955..add22a186 100644 --- a/src/jmapNew/shape/graph/checkBox/checkBox.js +++ b/src/jmapNew/shape/graph/checkBox/checkBox.js @@ -8,7 +8,7 @@ export default class checkBox extends Group { this._type = model._type; this._code = model.code; this.zlevel = model.zlevel; - this.z = model.z; + this.z = model.z || 999; this.create(); } @@ -16,7 +16,7 @@ export default class checkBox extends Group { const model = this.model; this.box = new Rect({ zlevel: model.zlevel, - z: model.z, + z: model.z || 999, draggable: false, shape: { x: model.point.x, diff --git a/src/store/modules/map.js b/src/store/modules/map.js index 8e9b56e3c..bfe1812de 100644 --- a/src/store/modules/map.js +++ b/src/store/modules/map.js @@ -665,6 +665,19 @@ const map = { } return device; + }, + checkDeviceShow: (state) => (stationCode, deviceCode) => { + if (state.map && state.map.displayList && state.map.displayList.length) { + let flag = false; + state.map.displayList.forEach(item => { + if (item.stationCodeList.includes(stationCode) && item.elementList.includes(deviceCode)) { + flag = true; + } + }); + return flag; + } else { + return true; + } } }, diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js index 5c8bc402a..8b75cd8e6 100644 --- a/src/utils/baseUrl.js +++ b/src/utils/baseUrl.js @@ -2,11 +2,11 @@ export function getBaseUrl() { let BASE_API; if (process.env.NODE_ENV === 'development') { // BASE_API = 'https://joylink.club/jlcloud'; - BASE_API = 'https://test.joylink.club/jlcloud'; + // BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'http://192.168.8.107:9000'; // 袁琪 - // BASE_API = 'http://192.168.3.250:9000'; // 旭强 有线 + // BASE_API = 'http://192.168.2.175:9000'; // 旭强 有线 // BASE_API = 'http://192.168.8.114:9000'; // 旭强 无线 - // BASE_API = 'http://192.168.3.120:9000'; // 张赛 + BASE_API = 'http://192.168.2.183:9000'; // 张赛 // BASE_API = 'http://192.168.8.140:9000'; // 杜康 // BASE_API = 'http://b29z135112.zicp.vip'; // BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康 diff --git a/src/views/newMap/jlmapNew/index.vue b/src/views/newMap/jlmapNew/index.vue index e634b4e0b..d6a20f1a2 100644 --- a/src/views/newMap/jlmapNew/index.vue +++ b/src/views/newMap/jlmapNew/index.vue @@ -499,7 +499,6 @@ export default { } }); this.$jlmap.updateShowMode(list, showMode); - EventBus.$emit('select_DrawType', showMode); }, setShowStation(stationCode, setCenter) { const lineCode = this.$store.getters['map/lineCode']; diff --git a/src/views/newMap/newMapdraft/mapoperate/index.vue b/src/views/newMap/newMapdraft/mapoperate/index.vue index 1664d54cd..9eea48018 100644 --- a/src/views/newMap/newMapdraft/mapoperate/index.vue +++ b/src/views/newMap/newMapdraft/mapoperate/index.vue @@ -8,8 +8,15 @@ {{ mapInfo.name }}
- 绘图显隐 + 显隐 {{ $t('map.advanced') }} + + 配置 + + 现地配置 + 大屏配置 + + 数据操作 @@ -19,7 +26,7 @@ {{ $t('map.save') }}
- + -