MelissaFinanceiro + MelissaFinanceiroLancamentos nativas
Promove '/melissa/financeiro' e '/melissa/financeiro-lancamentos' do
embed pra paginas nativas, eliminando o triplo header.
MelissaFinanceiro (dashboard, ~700L):
- Layout 1-col empilhado (sem sidebar — so cards de resumo)
- Header com ícone wallet + titulo + badge mes corrente +
botao "Ver lancamentos" + Recarregar + Voltar
- Subheader explicativo
- 4 cards empilhados:
1. Quick stats grid (Recebido verde / Pendente amber / Vencido red /
Despesas neutral)
2. Card Grafico Receita x Despesa (Chart.js bar, 6 meses)
3. Card Projecao de Caixa (cobrancas em aberto, proximos 6 meses
com receita/despesa/saldo + count badge)
4. Card Ultimos lancamentos (DataTable 5 mais recentes)
- Click "Ver lancamentos" / "Ver todos" navega pra
/melissa/financeiro-lancamentos
MelissaFinanceiroLancamentos (lista, ~1100L):
- Blueprint tabular Melissa completo
- Header com botao "Lancamento manual" + Recarregar + Voltar
- Subheader
- Sidebar com __scroll + __footer fixo:
- Stats (Pendente amber / Vencido red / Pago verde / Total)
- Filtro Status (button list: Pendentes amber / Vencidos red /
Pagos green / Cancelados neutral) + X inline
- Filtro Tipo (Receita green / Despesa red) + X inline
- Filtro Paciente (Select com filter + identification_color dot)
+ X inline
- Filtro Periodo (DatePicker range vencimento) + X inline
- Footer fixo "Limpar filtros" (Transition fade+collapse)
- Main: DataTable lazy + paginator com 7 colunas (Paciente +
avatar / Sessao / Tipo / Valor + desconto / Vencimento / Status /
Acoes). Row overdue com bg vermelho tinted.
- Acoes por status:
- pending/overdue: botoes "Receber" (abre dialog pagamento) +
"Cancelar" (Confirm)
- paid: badge "metodo + data"
- cancelled: travessao
- Mobile: sidebar vira topo (max-height 50vh)
Dialogs preservados:
- Registrar pagamento (5 metodos com icones: pix/deposito/dinheiro/
cartao/convenio)
- Lancamento manual (Paciente opcional + Valor + Desconto + Valor
final read-only + Data vencimento + Metodo opcional + Obs)
Logica preservada do composable useFinancialRecords + RPCs
(get_financial_summary, list_financial_records, view
v_cashflow_projection, mark_as_paid, cancel_record,
create_manual_record).
FinanceiroDashboardPage e FinanceiroPage continuam intactas no
layout Rail (/admin/financeiro, /therapist/financeiro).
Wire-up: imports + render blocks + 'financeiro' e
'financeiro-lancamentos' em NON_CONFIG_SLUGS; removidos de
MELISSA_EMBED_KEYS. Entries removidos do EMBED_MAP em MelissaEmbed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -29,18 +29,8 @@ const emit = defineEmits(['close']);
|
||||
// Mantido neste arquivo (não no MelissaLayout) pra que adicionar uma
|
||||
// nova page aqui não exija mexer no parent.
|
||||
const EMBED_MAP = {
|
||||
'financeiro': {
|
||||
label: 'Financeiro',
|
||||
desc: 'Visão geral, recebíveis e indicadores do mês.',
|
||||
icon: 'pi pi-wallet',
|
||||
comp: defineAsyncComponent(() => import('@/features/financeiro/pages/FinanceiroDashboardPage.vue'))
|
||||
},
|
||||
'financeiro-lancamentos': {
|
||||
label: 'Lançamentos financeiros',
|
||||
desc: 'Lista detalhada de cobranças, pagamentos e recebimentos.',
|
||||
icon: 'pi pi-list',
|
||||
comp: defineAsyncComponent(() => import('@/features/financeiro/pages/FinanceiroPage.vue'))
|
||||
},
|
||||
// 'financeiro' e 'financeiro-lancamentos' foram promovidos pra páginas
|
||||
// nativas (MelissaFinanceiro / MelissaFinanceiroLancamentos).
|
||||
'documentos': {
|
||||
label: 'Documentos',
|
||||
desc: 'Documentos clínicos do tenant — geração, edição e histórico.',
|
||||
|
||||
Reference in New Issue
Block a user