大铁线路调整12

This commit is contained in:
fan 2022-04-22 19:13:44 +08:00
parent e155975b43
commit 3202fc1b40
8 changed files with 55 additions and 23 deletions

View File

@ -1,25 +1,25 @@
<template> <template>
<div class="menus" :style="{width: width + 'px'}"> <div class="menus" :style="{width: width + 'px'}">
<!--<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />--> <!--<menu-bar v-show="isShowBar" ref="menuBar" :selected="selected" />-->
<div v-if="mode === 'liansuo'" class="alarm-window"> <div v-if="$store.state.training.prdType == '01'" class="alarm-window">
<div v-for="elem in alarmMessages" :key="elem.id" style="font-size: 14px;"> <div v-for="elem in alarmMessages" :key="elem.id" style="font-size: 14px;">
{{ elem.message }} {{ elem.message }}
</div> </div>
</div> </div>
<div class="device-status-window"> <!--<div class="device-status-window">-->
<div class="device-status-button" :style="{background: mode === 'liansuo' ? '#0f0': '#f00'}" @click="selectedMode('liansuo')">联锁I</div> <!--<div class="device-status-button" :style="{background: mode === 'liansuo' ? '#0f0': '#f00'}" @click="selectedMode('liansuo')">联锁I</div>-->
<div class="device-status-button" :style="{background: mode === 'ctc' ? '#0f0': '#f00'}" @click="selectedMode('ctc')">CTC</div> <!--<div class="device-status-button" :style="{background: mode === 'ctc' ? '#0f0': '#f00'}" @click="selectedMode('ctc')">CTC</div>-->
<!--<div class="device-status-button" style="background: #f00;">联锁II</div>--> <!--<div class="device-status-button" style="background: #f00;">联锁II</div>-->
<!--<div class="device-status-button" style="background: #0f0;">操作A</div>--> <!--<div class="device-status-button" style="background: #0f0;">操作A</div>-->
<!--<div class="device-status-button" style="background: #ff0;">操作B</div>--> <!--<div class="device-status-button" style="background: #ff0;">操作B</div>-->
<!--<div class="device-status-button" style="background: #f00;">维修机</div>--> <!--<div class="device-status-button" style="background: #f00;">维修机</div>-->
</div> <!--</div>-->
<div v-if="mode === 'liansuo'" class="warning-window"> <div v-if="$store.state.training.prdType == '01'" class="warning-window">
<div v-for="elem in warningMessages" :key="elem.id" style="font-size: 14px;color: #ff0"> <div v-for="elem in warningMessages" :key="elem.id" style="font-size: 14px;color: #ff0">
{{ elem.message }} {{ elem.message }}
</div> </div>
</div> </div>
<div v-if="mode === 'liansuo'" style="width: calc(100% - 200px);position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;"> <div v-if="$store.state.training.prdType == '01'" style="width: calc(100% - 200px);position: fixed;height: 30px;background: #808080;z-index: 9;bottom: 0;left: 0;display: flex;">
<div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div> <div style="width: 60%;height: 30px;line-height: 30px;text-align: center;">提示信息窗</div>
<div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div> <div style="width: 40%;height: 30px;line-height: 30px;text-align: center;border-left: 2px #ccc solid;">{{ '操控A:主机' + ' ' + dateString + ' ' + time }}</div>
</div> </div>
@ -96,7 +96,6 @@ export default {
], ],
time: '00:00:00', time: '00:00:00',
dateString: '', dateString: '',
mode: 'liansuo'
} }
}, },
computed: { computed: {
@ -146,9 +145,6 @@ export default {
if (months.length < 2) { months = '0' + months; } if (months.length < 2) { months = '0' + months; }
if (dates.length < 2) { dates = '0' + dates; } if (dates.length < 2) { dates = '0' + dates; }
this.dateString = years + months + dates; this.dateString = years + months + dates;
},
selectedMode(mode) {
this.mode = mode;
} }
} }
}; };

View File

