This commit is contained in:
fan 2022-07-07 13:21:46 +08:00
commit 607903c937
7 changed files with 210 additions and 64 deletions

View File

@ -657,6 +657,16 @@ export const menuOperate = {
modifyDispatcherLogerRpSection:{
operation: OperationEvent.CTCCommand.modifyDispatcherLogerRpSection.menu.operation,
cmdType: CMD.CTC.CTC_ZONE_SAVE_TRACK_SECTION
},
// 调度台行车计划修改时间
modifyDispatcherLogerRpPlanTime:{
operation: OperationEvent.CTCCommand.modifyDispatcherLogerRpSection.menu.operation,
cmdType: CMD.CTC.CTC_ZONE_SAVE_PLAN_TIME
},
// 调度台行车计划修改出入口
modifyDispatcherLogerRpDirection:{
operation: OperationEvent.CTCCommand.modifyDispatcherLogerRpSection.menu.operation,
cmdType: CMD.CTC.CTC_ZONE_SAVE_DIRECTION
}
},
Rail: {

View File

@ -88,7 +88,7 @@
width="100"
>
<template slot-scope="scope">
<div :class="scope.row.twinkle?'flashTrip':''">{{ scope.row.tripNumber }} {{ scope.row.delete?'(删)':scope.row.twinkle?'(*)':'' }}</div>
<div :class="scope.row.twinkle?'flashTrip noChange':'noChange'">{{ scope.row.tripNumber }} {{ scope.row.delete?'(删)':scope.row.twinkle?'(*)':'' }}</div>
</template>
</el-table-column>
<el-table-column label="到 达">
@ -98,12 +98,18 @@
<div class="runplanTableTname"><br><br>&nbsp;</div>
<div class="runplanTableNo">1</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.arriveRunPlan" class="noChange">{{ scope.row.arriveRunPlan.down }}</div>
</template>
</el-table-column>
<el-table-column width="80" prop="arriveRunPlan.up">
<template slot="header">
<div class="runplanTableTname"><br><br>&nbsp;</div>
<div class="runplanTableNo">2</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.arriveRunPlan" class="noChange">{{ scope.row.arriveRunPlan.up }}</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column width="155" prop="arriveRunPlan.accessName">
@ -112,7 +118,7 @@
<div class="runplanTableNo">3</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.arriveRunPlan" class="accessName" :title="scope.row.arriveRunPlan.accessName">{{ scope.row.arriveRunPlan.accessName }}</div>
<div v-if="scope.row.arriveRunPlan" class="noChange" :title="scope.row.arriveRunPlan.accessName">{{ scope.row.arriveRunPlan.accessName }}</div>
</template>
</el-table-column>
<el-table-column width="60" prop="arriveRunPlan.sectionCode">
@ -127,7 +133,6 @@
placeholder=""
size="mini"
popper-class="stationSelect"
@focus="focusArriveRunPlan($event,scope.row)"
@change="changeArriveRunPlan($event,scope.row,scope.$index)"
>
<el-option
@ -169,7 +174,7 @@
<div class="runplanTableNo">7</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.arriveRunPlan">{{ coverTime(scope.row.arriveRunPlan.planTime) }}</div>
<div v-if="scope.row.arriveRunPlan" class="noChange">{{ coverTime(scope.row.arriveRunPlan.planTime) }}</div>
</template>
</el-table-column>
<el-table-column width="70" prop="arriveRunPlan.actualTime">
@ -271,12 +276,18 @@
<div class="runplanTableTname"><br><br>&nbsp;</div>
<div class="runplanTableNo">19</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.departRunPlan" class="noChange">{{ scope.row.departRunPlan.down }}</div>
</template>
</el-table-column>
<el-table-column width="80" prop="departRunPlan.up">
<template slot="header">
<div class="runplanTableTname"><br><br>&nbsp;</div>
<div class="runplanTableNo">20</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.departRunPlan" class="noChange">{{ scope.row.departRunPlan.up }}</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column width="60" prop="departRunPlan.sectionCode">
@ -291,7 +302,6 @@
placeholder=""
size="mini"
popper-class="stationSelect"
@focus="focusDepartRunPlan($event,scope.row)"
@change="changeDepartRunPlan($event,scope.row,scope.$index)"
>
<el-option
@ -309,7 +319,7 @@
<div class="runplanTableNo">22</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.departRunPlan" class="accessName" :title="scope.row.departRunPlan.accessName">{{ scope.row.departRunPlan.accessName }}</div>
<div v-if="scope.row.departRunPlan" class="noChange" :title="scope.row.departRunPlan.accessName">{{ scope.row.departRunPlan.accessName }}</div>
</template>
</el-table-column>
<el-table-column label="时 分">
@ -342,7 +352,7 @@
<div class="runplanTableNo">25</div>
</template>
<template slot-scope="scope">
<div v-if="scope.row.departRunPlan">{{ coverTime(scope.row.departRunPlan.planTime) }}</div>
<div v-if="scope.row.departRunPlan" class="noChange">{{ coverTime(scope.row.departRunPlan.planTime) }}</div>
</template>
</el-table-column>
<el-table-column width="70" prop="departRunPlan.actualTime">
@ -422,7 +432,7 @@
<div class="eachRpMenu" @click="modifyAdjacentStation">修改相关邻站</div>
<div class="eachRpMenu" @click="deleteRunplan">删除</div>
<div class="eachRpSep" />
<div class="eachRpMenu">清楚闪烁</div>
<div class="eachRpMenu" @click="clearFlash">清除闪烁</div>
<div class="eachRpMenu">全体信息</div>
</div>
</div>
@ -564,6 +574,11 @@ export default {
},
'$store.state.socket.changedCtcRunplanMap': function (val) {
this.judgeStationCtcRunplan();
},
// 仿-仿
'$store.state.socket.simulationReset': function (val) {
this.$store.dispatch('socket/resetRailCtcRunplanInitMsg');
this.loadData();
}
},
methods:{
@ -676,10 +691,6 @@ export default {
this.$refs.stageRunplan.doShow(this.currentRailwaySimulationRunplan[stationCode]);
}
},
focusDepartRunPlan(event, row) {
// this.activeDepartRunPlan[row.code] = {sectionCode:event, code:row.code};
},
//
changeDepartRunPlan(event, row, index) {
const params = {
stationCode:row.stationCode,
@ -702,9 +713,6 @@ export default {
// }
// console.log(event, this.tableData[index].departRunPlan.sectionCode, row.departRunPlan.sectionCode, '------');
},
focusArriveRunPlan(event, row) {
// this.activeArriveRunPlan[row.code] = {sectionCode:event, code:row.code};
},
changeArriveRunPlan(event, row, index) {
const params = {
stationCode:row.stationCode,
@ -812,6 +820,24 @@ export default {
this.rpMenuPopShow = false;
this.$refs.deleteRunplan.doShow(this.currentRow);
},
//
clearFlash() {
if (this.currentRow && this.currentRow.twinkle) {
event.stopPropagation();
this.rpMenuPopShow = false;
commitOperate(menuOperate.CTC.stationCancleTwinkle, {stationCode:this.currentRow.stationCode, runPlanCode: this.currentRow.code}, 3).then(({valid})=>{
this.loading = false;
this.clearRpRow();
if (valid) {
// this.doClose();
}
}).catch(() => {
this.loading = false;
this.clearRpRow();
this.noticeInfo();
});
}
},
//
sendNotcie() {
// && this.currentRow.departRunPlan && this.currentRow.departRunPlan.adjacentMessage == 0
@ -1081,6 +1107,9 @@ export default {
-moz-animation:flashColor 1s infinite; /* Firefox */
-webkit-animation:flashColor 1s infinite; /* Safari and Chrome */
}
.noChange{
line-height: 28px;
}
@keyframes changeColor
{
0% {background:#f0f0f0;}

View File

@ -420,9 +420,10 @@ export default {
CTC_ZONE_SAVE_TRACK_SECTION:{value:'CTC_ZONE_SAVE_TRACK_SECTION', label: '调度台行车计划修改股道'},
CTC_ZONE_SAVE_TRIP_NUMBER:{value:'CTC_ZONE_SAVE_TRIP_NUMBER', label: '调度台行车计划修改车次'},
CTC_ZONE_SAVE_PLAN_TIME:{value:'CTC_ZONE_SAVE_PLAN_TIME', label: '调度台行车计划修改到达计划时间'},
CTC_ZONE_SAVE_DIRECTION:{value:'CTC_ZONE_SAVE_DIRECTION', label: '调度台行车计划修改出入口'},
CTC_ZONE_SAVE_PLAN_TIME:{value:'CTC_ZONE_SAVE_PLAN_TIME', label: '调度台行车计划修改时间'},
CTC_ZONE_SAVE_DIRECTION:{value:'CTC_ZONE_SAVE_DIRECTION', label: '调度台行车计划修改出入口'},
CTC_ZONE_SAVE_STATION:{value:'CTC_ZONE_SAVE_STATION', label: '调度台行车计划修改到发车站'}
},
RAIL: {
CMD_RAIL_FILL_IN_TICKET: {value: 'RAIL_FILL_IN_TICKET', label: '填写票据'},

View File

@ -3841,7 +3841,23 @@ export const OperationEvent = {
operation: '1134',
domId: '_Tips-CTC-stationCancleTwinkle-Menu{TOP}'
}
},
// 调度台行车计划修改时间
modifyDispatcherLogerRpPlanTime:{
menu: {
operation: '1135',
domId: '_Tips-CTC-modifyDispatcherLogerRpPlanTime-Menu{TOP}'
}
},
// 调度台行车计划修改出入口
modifyDispatcherLogerRpDirection:{
menu: {
operation: '1136',
domId: '_Tips-CTC-modifyDispatcherLogerRpDirection-Menu{TOP}'
}
}
// CTC_ZONE_SAVE_TRIP_NUMBER
// CTC_ZONE_SAVE_STATION
},
RailCommand: {
railFillInTicket: {

View File

@ -555,6 +555,9 @@ const socket = {
},
clearDispatchCommandMsg: (state, data) => {
state.dispatchCommandMsg = {};
},
resetRailCtcRunplanInitMsg: (state) => {
state.railCtcRunplanInitMsg = {};
}
},
@ -652,6 +655,9 @@ const socket = {
},
deleteRailwaySimulationRunplan:({ commit }, stationCode) => {
commit('deleteRailwaySimulationRunplan', stationCode);
},
resetRailCtcRunplanInitMsg:({ commit }) => {
commit('resetRailCtcRunplanInitMsg');
}
}
};

View File

@ -246,8 +246,8 @@ export default {
}
},
methods: {
doShow({filterSectionList, mapStationDirectionMap}) {
this.mapStationDirectionList = Object.values(mapStationDirectionMap);
doShow({filterSectionList, mapStationDirectionList}) {
this.mapStationDirectionList = mapStationDirectionList;
this.filterSectionList = filterSectionList;
this.dialogShow = true;
this.$nextTick(function () {

View File

@ -67,7 +67,22 @@
<el-table-column prop="arriveDirectionCode" label="接车口">
<template slot-scope="scope">
<div v-if="scope.row.arriveDirectionCode" class="accessName" :title="scope.row.arriveDirectionCode">
{{ mapStationDirectionData[scope.row.arriveDirectionCode].name }}
<!-- {{ mapStationDirectionData[scope.row.arriveDirectionCode].name }} -->
<el-select
v-model="tableData[scope.$index].arriveDirectionCode"
placeholder=""
size="mini"
:disabled="scope.row.status==-1"
popper-class="stationSelect"
@change="changeArriveDirectionCode($event,scope.row,scope.$index)"
>
<el-option
v-for="item in mapStationDirectionData.filter(station=>{return station.stationCode == scope.row.stationCode})"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</div>
</template>
</el-table-column>
@ -75,32 +90,49 @@
<el-table-column prop="departDirectionCode" label="发车口">
<template slot-scope="scope">
<div v-if="scope.row.departDirectionCode" class="accessName" :title="scope.row.departDirectionCode">
{{ mapStationDirectionData[scope.row.departDirectionCode].name }}
<!-- {{ mapStationDirectionData[scope.row.departDirectionCode].name }} -->
<el-select
v-model="tableData[scope.$index].departDirectionCode"
placeholder=""
size="mini"
:disabled="scope.row.status==-1"
popper-class="stationSelect"
@change="changeDepartDirectionCode($event,scope.row,scope.$index)"
>
<el-option
v-for="item in mapStationDirectionData.filter(station=>{return station.stationCode == scope.row.stationCode})"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</div>
</template>
</el-table-column>
<el-table-column width="155" prop="arriveSectionCode" label="接车股道">
<template slot-scope="scope">
<el-select
v-model="tableData[scope.$index].arriveSectionCode"
placeholder=""
size="mini"
:disabled="scope.row.status==-1"
popper-class="stationSelect"
@change="changeArriveRunPlan($event,scope.row,scope.$index)"
>
<el-option
v-for="item in filterSectionList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
<div v-if="scope.row.arriveSectionCode" class="accessName">
<el-select
v-model="tableData[scope.$index].arriveSectionCode"
placeholder=""
size="mini"
:disabled="scope.row.status==-1"
popper-class="stationSelect"
@change="changeArriveRunPlan($event,scope.row,scope.$index)"
>
<el-option
v-for="item in filterSectionList.filter(section=>{return section.stationCode == scope.row.stationCode})"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</div>
<!--
electrical
电力
passenger
办理客运 -->
electrical
电力
passenger
办理客运 -->
<!-- <div v-if="scope.row.arriveSectionCode" class="accessName">
{{ filterSectionMap[scope.row.arriveSectionCode].name }}
</div>
@ -108,37 +140,41 @@ passenger
</template></el-table-column>
<el-table-column width="155" prop="departSectionCode" label="发车股道">
<template slot-scope="scope">
<el-select
v-model="tableData[scope.$index].departSectionCode"
placeholder=""
size="mini"
popper-class="stationSelect"
:disabled="scope.row.status==-1"
@change="changeDepartRunPlan($event,scope.row,scope.$index)"
>
<el-option
v-for="item in filterSectionList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
<div v-if="scope.row.departSectionCode" class="accessName">
<el-select
v-model="tableData[scope.$index].departSectionCode"
placeholder=""
size="mini"
popper-class="stationSelect"
:disabled="scope.row.status==-1"
@change="changeDepartRunPlan($event,scope.row,scope.$index)"
>
<el-option
v-for="item in filterSectionList.filter(section=>{return section.stationCode == scope.row.stationCode})"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</div>
<!-- <div v-if="scope.row.departSectionCode" class="accessName">
{{ filterSectionMap[scope.row.departSectionCode].name }}
</div> -->
</template>
</el-table-column>
<el-table-column width="155" prop="arrivePlanTime" label="到达时间">
<el-table-column width="175" prop="arrivePlanTime" label="到达时间">
<template slot-scope="scope">
<div v-if="scope.row.arrivePlanTime" class="accessName">
{{ scope.row.arrivePlanTime }}
<!-- {{ scope.row.arrivePlanTime }} -->
<el-date-picker v-model="scope.row.arrivePlanTime" size="mini" type="datetime" value-format="yyyy-MM-dd HH:mm" format="yyyy-MM-dd HH:mm" style="width:165px" @change="changeArrivePlanTime($event,scope.row,scope.$index)" />
</div>
</template>
</el-table-column>
<el-table-column width="155" prop="departPlanTime" label="出发时间">
<el-table-column width="175" prop="departPlanTime" label="出发时间">
<template slot-scope="scope">
<div v-if="scope.row.departPlanTime" class="accessName">
{{ scope.row.departPlanTime }}
<!-- {{ scope.row.departPlanTime }} -->
<el-date-picker v-model="scope.row.departPlanTime" size="mini" type="datetime" value-format="yyyy-MM-dd HH:mm" style="width:165px" format="yyyy-MM-dd HH:mm" @change="changeDepartPlanTime($event,scope.row,scope.$index)" />
</div>
</template>
</el-table-column>
@ -171,6 +207,7 @@ export default {
isShow:false,
height: this.$store.state.app.height - 37,
filterSectionList:[],
mapStationDirectionData:[],
// filterSectionMap:{},
tableData:[],
group:'',
@ -182,10 +219,7 @@ export default {
computed: {
...mapGetters('map', [
'sectionList'
]),
mapStationDirectionData() {
return this.$store.state.map.mapStationDirectionData;
}
])
},
watch:{
// '$store.state.socket.railwaySimulationRpChange': function (val) {
@ -216,6 +250,7 @@ export default {
},
doShow() {
this.loadFilterSectionMap();
this.mapStationDirectionData = Object.values(this.$store.state.map.mapStationDirectionData);
// this.tableData = [];
// this.loadData();
this.isShow = true;
@ -248,6 +283,55 @@ export default {
changeDepartRunPlan(event, row, index) {
this.modifyDispatcherLogerRpSection(row, row.departSectionCode, 'D');
},
//
changeArrivePlanTime(event, row, index) {
this.modifyDispatcherLogerRpPlanTime(row, row.arrivePlanTime, 'R');
},
changeDepartPlanTime(event, row, index) {
this.modifyDispatcherLogerRpPlanTime(row, row.departPlanTime, 'D');
},
changeArriveDirectionCode(event, row, index) {
this.modifyDispatcherLogerRpDirection(row, row.arriveDirectionCode, 'R');
},
changeDepartDirectionCode(event, row, index) {
this.modifyDispatcherLogerRpDirection(row, row.departDirectionCode, 'D');
},
//
modifyDispatcherLogerRpDirection(row, directionCode, type) {
const params = {stationCode:row.stationCode, runPlanCode:row.runPlanCode, directionCode:directionCode, model:type};
commitOperate(menuOperate.CTC.modifyDispatcherLogerRpDirection, params, 3).then(({valid, response})=>{
if (valid) {
const reslut = response.data;
this.tableData.map(data=>{
if (data.stationCode == reslut.stationCode && data.runPlanCode == reslut.runPlanCode) {
data.arriveDirectionCode = reslut.arriveDirectionCode;
data.departDirectionCode = reslut.departDirectionCode;
}
});
}
}).catch(() => {
// this.$message.error('');
});
},
//
modifyDispatcherLogerRpPlanTime(row, planTime, type) {
const params = {stationCode:row.stationCode, runPlanCode:row.runPlanCode, planTime:planTime, model:type};
commitOperate(menuOperate.CTC.modifyDispatcherLogerRpPlanTime, params, 3).then(({valid, response})=>{
if (valid) {
const reslut = response.data;
this.tableData.map(data=>{
if (data.stationCode == reslut.stationCode && data.runPlanCode == reslut.runPlanCode) {
data.arrivePlanTime = reslut.arrivePlanTime;
data.departPlanTime = reslut.departPlanTime;
}
});
}
}).catch(() => {
// this.$message.error('');
});
},
//
modifyDispatcherLogerRpSection(row, sectionCode, type) {
// stationCode
// runPlanCode
@ -304,7 +388,7 @@ export default {
addRunplan() {
this.$refs.addDispatcherLogerRunplan.doShow({
filterSectionList:this.filterSectionList,
mapStationDirectionMap:this.mapStationDirectionData
mapStationDirectionList:this.mapStationDirectionData
});
},
selectedTripNumber(row, column, cell, event) {