diff --git a/src/jmapNew/config/skinCode/haerbin_01.js b/src/jmapNew/config/skinCode/haerbin_01.js index 53293dcda..187a3a90b 100644 --- a/src/jmapNew/config/skinCode/haerbin_01.js +++ b/src/jmapNew/config/skinCode/haerbin_01.js @@ -349,6 +349,7 @@ class SkinCode extends defaultStyle { lampSpace: 60 // 灯间距 }, StationControl: { + disPlayNone: true, // 不显示 text: { distance: 2, // 灯和文字之间的距离 fontSize: 11, // 字体大小 diff --git a/src/jmapNew/shape/Station/index.js b/src/jmapNew/shape/Station/index.js index 79df37d84..b09759532 100644 --- a/src/jmapNew/shape/Station/index.js +++ b/src/jmapNew/shape/Station/index.js @@ -171,20 +171,22 @@ export default class Station extends Group { } // 创建控制模式 createControlMode() { - const model = this.model; - if (model.visible && model.createControlMode) { - // 紧急站控 - this.createEmergencyControl(); + const model = this.model; + if (!this.style.Station.StationControl.disPlayNone) { + if (model.visible && model.createControlMode) { + // 紧急站控 + this.createEmergencyControl(); - // 中控按钮 - this.createCenterControl(); + // 中控按钮 + this.createCenterControl(); - // 站控按钮 - this.createSubstationControl(); + // 站控按钮 + this.createSubstationControl(); - // 联锁控 - this.createInterconnectedControl(); - } + // 联锁控 + this.createInterconnectedControl(); + } + } this.setState(model); } @@ -290,7 +292,7 @@ export default class Station extends Group { } }); this.add(this.arcBorder); - } + } } createSubstationControl() { // 站控按钮 @@ -328,7 +330,7 @@ export default class Station extends Group { }); this.add(this.substationArrowsControl); } - } + } } createInterconnectedControl() { // 联锁控 @@ -354,7 +356,10 @@ export default class Station extends Group { this.emergencyControl && this.emergencyControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.greenColor); - this.centerControl && this.centerControl.setTextColor(this.style.Station.StationControl.lamp.greenColor); // 文字颜色 + this.centerControl && this.centerControl.setTextColor(this.style.Station.StationControl.lamp.greenColor); // 文字颜色 + if (this.style.Station.StationControl.disPlayNone) { + this.stationText && this.stationText.setStyle('textFill', 'green'); + } } handleLocal() { // 站控 @@ -362,7 +367,10 @@ export default class Station extends Group { this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.yellowColor); this.substationControl && this.substationControl.setTextColor(this.style.Station.StationControl.lamp.yellowColor); // 文字颜色 this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor); - this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.greenColor); + this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.greenColor); + if (this.style.Station.StationControl.disPlayNone) { + this.stationText && this.stationText.setStyle('textFill', '#fff'); + } } handleEmergency() { // 紧急站控 @@ -370,7 +378,10 @@ export default class Station extends Group { this.emergencyControl && this.emergencyControl.setTextColor(this.style.Station.StationControl.lamp.redColor); // 紧急 颜色 this.substationControl && this.substationControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.centerControl && this.centerControl.setColor(this.style.Station.StationControl.lamp.grayColor); - this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.greenColor); + this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.greenColor); + if (this.style.Station.StationControl.disPlayNone) { + this.stationText && this.stationText.setStyle('textFill', '#fff'); + } } recover() { @@ -388,7 +399,8 @@ export default class Station extends Group { // 设置状态 setState(model) { if (!this.isShowShape) return; - this.recover(); + this.recover(); + // console.log(model.controlMode, model); model.controlMode && this['handle' + model.controlMode](); if (model.tbStrategyId) { store.state.map.map.tbStrategyList.forEach(item => { @@ -398,7 +410,9 @@ export default class Station extends Group { } }); } - + if (this.style.Station.StationControl.disPlayNone && !model.controlMode) { // 没有控制时显示 黄色 + this.stationText && this.stationText.setStyle('textFill', '#FFFF00'); + } } getShapeTipPoint(opts) { diff --git a/src/jmapNew/theme/haerbin_01/menus/menuButton.vue b/src/jmapNew/theme/haerbin_01/menus/menuButton.vue index 1435f34b9..4178a1ff0 100644 --- a/src/jmapNew/theme/haerbin_01/menus/menuButton.vue +++ b/src/jmapNew/theme/haerbin_01/menus/menuButton.vue @@ -118,7 +118,7 @@ export default { const step = { operation: 'click', code: this.selectedObj.code - }; + }; this.$store.dispatch('training/nextNew', step).then(({ valid }) => { if (valid) { this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); @@ -332,10 +332,13 @@ export default { handleStationMenu() { this.centralizedStationList = new Array(15).fill({}); this.stationParamList.forEach((station, index) => { - this.centralizedStationList[index] = station; + this.centralizedStationList[index] = station; + if (station.disabledName) { + station.disabled = this.selectedObj[station.disabledName] == station.mode; + } }); this.tempData = []; - this.tempData.push(this.selectedObj); + this.tempData.push(this.selectedObj); if (this.selectedObj.centralized) { this.param = { @@ -345,7 +348,7 @@ export default { } else { this.stationList.forEach(station => { if (station.centralized && station.chargeStationCodeList.includes(this.selectedObj.code)) { - this.param = { stationCode: station.code, stationCodes: [station.code] }; + this.param = { stationCode: station.code, stationCodes: [station.code, ...station.chargeStationCodeList] }; } }); } @@ -399,8 +402,8 @@ export default { }, initMenus() { this.basicParamList = this.$store.state.training.prdType === '01' ? [ - { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false }, - { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false }, + { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, + { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'Local' }, { name: '强行站控', cmdType: CMD.ControlConvertMenu.CMD_CM_FORCE_STATION_CONTROL, operate: OperationEvent.StationControl.forcedStationControl.menu, show:false, securityCommand: true }, // { name: '重启另解', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false, securityCommand: true }, { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, show: false }, @@ -458,8 +461,8 @@ export default { this.stationParamList = this.$store.state.training.prdType === '01' ? [ { name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false } ] : [ - { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false }, - { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false }, + { name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_RECEIVE_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false, disabledName: 'controlMode', mode: 'Center' }, + { name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_SURRENDER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false, disabledName: 'controlMode', mode: 'Local' }, { name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, show: false }, { name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, show: false }, { name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, show: false }, diff --git a/src/scripts/cmdPlugin/CommandEnum.js b/src/scripts/cmdPlugin/CommandEnum.js index c2c498a08..2984387d7 100644 --- a/src/scripts/cmdPlugin/CommandEnum.js +++ b/src/scripts/cmdPlugin/CommandEnum.js @@ -59,7 +59,9 @@ export default { /** 回复站控请求(同意/拒绝) */ CMD_CM_REPLY_STATION_CONTROL: {value:'CM_Reply_Station_Control', label: '回复站控请求'}, /** 回复中控请求(同意/拒绝) */ - CMD_CM_REPLY_CENTER_CONTROL: {value:'CM_Reply_Center_Control', label: '回复中控请求'} + CMD_CM_REPLY_CENTER_CONTROL: {value:'CM_Reply_Center_Control', label: '回复中控请求'}, + CMD_CM_RECEIVE_CONTROL: {value:'CM_Receive_Control', label: '接收控制'}, + CMD_CM_SURRENDER_CONTROL: {value:'CM_Surrender_Control', label: '交出控制'}, }, // 司机操作 diff --git a/src/scripts/cmdPlugin/MenuContextHandler.js b/src/scripts/cmdPlugin/MenuContextHandler.js index 449f87221..b3aba610c 100644 --- a/src/scripts/cmdPlugin/MenuContextHandler.js +++ b/src/scripts/cmdPlugin/MenuContextHandler.js @@ -68,8 +68,10 @@ class MenuContextHandler { if (control) { if (this.getPrdType() != '' && this.getPrdType() != null) { const type = State2SimulationMap[this.getPrdType()]; - const status = State2ControlMap[control.controlMode]; // 判断当前模式 - menu = [...menuList[type]]; + const status = State2ControlMap[control.controlMode]; // 判断当前模式 + if (type) { + menu = [...menuList[type]]; + } // 特殊处理站台的右键操作( 因为小站台不允许有操作 ) if (selected._type == 'StationStand') { if (selected.small) { diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js index 778caeb7b..c59924e25 100644 --- a/src/utils/baseUrl.js +++ b/src/utils/baseUrl.js @@ -2,9 +2,9 @@ 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.3.5:9000'; // 袁琪 - // BASE_API = 'http://192.168.3.6:9000'; // 旭强 + BASE_API = 'http://192.168.3.6:9000'; // 旭强 // BASE_API = 'http://192.168.3.41:9000'; // 张赛 // BASE_API = 'http://192.168.3.82:9000'; // 杜康 // BASE_API = 'http://b29z135112.zicp.vip'; diff --git a/src/views/newMap/jointTrainingNew/index.vue b/src/views/newMap/jointTrainingNew/index.vue index 5e7477031..ea269dd11 100644 --- a/src/views/newMap/jointTrainingNew/index.vue +++ b/src/views/newMap/jointTrainingNew/index.vue @@ -83,6 +83,7 @@ import { EventBus } from '@/scripts/event-bus'; import { timeFormat } from '@/utils/date'; import { Message } from 'element-ui'; import localStore from 'storejs'; +import { getToken } from '@/utils/auth'; import MembersManage from './memberManage/membersManage'; import AddMember from './memberManage/addMember'; import { computationTime } from '@/utils/date'; @@ -422,7 +423,7 @@ export default { this.hideIbp(); break; case 'DRIVER': - this.$store.dispatch('training/setPrdType', ''); + this.$store.dispatch('training/setPrdType', '04'); this.$store.dispatch('training/setRoles', 'DRIVER'); this.jl3dmaintainershow = false; break; @@ -514,10 +515,27 @@ export default { window.open(routeData.href, '_blank', 'noopener noreferrer'); }, hidepanel() { // 司机视角 - this.panelShow = false; - this.drivingShow = true; - this.ibpShow = false; - this.$refs.Jl3dDrive.show(this.mapId, this.group); + // this.panelShow = false; + // this.drivingShow = true; + // this.ibpShow = false; + // this.$refs.Jl3dDrive.show(this.mapId, this.group); + if (this.$store.state.training.prdType == '04') { + this.panelShow = false; + this.drivingShow = true; + this.$refs.Jl3dDrive.show(this.mapId, this.group); + } else { + const routeData = this.$router.resolve({ + path:'/jlmap3d/sandbox', + query:{ + mapid: this.mapId, + group: this.group, + token: getToken(), + project: this.project, + noPreLogout: true + } + }); + window.open(routeData.href, '_blank', 'noopener noreferrer'); + } }, hideIbp() { diff --git a/src/views/newMap/jointTrainingNew/menuDemon.vue b/src/views/newMap/jointTrainingNew/menuDemon.vue index cf537e07b..81d8d39c3 100644 --- a/src/views/newMap/jointTrainingNew/menuDemon.vue +++ b/src/views/newMap/jointTrainingNew/menuDemon.vue @@ -109,6 +109,7 @@ export default { }, isShowScheduling() { // 行调与管理员 可显示 + console.log(this.$store.state.training.prdType, '=====') return this.$store.state.training.prdType == '02' || this.$store.state.training.prdType == ''; }, isSpeaking() { @@ -153,7 +154,10 @@ export default { this.back(); } } - } + }, + '$store.state.training.prdType': function(prdType) { + this.change3dname(); + } }, async mounted() { this.change3dname(); @@ -192,7 +196,7 @@ export default { this.$emit('getUserRole'); break; case 'DRIVER': - this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'DRIVER'); + this.$store.dispatch('training/setPrdType', '04'); this.$store.dispatch('training/setRoles', 'DRIVER'); this.$emit('getUserRole'); break; case 'MAINTAINER': @@ -363,7 +367,7 @@ export default { }); }, change3dname() { - if (this.$route.query.prdType == '04') { + if (this.$store.state.training.prdType == '04') { this.jl3dname = this.$t('display.demon.driverPerspective'); // 司机视角 } else { this.jl3dname = this.$t('display.demon.threeDimensionalView'); // 三维视图