agenda: services nome unico por owner + cadastro in-flow
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) <noreply@anthropic.com>
This commit is contained in:
@@ -33,7 +33,13 @@ import PatientsCadastroPage from '@/features/patients/cadastro/PatientsCadastroP
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: { type: Boolean, default: false },
|
||||
patientId: { type: String, default: null }
|
||||
patientId: { type: String, default: null },
|
||||
|
||||
// Quando true (uso "in-flow", ex: aberto de 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 (Pacientes, Melissa).
|
||||
hideViewListButton: { type: Boolean, default: false }
|
||||
});
|
||||
const emit = defineEmits(['update:modelValue', 'created']);
|
||||
|
||||
@@ -188,9 +194,10 @@ async function onCreated(data) {
|
||||
<template #footer>
|
||||
<div class="flex justify-end gap-2">
|
||||
<Button label="Cancelar" severity="secondary" text :disabled="!!pageRef?.saving?.value || !!pageRef?.deleting?.value" @click="isOpen = false" />
|
||||
<!-- Na rota de pacientes: só "Salvar" -->
|
||||
<!-- Na rota de pacientes OU em fluxo (hideViewListButton): só um botao -->
|
||||
<Button v-if="isOnPatientsPage" label="Salvar" :loading="!!pageRef?.saving?.value" :disabled="!!pageRef?.saving?.value || !!pageRef?.deleting?.value" @click="submitWith('only')" />
|
||||
<!-- Fora da rota de pacientes: "Salvar e fechar" + "Salvar e ver pacientes" -->
|
||||
<Button v-else-if="hideViewListButton" label="Salvar e fechar" :loading="!!pageRef?.saving?.value" :disabled="!!pageRef?.saving?.value || !!pageRef?.deleting?.value" @click="submitWith('only')" />
|
||||
<!-- Standalone fora da lista: "Salvar e fechar" + "Salvar e ver pacientes" -->
|
||||
<template v-else>
|
||||
<Button label="Salvar e fechar" severity="secondary" outlined :loading="pendingMode === 'only' && !!pageRef?.saving?.value" :disabled="!!pageRef?.saving?.value || !!pageRef?.deleting?.value" @click="submitWith('only')" />
|
||||
<Button label="Salvar e ver pacientes" :loading="pendingMode === 'view' && !!pageRef?.saving?.value" :disabled="!!pageRef?.saving?.value || !!pageRef?.deleting?.value" @click="submitWith('view')" />
|
||||
|
||||
Reference in New Issue
Block a user