From a01ffd71d0c78ddb65a5202e3daad59ac9f539d8 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Fri, 6 Aug 2021 17:46:30 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=8E=A5=E6=94=B6=E7=99=BB=E5=87=BA?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E6=A0=B9=E6=8D=AEtoken=20=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E7=99=BB=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 21 ++++++++++++--------- src/store/modules/socket.js | 4 +++- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/App.vue b/src/App.vue index 73df28b15..38982f264 100644 --- a/src/App.vue +++ b/src/App.vue @@ -41,16 +41,19 @@ export default { } }, '$store.state.socket.beLogoutCount': async function(val) { - this.$store.dispatch('disconnect').then(()=>{ - this.$alert(this.$t('tip.logoutTips'), this.$t('tip.hint'), { - confirmButtonText: this.$t('tip.confirm'), - callback: action => { - this.$store.dispatch('exit').then(resp => { - this.$router.push({path: loginInfo[getSessionStorage('project')].loginPath}); - }); - } + if (this.$store.state.socket.loggedOutMsg.token === getToken()) { + this.$store.dispatch('disconnect').then(()=>{ + this.$alert(this.$t('tip.logoutTips'), this.$t('tip.hint'), { + confirmButtonText: this.$t('tip.confirm'), + callback: action => { + this.$store.dispatch('exit').then(resp => { + this.$router.push({path: loginInfo[getSessionStorage('project')].loginPath}); + }); + } + }); }); - }); + } + }, '$store.state.app.transitionAnimationsCount': function(val) { this.loading = true; diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js index 1b6321e14..7fb2f2632 100644 --- a/src/store/modules/socket.js +++ b/src/store/modules/socket.js @@ -135,6 +135,7 @@ function handle(state, data) { break; case 'Be_Logged_Out': // 重复登录被登出 state.beLogoutCount++; + state.loggedOutMsg = msg; break; case 'Simulation_Run_Plan_Reload': // 运行图变更 state.runPlanReloadCount++; @@ -342,7 +343,8 @@ const socket = { simulationSpeed: 1, // 仿真倍速 simulationPause: false, simulationPslStatus: [], // PSL面板按钮状态信息 - simulationPlanChange:{} // 运行图加线/抽线/变化推送消息 + simulationPlanChange:{}, // 运行图加线/抽线/变化推送消息 + loggedOutMsg: '' }, getters: { }, From e81585b7065d79eb3c254dd712d9a42685e021a4 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Mon, 9 Aug 2021 09:59:41 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=8D=97=E4=BA=AC=E4=BA=8C=E5=8F=B7?= =?UTF-8?q?=E7=BA=BF=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../theme/nanjing_02/menus/menuButton.vue | 4 +--- .../theme/nanjing_02/menus/menuStationStand.vue | 16 ++++++++++++++-- .../theme/xian_01/menus/menuStationStand.vue | 1 - 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue index 7b5f57019..5ea39cde0 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue @@ -839,9 +839,7 @@ export default { }); if (this.selectRouteList.length) { - if (this.selectRouteList.length === 1) { - this.route = this.selectRouteList[0]; - } + this.route = this.selectRouteList[0]; this.handleRouteMenu(); this.deviceHighLight(this.selectedObj, true); this.oldDevice = this.selectedObj; diff --git a/src/jmapNew/theme/nanjing_02/menus/menuStationStand.vue b/src/jmapNew/theme/nanjing_02/menus/menuStationStand.vue index 314e8a79e..1ffb6ed5a 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuStationStand.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuStationStand.vue @@ -2,6 +2,7 @@
+
@@ -13,12 +14,14 @@ import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler'; import { mapGetters } from 'vuex'; import { DeviceMenu, OperateMode } from '@/scripts/ConstDic'; import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate'; +import Psl from '@/jmapNew/theme/components/menus/dialog/psl'; export default { name: 'StationStandMenu', components: { PopMenu, - SetFault + SetFault, + Psl }, props: { selected: { @@ -88,8 +91,13 @@ export default { // 故障模式菜单列表 if (this.operatemode === OperateMode.FAULT) { this.menu = this.menuForce; + if (this.$store.state.training.prdType === '01') { + this.menu.push({ + label: 'PSL', + handler: this.openPsl + }); + } } - }, doShow(point) { this.clickEvent(); @@ -121,6 +129,10 @@ export default { }, triggerFaultManagement() { this.$store.dispatch('training/setTriggerFaultCount', this.selected); + }, + // 打开PSL面板 + openPsl() { + this.$refs.psl.doShow(this.selected); } } }; diff --git a/src/jmapNew/theme/xian_01/menus/menuStationStand.vue b/src/jmapNew/theme/xian_01/menus/menuStationStand.vue index acb8ab036..b3e280039 100644 --- a/src/jmapNew/theme/xian_01/menus/menuStationStand.vue +++ b/src/jmapNew/theme/xian_01/menus/menuStationStand.vue @@ -191,7 +191,6 @@ export default { handler: this.openPsl } ]; - } }, doShow(point) { From 0bc72ed589830ef7f471d09a3fa125f8e6abfd2d Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Mon, 9 Aug 2021 15:21:15 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=8D=97=E4=BA=AC=E4=BA=8C=E5=8F=B7?= =?UTF-8?q?=E7=BA=BF=20=E4=BC=A0=E8=BE=93=E4=BF=A1=E5=8F=B7=E6=9C=BA?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E6=9D=83=E5=88=A4=E6=96=AD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/nanjing_02/menus/menuButton.vue | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue index 5ea39cde0..a1dfb320b 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue @@ -465,7 +465,11 @@ export default { this.rightClickDialogVisible = false; if (this.selectedObj._type && (val._event == MouseEvent.Left || (val._event == MouseEvent.Right && this.$store.state.training.prdType === '01'))) { const type = this.State2SimulationMap[this.$store.state.training.prdType]; - this.modeMatch = this.stationContorl.controlMode == type; + if (val._type === 'Signal' && val.type === 'TRANSMISSION') { + this.modeMatch = true; + } else { + this.modeMatch = this.stationContorl.controlMode == type; + } // 道岔区段 是道岔操作 if (this.selectedObj._type == 'Section' && this.selectedObj.type == '03') { this.selectedObj = this.selectedObj.switch; @@ -1381,7 +1385,7 @@ export default { { name: '交出控制', commandTip: '交出控制权', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menuButton, disabledCb: (stationControl) => ['Local', 'None'].includes(stationControl.controlMode) } ]; this.routeParamList = [ - { name: '排列进路', commandTip: '进路排列', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menuButton, disabledCb: (stationControl) => !this.modeMatch || !this.route }, + { name: '排列进路', commandTip: '进路排列', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menuButton, disabledCb: (stationControl) => { console.log(this.modeMatch, this.route); return !this.modeMatch || !this.route; } }, { name: '取消进路', commandTip: '取消排列', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menuButton, disabledCb: (stationControl) => !this.modeMatch || !this.route } ]; } From fdf781951b0f53949fe3b3994ac973dfbebaa31f Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Mon, 9 Aug 2021 16:42:18 +0800 Subject: [PATCH 4/5] =?UTF-8?q?BUG356=20=20=E5=8D=97=E4=BA=AC11=E7=AB=99?= =?UTF-8?q?=EF=BC=9A=E6=97=A0=E6=B3=95=E8=B7=A8=E8=81=94=E9=94=81=E5=8C=BA?= =?UTF-8?q?=E6=8E=92=E5=88=97=E8=BF=9B=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/nanjing_02/menus/menuButton.vue | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue index a1dfb320b..6cd3c4ad4 100644 --- a/src/jmapNew/theme/nanjing_02/menus/menuButton.vue +++ b/src/jmapNew/theme/nanjing_02/menus/menuButton.vue @@ -328,6 +328,7 @@ export default { param: {}, stationObj: null, selectedObj: null, + currentSelected: null, oldClickObj: null, // 上一次点击对象 route: null, // 进路对象 overlap: null, // 延续保护 @@ -416,7 +417,7 @@ export default { return OperationEvent.Command.commandHaerbin.confrimCr2.domId; }, stationContorl() { - return this.getStationControl(this.selectedObj || {}) || this.getStationControl({_type: 'Station', code: this.$store.state.map.showCentralizedStationCode}) || {}; + return this.getStationControl(this.currentSelected || {}) || this.getStationControl({_type: 'Station', code: this.$store.state.map.showCentralizedStationCode}) || {}; }, isLocal() { return this.$store.state.training.prdType == '01'; @@ -462,14 +463,11 @@ export default { EventBus.$emit('sendMsg', {}); // 清空执行栏 this.initMenus();// 初始化菜单数据 this.selectedObj = this.actualSelected; + this.currentSelected = val; this.rightClickDialogVisible = false; if (this.selectedObj._type && (val._event == MouseEvent.Left || (val._event == MouseEvent.Right && this.$store.state.training.prdType === '01'))) { const type = this.State2SimulationMap[this.$store.state.training.prdType]; - if (val._type === 'Signal' && val.type === 'TRANSMISSION') { - this.modeMatch = true; - } else { - this.modeMatch = this.stationContorl.controlMode == type; - } + this.modeMatch = this.stationContorl.controlMode == type; // 道岔区段 是道岔操作 if (this.selectedObj._type == 'Section' && this.selectedObj.type == '03') { this.selectedObj = this.selectedObj.switch; @@ -480,7 +478,6 @@ export default { code: this.selectedObj.code, subType:this.$store.state.menuOperation.subType }; - this.$store.dispatch('training/nextNew', step).then(({ valid }) => { if (valid) { this.handleDeviceMenu(); } }).catch((error) => { @@ -1385,7 +1382,7 @@ export default { { name: '交出控制', commandTip: '交出控制权', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menuButton, disabledCb: (stationControl) => ['Local', 'None'].includes(stationControl.controlMode) } ]; this.routeParamList = [ - { name: '排列进路', commandTip: '进路排列', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menuButton, disabledCb: (stationControl) => { console.log(this.modeMatch, this.route); return !this.modeMatch || !this.route; } }, + { name: '排列进路', commandTip: '进路排列', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menuButton, disabledCb: (stationControl) => !this.modeMatch || !this.route }, { name: '取消进路', commandTip: '取消排列', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menuButton, disabledCb: (stationControl) => !this.modeMatch || !this.route } ]; } From b64065fb5b109d89adf43ba77f6c57a4890e9f44 Mon Sep 17 00:00:00 2001 From: fan <18706759286@163.com> Date: Mon, 9 Aug 2021 17:09:11 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=A5=BF=E5=AE=89=E4=B8=89=20=E4=BB=BF?= =?UTF-8?q?=E7=9C=9F=E9=97=AE=E9=A2=98=E5=8F=8D=E9=A6=88=E8=A1=A8=20109?= 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 ee7f7c6b1..1145f8514 100644 --- a/src/jmapNew/config/skinCode/xian_01.js +++ b/src/jmapNew/config/skinCode/xian_01.js @@ -162,7 +162,7 @@ class SkinCode extends defaultStyle { whiteColor: '#FFFFFF', // 信号灯白色 blueColor: '#0070C0', // 信号灯蓝色 faultType: 'flash', // 信号机故障类型(flash太阳) - overlapColor: '#0000ff' // 信号机延续保护颜色 + overlapColor: '#22DFDF' // 信号机延续保护颜色 }, route: { direction: false, // 自动进路方向