浙大网新操作调整

This commit is contained in:
fan 2023-12-06 17:23:47 +08:00
parent 72f730aaa6
commit 6e477bef89
6 changed files with 115 additions and 35 deletions

View File

@ -585,18 +585,16 @@ class Jlmap {
if (elem.hasOwnProperty('applicantId')) { if (elem.hasOwnProperty('applicantId')) {
controlTransferList.push(elem); controlTransferList.push(elem);
} }
if (!elem.applicantId) { const oDevice = this.mapDevice[code] || deviceFactory(type, elem, this.showConfig);
const oDevice = this.mapDevice[code] || deviceFactory(type, elem, this.showConfig); const guideLock = this.mapDevice[oDevice.guideLockCode];
const guideLock = this.mapDevice[oDevice.guideLockCode]; const guideLockStatus = {totalGuideLock: elem.totalGuideLock};
const guideLockStatus = {totalGuideLock: elem.totalGuideLock}; if (guideLock && this.hookHandle(guideLock, guideLockStatus)) {
if (guideLock && this.hookHandle(guideLock, guideLockStatus)) { this.$painter.update(guideLock);
this.$painter.update(guideLock); }
} if (elem.dispose) {
if (elem.dispose) { this.$painter.delete(oDevice);
this.$painter.delete(oDevice); } else {
} else { this.$painter.update(oDevice);
this.$painter.update(oDevice);
}
} }
store.commit('map/mapStationStateUpdate'); store.commit('map/mapStationStateUpdate');
} else if (elem.deviceType === 'STATION_DIRECTION') { } else if (elem.deviceType === 'STATION_DIRECTION') {

View File

@ -954,6 +954,7 @@ export default class Station extends Group {
this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); this.substationArrowsControl && this.substationArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor);
this.emergencyArrowsControl && this.emergencyArrowsControl.setColor(this.style.Station.StationControl.lamp.grayColor); 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.stationControlCC && this.stationControlCC.setStyle({text:'EL', textFill:this.style.Station.StationControl.text.emergencyControlColor});
this.stationControlCC && this.stationControlCC.stopAnimation(true);
this.veryControl && this.veryControl.setColor(this.style.Station.StationControl.veryControl.defaultColor); this.veryControl && this.veryControl.setColor(this.style.Station.StationControl.veryControl.defaultColor);
this.selfDiscipline && this.selfDiscipline.setColor(this.style.Station.StationControl.selfDiscipline.defaultColor); this.selfDiscipline && this.selfDiscipline.setColor(this.style.Station.StationControl.selfDiscipline.defaultColor);
this.selfDisciplineControl && this.selfDisciplineControl.setColor(this.style.Station.StationControl.selfDisciplineControl.defaultColor); this.selfDisciplineControl && this.selfDisciplineControl.setColor(this.style.Station.StationControl.selfDisciplineControl.defaultColor);
@ -1047,7 +1048,25 @@ export default class Station extends Group {
device && device.instance && device.instance.setCount(countNum); device && device.instance && device.instance.setCount(countNum);
} }
} }
if (this.style.Station.StationControl.special && model.apply2TheControlMode) {
this.controlTextFlash(model.apply2TheControlMode);
}
}
}
controlTextFlash(apply2TheControlMode) {
if (this.stationControlCC && apply2TheControlMode === 'Local' ) {
let color;
if (apply2TheControlMode === 'Local') {
color = this.style.Station.StationControl.text.stationControlColor;
this.stationControlCC && this.stationControlCC.setStyle({text:'LC', textFill:color});
} else if (apply2TheControlMode === 'Center') {
color = this.style.Station.StationControl.text.centerControlColor;
this.stationControlCC && this.stationControlCC.setStyle({text:'CC', textFill:color});
}
this.stationControlCC.animateStyle(true)
.when(500, {textFill: '#000'})
.when(1000, {textFill: color})
.when(1500, {textFill: '#000'}).start();
} }
} }
handleGuideLock(model) { handleGuideLock(model) {

View File

@ -388,6 +388,14 @@ export const menuOperate = {
// 非常站控 大铁线路 // 非常站控 大铁线路
operation: OperationEvent.StationControl.requestVeryControl.menu.operation, operation: OperationEvent.StationControl.requestVeryControl.menu.operation,
cmdType:CMD.ControlConvertMenu.CMD_CM_SPECIAL_STATION_CONTROL cmdType:CMD.ControlConvertMenu.CMD_CM_SPECIAL_STATION_CONTROL
},
replyStationControl: {
operation: OperationEvent.StationControl.controlResponse.agree.operation,
cmdType: CMD.ControlConvertMenu.CMD_CM_REPLY_STATION_CONTROL
},
replyCenterControl: {
operation: OperationEvent.StationControl.controlResponse.agree.operation,
cmdType: CMD.ControlConvertMenu.CMD_CM_REPLY_CENTER_CONTROL
} }
}, },
TrainWindow: { TrainWindow: {

View File

@ -64,10 +64,10 @@ export default {
// disabled // disabled
label: '授权', label: '授权',
disabled: true, disabled: true,
handler: this.setStationControl, handler: this.work === 'localWork' ? this.agreeCenterControl : this.agreeStationControl,
isDisabled: (station, work) => { isDisabled: (station, work) => {
if (work === 'localWork') { if (work === 'localWork') {
return true; return station.controlMode !== 'Local';
} else { } else {
return station.controlMode !== 'Center'; return station.controlMode !== 'Center';
} }
@ -469,6 +469,32 @@ export default {
} }
}); });
}, },
agreeStationControl() {
commitOperate(menuOperate.StationControl.replyStationControl, {stationCode: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/pushRequestList', {
device: this.selected,
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '授权控制'},
cmdType: CMD.ControlConvertMenu.CMD_CM_REPLY_STATION_CONTROL,
param: { replyVOList:[{ stationCode: this.selected.code, agree: true}] }
});
}
});
},
agreeCenterControl() {
commitOperate(menuOperate.StationControl.replyCenterControl, {stationCode: this.selected.code }, 0).then(({valid, operate})=>{
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/pushRequestList', {
device: this.selected,
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '授权控制'},
cmdType: CMD.ControlConvertMenu.CMD_CM_REPLY_CENTER_CONTROL,
param: { replyVOList:[{ stationCode: this.selected.code, agree: true}] }
});
}
});
},
setEmergencyControl() { setEmergencyControl() {
// //
commitOperate(menuOperate.StationControl.emergencyStationControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{ commitOperate(menuOperate.StationControl.emergencyStationControl, {stationCode:this.selected.code}, 0).then(({valid, operate})=>{

View File

@ -50,10 +50,10 @@
<div class="left-table-cell"><span>跳停</span></div> <div class="left-table-cell"><span>跳停</span></div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="center-table-cell"><span :id="domSetOrCancelJump" @contextmenu="menuEvent('stopJumping')">设置/取消 所有列车跳停本站</span></div> <div class="center-table-cell"><span :id="domSetOrCancelJump" :style="{color:jumpInterval ? standJumpColor :jumpStatusColor}" @contextmenu="menuEvent('stopJumping')">设置/取消 所有列车跳停本站</span></div>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<div class="right-table-cell"><span @contextmenu="menuEvent('allTrainStopJump')">所有列车跳停本站</span></div> <div class="right-table-cell"><span :style="{color: jumpStatusColor}" @contextmenu="menuEvent('allTrainStopJump')">所有列车跳停本站</span></div>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
@ -149,9 +149,12 @@ export default {
title: '', title: '',
standDetainColor: '#FFF', standDetainColor: '#FFF',
detainStatusColor: '#FFF', detainStatusColor: '#FFF',
standJumpColor: '#FFF',
jumpStatusColor: '#FFF',
bgColor: '#000', bgColor: '#000',
fontColor: '#FFF', fontColor: '#FFF',
detainInterval: '' detainInterval: '',
jumpInterval: ''
}; };
}, },
computed: { computed: {
@ -203,9 +206,7 @@ export default {
this.initStatus(list); this.initStatus(list);
}, },
'$store.state.socket.equipmentStatus': function (val) { '$store.state.socket.equipmentStatus': function (val) {
if (this.selected) { this.initDeviceStatus();
this.detainStatusColor = this.selected.centerHoldTrain || this.selected.stationHoldTrain ? '#FF0' : '#FFF';
}
} }
}, },
methods: { methods: {
@ -222,6 +223,7 @@ export default {
if (valid) { if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
const requestList = this.$store.state.menuOperation.requestList; const requestList = this.$store.state.menuOperation.requestList;
this.initDeviceStatus();
this.initStatus(requestList || []); this.initStatus(requestList || []);
this.position = position; this.position = position;
this.dialogShow = true; this.dialogShow = true;
@ -233,21 +235,37 @@ export default {
this.$refs.noticeInfo.doShow(); this.$refs.noticeInfo.doShow();
}); });
}, },
initDeviceStatus() {
if (this.selected) {
const device = this.$store.getters['map/getDeviceByCode'](this.selected.code);
this.detainStatusColor = device.centerHoldTrain || device.stationHoldTrain ? '#FF0' : '#FFF';
this.jumpStatusColor = device.assignSkip || device.allSkip ? '#FF0' : '#FFF';
}
},
initStatus(requestList) { initStatus(requestList) {
this.standDetainColor = '#FFF'; this.standDetainColor = '#FFF';
this.bgColor = '#000'; this.bgColor = '#000';
this.fontColor = '#FFF'; this.fontColor = '#FFF';
this.clearTimer();
requestList.forEach(item => {
if (item.device && item.device.code === this.selected.code) {
if (item.operation.name === '设置扣车' || item.operation.name === '取消扣车') {
this.standDetain();
} else if (item.operation.name === '跳停本站' || item.operation.name === '取消跳停') {
this.standJump();
}
}
});
},
clearTimer() {
if (this.detainInterval) { if (this.detainInterval) {
clearInterval(this.detainInterval); clearInterval(this.detainInterval);
this.detainInterval = ''; this.detainInterval = '';
} }
requestList.forEach(item => { if (this.jumpInterval) {
if (item.device && item.device.code === this.selected.code) { clearInterval(this.jumpInterval);
if (item.operation.code === OperationEvent.StationStand.setDetainTrain.menu.operation || item.operation.code === OperationEvent.StationStand.cancelDetainTrain.menu.operation) { this.jumpInterval = '';
this.standDetain(); }
}
}
});
}, },
doClose() { doClose() {
const step = { const step = {
@ -259,10 +277,7 @@ export default {
this.loading = false; this.loading = false;
this.dialogShow = false; this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh'); this.$store.dispatch('training/emitTipFresh');
if (this.detainInterval) { this.clearTimer();
clearInterval(this.detainInterval);
this.detainInterval = '';
}
} }
}); });
}, },
@ -343,7 +358,21 @@ export default {
} else { } else {
this.standDetainColor = '#000'; this.standDetainColor = '#000';
} }
}, 1000); }, 500);
}
},
standJump() {
this.standJumpColor = '#FF0';
this.bgColor = '#FFF';
this.fontColor = '#000';
if (!this.jumpInterval) {
this.jumpInterval = setInterval(() => {
if (this.standJumpColor !== '#FF0') {
this.standJumpColor = '#FF0';
} else {
this.standJumpColor = '#000';
}
}, 500);
} }
}, },
setRuningMode(mode, direction) { setRuningMode(mode, direction) {

View File

@ -369,7 +369,7 @@ export default {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/pushRequestList', { this.$store.dispatch('menuOperation/pushRequestList', {
device: this.selected, device: this.selected,
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '跳停本站请求成功'}, operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '跳停本站'},
cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP, cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP,
param: step.param param: step.param
}); });
@ -390,7 +390,7 @@ export default {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true }); this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.$store.dispatch('menuOperation/pushRequestList', { this.$store.dispatch('menuOperation/pushRequestList', {
device: this.selected, device: this.selected,
operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '取消跳停请求成功'}, operation: { code: OperationEvent.Command.commandXian.confirm.operation, name: '取消跳停'},
cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP, cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
param: step.param param: step.param
}); });