diff --git a/src/jmapNew/config/skinCode/datie_02.js b/src/jmapNew/config/skinCode/datie_02.js index ca451c97e..bcc6fa50e 100644 --- a/src/jmapNew/config/skinCode/datie_02.js +++ b/src/jmapNew/config/skinCode/datie_02.js @@ -437,7 +437,9 @@ class SkinCode extends defaultStyle { selfDiscipline: { show: true, offset: { x: 0, y: 0 }, - text: '允许自律' + text: '允许自律', + defaultColor: '#7F7F7F', + lightColor: '#ff0', }, selfDisciplineControl: { show: true, @@ -786,7 +788,7 @@ class SkinCode extends defaultStyle { trainBody: { fontFamily: 'consolas', trainBodyLineWidth: 1, // 车身line宽 - changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 + changeTrainWidth: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度 specialTrainType: [ { type: '03', @@ -841,8 +843,9 @@ class SkinCode extends defaultStyle { trainServerOffset: { x: 4, y: 4} // 列车服务号偏移 }, trainTarget: { - tripNumberPrefix: '000', // 车次号前缀 - defaultTripNumber: 'DDD', // 默认车次号2 + tripNumberPrefix: '', // 车次号前缀 + // defaultTripNumber: 'DDD', // 默认车次号2 + defaultTripNumber: ' ', // 默认车次号 trainTargetOffset: { x: 36, y: 4}, // 列车车次号偏移 trainTargetTextAlign: 'right' // 车次号文字显示位置 }, diff --git a/src/jmapNew/shape/graph/Section/index.js b/src/jmapNew/shape/graph/Section/index.js index 368b5801d..3d6e78c40 100644 --- a/src/jmapNew/shape/graph/Section/index.js +++ b/src/jmapNew/shape/graph/Section/index.js @@ -482,7 +482,7 @@ export default class Section extends Group { this.setAshShow(); model.preGreen && this.line.setStyle({stroke: '#00FF00'}); model.preBlue && this.line.setStyle({stroke: '#4A76B7'}); - model.preWhite && this.line.setStyle({stroke: '#fff'}) + model.preWhite && this.line.setStyle({stroke: '#fff'}); } else { this.handleSwitchSection(model, flag); // 顺序代表优先级 @@ -530,7 +530,8 @@ export default class Section extends Group { } } // 分路不良 - model.badShunt && this.badShuntStatus(); + // model.shuntingTypeList.length > 0 && + model.badShunt&& this.badShuntStatus(); } } diff --git a/src/jmapNew/shape/graph/Station/index.js b/src/jmapNew/shape/graph/Station/index.js index fb4395d2c..4c91004de 100644 --- a/src/jmapNew/shape/graph/Station/index.js +++ b/src/jmapNew/shape/graph/Station/index.js @@ -675,6 +675,7 @@ export default class Station extends Group { this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.stationControlCC && this.stationControlCC.setStyle({text:'EL', textFill:this.style.Station.StationControl.text.emergencyControlColor}); this.veryControl && this.veryControl.setColor(this.style.Station.StationControl.veryControl.defaultColor); + this.selfDiscipline && this.selfDiscipline.setColor(this.style.Station.StationControl.selfDiscipline.defaultColor); this.selfDisciplineControl && this.selfDisciplineControl.setColor(this.style.Station.StationControl.selfDisciplineControl.defaultColor); this.veryControlButton && this.veryControlButton.setStyle({ fill: this.style.Station.StationControl.veryControlButton.defaultColor }); if (this.style.Station.stationText.isSpecialType) { @@ -705,6 +706,7 @@ export default class Station extends Group { model.controller && this.handleComplexControl(model.controller); model.emergencyController != undefined && this.handleEmergencyChange(model.emergencyController); model.controlApplicant && this.handleControlApplicant(model); + model.allowAutonomy && this.handleAllowAutonomy(); if (this.style.Station.syncCentralizeStation && (model.controlMode || model.controller || model.emergencyController != undefined) && model.centralized) { model.chargeStationCodeList.forEach(item => { const device = store.getters['map/getDeviceByCode'](item); @@ -736,6 +738,10 @@ export default class Station extends Group { this.controlPreReset && this.controlPreReset.setColor('#f00'); } + handleAllowAutonomy() { + this.selfDiscipline && this.selfDiscipline.setColor(this.style.Station.StationControl.selfDiscipline.lightColor); + } + handleControlApplicant(model) { if (this.style.Station.stationText.isSpecialType) { const memberData = store.state.training.memberData; diff --git a/src/jmapNew/shape/graph/Train/TrainBody.js b/src/jmapNew/shape/graph/Train/TrainBody.js index 5d9b93d9e..f0638ec8a 100644 --- a/src/jmapNew/shape/graph/Train/TrainBody.js +++ b/src/jmapNew/shape/graph/Train/TrainBody.js @@ -68,13 +68,14 @@ export default class TrainBody extends Group { z: this.model.z + 1, x: parseInt(model.point.x + model.style.Train.trainTarget.trainTargetOffset.x), y: parseInt(model.point.y + model.style.Train.trainTarget.trainTargetOffset.y), - text: tripNumber.substring(tripNumber.length - style.Train.trainTarget.tripNumberPrefix.length), + text: tripNumber.substring(tripNumber.length - (style.Train.trainTarget.tripNumberPrefix.length || tripNumber.length)), textFill: model.style.Train.trainTarget.fontColor || style.trainTextColor, fontSize: model.style.Train.trainTarget.fontSize || model.fontSize, fontFamily: style.Train.common.fontFamily, textAlign: 'left', textVerticalAlign: 'top' }); + // console.log(model.fontSize, tripNumber.length - (style.Train.trainTarget.tripNumberPrefix.length || tripNumber.length), tripNumber, tripNumber.length - style.Train.trainTarget.tripNumberPrefix.length || tripNumber.length); this.textTrainTarget = new ETextName({ zlevel: model.zlevel, z: model.z + 1, diff --git a/src/jmapNew/theme/components/utils/menuOperate.js b/src/jmapNew/theme/components/utils/menuOperate.js index 0ee4473d5..a5f912339 100644 --- a/src/jmapNew/theme/components/utils/menuOperate.js +++ b/src/jmapNew/theme/components/utils/menuOperate.js @@ -353,6 +353,11 @@ export const menuOperate = { // 设置折返策略 operation: OperationEvent.Station.setBackStrategy.menu.operation, cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY + }, + requestVeryControl:{ + // 非常站控 大铁线路 + operation: OperationEvent.StationControl.requestVeryControl.menu.operation, + cmdType:CMD.ControlConvertMenu.CMD_CM_SPECIAL_STATION_CONTROL } }, TrainWindow: { @@ -499,7 +504,7 @@ export const menuOperate = { } }, CTC: { - //接预 + // 接预 receivingNotice: { operation: OperationEvent.CTCCommand.receivingNotice.menu.operation, cmdType: CMD.CTC.CTC_RECEIVING_NOTICE diff --git a/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue b/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue index f183f818d..7a47b6c24 100644 --- a/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue +++ b/src/jmapNew/theme/datie_02/menus/dialog/addSpareTrain.vue @@ -15,7 +15,7 @@ 上下行 - +
{{ messageTip1 }}
diff --git a/src/jmapNew/theme/datie_02/menus/dialog/defectiveShunting.vue b/src/jmapNew/theme/datie_02/menus/dialog/defectiveShunting.vue new file mode 100644 index 000000000..2d2491d3f --- /dev/null +++ b/src/jmapNew/theme/datie_02/menus/dialog/defectiveShunting.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/jmapNew/theme/datie_02/menus/menuButton.vue b/src/jmapNew/theme/datie_02/menus/menuButton.vue index b8d1f923d..7e52408dc 100644 --- a/src/jmapNew/theme/datie_02/menus/menuButton.vue +++ b/src/jmapNew/theme/datie_02/menus/menuButton.vue @@ -86,9 +86,9 @@
S引导总锁
- @@ -98,9 +98,9 @@
辅助菜单
- @@ -117,6 +117,7 @@ + @@ -125,6 +126,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; import OperationHandler from '@/scripts/cmdPlugin/OperationHandler'; import Handler from '@/scripts/cmdPlugin/Handler'; import PasswordBox from './dialog/childDialog/passwordInputBox.vue'; +import DefectiveShunting from './dialog/defectiveShunting.vue'; import CMD from '@/scripts/cmdPlugin/CommandEnum'; import { mapGetters } from 'vuex'; import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'; @@ -135,6 +137,7 @@ export default { name: 'MapButtonMenu', components: { PasswordBox, + DefectiveShunting, NoticeInfo }, props: { @@ -206,12 +209,12 @@ export default { Command() { return OperationEvent.Command; }, - sGuideMasterLock() { - return this.$store.state.map.stationSGuideMasterLock; - }, - xGuideMasterLock() { + sGuideMasterLock() { + return this.$store.state.map.stationSGuideMasterLock; + }, + xGuideMasterLock() { return this.$store.state.map.stationXGuideMasterLock; - }, + }, isShowBtn() { return this.$store.state.training.prdType == '01' || this.$store.state.training.prdType == '10'; }, @@ -271,12 +274,12 @@ export default { this.deviceList = []; } }, - '$store.state.map.showCentralizedStationCode': function(val) { - if (val){ - const station = this.$store.getters['map/getDeviceByCode'](val); - this.$store.getters['map/checkStationGuideMaster'](station.code, station.sGuideMasterLock, station.xGuideMasterLock); - } - }, + '$store.state.map.showCentralizedStationCode': function(val) { + if (val) { + const station = this.$store.getters['map/getDeviceByCode'](val); + this.$store.getters['map/checkStationGuideMaster'](station.code, station.sGuideMasterLock, station.xGuideMasterLock); + } + } }, beforeDestroy() { this.routeDataMap = null; @@ -326,6 +329,7 @@ export default { if (dom) { dom.disabled = false; dom.style.backgroundColor = this.buttonUpColor; + this.$refs.password.doClose(); } } if (val) { @@ -338,6 +342,33 @@ export default { } } }, + // 上电解锁 大铁线路 + powerOnUnlock() { + const operate = { + over:true, + operation:this.Station.powerUnLock.button.operation, + cmdType:CMD.Station.CMD_STATION_POWER_ON_UNLOCK, + code:this.$store.state.map.showCentralizedStationCode, + param:{stationCode: this.$store.state.map.showCentralizedStationCode} + }; + this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { + if (valid) { + this.clearOperate(); + } else { + this.$refs.noticeInfo.doShow(); + } + }).catch((error) => { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + // 分路不良 + handelDefectiveShunting(model) { + // CMD.Section.CMD_SECTION_DEFECTIVE_SHUNTING; + const {switchSection, code, shuntingTypeList} = model; + this.clearOperate(); + this.$refs.defectiveShunting.doShow({switchSection, code, shuntingTypeList}); + }, // S引导总锁按钮点击 guideLockLeftButtonDown() { const operate = { @@ -346,7 +377,7 @@ export default { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { // 引导总锁弹出 调用取消引导总锁指令 - operate.nextCmdType = this.sGuideMasterLock? CMD.Station.CMD_STATION_MASTER_UNLOCK:CMD.Station.CMD_STATION_MASTER_LOCK; + operate.nextCmdType = this.sGuideMasterLock ? CMD.Station.CMD_STATION_MASTER_UNLOCK : CMD.Station.CMD_STATION_MASTER_LOCK; operate.param = {throat: 'S', stationCode: this.$store.state.map.showCentralizedStationCode}; this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); operate['operateNext'] = this.Command.close.password.operation; @@ -362,7 +393,7 @@ export default { this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { // 引导总锁弹出 调用取消引导总锁指令 - operate.nextCmdType = this.xGuideMasterLock? CMD.Station.CMD_STATION_MASTER_UNLOCK:CMD.Station.CMD_STATION_MASTER_LOCK; + operate.nextCmdType = this.xGuideMasterLock ? CMD.Station.CMD_STATION_MASTER_UNLOCK : CMD.Station.CMD_STATION_MASTER_LOCK; operate.param = {throat: 'X', stationCode: this.$store.state.map.showCentralizedStationCode}; this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); operate['operateNext'] = this.Command.close.password.operation; @@ -377,7 +408,7 @@ export default { operation: operation }; // 以下 会弹出密码框 (总人解,区故解) 铅封按钮 - const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation]; + const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation, this.Section.defectiveShunting.button.operation]; this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { if (valid) { this.operation = operation; @@ -654,6 +685,8 @@ export default { this.handelSignalBlockOrUnblock(model); } else if (buttonOperation === this.Section.fault.button.operation) { this.handelFaultSection(model); + } else if (buttonOperation === this.Section.defectiveShunting.button.operation) { + this.handelDefectiveShunting(model); } else { this.clearOperate(); } diff --git a/src/jmapNew/theme/datie_02/menus/menuStation.vue b/src/jmapNew/theme/datie_02/menus/menuStation.vue index 34cceb178..0dec74176 100644 --- a/src/jmapNew/theme/datie_02/menus/menuStation.vue +++ b/src/jmapNew/theme/datie_02/menus/menuStation.vue @@ -4,6 +4,7 @@ + @@ -17,6 +18,9 @@ import { DeviceMenu, OperateMode } from '@/scripts/ConstDic'; import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault'; import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate'; import CMD from '@/scripts/cmdPlugin/CommandEnum'; +import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; +// import Handler from '@/scripts/cmdPlugin/Handler'; +import PasswordBox from './dialog/childDialog/passwordInputBox.vue'; export default { name: 'StationMenu', @@ -24,6 +28,7 @@ export default { PopMenu, SetFault, NoticeInfo, + PasswordBox, DrawSelect }, mixins: [ @@ -92,6 +97,13 @@ export default { } else { this.doClose(); } + }, + '$store.state.menuOperation.selectedCount': function (val) { + const selected = this.$store.state.menuOperation.selected; + const subtype = this.$store.state.menuOperation.subType; + if (subtype == 'veryControlButton' && selected._type == 'Station') { + this.veryControlClick(selected); + } } }, methods: { @@ -156,6 +168,45 @@ export default { handlerOpenPdf(elem) { const url = `https://joylink.club/oss/projects/wjls/${this.selected.jp}/${elem.file}`; window.open(url, '_blank'); + }, + // 非常站控 + veryControlClick(selected) { + // stationCode车站编号、pressDown:1按下、0抬起 + const pressDown = selected.controlMode == 'Interlock' ? 0 : 1; + commitOperate(menuOperate.StationControl.requestVeryControl, { stationCode: selected.code, pressDown:pressDown }, 0).then(({valid, operate}) => { + if (valid) { + operate.nextCmdType = CMD.ControlConvertMenu.CMD_CM_SPECIAL_STATION_CONTROL; + operate['operateNext'] = OperationEvent.Command.close.password.operation; + this.$refs.password.doShow(operate); + } + }).catch(error=>{ + console.error(error); + this.$refs.noticeInfo.doShow(); + }); + }, + clearOperate() { // 清除操作 + // Handler.clear(); // 清空操作组 + // this.$store.dispatch('menuOperation/setButtonOperation', null); + }, + // 输入密码正确回调 + passWordCommit(data) { + let operate = {}; + if (data.nextCmdType) { + operate = { + over: true, + operation: data.operation, + cmdType: data.nextCmdType, + param: data.param + }; + } + this.$store.dispatch('training/nextNew', operate).then(({ valid }) => { + if (valid) { + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } + }).catch((error) => { + console.error(error); + this.$refs.noticeInfo.doShow(); + }); } } }; diff --git a/src/scripts/cmdPlugin/CommandEnum.js b/src/scripts/cmdPlugin/CommandEnum.js index 6c247a169..93cd1fac6 100644 --- a/src/scripts/cmdPlugin/CommandEnum.js +++ b/src/scripts/cmdPlugin/CommandEnum.js @@ -66,7 +66,8 @@ export default { /** 回复中控请求(同意/拒绝) */ 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: '交出控制'} + CMD_CM_SURRENDER_CONTROL: {value:'CM_Surrender_Control', label: '交出控制'}, + CMD_CM_SPECIAL_STATION_CONTROL:{value:'CM_Special_Station_Control', label: '非常站控'} }, // 司机操作 @@ -176,7 +177,10 @@ export default { /** 设置默认发车轨 */ CMD_SECTION_SET_DEFAULT_TRANSFER : {value: 'Section_Set_Default_Transfer', label: '设置默认发车轨'}, /** 增加备用车 大铁线路使用*/ - CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', label: '增加备用车'} + CMD_TRAIN_LOAD_TRIP_NUMBER_TRAIN: {value: 'Train_Load_Trip_Number_Train', label: '增加备用车'}, + /** 分路不良 大铁线路使用*/ + CMD_SECTION_DEFECTIVE_SHUNTING: {value: 'Section_Defective_Shunting', label: '分路不良'} + }, // 站台 diff --git a/src/scripts/cmdPlugin/OperationHandler.js b/src/scripts/cmdPlugin/OperationHandler.js index e7d4a9681..643e86fa1 100644 --- a/src/scripts/cmdPlugin/OperationHandler.js +++ b/src/scripts/cmdPlugin/OperationHandler.js @@ -1293,6 +1293,17 @@ export const OperationEvent = { operation: '2054', domId: '_Tips-Control-Response-Refuse' } + }, + // 非常站控 大铁线路 + requestVeryControl:{ + menu: { + operation: '206', + domId: '_Tips-Request-Very-Control-Menu' + }, + menuButton: { + operation: '2061', + domId: '_Tips-Request-Very-Control-Menu-Button{BOTTOM}' + } } }, @@ -2270,11 +2281,27 @@ export const OperationEvent = { domId: '_Tips-Section-ForceCancelSpeed-Menu{BOTTOM}' } }, + // 模拟车次输入 大铁线路 addSpareTrain:{ menu: { operation: '427', domId: '_Tips-Section-Add-Spare-Train' } + }, + // 分路不良 大铁线路 + defectiveShunting:{ + button: { + operation: '428', + domId: '_Tips-Section-Defective-Shunting-Button' + }, + confirm:{ + operation: '4281', + domId: '_Tips-Section-Defective-Shunting-Confirm' + } + // menuButton: { + // operation: '428', + // domId: '_Tips-Section-Defective-Shunting-MenuButton' + // }, } }, @@ -2977,6 +3004,7 @@ export const OperationEvent = { domId: '_Tips-Station-stationMasterLock-rightButton' } } + }, // 列车