diff --git a/src/layout/melissa/MelissaPaciente.vue b/src/layout/melissa/MelissaPaciente.vue index 26b5f1b..4a5d3b0 100644 --- a/src/layout/melissa/MelissaPaciente.vue +++ b/src/layout/melissa/MelissaPaciente.vue @@ -24,6 +24,7 @@ import { useToast } from 'primevue/usetoast'; import { useConversationDrawerStore } from '@/stores/conversationDrawerStore'; import DocumentsListPage from '@/features/documents/DocumentsListPage.vue'; import PatientConversationsTab from '@/features/patients/prontuario/PatientConversationsTab.vue'; +import PatientCadastroDialog from '@/components/ui/PatientCadastroDialog.vue'; import { usePatientDetail } from '@/features/patients/composables/usePatientDetail'; import { usePatientSessions } from '@/features/patients/composables/usePatientSessions'; import { usePatientFinancial } from '@/features/patients/composables/usePatientFinancial'; @@ -338,11 +339,22 @@ function goToPacientes() { router.push('/melissa/pacientes'); } -// Edit: navega pra /melissa/pacientes?edit= e a propria -// MelissaPacientes detecta esse query param e abre o cadastroFullDialog. +// Edit: abre o PatientCadastroDialog INLINE (sem sair do prontuario). +// Antes redirecionava pra /melissa/pacientes?edit=X mas isso saia da +// tela do prontuario. Agora o dialog abre por cima e ao salvar +// recarrega os dados do paciente in-place. +const cadastroOpen = ref(false); +const cadastroPatientId = ref(null); function editPatient() { emit('edit', props.patientId); - router.push({ path: '/melissa/pacientes', query: { edit: props.patientId } }); + cadastroPatientId.value = String(props.patientId || ''); + cadastroOpen.value = true; +} +async function onPatientSaved() { + cadastroOpen.value = false; + if (props.patientId) { + await detail.load(props.patientId); + } } // Open WhatsApp: usa o conversationDrawerStore global (mesmo padrao @@ -1870,6 +1882,15 @@ onBeforeUnmount(() => { + + +