This commit is contained in:
fan 2022-06-16 14:55:34 +08:00
commit 858f064a2e
7 changed files with 197 additions and 50 deletions

View File

@ -593,6 +593,26 @@ export const menuOperate = {
agreeNotcie:{
operation: OperationEvent.CTCCommand.agreeNotcie.menu.operation,
cmdType: CMD.CTC.CTC_AGREE_NOTICE
},
// 增加列车固定径路
addTrainFixedPath:{
operation: OperationEvent.CTCCommand.addTrainFixedPath.menu.operation,
cmdType: CMD.CTC.CTC_ADD_RUN_PLAN_LIST_TO_EDIT_AREA
},
// 导入列车固定径路
importTrainFixedPath:{
operation: OperationEvent.CTCCommand.importTrainFixedPath.menu.operation,
cmdType: CMD.CTC.CTC_COVER_RUN_PLAN_LIST_TO_EDIT_AREA
},
// 删除列车固定径路
deleteTrainFixedPath:{
operation: OperationEvent.CTCCommand.deleteTrainFixedPath.menu.operation,
cmdType: CMD.CTC.CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA
},
// 运行计划发布至CTC
releaseTrainFixedPath:{
operation: OperationEvent.CTCCommand.releaseTrainFixedPath.menu.operation,
cmdType: CMD.CTC.CTC_RELEASE_RUN_PLAN_TO_SIMULATION
}
}

View File

@ -400,9 +400,10 @@ export default {
CTC_MODIFY_ADJACENT_STATION:{value: 'CTC_MODIFY_ADJACENT_STATION', label: '修改邻站信息'},
CTC_MODIFY_TRIP_NUMBER:{value: 'CTC_MODIFY_TRIP_NUMBER', label: '修改车次号(大铁CTC)'},
CTC_SEND_NOTICE:{value: 'CTC_SEND_NOTICE', label: '发送发车预告'},
CTC_AGREE_NOTICE:{value: 'CTC_AGREE_NOTICE', label: '同意发车预告'}
// 参数:
// stationCode 车站编码
// runPlanCode 运行编码
CTC_AGREE_NOTICE:{value: 'CTC_AGREE_NOTICE', label: '同意发车预告'},
CTC_ADD_RUN_PLAN_LIST_TO_EDIT_AREA:{value: 'CTC_ADD_RUN_PLAN_LIST_TO_EDIT_AREA', label: '增加列车固定径路'},
CTC_COVER_RUN_PLAN_LIST_TO_EDIT_AREA:{value: 'CTC_COVER_RUN_PLAN_LIST_TO_EDIT_AREA', label: '导入列车固定径路'},
CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA:{value: 'CTC_REMOVE_RUN_PLAN_FROM_EDIT_AREA', label: '删除列车固定径路'},
CTC_RELEASE_RUN_PLAN_TO_SIMULATION:{value: 'CTC_RELEASE_RUN_PLAN_TO_SIMULATION', label: '运行计划发布至CTC'}
}
};

View File

@ -3750,6 +3750,34 @@ export const OperationEvent = {
operation: '1122',
domId: '_Tips-CTC_CancelDeparture-Menu{TOP}'
}
},
// 增加列车固定径路
addTrainFixedPath:{
menu: {
operation: '1123',
domId: '_Tips-CTC-addTrainFixedPath-Menu{TOP}'
}
},
// 导入列车固定径路
importTrainFixedPath:{
menu: {
operation: '1124',
domId: '_Tips-CTC-importTrainFixedPath-Menu{TOP}'
}
},
// 删除列车固定径路
deleteTrainFixedPath:{
menu: {
operation: '1125',
domId: '_Tips-CTC-deleteTrainFixedPath-Menu{TOP}'
}
},
// 运行计划发布至CTC
releaseTrainFixedPath:{
menu: {
operation: '1126 ',
domId: '_Tips-CTC-releaseTrainFixedPath-Menu{TOP}'
}
}
}

View File

