This commit is contained in:
walker_sheng 2022-06-30 13:09:56 +08:00
commit f950bf8536
4 changed files with 90 additions and 6 deletions

View File

@ -12,7 +12,7 @@
>
<el-form id="AddDispatcherForm" ref="form" :model="model" label-width="80px" :rules="rules">
<el-form-item label="车站:" prop="stationCode" style="width: 100%;">
<el-select v-model="model.stationCode" placeholder="" style="width:180px">
<el-select v-model="model.stationCode" placeholder="" style="width:180px" @change="changeStation">
<el-option
v-for="item in stationList"
:key="item.code"
@ -50,7 +50,7 @@
<el-form-item label="接车口:" prop="arriveDirectionCode">
<el-select v-model="model.arriveDirectionCode" placeholder="" style="width:180px" :disabled="model.startRunPlan">
<el-option
v-for="item in mapStationDirectionList"
v-for="item in filterArrMapStationDirectionList"
:key="item.code"
:label="item.name"
:value="item.code"
@ -60,7 +60,7 @@
<el-form-item label="发车口:" prop="departDirectionCode" style="margin-left:45px;">
<el-select v-model="model.departDirectionCode" placeholder="" style="width:180px" :disabled="model.endRunPlan">
<el-option
v-for="item in mapStationDirectionList"
v-for="item in filterDepMapStationDirectionList"
:key="item.code"
:label="item.name"
:value="item.code"
@ -70,7 +70,7 @@
<el-form-item label="接车股道:" prop="arriveSectionCode">
<el-select v-model="model.arriveSectionCode" placeholder="" style="width:160px" :disabled="model.startRunPlan">
<el-option
v-for="item in filterSectionList"
v-for="item in filterArrSectionList"
:key="item.code"
:label="item.name"
:value="item.code"
@ -80,7 +80,7 @@
<el-form-item label="发车股道:" prop="departSectionCode" style="margin-left: 67px;">
<el-select v-model="model.departSectionCode" placeholder="" style="width:160px" :disabled="model.endRunPlan">
<el-option
v-for="item in filterSectionList"
v-for="item in filterDepSectionList"
:key="item.code"
:label="item.name"
:value="item.code"
@ -167,6 +167,10 @@ export default {
dialogShow: false,
loading: false,
mapStationDirectionList:[],
filterArrMapStationDirectionList:[],
filterDepMapStationDirectionList:[],
filterArrSectionList:[],
filterDepSectionList:[],
filterSectionList:[],
trainTypeList:[
{name:'跨局快速旅客列车', code:'FAST_PASSENGER_TRAIN' }
@ -250,6 +254,12 @@ export default {
this.$store.dispatch('training/emitTipFresh');
});
},
changeStation(stationCode) {
this.filterArrMapStationDirectionList = this.mapStationDirectionList.filter(each=>{ return each.stationCode == stationCode; });
this.filterDepMapStationDirectionList = this.mapStationDirectionList.filter(each=>{ return each.stationCode == stationCode; });
this.filterArrSectionList = this.filterSectionList.filter(each=>{ return each.stationCode == stationCode; });
this.filterDepSectionList = this.filterSectionList.filter(each=>{ return each.stationCode == stationCode; });
},
doClose() {
this.loading = false;
this.dialogShow = false;
@ -276,6 +286,8 @@ export default {
transfinite:'NO' // NO TRANSFINITE_SUPER TRANSFINITE_ONE_LEVEL TRANSFINITE_TWO_LEVEL
};
this.filterArrMapStationDirectionList = [];
this.filterDepMapStationDirectionList = [];
this.$store.dispatch('training/emitTipFresh');
},
commit() {

View File

@ -26,7 +26,7 @@
<div style="display: flex;padding: 2px;border-top: 2px solid #D1D1D1;margin-top: 3px">
<div class="img-box" style="width: 100px;height: 25px;line-height: 21px;text-align: center;">调度命令</div>
<div style="width: 200px;height: 25px;border: 2px #D1D1D1 inset;line-height: 21px;text-align: center;margin-left: 5px;" />
<div class="img-box" style="width: 100px;height: 25px;line-height: 21px;text-align: center;margin-left: 100px;">阶段计划</div>
<div id="stageRunplanOut" class="img-box" @click="stageRunplan">阶段计划</div>
<div class="img-box" style="width: 100px;height: 25px;line-height: 21px;text-align: center;margin-left: 5px;">阶段记事</div>
<div style="width: 200px;height: 25px;border: 2px #D1D1D1 inset;line-height: 21px;text-align: center;margin-left: 5px;">{{ dateString1 + ' ' + time }}</div>
<div style="width: 200px;height: 25px;border: 2px #D1D1D1 inset;line-height: 21px;text-align: center;margin-left: 5px;">同步站机通信中断</div>
@ -55,6 +55,8 @@
<!-- <dispatcher-loger v-if="isDispStation" ref="dispatcherLoger" /> -->
<bottom-table ref="bottomTable" />
<menu-panel v-if="isCtc" ref="menuPanel" />
<stage-runplan v-if="isCtc" ref="stageRunplan" @closeFlash="closeStageFlash" @noticeInfo="noticeInfo" />
<notice-info v-if="isCtc" ref="noticeInfo" pop-class="chengdou-03__systerm" />
</div>
</template>
@ -70,6 +72,8 @@ import MenuStation from './menuStation';
import MenuBar from './menuBar';
import MenuButtonCtc from './menuButtonCtc';
import RunplanPane from './runplanPane';
import StageRunplan from './dialog/stageRunplan';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import DispatcherLoger from './dispatcherLoger';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
@ -113,6 +117,8 @@ export default {
PassiveTimeout,
MenuButtonCtc,
RunplanPane,
StageRunplan,
NoticeInfo,
// DispatcherLoger,
BottomTable,
MenuPanel
@ -127,6 +133,7 @@ export default {
},
data() {
return {
currentRailwaySimulationRunplan:{},
alarmMessages: [
{ id: 1, message: '这是告警信息一' },
{ id: 2, message: '这是告警信息二' },
@ -190,6 +197,14 @@ export default {
this.$store.dispatch('training/setInitTime', +new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
const date = new Date(+new Date(`${new Date().toLocaleDateString()} ${timeFormat(time)}`));
this.initDate(date);
},
'$store.state.socket.railwaySimulationRunplanSendChange': function (val) {
this.getRailwaySimulationRunplanSend();
},
'$store.state.training.roleDeviceCode': function (val) {
if (this.isCtc) {
this.getRailwaySimulationRunplanSend();
}
}
},
mounted() {
@ -213,6 +228,18 @@ export default {
window.onclick = function (e) {};
},
methods: {
getRailwaySimulationRunplanSend() {
const stationCode = this.$store.state.training.roleDeviceCode;
const railwaySimulationRunplanSendMap = this.$store.state.socket.railwaySimulationRunplanSendMap;
if (railwaySimulationRunplanSendMap[stationCode] && railwaySimulationRunplanSendMap[stationCode].dataList.length > 0) {
//
document.getElementById('stageRunplanOut').classList.add('active');
this.currentRailwaySimulationRunplan = railwaySimulationRunplanSendMap;
} else {
const sendRunplan = document.getElementById('stageRunplanOut').className;
document.getElementById('stageRunplanOut').className = sendRunplan.replace('active', '');
}
},
initDate(date) {
this.time = `${prefixIntrger(date.getHours(), 2)}:${prefixIntrger(date.getMinutes(), 2)}:${prefixIntrger(date.getSeconds(), 2)}`;
const years = date.getFullYear() + '';
@ -225,6 +252,21 @@ export default {
},
handleRunplan() {
this.$refs.runplanPane.doShow();
},
stageRunplan() {
if (document.getElementById('stageRunplanOut').className.includes('active')) {
const stationCode = this.$store.state.training.roleDeviceCode;
this.$refs.stageRunplan.doShow(this.currentRailwaySimulationRunplan[stationCode]);
}
},
noticeInfo() {
this.$refs.noticeInfo.doShow();
},
closeStageFlash() {
const sendRunplan = document.getElementById('stageRunplanOut').className;
document.getElementById('stageRunplanOut').className = sendRunplan.replace('active', '');
const stationCode = this.$store.state.training.roleDeviceCode;
this.$store.dispatch('socket/deleteRailwaySimulationRunplan', stationCode);
}
// goDispatcherLoger() {
// this.$refs.dispatcherLoger.doShow();
@ -757,4 +799,30 @@ export default {
.img-box:hover{
border: 2px #ccc inset;
}
#stageRunplanOut{
width: 100px;height: 25px;line-height: 21px;text-align: center;margin-left: 100px;
}
#stageRunplanOut.active{
animation:changeColor 1s infinite;
-moz-animation:changeColor 1s infinite; /* Firefox */
-webkit-animation:changeColor 1s infinite; /* Safari and Chrome */
}
@keyframes changeColor
{
0% {background:#f0f0f0;}
50% {background:#ff1900;}
100% {background:#f0f0f0;}
}
@-moz-keyframes changeColor /* Firefox */
{
0% {background:#f0f0f0;}
50% {background:#ff1900;}
100% {background:#f0f0f0;}
}
@-webkit-keyframes changeColor /* Safari and Chrome */
{
0% {background:#f0f0f0;}
50% {background:#ff1900;}
100% {background:#f0f0f0;}
}
</style>

View File

@ -572,6 +572,9 @@ export default {
//
document.getElementById('stageRunplan').classList.add('active');
this.currentRailwaySimulationRunplan = railwaySimulationRunplanSendMap;
} else {
const sendRunplan = document.getElementById('stageRunplan').className;
document.getElementById('stageRunplan').className = sendRunplan.replace('active', '');
}
},
loadData() {

View File

@ -536,6 +536,7 @@ const socket = {
},
deleteRailwaySimulationRunplan: (state, stationCode) => {
delete state.railwaySimulationRunplanSendMap[stationCode];
state.railwaySimulationRunplanSendChange++;
}
},