From 8c3c56de09eddf68d3e56abfe18a01d490dfa4f6 Mon Sep 17 00:00:00 2001 From: Junior Date: Sun, 15 Mar 2026 11:21:49 -0300 Subject: [PATCH] fix: calcStatus usa Date.UTC para evitar bug de timezone no vencimento --- front-end/app/pages/gestao/documentos.vue | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/front-end/app/pages/gestao/documentos.vue b/front-end/app/pages/gestao/documentos.vue index 8328117..43118f4 100644 --- a/front-end/app/pages/gestao/documentos.vue +++ b/front-end/app/pages/gestao/documentos.vue @@ -33,9 +33,11 @@ function tipoLabel(tipo: string): string { function calcStatus(dataVenc: string | null): 'sem_vencimento' | 'vencida' | 'vencendo' | 'valida' { if (!dataVenc) return 'sem_vencimento' const hoje = new Date() - hoje.setHours(0, 0, 0, 0) - const venc = new Date(dataVenc + 'T00:00:00') - const diff = (venc.getTime() - hoje.getTime()) / (1000 * 60 * 60 * 24) + const hojeMs = Date.UTC(hoje.getFullYear(), hoje.getMonth(), hoje.getDate()) + const dateStr = dataVenc.split('T')[0] // "YYYY-MM-DD" + const [y, m, d] = dateStr.split('-').map(Number) + const vencMs = Date.UTC(y, m - 1, d) + const diff = (vencMs - hojeMs) / (1000 * 60 * 60 * 24) if (diff < 0) return 'vencida' if (diff <= 30) return 'vencendo' return 'valida'