From 8e3c09d1b16b282174a015b4a9816e976e48e412 Mon Sep 17 00:00:00 2001 From: Leonardo Date: Mon, 11 May 2026 10:44:27 -0300 Subject: [PATCH] agenda: services nome unico por owner + cadastro in-flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit services: useServices.save e ServiceQuickCreateDialog agora validam nome unico por owner (ilike, case-insensitive; ignora self no update). Antes era possivel criar dois servicos com nome igual via paths diferentes. cadastro in-flow: ComponentCadastroRapido e PatientCadastroDialog ganham prop hideViewListButton. Quando true (uso dentro de outro fluxo, ex: cadastrar paciente direto no AgendaEventDialog), esconde "Salvar e ver pacientes" — navegar pra lista abandonaria o evento em edicao. Co-Authored-By: Claude Opus 4.7 (1M context) --- src/components/ComponentCadastroRapido.vue | 13 ++++++++++--- src/components/ui/PatientCadastroDialog.vue | 13 ++++++++++--- .../components/ServiceQuickCreateDialog.vue | 15 ++++++++++++++- src/features/agenda/composables/useServices.js | 15 +++++++++++++++ 4 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/components/ComponentCadastroRapido.vue b/src/components/ComponentCadastroRapido.vue index e2d6db5..8b47dc8 100644 --- a/src/components/ComponentCadastroRapido.vue +++ b/src/components/ComponentCadastroRapido.vue @@ -90,7 +90,13 @@ const props = defineProps({ initialData: { type: Object, default: () => ({}) }, closeOnCreated: { type: Boolean, default: true }, - resetOnOpen: { type: Boolean, default: true } + resetOnOpen: { type: Boolean, default: true }, + + // Quando true (uso "in-flow", ex: dentro do AgendaEventDialog), + // esconde o botao "Salvar e ver pacientes" — navegar pra lista + // abandonaria o fluxo onde o cadastro foi aberto. Default false + // mantem o botao visivel pra usos standalone (sidebar, menu). + hideViewListButton: { type: Boolean, default: false } }); const emit = defineEmits(['update:modelValue', 'created']); @@ -346,9 +352,10 @@ async function submit(mode = 'only') {