diff --git a/src/jmapNew/theme/datie_02/menus/menuButton.vue b/src/jmapNew/theme/datie_02/menus/menuButton.vue index 1adbbdf91..4a08f77ba 100644 --- a/src/jmapNew/theme/datie_02/menus/menuButton.vue +++ b/src/jmapNew/theme/datie_02/menus/menuButton.vue @@ -168,7 +168,8 @@ export default { routeDataMap: null, // btnCodeList 为key routeButtonCodeList: [], // btnCodeList 拼接code list guideLockRightFlag: false, - guideLockLeftFlag: false + guideLockLeftFlag: false, + continueSectionFault: false }; }, computed: { @@ -330,6 +331,9 @@ export default { if (operate.operationPre === this.Station.powerUnLock.button.operation || operate.cmdType) { this.clearOperate(); } + if (operate.operationPre === this.Section.fault.button.operation) { + this.continueSectionFault = true; + } } }).catch(e =>{ console.error(e); @@ -417,6 +421,7 @@ export default { operation: operation, userOperationType: UserOperationType.LEFTCLICK }; + // 以下 会弹出密码框 (总人解,区故解) 铅封按钮 const operationList = [this.Signal.humanTrainRoute.button.operation, this.Section.fault.button.operation, @@ -437,12 +442,30 @@ export default { // ]; this.$store.dispatch('trainingNew/next', operate).then(({valid}) => { if (valid) { - if (operation === this.Command.cancel.clearMbm.operation) { + if (operation == this.Section.fault.button.operation) { + this.operation = operation; + this.commandTypeList = commandTypeList; + this.$store.dispatch('menuOperation/setButtonOperation', operation); + this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); + // 判断是否需要 弹窗密码框 + if (!this.continueSectionFault) { + operate['operateNext'] = this.Command.close.password.operation; + if (operation === this.Station.powerUnLock.button.operation) { + operate.nextCmdType = CMD.Station.CMD_STATION_POWER_ON_UNLOCK; + operate.param = {stationCode: this.$store.state.training.roleDeviceCode}; + } + this.$refs.password.doShow(operate, operationMap[operation]); + } + this.timeNode = this.$store.state.socket.simulationTimeSync; + this.$store.dispatch('training/emitTipFresh'); + } else if (operation === this.Command.cancel.clearMbm.operation) { + this.continueSectionFault = false; this.commandTypeList = []; this.$store.dispatch('menuOperation/setButtonOperation', null); this.guideLockRightFlag = false; this.guideLockLeftFlag = false; } else { + this.continueSectionFault = false; this.operation = operation; this.commandTypeList = commandTypeList; this.$store.dispatch('menuOperation/setButtonOperation', operation); @@ -781,6 +804,9 @@ export default { if (this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) { return; } + if (this.continueSectionFault && model._type !== 'Section') { + this.continueSectionFault = false; + } const buttonOperation = this.$store.state.menuOperation.buttonOperation; const switchOperation = [ this.Switch.lock.button.operation,