|
|
@@ -1171,6 +1171,9 @@ export default {
|
|
|
if (!row.startTime) {
|
|
|
return;
|
|
|
}
|
|
|
+ if (!this.checkPlanTimeRange(row, 'startTime', '计划开始时间')) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
this.selectedListData(row, item);
|
|
|
// 这一道工序的开始时间 不能小于前一道工序的结束时间
|
|
|
const startTime = new Date(row.startTime); // 开始时间
|
|
|
@@ -1251,6 +1254,9 @@ export default {
|
|
|
if (!row.endTime) {
|
|
|
return;
|
|
|
}
|
|
|
+ if (!this.checkPlanTimeRange(row, 'endTime', '计划完成时间')) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
this.selectedListData(row, item);
|
|
|
const endTime = new Date(row.endTime); // 结束时间
|
|
|
// 当前工序的结束时间 不能大于后一道工序的开始时间
|
|
|
@@ -1295,15 +1301,36 @@ export default {
|
|
|
}
|
|
|
this.checkEndTimeValid(row, item);
|
|
|
},
|
|
|
+ // 校验时间是否在生产计划范围内,不符合则提示并清空当前字段
|
|
|
+ checkPlanTimeRange(row, field, label) {
|
|
|
+ const currentTime = row[field];
|
|
|
+ if (!currentTime) return true;
|
|
|
+ const { planStartTime, planCompleteTime } = this.current || {};
|
|
|
+ const chooseTime = new Date(currentTime);
|
|
|
+ if (planStartTime && chooseTime < new Date(planStartTime)) {
|
|
|
+ this.$message.closeAll();
|
|
|
+ this.$message.info(`${label}不能小于计划开始时间${planStartTime}`);
|
|
|
+ row[field] = '';
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (planCompleteTime && chooseTime > new Date(planCompleteTime)) {
|
|
|
+ this.$message.closeAll();
|
|
|
+ this.$message.info(`${label}不能大于计划结束时间${planCompleteTime}`);
|
|
|
+ row[field] = '';
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
// 时间校验
|
|
|
checkEndTimeValid(row) {
|
|
|
const { startTime: start, endTime: end } = row;
|
|
|
- // if (!start || !end) return; // 开始/结束时间未填,跳过
|
|
|
+ if (!start || !end) return;
|
|
|
const startTime = new Date(start); // 开始时间
|
|
|
const endTime = new Date(end); // 结束时间
|
|
|
if (endTime < startTime) {
|
|
|
- row.endTime = new Date(startTime); // 修正为开始时间
|
|
|
- this.$message.info('结束时间不能早于开始时间,已自动设为开始时间');
|
|
|
+ row.endTime = '';
|
|
|
+ this.$message.closeAll();
|
|
|
+ this.$message.info('计划完成时间不能小于计划开始时间');
|
|
|
}
|
|
|
}
|
|
|
}
|