运行图编制 代码调整
This commit is contained in:
parent
905e59c869
commit
c3fec625e2
@ -35,6 +35,7 @@ export default {
|
|||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
routingList: [],
|
routingList: [],
|
||||||
loading: false,
|
loading: false,
|
||||||
|
runningRoutingMap:{},
|
||||||
runLevelList: [
|
runLevelList: [
|
||||||
{ value: 1, label: '等级一' },
|
{ value: 1, label: '等级一' },
|
||||||
{ value: 2, label: '等级二' },
|
{ value: 2, label: '等级二' },
|
||||||
@ -49,11 +50,11 @@ export default {
|
|||||||
overTime: '', // 结束时间
|
overTime: '', // 结束时间
|
||||||
runLevel:'', // 运行等级
|
runLevel:'', // 运行等级
|
||||||
departureInterval:180, // 发车间隔
|
departureInterval:180, // 发车间隔
|
||||||
// reentryTime:120, // 折返时间
|
|
||||||
inboundRouting:'', // 回库交路code
|
inboundRouting:'', // 回库交路code
|
||||||
outboundRouting:'', // 出库交路code
|
outboundRouting:'', // 出库交路code
|
||||||
runningRouting1: '', // 环路code1
|
runningRouting1: '', // 环路code1
|
||||||
runningRouting2: '' // 环路code2
|
runningRouting2: '', // 环路code2
|
||||||
|
runningRouting:''
|
||||||
},
|
},
|
||||||
|
|
||||||
rules: {
|
rules: {
|
||||||
@ -74,23 +75,15 @@ export default {
|
|||||||
departureInterval:[
|
departureInterval:[
|
||||||
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
|
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
// reentryTime:[
|
|
||||||
// { required: true, message: '请填写折返时间', trigger: 'blur' }
|
|
||||||
// ],
|
|
||||||
inboundRouting: [
|
inboundRouting: [
|
||||||
{ required: true, message: '请选择回库交路', trigger: 'change' }
|
{ required: true, message: '请选择回库交路', trigger: 'change' }
|
||||||
],
|
],
|
||||||
|
runningRouting: [
|
||||||
|
{ required: true, message: '请选择环路', trigger: 'blur' },
|
||||||
|
{ required: true, message: '请选择环路', trigger: 'change' }
|
||||||
|
],
|
||||||
outboundRouting: [
|
outboundRouting: [
|
||||||
{ required: true, message: '请选择出库交路', trigger: 'change' }
|
{ required: true, message: '请选择出库交路', trigger: 'change' }
|
||||||
],
|
|
||||||
runningRouting1: [
|
|
||||||
// message: '请选择环路',
|
|
||||||
{ required: true, validator: this.validateRunningRouting, trigger: 'change' },
|
|
||||||
{ required: true, validator: this.validateRunningRouting, trigger: 'blur' }
|
|
||||||
],
|
|
||||||
runningRouting2: [
|
|
||||||
{ required: true, validator: this.validateRunningRouting, trigger: 'change' },
|
|
||||||
{ required: true, validator: this.validateRunningRouting, trigger: 'blur' }
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -113,10 +106,10 @@ export default {
|
|||||||
{ prop: 'overTime', label: '结束时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
{ prop: 'overTime', label: '结束时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
||||||
{ prop: 'runLevel', label: '运行等级', type: 'select', options: this.runLevelList },
|
{ prop: 'runLevel', label: '运行等级', type: 'select', options: this.runLevelList },
|
||||||
{ prop: 'departureInterval', label: '发车间隔', type: 'number', show:this.formModel.gernarateType == '02', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
|
{ prop: 'departureInterval', label: '发车间隔', type: 'number', show:this.formModel.gernarateType == '02', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
|
||||||
// { prop: 'reentryTime', label: '折返时间', type: 'number', min:120, step:1, precisionFlag:true, precision:0, message:'s' },
|
|
||||||
{ prop: 'outboundRouting', label: '出库交路', type: 'select', options: this.covertRouting('OUTBOUND'), noDataText:'请先设置交路'},
|
{ prop: 'outboundRouting', label: '出库交路', type: 'select', options: this.covertRouting('OUTBOUND'), noDataText:'请先设置交路'},
|
||||||
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:true, options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute2 },
|
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
||||||
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:true, options: this.covertRouting('LOOP'), noDataText:'请先设置交路', change:true, onChange:this.changeRoute1},
|
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
||||||
|
{prop:'runningRouting', label:'环路', type: 'select', options:this.covertRoutingCircle(), noDataText:'请先设置交路', change:true, onChange:this.changeRoute},
|
||||||
{ prop: 'inboundRouting', label: '入库交路', type: 'select', options: this.covertRouting('INBOUND'), noDataText:'请先设置交路'}
|
{ prop: 'inboundRouting', label: '入库交路', type: 'select', options: this.covertRouting('INBOUND'), noDataText:'请先设置交路'}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@ -127,8 +120,35 @@ export default {
|
|||||||
this.loading = false;
|
this.loading = false;
|
||||||
const mapId = this.$route.query.mapId;
|
const mapId = this.$route.query.mapId;
|
||||||
if (mapId) {
|
if (mapId) {
|
||||||
|
const runningRoutingMap = {};
|
||||||
listUserRoutingData(mapId).then(response => {
|
listUserRoutingData(mapId).then(response => {
|
||||||
this.routingList = response.data.map(elem => { return { value: elem.code, label: elem.name, routingType:elem.routingType }; });
|
const list = response.data;
|
||||||
|
this.routingList = list.map(elem => { return { value: elem.code, label: elem.name, routingType:elem.routingType }; });
|
||||||
|
list.forEach(elem=>{
|
||||||
|
// this.routingList.push({value: elem.code, label: elem.name, routingType:elem.routingType});
|
||||||
|
if (elem.routingType === 'LOOP') {
|
||||||
|
const name = elem.name;
|
||||||
|
let temp = '';
|
||||||
|
if (elem.right) {
|
||||||
|
temp = name.split('-')[0];
|
||||||
|
// const data = ;
|
||||||
|
const data = runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode];
|
||||||
|
if (!data) { runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode] = {}; }
|
||||||
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].label = elem.name + '-' + temp;
|
||||||
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].value = elem.startSectionCode + '-' + elem.endSectionCode;
|
||||||
|
runningRoutingMap[elem.startSectionCode + '-' + elem.endSectionCode].runningRouting1 = elem.code;
|
||||||
|
} else {
|
||||||
|
temp = name.split('-')[1];
|
||||||
|
// const data = ;
|
||||||
|
const data = runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode];
|
||||||
|
if (!data) { runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode] = {}; }
|
||||||
|
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].label = temp + '-' + elem.name;
|
||||||
|
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].value = elem.endSectionCode + '-' + elem.startSectionCode;
|
||||||
|
runningRoutingMap[elem.endSectionCode + '-' + elem.startSectionCode].runningRouting2 = elem.code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.runningRoutingMap = runningRoutingMap;
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
this.$messageBox(`获取交路列表失败`);
|
this.$messageBox(`获取交路列表失败`);
|
||||||
});
|
});
|
||||||
@ -171,34 +191,39 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
validateRunningRouting(rule, value, callback) {
|
// changeRoute(runningRouting) {
|
||||||
if (value.trim().length == 0) {
|
// if (this.formModel[runningRouting]) { this.$refs.dataform.validateField([runningRouting]); }
|
||||||
return callback(new Error('请选择环路'));
|
// },
|
||||||
} else {
|
|
||||||
if (this.formModel.runningRouting1 == this.formModel.runningRouting2) {
|
|
||||||
return callback(new Error('环路交路1和环路交路2不能相同'));
|
|
||||||
} else {
|
|
||||||
return callback();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
changeRoute2() {
|
|
||||||
this.changeRoute('runningRouting2');
|
|
||||||
},
|
|
||||||
changeRoute1() {
|
|
||||||
this.changeRoute('runningRouting1');
|
|
||||||
},
|
|
||||||
changeRoute(runningRouting) {
|
changeRoute(runningRouting) {
|
||||||
if (this.formModel[runningRouting]) { this.$refs.dataform.validateField([runningRouting]); }
|
const temp = this.runningRoutingMap[runningRouting];
|
||||||
|
this.formModel.runningRouting1 = temp.runningRouting1;
|
||||||
|
this.formModel.runningRouting2 = temp.runningRouting2;
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.$refs.dataform.resetForm();
|
this.$refs.dataform.resetForm();
|
||||||
|
this.formModel = {
|
||||||
|
gernarateType:'01',
|
||||||
|
serviceNumber:'', // 服务号
|
||||||
|
beginTime: '', // 开始时间
|
||||||
|
overTime: '', // 结束时间
|
||||||
|
runLevel:'', // 运行等级
|
||||||
|
departureInterval:180, // 发车间隔
|
||||||
|
inboundRouting:'', // 回库交路code
|
||||||
|
outboundRouting:'', // 出库交路code
|
||||||
|
runningRouting1: '', // 环路code1
|
||||||
|
runningRouting2: '', // 环路code2
|
||||||
|
runningRouting:''
|
||||||
|
};
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
},
|
},
|
||||||
covertRouting(routingType) {
|
covertRouting(routingType) {
|
||||||
return this.routingList.filter(route=>{ return route.routingType == routingType; });
|
return this.routingList.filter(route=>{ return route.routingType == routingType; });
|
||||||
},
|
},
|
||||||
|
covertRoutingCircle() {
|
||||||
|
const list = Object.values(this.runningRoutingMap);
|
||||||
|
return list.filter(route=>{ return route.runningRouting1 && route.runningRouting2; });
|
||||||
|
},
|
||||||
handleCommit() {
|
handleCommit() {
|
||||||
this.$refs.dataform.validateForm(() => {
|
this.$refs.dataform.validateForm(() => {
|
||||||
if (this.formModel.overTime <= this.formModel.beginTime) {
|
if (this.formModel.overTime <= this.formModel.beginTime) {
|
||||||
@ -212,6 +237,7 @@ export default {
|
|||||||
delete formModel.serviceNumber;
|
delete formModel.serviceNumber;
|
||||||
}
|
}
|
||||||
delete formModel.gernarateType;
|
delete formModel.gernarateType;
|
||||||
|
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
generatePlanTrain(this.$route.query.planId || this.loadRunPlanId, formModel).then(res => {
|
generatePlanTrain(this.$route.query.planId || this.loadRunPlanId, formModel).then(res => {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
@ -62,6 +62,7 @@ export default {
|
|||||||
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
|
{ required: true, message: '请填写发车间隔', trigger: 'blur' }
|
||||||
],
|
],
|
||||||
runningRouting: [
|
runningRouting: [
|
||||||
|
{ required: true, message: '请选择环路', trigger: 'blur' },
|
||||||
{ required: true, message: '请选择环路', trigger: 'change' }
|
{ required: true, message: '请选择环路', trigger: 'change' }
|
||||||
]
|
]
|
||||||
// parkedTime: [
|
// parkedTime: [
|
||||||
@ -96,20 +97,14 @@ export default {
|
|||||||
{ prop: 'beginTime', label: '开始时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
{ prop: 'beginTime', label: '开始时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
||||||
{ prop: 'overTime', label: '结束时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
{ prop: 'overTime', label: '结束时间', type: 'timePicker', selectableRange:'02:00:00-23:59:59'},
|
||||||
{ prop: 'departureTimeInterval', label: '发车间隔', type: 'number', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
|
{ prop: 'departureTimeInterval', label: '发车间隔', type: 'number', min:0, step:1, precisionFlag:true, precision:0, message:'s'},
|
||||||
// { prop: 'parkedTime', label: '停站时间', type: 'number', min:0, step:1, precisionFlag:true, precision:0},
|
|
||||||
// { prop: 'reentryTime', label: '折返时间', type: 'number', min:120, step:1, precisionFlag:true, precision:0, message:'s'},
|
|
||||||
{ prop: 'right', label: '发车类型', type: 'checkBox', children: [
|
{ prop: 'right', label: '发车类型', type: 'checkBox', children: [
|
||||||
{ name: '上行发车', value: 1 },
|
{ name: '上行发车', value: 1 },
|
||||||
{ name: '下次发车', value: 2 },
|
{ name: '下次发车', value: 2 },
|
||||||
{ name: '同时发车', value: 3 }
|
{ name: '同时发车', value: 3 }
|
||||||
] },
|
] },
|
||||||
// options: this.covertRouting('LOOP')
|
|
||||||
// options: this.covertRouting('LOOP')
|
|
||||||
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
{ prop: 'runningRouting1', label: '环路交路1', type: 'select', show:false},
|
||||||
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
{ prop: 'runningRouting2', label: '环路交路2', type: 'select', show:false},
|
||||||
{prop:'runningRouting', label:'环路', type: 'select', options:this.covertRouting(), noDataText:'请先设置交路', change:true, onChange:this.changeRoute}
|
{prop:'runningRouting', label:'环路', type: 'select', options:this.covertRouting(), noDataText:'请先设置交路', change:true, onChange:this.changeRoute}
|
||||||
// noDataText:'请先设置交路', change:true, onChange:this.changeRoute1
|
|
||||||
// noDataText:'请先设置交路', change:true, onChange:this.changeRoute2
|
|
||||||
// { prop: 'startStationCode', label: '起始站', type: 'select', options: this.stationList },
|
// { prop: 'startStationCode', label: '起始站', type: 'select', options: this.stationList },
|
||||||
// { prop: 'endStationCode', label: '终止站', type: 'select', options: this.stationList }
|
// { prop: 'endStationCode', label: '终止站', type: 'select', options: this.stationList }
|
||||||
]
|
]
|
||||||
@ -135,7 +130,6 @@ export default {
|
|||||||
listUserRoutingData(mapId).then(response => {
|
listUserRoutingData(mapId).then(response => {
|
||||||
const list = response.data;
|
const list = response.data;
|
||||||
list.forEach(elem=>{
|
list.forEach(elem=>{
|
||||||
// this.routingList.push({value: elem.code, label: elem.name, routingType:elem.routingType});
|
|
||||||
if (elem.routingType === 'LOOP') {
|
if (elem.routingType === 'LOOP') {
|
||||||
const name = elem.name;
|
const name = elem.name;
|
||||||
let temp = '';
|
let temp = '';
|
||||||
@ -169,6 +163,16 @@ export default {
|
|||||||
doClose() {
|
doClose() {
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.$refs.dataform.resetForm();
|
this.$refs.dataform.resetForm();
|
||||||
|
this.formModel = {
|
||||||
|
stationRunningTime: 60, // 站间运行时间
|
||||||
|
right: 3, // 是否向右发车 不填未同时发车
|
||||||
|
beginTime: '',
|
||||||
|
overTime: '',
|
||||||
|
departureTimeInterval: 180, // 发车间隔时间
|
||||||
|
runningRouting1:'', // 环路code1
|
||||||
|
runningRouting2:'', // 环路code2
|
||||||
|
runningRouting:''
|
||||||
|
};
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
},
|
},
|
||||||
handleCommit() {
|
handleCommit() {
|
||||||
@ -198,26 +202,6 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// validateRunningRouting(rule, value, callback) {
|
|
||||||
// if (value.trim().length == 0) {
|
|
||||||
// return callback(new Error('请选择环路'));
|
|
||||||
// } else {
|
|
||||||
// if (this.formModel.runningRouting1 == this.formModel.runningRouting2) {
|
|
||||||
// return callback(new Error('环路交路1和环路交路2不能相同'));
|
|
||||||
// } else {
|
|
||||||
// return callback();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// changeRoute2() {
|
|
||||||
// this.changeRoute('runningRouting2');
|
|
||||||
// },
|
|
||||||
// changeRoute1() {
|
|
||||||
// this.changeRoute('runningRouting1');
|
|
||||||
// },
|
|
||||||
// changeRoute(runningRouting) {
|
|
||||||
// if (this.formModel[runningRouting]) { this.$refs.dataform.validateField([runningRouting]); }
|
|
||||||
// },
|
|
||||||
changeRoute(runningRouting) {
|
changeRoute(runningRouting) {
|
||||||
const temp = this.runningRoutingMap[runningRouting];
|
const temp = this.runningRoutingMap[runningRouting];
|
||||||
this.formModel.runningRouting1 = temp.runningRouting1;
|
this.formModel.runningRouting1 = temp.runningRouting1;
|
||||||
@ -227,9 +211,6 @@ export default {
|
|||||||
const list = Object.values(this.runningRoutingMap);
|
const list = Object.values(this.runningRoutingMap);
|
||||||
return list.filter(route=>{ return route.runningRouting1 && route.runningRouting2; });
|
return list.filter(route=>{ return route.runningRouting1 && route.runningRouting2; });
|
||||||
}
|
}
|
||||||
// covertRouting(routingType) {
|
|
||||||
// return this.routingList.filter(route=>{ return route.routingType == routingType; });
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
Loading…
Reference in New Issue
Block a user