Browse Source

2025-10-27

订单排产(无限产能)优化
master
fengyuan_yang 3 months ago
parent
commit
3256bafa5f
  1. 98
      src/views/modules/schedule/com_schedule_order_expand.vue

98
src/views/modules/schedule/com_schedule_order_expand.vue

@ -536,6 +536,7 @@ export default {
resourceShiftList: [],
orderScheduleList: [],
scheduleDetailList: [],
successScheduledList: [], //
dataListLoading: false,
//
carrierDialogVisible: false, //
@ -1512,6 +1513,18 @@ export default {
this.$message.error(`${i+1}行:需求数量必须大于0`);
return;
}
//
if(item.rowCount != null && item.rowCount < 0){
this.$message.error(`${i+1}行:排数不能为负数`);
return;
}
//
if(item.rollCount != null && item.rollCount < 0){
this.$message.error(`${i+1}行:卷数不能为负数`);
return;
}
}
//
@ -1539,8 +1552,22 @@ export default {
this.$message.error(`${i+1}行:需求数量必须大于0`);
return;
}
//
if(item.rowCount != null && item.rowCount < 0){
this.$message.error(`${i+1}行:排数不能为负数`);
return;
}
//
if(item.rollCount != null && item.rollCount < 0){
this.$message.error(`${i+1}行:卷数不能为负数`);
return;
}
}
//
this.successScheduledList = [];
//
this.executeBatchSchedule(0, true);
},
@ -1593,11 +1620,49 @@ export default {
//
return;
}else if(data.code == 201){
//
this.$message.warning(`${index+1}行:${data.msg}`);
this.executeBatchSchedule(index + 1, closeAfterFinish);
//
this.$confirm(`${index+1}行:${data.msg},是否继续执行?`, '提示', {
confirmButtonText: '继续执行',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
//
scheduleData.checkFlag = false;
scheduleOrderWithExpand(scheduleData).then(({data: retryData}) => {
if(retryData.code == 0){
this.$message.success(`${index+1}行排产成功`);
//
this.successScheduledList.push({
orderNo: scheduleData.orderNo,
itemNo: scheduleData.itemNo,
resourceId: scheduleData.resourceId,
workCenterNo: scheduleData.workCenterNo
});
//
this.executeBatchSchedule(index + 1, closeAfterFinish);
}else{
this.$message.error(`${index+1}行排产失败:${retryData.msg}`);
//
return;
}
}).catch(error => {
this.$message.error(`${index+1}行排产异常`);
console.error(error);
});
}).catch(() => {
// 201
//
this.rollbackSuccessSchedules(index);
});
}else{
//
//
this.successScheduledList.push({
orderNo: scheduleData.orderNo,
itemNo: scheduleData.itemNo,
resourceId: scheduleData.resourceId,
workCenterNo: scheduleData.workCenterNo
});
//
this.executeBatchSchedule(index + 1, closeAfterFinish);
}
}).catch(error => {
@ -1707,6 +1772,31 @@ export default {
});
},
/*回滚批量排产中已成功的记录*/
rollbackSuccessSchedules(currentIndex) {
//
//
//
this.$message.warning(`已取消批量排产,已成功排产 ${this.successScheduledList.length} 条记录保留`);
//
// currentIndex
this.scheduleDetailList = this.scheduleDetailList.slice(currentIndex);
//
this.successScheduledList = [];
//
this.refreshShopOrderData();
this.getOrderScheduleList();
//
if(this.scheduleDetailList.length > 0){
this.$message.warning(`已保留 ${this.scheduleDetailList.length} 条未执行的记录,请修改后继续操作`);
}
},
/*控制单行的背景颜色*/
controlRowStyle({row, rowIndex}){
let colorStyle = row.colorStyle;

Loading…
Cancel
Save