From 51c33e73b93ccf1243df6681f0f80166d83ae97c Mon Sep 17 00:00:00 2001 From: Leonardo Date: Thu, 21 May 2026 21:44:44 -0300 Subject: [PATCH] melissa/paciente: aba Documentos vira pagina nativa 2-col MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Antes: reusava o componente do Rail/Classic em modo embed — visual conflitava com o padrao Melissa, sem agrupamento por tipo, scroll inconsistente. Novo: MelissaPatientDocuments.vue (componente nativo 2-col seguindo MelissaDocumentosTemplates): - Sidebar esquerda: tipos de documento com contadores (Todos, Laudo, Receita, Exame, Termo assinado, Relatorio externo, Identidade, Convenio, Declaracao, Atestado, Recibo, Outro). Item ativo destaca primary; vazios em opacity 50%. - Main direita: header com titulo do tipo + count, DataView com cards (DocumentCard reusado), paginacao automatica >12, empty states distintos (global vs filtrado). - Header da pagina: botoes Refresh / Gerar / Upload (primary outlined no dark-friendly). - Mobile <1024px: sidebar vira drawer com botao "Tipos" no header (espelha padrao MelissaBloqueios/Templates). Reaproveita do features/documents: - useDocuments composable - DocumentCard, DocumentUploadDialog, DocumentPreviewDialog, DocumentGenerateDialog, DocumentSignatureDialog, DocumentShareDialog MelissaPaciente.vue: import DocumentsListPage -> Melissa PatientDocuments + uso na aba. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/layout/melissa/MelissaPaciente.vue | 17 +- .../melissa/MelissaPatientDocuments.vue | 699 ++++++++++++++++++ 2 files changed, 705 insertions(+), 11 deletions(-) create mode 100644 src/layout/melissa/MelissaPatientDocuments.vue diff --git a/src/layout/melissa/MelissaPaciente.vue b/src/layout/melissa/MelissaPaciente.vue index 6f4fd3e..fea097a 100644 --- a/src/layout/melissa/MelissaPaciente.vue +++ b/src/layout/melissa/MelissaPaciente.vue @@ -24,7 +24,7 @@ import { useToast } from 'primevue/usetoast'; import { useConversationDrawerStore } from '@/stores/conversationDrawerStore'; import { MELISSA_AGENDA_KEY } from './composables/useMelissaAgenda'; import AgendaEventDialog from '@/features/agenda/components/AgendaEventDialog.vue'; -import DocumentsListPage from '@/features/documents/DocumentsListPage.vue'; +import MelissaPatientDocuments from '@/layout/melissa/MelissaPatientDocuments.vue'; import PatientConversationsTab from '@/features/patients/prontuario/PatientConversationsTab.vue'; import PatientCadastroDialog from '@/components/ui/PatientCadastroDialog.vue'; import { usePatientDetail } from '@/features/patients/composables/usePatientDetail'; @@ -2092,16 +2092,11 @@ onBeforeUnmount(() => { - -
-
- -
-
+ + diff --git a/src/layout/melissa/MelissaPatientDocuments.vue b/src/layout/melissa/MelissaPatientDocuments.vue new file mode 100644 index 0000000..ceaf309 --- /dev/null +++ b/src/layout/melissa/MelissaPatientDocuments.vue @@ -0,0 +1,699 @@ + + + + + +