大铁项目 ctc 车务管理端 列车固定路径 订阅路径修改

列车固定路径列表代码调整
This commit is contained in:
joylink_cuiweidong 2022-06-17 10:16:49 +08:00
parent 667bca7aa2
commit eb7d096fe3
5 changed files with 84 additions and 28 deletions

View File

@ -246,7 +246,7 @@ function handle(state, data) {
case 'SIMULATION_CTC_MANAGER_RUN_PLAN_EDIT_CHANGE':
msg.forEach(element => {
const code = element.stationCode + '' + element.tripNumber;
state.railCtcStationManageRpMsg[code] = copyAssign(state.railCtcStationManageRpMsg[code], element);
state.railCtcStationManageRpMsg[code] = copyAssign(state.railCtcStationManageRpMsg[code] || {}, element);
});
state.railCtcStationManageRpChange++;
break;

View File

@ -32,10 +32,11 @@ export function getTopic(type, group, stationCode) {
topic = `/queue/simulation/${group}/iscs/pis`;
break;
case 'CTC':
topic = `/queue/simulation/${group}/ctc`;
topic = `/user/queue/simulation/${group}/ctc`;
break;
case 'CTC_MANAGE':
topic = `/queue/simulation/${group}/ctc/manage`;
// topic = `/user/queue/simulation/${group}/ctc/manage`;
topic = `/user/queue/simulation/${group}/ctcManage`;
break;
}

View File

@ -166,7 +166,6 @@ export default {
},
computed: {
...mapGetters('map', [
'sectionList',
'stationList'
]),
show() {
@ -183,12 +182,9 @@ export default {
}
},
methods:{
doShow({stationCode}) {
this.mapStationDirectionList = Object.values(this.$store.state.map.mapStationDirectionData);
this.filterSectionList = [];
this.filterSectionList = this.sectionList.filter(section=>{
return section.standTrack && section.belongStation == stationCode;
});
doShow({stationCode, filterSectionMap, mapStationDirectionMap}) {
this.mapStationDirectionList = Object.values(mapStationDirectionMap);
this.filterSectionList = Object.values(filterSectionMap);
this.dialogShow = true;
this.addModel.stationCode = stationCode;
this.$nextTick(function () {

View File

@ -38,7 +38,7 @@ import { getToken } from '@/utils/auth';
import StationTrack from './stationTrack';
import TrainFixedPath from './trainFixedPath';
import { loadMapDataById } from '@/utils/loaddata';
import { creatSubscribe, clearSubscribe, getTopic } from '@/utils/stomp';
import { creatSubscribe, clearSubscribe, getTopic, displayTopic } from '@/utils/stomp';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
export default {
name:'BigTrainRunplanManage',
@ -119,10 +119,13 @@ export default {
this.clearSubscribe();
const header = { group: this.$route.query.group || '', 'X-Token': getToken() };
// creatSubscribe(`${displayTopic}\/${this.$route.query.group}`, header);
// creatSubscribe(getTopic('CTC', this.$route.query.group), header);
creatSubscribe(getTopic('CTC_MANAGE', this.$route.query.group), header);
// await this.$store.dispatch('training/setHasSubscribed');
},
clearSubscribe() {
// clearSubscribe(`${displayTopic}\/${this.groupModel}`);
// clearSubscribe(getTopic('CTC', this.groupModel));
clearSubscribe(getTopic('CTC_MANAGE', this.groupModel));
},
noticeInfo() {

View File

@ -51,52 +51,80 @@
prop="stationCode"
label="车站"
width="100"
/>
>
<template slot-scope="scope">
{{ stationMap[scope.row.stationCode].name }}
</template>
</el-table-column>
<el-table-column
prop="arriveTripNumber"
label="到达车次"
width="90"
width="80"
/>
<el-table-column
prop="arriveTime"
label="到达时间"
width="80"
/>
width="70"
>
<template slot-scope="scope">
{{ scope.row.arriveTime }}
</template>
</el-table-column>
<el-table-column
prop="departTripNumber"
label="出发车次"
width="90"
width="80"
/>
<el-table-column
prop="departTime"
label="出发时间"
width="80"
width="70"
/>
<el-table-column
prop="trackSectionCode"
label="股道"
width="85"
/>
width="75"
>
<template slot-scope="scope">
{{ filterSectionMap[scope.row.trackSectionCode].name }}
</template>
</el-table-column>
<el-table-column
prop="departStationCode"
label="后方车站"
width="110"
/>
>
<template slot-scope="scope">
{{ stationMap[scope.row.departStationCode].name }}
</template>
</el-table-column>
<el-table-column
prop="arriveDirectionCode"
label="入口"
width="130"
/>
width="155"
>
<template slot-scope="scope">
{{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
</template>
</el-table-column>
<el-table-column
prop="departDirectionCode"
label="出口"
width="130"
/>
width="155"
>
<template slot-scope="scope">
{{ mapStationDirectionData[scope.row.departDirectionCode].name }}
</template>
</el-table-column>
<el-table-column
prop="arriveStationCode"
label="前方车站"
width="110"
/>
>
<template slot-scope="scope">
{{ stationMap[scope.row.arriveStationCode].name }}
</template>
</el-table-column>
<el-table-column
prop="RVType"
label="技术停点"
@ -235,6 +263,7 @@
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import { now} from '@/utils/date';
import TerminalStationList from './terminalStationList';
import AddRunplan from './addRunplan';
@ -250,9 +279,26 @@ export default {
return {
height: this.$store.state.app.height - 61,
currentStationCode:'',
tableData:[]
tableData:[],
filterSectionMap:{}
};
},
computed:{
...mapGetters('map', [
'sectionList',
'stationList'
]),
mapStationDirectionData() {
return this.$store.state.map.mapStationDirectionData;
},
stationMap() {
const stationMap = {};
this.stationList.forEach(station=>{
stationMap[station.code] = {code:station.code, name:station.name};
});
return stationMap;
}
},
watch:{
'$store.state.socket.railCtcStationManageRpChange': function (val) {
this.handleData();
@ -264,10 +310,20 @@ export default {
},
loadStationData(stationCode) {
this.currentStationCode = stationCode;
this.filterSectionMap = {};
this.sectionList.forEach(section=>{
if (section.standTrack && section.belongStation == this.currentStationCode) {
this.filterSectionMap[section.code] = {code:section.code, name:section.name};
}
});
this.handleData();
},
addRunplan() {
this.$refs.addRunplan.doShow({stationCode:this.currentStationCode});
this.$refs.addRunplan.doShow({
stationCode:this.currentStationCode,
filterSectionMap:this.filterSectionMap,
mapStationDirectionMap:this.mapStationDirectionData
});
},
noticeInfo() {
this.$emit('noticeInfo');
@ -425,6 +481,6 @@ export default {
padding-bottom: 5px;
border-color: #a5a5a5;
}
#trainFixedPathTableIn.el-table .cell{ padding-left: 5px;padding-right: 5px; text-align: center;}
#trainFixedPathTableIn.el-table .cell{ padding-left: 5px;padding-right: 5px; text-align: center;font-size: 13px;}
</style>