@ -204,7 +204,7 @@ export default {
return OperationEvent.Command; return OperationEvent.Command;
}, },
isShowBtn() { isShowBtn() {
return this.$store.state.training.prdType == '01'; return this.$store.state.training.prdType == '01' || this.$store.state.training.prdType == '10';
}, },
CMD() { CMD() {
return CMD; return CMD;
@ -611,7 +611,7 @@ export default {
selectedChange() { selectedChange() {
// //
const model = this.selected; // const model = this.selected; //
if (this.$store.state.training.prdType != '01' || this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) { if ((this.$store.state.training.prdType != '01' && this.$store.state.training.prdType != '10') || this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) {
return; return;
} }
const buttonOperation = this.$store.state.menuOperation.buttonOperation; const buttonOperation = this.$store.state.menuOperation.buttonOperation;

View File

@ -2,7 +2,8 @@
export const State2SimulationMap = { export const State2SimulationMap = {
'01': 'Local', // 现地工作站 '01': 'Local', // 现地工作站
'02': 'Center', // 中心调度工作站 '02': 'Center', // 中心调度工作站
'09':'Depot_IL' // 车辆段工作站 '09':'Depot_IL', // 车辆段工作站
'10': 'Local'
}; };
export const State2ControlMap = { export const State2ControlMap = {

View File

@ -219,7 +219,7 @@ export default {
}); });
}, },
async start() { async start() {
const jumpFunc = ['jump', 'jump', 'enterIntegratedSimulation', 'jump', 'jumpScheduling', 'enterISCS', 'enterScreen', '', 'jump']; const jumpFunc = ['jump', 'jump', 'enterIntegratedSimulation', 'jump', 'jumpScheduling', 'enterISCS', 'enterScreen', '', 'jump', 'jump'];
this[jumpFunc[parseInt(this.courseModel.prdType) - 1]](); this[jumpFunc[parseInt(this.courseModel.prdType) - 1]]();
}, },
jumpSimulation() { jumpSimulation() {

View File

@ -490,6 +490,16 @@ export default {
this.mapViewLoadedOver && this.setShowStation(''); this.mapViewLoadedOver && this.setShowStation('');
this.drivingShow = false; this.drivingShow = false;
break; break;
case 'RAIL_CTC':
this.$store.dispatch('training/setPrdType', '10');
this.$store.dispatch('training/setRoles', 'RAIL_CTC');
this.$refs.menuSchema.chiShowStation = deviceCode;
this.showStation = deviceCode;
this.$jlmap.amendDevice([...this.sectionList, ...this.signalList, ...this.trainWindowList]);
this.mapViewLoadedOver && this.switchStationMode(deviceCode);
this.jl3dmaintainershow = false;
this.drivingShow = false;
break;
default: default:
this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setPrdType', '');
this.$store.dispatch('training/setRoles', 'AUDIENCE'); this.$store.dispatch('training/setRoles', 'AUDIENCE');

View File

@ -113,6 +113,9 @@ export default {
}, { }, {
labelName: '车辆段', labelName: '车辆段',
children: [] children: []
},{
labelName: 'CTC操作员',
children: []
}] }]
}; };
}, },
@ -146,6 +149,7 @@ export default {
const stationSupervisorList = []; const stationSupervisorList = [];
const driverList = []; const driverList = [];
const maintainerList = []; const maintainerList = [];
const ctcOperatorList = [];
val.forEach(item => { val.forEach(item => {
const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode); const device = this.$store.getters['map/getDeviceByCode'](item.deviceCode);
switch (item.type) { switch (item.type) {
@ -173,6 +177,10 @@ export default {
this.memberData[item.id].labelName = '通号' + (item.name || ''); this.memberData[item.id].labelName = '通号' + (item.name || '');
maintainerList.push(this.memberData[item.id]); maintainerList.push(this.memberData[item.id]);
break; break;
case 'RAIL_CTC':
this.memberData[item.id].labelName = 'CTC操作员' + device.name;
ctcOperatorList.push(this.memberData[item.id]);
break
} }
}); });
this.treeData = [{ this.treeData = [{
@ -199,6 +207,10 @@ export default {
labelName: '电力调度', labelName: '电力调度',
id: 'electricDispatcher', id: 'electricDispatcher',
children: electricDispatcherList children: electricDispatcherList
}, {
labelName: 'CTC操作员',
id: 'ctcOperator',
children: ctcOperatorList
} }
]; ];
this.$nextTick(() => { this.$nextTick(() => {

View File

@ -33,8 +33,8 @@
<template v-if="!dataError"> <!-- 地图错误判断 --> <template v-if="!dataError"> <!-- 地图错误判断 -->
<template v-if="isAdmin && project != 'refereeJsxt' && $route.query.type !== 'ILW'"> <template v-if="isAdmin && project != 'refereeJsxt' && $route.query.type !== 'ILW'">
<!-- 按计划行车 --> <!-- 按计划行车 -->
<el-button v-if="project !== 'srsandbox'" type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('joinTraining.drivingByPlan') }}</el-button> <el-button v-if="project !== 'srsandbox' && !datie" type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('joinTraining.drivingByPlan') }}</el-button>
<el-button v-if="isAdministrator" v-loading="pauseLoading" :type="simulationPaused?'warning':'primary'" size="small" @click="startOrPause">{{ simulationPaused?'开始':'暂停' }}</el-button> <el-button v-if="isAdministrator && !datie" v-loading="pauseLoading" :type="simulationPaused?'warning':'primary'" size="small" @click="startOrPause">{{ simulationPaused?'开始':'暂停' }}</el-button>
<el-button type="danger" size="small" @click="end">{{ $t('joinTraining.initialize') }}</el-button> <el-button type="danger" size="small" @click="end">{{ $t('joinTraining.initialize') }}</el-button>
</template> </template>
</template> </template>
@ -129,12 +129,15 @@ export default {
lineCode() { lineCode() {
return this.$route.query.lineCode; return this.$route.query.lineCode;
}, },
datie(){
return this.$route.query.lineCode == '16'
},
mapId() { mapId() {
return this.$route.query.mapId; return this.$route.query.mapId;
}, },
isShowScheduling() { isShowScheduling() {
// //
return (this.$store.state.training.prdType == '02' || this.isAdmin) && (!this.$route.query.projectDevice); return (this.$store.state.training.prdType == '02' || this.isAdmin) && (!this.$route.query.projectDevice) && this.$route.query.lineCode !== '16';
}, },
isDISPATCHER() { isDISPATCHER() {
return (this.$store.state.training.prdType == '01' || this.$store.state.training.prdType == '02' || this.isAdmin) && (!this.$route.query.projectDevice || this.project == 'sdy'); return (this.$store.state.training.prdType == '01' || this.$store.state.training.prdType == '02' || this.isAdmin) && (!this.$route.query.projectDevice || this.project == 'sdy');

View File

@ -13,12 +13,13 @@
/> />
</el-select> </el-select>
<el-button-group> <el-button-group>
<el-button v-if="datie" size="small" @click="showLineBoard">占线板</el-button>
<el-button v-if="userRole=== 'STATION_SUPERVISOR' && !$route.query.projectDevice && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button> <el-button v-if="userRole=== 'STATION_SUPERVISOR' && !$route.query.projectDevice && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button>
<el-button v-if="userRole=== 'DISPATCHER' && !$route.query.projectDevice && hasBigScreen" size="small" @click="goBigScreen">大屏</el-button> <el-button v-if="userRole=== 'DISPATCHER' && !$route.query.projectDevice && hasBigScreen" size="small" @click="goBigScreen">大屏</el-button>
<el-button v-if="(userRole==='DISPATCHER' || userRole=== 'STATION_SUPERVISOR') && !$route.query.projectDevice && iscsShow" size="small" @click="goIscs">ISCS</el-button> <el-button v-if="(userRole==='DISPATCHER' || userRole=== 'STATION_SUPERVISOR') && !$route.query.projectDevice && iscsShow" size="small" @click="goIscs">ISCS</el-button>
<el-button v-if="running && !dataError && $route.query.type !== 'ILW'" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('joinTraining.runGraphPreview') }}</el-button> <el-button v-if="running && !dataError && $route.query.type !== 'ILW' && !datie" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('joinTraining.runGraphPreview') }}</el-button>
<template v-if="isAdmin"> <template v-if="isAdmin">
<el-button v-if="!running && !dataError && $route.query.type !== 'ILW'" size="small" type="warning" @click="loadRunPlan"> <el-button v-if="!running && !dataError && $route.query.type !== 'ILW' && !datie" size="small" type="warning" @click="loadRunPlan">
{{ $t('joinTraining.runGraphLoading') }}</el-button><!-- --> {{ $t('joinTraining.runGraphLoading') }}</el-button><!-- -->
</template> </template>
</el-button-group> </el-button-group>
@ -29,6 +30,7 @@
<!-- running && --> <!-- running && -->
<join-run-plan-view v-if="!dataError" ref="runPlanView" :group="group" /> <join-run-plan-view v-if="!dataError" ref="runPlanView" :group="group" />
<select-ibp ref="selectIbp" /> <select-ibp ref="selectIbp" />
<line-board ref="lineBoard" />
</div> </div>
</template> </template>
@ -44,11 +46,13 @@ import { loadRunPlanData } from '@/utils/loaddata';
import { EventBus } from '@/scripts/event-bus'; import { EventBus } from '@/scripts/event-bus';
import { timesSpeedPlayback } from '@/api/rtSimulation'; import { timesSpeedPlayback } from '@/api/rtSimulation';
import { queryHasIscs } from '@/api/iscs'; import { queryHasIscs } from '@/api/iscs';
import LineBoard from '../displayCity/lineBoard';
export default { export default {
name: 'MenuDemonSchema', name: 'MenuDemonSchema',
components:{ components:{
JoinRunPlanView, JoinRunPlanView,
SelectIbp SelectIbp,
LineBoard
}, },
props: { props: {
group: { group: {
@ -134,6 +138,9 @@ export default {
running() { running() {
return this.$store.state.training.started; return this.$store.state.training.started;
}, },
datie(){
return this.$route.query.lineCode == '16'
},
isScreen() { isScreen() {
return this.$store.state.training.prdType === '07'; return this.$store.state.training.prdType === '07';
}, },
@ -303,6 +310,9 @@ export default {
this.$message.error('设置倍速失败!'); this.$message.error('设置倍速失败!');
}); });
}, },
showLineBoard() {
this.$refs.lineBoard.doShow();
},
// ibp // ibp
goIbp() { goIbp() {
// this.$refs.selectIbp.doShow(); // this.$refs.selectIbp.doShow();