排产页面逻辑调整

dev-scheduling
zhangdi 3 months ago
parent 20b222e409
commit 71d7123e77
  1. 75
      src/views/productionSchedulingPlan/schedulingDashboard/container.vue

@ -74,7 +74,7 @@
start-placeholder="开始日期"
end-placeholder="结束日期"
size="medium"
:clearable="false"
:clearable="true"
:shortcuts="pickerOptions.shortcuts"
></el-date-picker>
</el-form-item>
@ -463,6 +463,8 @@ export default {
name: 'GanttChart',
data() {
return {
latestPlanEndTime: null, //
earliestPlanStartTime: null, //
valuerrr: '铜合金化学镀镍', //
loading: false,
formLabelAlign: {
@ -561,6 +563,12 @@ export default {
start.setHours(0, 0, 0, 0);
return start;
}
if (this.earliestPlanStartTime) {
const base = new Date(this.earliestPlanStartTime);
base.setHours(0, 0, 0, 0); // 00:00:00
return base;
}
//
const now = new Date();
const base = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 0, 0, 0);
@ -573,6 +581,12 @@ export default {
end.setHours(23, 59, 59, 999);
return end;
}
//
if (this.latestPlanEndTime) {
const end = new Date(this.latestPlanEndTime);
end.setHours(23, 59, 59, 999);
return end;
}
// +2
const now = new Date();
const base = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 2, 23, 59, 59, 999);
@ -950,7 +964,7 @@ export default {
this.formLabelAlign.planStatusList.push('1');
}
if (type == 'reset') {
sessionStorage.setItem('formLabelAlign',JSON.stringify(this.formLabelAlign))
}
this.getData();
@ -1051,10 +1065,6 @@ export default {
//
async getData(params) {
if (this.formLabelAlign.timeRange.length > 0) {
this.formLabelAlign.startTime = this.formLabelAlign.timeRange[0];
this.formLabelAlign.endTime = this.formLabelAlign.timeRange[1];
}
// if (this.formLabelAlign.planStatusList.length <= 0) {
// this.formLabelAlign.planStatusList = [];
// }
@ -1062,6 +1072,10 @@ export default {
if (seeData) {
this.formLabelAlign = JSON.parse(seeData);
}
if (this.formLabelAlign.timeRange && this.formLabelAlign.timeRange.length > 0) {
this.formLabelAlign.startTime = this.formLabelAlign.timeRange[0];
this.formLabelAlign.endTime = this.formLabelAlign.timeRange[1];
}
this.loading = true;
await getData(this.formLabelAlign).then(res => {
this.processData(res.data.data);
@ -1167,7 +1181,7 @@ export default {
woReleaseMap[order.woCode] = order.receiveTime;
});
// 3. tasks receiveTime
// 3. tasks receiveTime
tasks.sort((a, b) => {
const dateA = new Date(woReleaseMap[a.woCode] || '1970-01-01');
const dateB = new Date(woReleaseMap[b.woCode] || '1970-01-01');
@ -1178,7 +1192,28 @@ export default {
this.allOrders = orders;
this.totalOrders = orders.length;
this.taskData = tasks;
let earliest = null;
let latest = null;
tasks.forEach(task => {
if (task.planStartTime) {
const taskTime = new Date(task.planStartTime).getTime();
if (earliest === null || taskTime < earliest) {
earliest = taskTime;
}
}
if (task.planEndTime) {
const taskTime = new Date(task.planEndTime).getTime();
if (latest === null || taskTime > latest) {
latest = taskTime;
}
}
});
this.earliestPlanStartTime = earliest ? new Date(earliest) : null;
this.latestPlanEndTime = latest ? new Date(latest) : null;
console.log(new Date(earliest), this.earliestPlanStartTime, 'earliest');
this.updateCurrentPageOrders();
this.loading = false;
},
@ -1232,12 +1267,17 @@ export default {
//
handleSubmit() {
if (!this.formLabelAlign.timeRange || this.formLabelAlign.timeRange.length !== 2) {
this.$message.warning('请选择时间范围');
return;
}
// this.$message.warning('');
//
this.formLabelAlign.startTime = '';
this.formLabelAlign.endTime = '';
// return;
} else {
//
this.formLabelAlign.startTime = this.formLabelAlign.timeRange[0];
this.formLabelAlign.endTime = this.formLabelAlign.timeRange[1];
}
console.log(this.formLabelAlign, '99999');
sessionStorage.setItem('formLabelAlign', JSON.stringify(this.formLabelAlign));
@ -1258,16 +1298,16 @@ export default {
receiveTime: '', //
partCode: '', //
batchNo: '', //
planStatusList:[]
planStatusList: ['1','2','3'],
};
this.legendStatus.completed = false;
this.legendStatus.processing = true;
this.legendStatus.pending = true;
this.updateTime('reset');
// this.updateTime('reset');
sessionStorage.setItem('formLabelAlign', JSON.stringify(this.formLabelAlign));
this.getData();
},
//
@ -1516,6 +1556,15 @@ export default {
this.scrollToCurrentTime();
});
},
formatDate(date) {
if (!date) return '';
const d = new Date(date);
const year = d.getFullYear();
const month = String(d.getMonth() + 1).padStart(2, '0');
const day = String(d.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
},
},
};
</script>

Loading…
Cancel
Save