From a5debb7abdc5e30e74f0e5912b4c57e5e0f9dfd1 Mon Sep 17 00:00:00 2001 From: Marcos Reifonas Date: Mon, 14 Sep 2026 12:47:18 +0000 Subject: [PATCH] fix: sincronizar impressao direta de prioridades com regras e template do PDF --- .../prioridades/PrioridadesPDFTemplate.tsx | 4 +- src/pages/PrioridadesFabricacao.tsx | 361 ++---------------- 2 files changed, 38 insertions(+), 327 deletions(-) diff --git a/src/components/prioridades/PrioridadesPDFTemplate.tsx b/src/components/prioridades/PrioridadesPDFTemplate.tsx index 2a91c48..6a938f9 100644 --- a/src/components/prioridades/PrioridadesPDFTemplate.tsx +++ b/src/components/prioridades/PrioridadesPDFTemplate.tsx @@ -3,6 +3,7 @@ import React from 'react'; import { ItemPrioridade } from '@/hooks/useItensPrioridadeFabricacao'; interface PrioridadesPDFTemplateProps { + id?: string; itensPorPrioridade: { [key: string]: ItemPrioridade[] }; ofSelecionada?: string | null; faseSelecionada?: string | null; @@ -14,6 +15,7 @@ interface PrioridadesPDFTemplateProps { } export const PrioridadesPDFTemplate: React.FC = ({ + id, itensPorPrioridade, ofSelecionada, faseSelecionada, @@ -144,7 +146,7 @@ export const PrioridadesPDFTemplate: React.FC = ({ }; return ( -
+
- - -
- -
-
-

Checklist de Produção

-

Formulário para apontamento da fabricação.

-
-
-

Data de Emissão: ${dataAtual} - Rev. ${revisaoParaImprimir} -

-
-
- - -
-
- -
-

Ordem de Fabricação (OF)

-

${ofSelecionada}

-
- -
-

Fase

-

${faseSelecionada}

-
- -
-

PROCESSO

-
-
- - - - Corte -
-
- - - - Solda -
-
- - - - Pintura -
-
- - - - Expedição -
-
-
-
-
- - -
- Legenda: - Marca (Qtd) - (S/M) - = Sem Montagem (borda tracejada), - (C/M) - = Com Montagem (borda contínua). Os quadrados - - - - indicam o controle de peças (quadrados com número = lotes de 50, 10 ou 5 unidades; vazios = 1 unidade). -
- -
- ${itemsContent} -
-
- - - - - `; - - printWindow.document.write(printContent); - printWindow.document.close(); - + setIsPrintingDirect(true); + await printProfessionalPDF('prioridades-direct-print-content'); toast.success('Relatório enviado para impressão'); } catch (error) { console.error('Erro ao imprimir:', error); toast.error('Erro ao imprimir o relatório'); + } finally { + setIsPrintingDirect(false); } }; @@ -463,10 +150,19 @@ const PrioridadesFabricacao = () => { variant="outline" size="sm" onClick={handleImprimirRelatorio} - disabled={!ofSelecionada || !faseSelecionada} + disabled={!ofSelecionada || !faseSelecionada || isPrintingDirect} > - - Imprimir + {isPrintingDirect ? ( + <> + + Imprimindo... + + ) : ( + <> + + Imprimir + + )}
);