diff --git a/src/layout/melissa/MelissaAgendador.vue b/src/layout/melissa/MelissaAgendador.vue new file mode 100644 index 0000000..17875f7 --- /dev/null +++ b/src/layout/melissa/MelissaAgendador.vue @@ -0,0 +1,2235 @@ + + + + + diff --git a/src/layout/melissa/MelissaConfiguracoes.vue b/src/layout/melissa/MelissaConfiguracoes.vue index 28b360b..f5c1185 100644 --- a/src/layout/melissa/MelissaConfiguracoes.vue +++ b/src/layout/melissa/MelissaConfiguracoes.vue @@ -73,7 +73,7 @@ function secaoToRota(key) { const COMPONENT_MAP = { 'cfg-agenda': defineAsyncComponent(() => import('@/layout/configuracoes/ConfiguracoesAgendaPage.vue')), // 'cfg-bloqueios' removido — virou pagina nativa MelissaBloqueios em /melissa/bloqueios - 'cfg-agendador': defineAsyncComponent(() => import('@/layout/configuracoes/ConfiguracoesAgendadorPage.vue')), + // 'cfg-agendador' removido — virou pagina nativa MelissaAgendador em /melissa/online-scheduling 'cfg-pagamento': defineAsyncComponent(() => import('@/layout/configuracoes/ConfiguracoesPagamentoPage.vue')), 'cfg-precificacao': defineAsyncComponent(() => import('@/layout/configuracoes/ConfiguracoesPrecificacaoPage.vue')), 'cfg-descontos': defineAsyncComponent(() => import('@/layout/configuracoes/ConfiguracoesDescontosPage.vue')), @@ -151,9 +151,9 @@ const grupos = [ desc: 'Horários, bloqueios e agendador público para pacientes.', icon: 'pi pi-calendar', items: [ - { key: 'cfg-agenda', label: 'Agenda', desc: 'Horários semanais, exceções, duração e intervalo padrão.', icon: 'pi pi-calendar' }, - // "Bloqueios" virou pagina nativa em /melissa/bloqueios (MelissaBloqueios) - { key: 'cfg-agendador', label: 'Agendador Online', desc: 'Link público para pacientes solicitarem horários.', icon: 'pi pi-calendar-clock' } + { key: 'cfg-agenda', label: 'Agenda', desc: 'Horários semanais, exceções, duração e intervalo padrão.', icon: 'pi pi-calendar' } + // "Bloqueios" virou pagina nativa em /melissa/bloqueios (MelissaBloqueios) + // "Agendador Online" virou pagina nativa em /melissa/online-scheduling (MelissaAgendador) ] }, { diff --git a/src/layout/melissa/MelissaLayout.vue b/src/layout/melissa/MelissaLayout.vue index 852bd74..caf39c2 100644 --- a/src/layout/melissa/MelissaLayout.vue +++ b/src/layout/melissa/MelissaLayout.vue @@ -39,6 +39,7 @@ import MelissaNegocio from './MelissaNegocio.vue'; import MelissaAlterarPlano from './MelissaAlterarPlano.vue'; import MelissaSeguranca from './MelissaSeguranca.vue'; import MelissaBloqueios from './MelissaBloqueios.vue'; +import MelissaAgendador from './MelissaAgendador.vue'; import MelissaEmbed from './MelissaEmbed.vue'; import MelissaCadastrosRecebidos from './MelissaCadastrosRecebidos.vue'; import MelissaAgendamentosRecebidos from './MelissaAgendamentosRecebidos.vue'; @@ -187,16 +188,15 @@ const SECOES = { 'documentos': { label: 'Documentos', icon: 'pi pi-file', descricao: 'Documentos clínicos do tenant.' }, 'documentos-templates': { label: 'Templates de documentos', icon: 'pi pi-file-edit', descricao: 'Modelos pra prontuários e relatórios.' }, 'agendamentos-recebidos': { label: 'Agendamentos recebidos', icon: 'pi pi-inbox', descricao: 'Solicitações do agendador online.' }, - 'online-scheduling': { label: 'Agendador online', icon: 'pi pi-calendar-clock', descricao: 'Configure o link público de agendamento.' }, + 'online-scheduling': { label: 'Agendador online', icon: 'pi pi-calendar-clock', descricao: 'Configure o link publico, identidade visual, fluxo, pagamento e textos do agendador.' }, 'relatorios': { label: 'Relatórios', icon: 'pi pi-chart-bar', descricao: 'Indicadores clínicos e financeiros do tenant.' }, 'notificacoes': { label: 'Notificações', icon: 'pi pi-bell', descricao: 'Histórico de notificações enviadas.' }, 'link-externo': { label: 'Link externo de cadastro', icon: 'pi pi-share-alt', descricao: 'Link público pra pacientes se cadastrarem.' } }; // Set de keys que renderizam via MelissaEmbed (Onda 1 — pages 1-coluna). -// Quase todas foram promovidas pra páginas nativas; resta apenas -// 'online-scheduling' por enquanto. -const MELISSA_EMBED_KEYS = ['online-scheduling']; +// Todas foram promovidas pra paginas nativas Melissa. +const MELISSA_EMBED_KEYS = []; // Slugs reservados pra páginas dedicadas (não-config) — agenda, pacientes, // conversas etc. + as MELISSA_EMBED_KEYS. Usado no isConfigRoute pra @@ -207,6 +207,7 @@ const MELISSA_NON_CONFIG_SLUGS = new Set([ 'link-externo', 'notificacoes', 'financeiro', 'financeiro-lancamentos', 'documentos', 'documentos-templates', 'relatorios', 'perfil', 'plano', 'negocio', 'seguranca', 'bloqueios', 'alterar-plano', + 'online-scheduling', ...MELISSA_EMBED_KEYS ]); // Aliases "bonitos" + INLINE_KEYS reconhecidos pelo MelissaConfiguracoes. @@ -2252,6 +2253,11 @@ function onKeydown(e) { @close="fecharSecao" /> + +