From fd51747f9efbd6510a8e7d94eb48d49928ffa66c Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Fri, 11 Sep 2026 14:58:11 +0800 Subject: [PATCH] =?UTF-8?q?package=20=E6=97=A5=E6=9C=9F=20>=20baseline?= =?UTF-8?q?=EF=BC=9ADelay-{=E5=BD=93=E5=89=8D=E5=B7=A5=E5=BA=8F}=20package?= =?UTF-8?q?=20=E6=97=A5=E6=9C=9F=20=E2=89=A4=20baseline=EF=BC=9AOn=20sched?= =?UTF-8?q?ule-{=E5=BD=93=E5=89=8D=E5=B7=A5=E5=BA=8F}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sampleTracking/projectProofTracking.vue | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/views/modules/sampleTracking/projectProofTracking.vue b/src/views/modules/sampleTracking/projectProofTracking.vue index a340690..daea97d 100644 --- a/src/views/modules/sampleTracking/projectProofTracking.vue +++ b/src/views/modules/sampleTracking/projectProofTracking.vue @@ -6260,20 +6260,33 @@ export default { } return this.getTrackingStatusProcessLabel(row, processCol) }, - getTrackingStatusType (row) { + getTrackingPackageDate (row) { if (!row) { return '' } const requiredDeliveryDate = this.formatDate(row.requiredDeliveryDate) - if (!requiredDeliveryDate) { + if (requiredDeliveryDate) { + return requiredDeliveryDate + } + // requiredDeliveryDate 与 Delivery&Package 工序日期同一口径,主字段缺失时回退工序实际日期。 + return this.formatDate(row.deliveryPackageActualDate) + }, + getTrackingStatusType (row) { + if (!row) { + return '' + } + const packageDate = this.getTrackingPackageDate(row) + const baseline = this.formatDate(row.baseline) + // 缺少 package 或 baseline 时无法判定延期,保持空状态由文案函数显示 '-'。 + if (!packageDate || !baseline) { return '' } - const today = this.formatDate(new Date()) - // 按业务口径:今日 <= 预计完成日期 判定为 On schedule,其余判定为 Delay。 - if (today <= requiredDeliveryDate) { - return 'onSchedule' + // Delay 按 Delivery&Package 相对原计划判定:package 晚于 baseline 即延期, + // 不再用“今天 vs 预计完成日期”,避免计划已改期后仍显示 On schedule。 + if (packageDate > baseline) { + return 'delay' } - return 'delay' + return 'onSchedule' }, isProofingFinishedForTrackingStatus (row) { if (!row || this.isBlankValue(row.proofingStatus)) {