@ -11,53 +11,77 @@
:close-on-click-modal="false"
>
<div class="DpRunplanPane">
<el-form ref="form" :model="addModel" label-width="70px">
<el-form-item label="车站:">
<el-form ref="form" :model="addModel" label-width="70px" :rules="rules">
<el-form-item label="车站:" prop="stationCode">
<el-select v-model="addModel.stationCode" placeholder="" style="width:135px" disabled>
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
<el-option
v-for="item in stationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="股道:">
<el-form-item label="股道:" prop="trackSectionCode">
<el-select v-model="addModel.trackSectionCode" placeholder="" style="width:135px">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
<el-option
v-for="item in filterSectionList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="到达车次:">
<el-form-item label="到达车次:" prop="arriveTripNumber">
<el-input v-model="addModel.arriveTripNumber" style="width:135px" />
</el-form-item>
<el-form-item label="到达时间:">
<el-input v-model="addModel.arriveTime" style="width:135px" />
<el-form-item label="到达时间:" prop="arriveTime">
<el-time-picker v-model="addModel.arriveTime" value-format="HH:mm" format="HH:mm" style="width:135px" />
</el-form-item>
<el-form-item label="出发车次:">
<el-form-item label="出发车次:" prop="departTripNumber">
<el-input v-model="addModel.departTripNumber" style="width:135px" />
</el-form-item>
<el-form-item label="出发时间:">
<el-input v-model="addModel.departTime" style="width:135px" />
<el-form-item label="出发时间:" prop="departTime">
<el-time-picker v-model="addModel.departTime" value-format="HH:mm" format="HH:mm" style="width:135px" />
</el-form-item>
<el-form-item label="入口:">
<el-form-item label="入口:" prop="arriveDirectionCode">
<el-select v-model="addModel.arriveDirectionCode" placeholder="" style="width:135px">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
<el-option
v-for="item in mapStationDirectionList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="后方车站:">
<el-form-item label="后方车站:" prop="arriveStationCode">
<el-select v-model="addModel.arriveStationCode" placeholder="" style="width:135px">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
<el-option
v-for="item in stationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="出口:">
<el-form-item label="出口:" prop="departDirectionCode">
<el-select v-model="addModel.departDirectionCode" placeholder="" style="width:135px">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
<el-option
v-for="item in mapStationDirectionList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
<el-form-item label="前方车站:">
<el-form-item label="前方车站:" prop="departStationCode">
<el-select v-model="addModel.departStationCode" placeholder="" style="width:135px">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
<el-option
v-for="item in stationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
</el-form>
@ -74,9 +98,10 @@
</el-dialog>
</template>
<script>
// import { mapGetters } from 'vuex';
import { mapGetters } from 'vuex';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'TrainSetPlan',
components: {
@ -86,6 +111,8 @@ export default {
return {
dialogShow: false,
loading: false,
mapStationDirectionList:[],
filterSectionList:[],
addModel:{
stationCode:'', //
trackSectionCode:'', //
@ -97,10 +124,51 @@ export default {
departDirectionCode:'', //
arriveStationCode:'', //
departStationCode:'' //
},
rules: {
trackSectionCode: [
{ required: true, message: '请选择股道', trigger: 'blur' },
{ required: true, message: '请选择股道', trigger: 'change' }
],
arriveTripNumber:[
{ required: true, message: '请输入到达车次', trigger: 'blur' }
],
departTripNumber:[
{ required: true, message: '请输入到达车次', trigger: 'blur' }
],
arriveTime: [
{ required: true, message: '请选择到达时间', trigger: 'blur' },
{ required: true, message: '请选择到达时间', trigger: 'change' }
],
departTime: [
{ required: true, message: '请选择出发时间', trigger: 'blur' },
{ required: true, message: '请选择出发时间', trigger: 'change' }
],
arriveDirectionCode: [
{ required: true, message: '请选择入口', trigger: 'blur' },
{ required: true, message: '请选择入口', trigger: 'change' }
],
departDirectionCode: [
{ required: true, message: '请选择出口', trigger: 'blur' },
{ required: true, message: '请选择出口', trigger: 'change' }
],
arriveStationCode: [
{ required: true, message: '请选择后方车站', trigger: 'blur' },
{ required: true, message: '请选择后方车站', trigger: 'change' }
],
departStationCode: [
{ required: true, message: '请选择前方车站', trigger: 'blur' },
{ required: true, message: '请选择前方车站', trigger: 'change' }
]
// { validator: validateJudgePass, trigger: 'blur' }
}
};
},
computed: {
...mapGetters('map', [
'sectionList',
'stationList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
@ -108,16 +176,21 @@ export default {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Train.editTrainId.menu.domId : '';
return this.dialogShow ? OperationEvent.CTCCommand.addTrainFixedPath.menu.domId : '';
},
title() {
return '列车固定径路';
}
},
methods:{
doShow() {
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;
});
this.dialogShow = true;
this.addModel.stationCode = '';
this.addModel.stationCode = stationCode;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
@ -137,28 +210,30 @@ export default {
arriveStationCode:'', //
departStationCode:'' //
};
this.$refs.form && this.$refs.form.resetFields();
this.$store.dispatch('training/emitTipFresh');
},
commit() {
this.$refs.form.validate((valid) => {
if (valid) {
this.loading = true;
// commitOperate(menuOperate.CTC.modifyTripNumber, this.model, 2).then(({valid})=>{
// this.loading = false;
// this.$emit('clearRpRow');
// if (valid) {
// this.doClose();
// }
// }).catch(() => {
// this.loading = false;
// this.$emit('clearRpRow');
// this.doClose();
// this.$emit('noticeInfo');
// });
const param = {stationCode:this.addModel.stationCode, runPlanParamList:[this.addModel]};
commitOperate(menuOperate.CTC.addTrainFixedPath, param, 3).then(({valid})=>{
debugger;
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
this.$emit('noticeInfo');
});
}
});
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$emit('clearRpRow');
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
@ -175,7 +250,7 @@ export default {
.DpRunplanPane .el-form-item{
display:inline-block;
width:210px;
margin-bottom: 5px;
margin-bottom:20px;
}
.DpRunplanPane .el-form-item__content{
line-height:30px;

View File

@ -25,10 +25,12 @@
<component
:is="item.component"
:ref="item.name"
@noticeInfo="noticeInfo"
/>
</el-tab-pane>
</el-tabs>
</div>
<notice-info ref="noticeInfo" pop-class="datie-02__systerm" />
</div>
</template>
<script>
@ -37,8 +39,12 @@ import StationTrack from './stationTrack';
import TrainFixedPath from './trainFixedPath';
import { loadMapDataById } from '@/utils/loaddata';
import { creatSubscribe, clearSubscribe, getTopic } from '@/utils/stomp';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
export default {
name:'BigTrainRunplanManage',
components: {
NoticeInfo
},
data() {
return {
activeTab:'StationTrack',
@ -60,6 +66,7 @@ export default {
},
watch: {
'$store.state.map.mapDataLoadedCount': function (val) { //
this.$store.commit('training/notifyGetCommandDefinition', this.$route.query.lineCode);
this.subscribe();
}
},
@ -67,6 +74,7 @@ export default {
this.clearSubscribe();
},
async mounted() {
this.$store.dispatch('training/setPrdType', this.$route.query.prdType);
this.groupModel = this.$route.query.group;
this.stationCode = this.$route.query.stationCode;
this.initLoadData();
@ -116,6 +124,9 @@ export default {
},
clearSubscribe() {
clearSubscribe(getTopic('CTC_MANAGE', this.groupModel));
},
noticeInfo() {
this.$refs.noticeInfo.doShow();
}
// ''
//
@ -278,4 +289,11 @@ border-left: 1px #94b6f0 solid;border-right: 1px #c9d3e0 solid;}
font-size:13px;
line-height:30px;
}
.datie-02__systerm .el-dialog span.el-input__prefix .el-input__icon{
line-height:22px;
}
.datie-02__systerm .el-dialog span.el-input__suffix .el-input__icon{
line-height:22px;
}
</style>

View File

@ -228,7 +228,7 @@
</el-table>
</div>
</div>
<add-runplan ref="addRunplan" />
<add-runplan ref="addRunplan" @noticeInfo="noticeInfo" />
</div>
</template>
<script>
@ -262,7 +262,10 @@ export default {
this.handleData();
},
addRunplan() {
this.$refs.addRunplan.doShow();
this.$refs.addRunplan.doShow({stationCode:this.currentStationCode});
},
noticeInfo() {
this.$emit('noticeInfo');
},
handleData() {
this.tableData = [];

View File

@ -244,6 +244,8 @@ export default {
group: this.$route.query.group,
mapId:this.$route.query.mapId,
project: this.project,
prdType: this.$route.query.prdType,
lineCode:this.$route.query.lineCode,
// stationCode:this.$store.state.training.roleDeviceCode,
// token:getToken(),
noPreLogout: true