排产页面逻辑调整

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

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

Loading…
Cancel
Save