agenda: C9 OK + rowGroup por paciente em /financeiro + bubble cobranca-atualizada
Cenário 9 (Per-session — Michael Balint 12 × R$ 150)
- Testado e passou. 1 rule + 12 agenda_eventos materializadas + 12
financial_records pending. Sem billing_contract. Badge $ em todas as
12 sessões. Conforme esperado.
/melissa/financeiro-lancamentos: agrupado por paciente
- DataTable com rowGroupMode='subheader' + groupRowsBy='patient_id'
- Header de grupo com avatar + nome + badge "N lançamento(s)"
- expandableRowGroups + v-model:expandedRowGroups; watcher popula
todos os grupos da página atual como expandidos (sempre que
recordsGrouped muda — refletindo paginação/filtros)
- Sort outer por nome do paciente, preserva inner order
(pai → filhos de multas/taxas via mesmo agenda_evento_id)
Bubble-up @cobranca-atualizada → M.refetch
- Antes: ao marcar como pago no dialog, o card no FC ficava stale
até trocar de view. AgendaEventoFinanceiroPanel emitia
cobranca-atualizada mas só o loadOccFinancialRecord do dialog
escutava; o _paymentStateMap da agenda nao re-rodava.
- Fix: AgendaEventDialog ganhou _onCobrancaAtualizada que dispara
loadOccFinancialRecord() E emit('cobranca-atualizada') pra cima.
MelissaLayout escuta nos 2 dialogs e chama M.refetch() +
refetchEventosHoje(). Card passa pra borda verde na hora.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -14,6 +14,38 @@ Chronological, append-only record of everything that's happened in this wiki.
|
||||
|
||||
---
|
||||
|
||||
## [2026-05-20 06:00] session | C9 OK + rowGroup por paciente + bubble cobranca-atualizada
|
||||
Touched: none (codigo + HANDOFF)
|
||||
Detalhes:
|
||||
|
||||
CENARIO 9 (per_session):
|
||||
- Michael Balint 12 sessoes R$ 150 modo "1 por sessao"
|
||||
- DB conforme esperado: 1 rule, 12 events materializadas, 0 contracts,
|
||||
12 records pending (R$ 150 cada)
|
||||
- Visual: 12 badges $ amber, todas pending. Sem linha de pacote no
|
||||
popover (per_session nao usa contract).
|
||||
|
||||
ROWGROUP NO /melissa/financeiro-lancamentos:
|
||||
- DataTable com rowGroupMode='subheader' + groupRowsBy='patient_id'
|
||||
- Default todos expandidos (watcher recalcula a cada recordsGrouped)
|
||||
- Header de grupo: avatar + nome + badge "N lançamento(s)"
|
||||
- Sort outer por nome de paciente, preserva ordem interna pai→filhos
|
||||
- Click no chevron contrai/expande
|
||||
|
||||
BUBBLE @cobranca-atualizada:
|
||||
- Bug: card na agenda nao atualizava badge/borda apos marcar como
|
||||
pago no dialog (so dava refresh ao trocar de view)
|
||||
- Root cause: AgendaEventoFinanceiroPanel.@cobranca-atualizada
|
||||
disparava so loadOccFinancialRecord (interno do dialog). O
|
||||
_paymentStateMap da agenda ficava stale.
|
||||
- Fix: AgendaEventDialog tem agora _onCobrancaAtualizada que faz
|
||||
loadOccFinancialRecord + emit('cobranca-atualizada'). MelissaLayout
|
||||
escuta nos 2 dialogs e chama M.refetch() + refetchEventosHoje().
|
||||
Card no FC passa pra borda verde imediatamente.
|
||||
|
||||
PROXIMO: Cenario 10 (status change avulsa — realizado/faltou/cancelado
|
||||
+ STATUS_TO_EXCEPTION em financial_exceptions).
|
||||
|
||||
## [2026-05-20 03:00] session | C8 OK + Usar/Revogar saldo + UI pacote + ajustes UX
|
||||
Touched: none (sem nova wiki page; mudancas em codigo + HANDOFF)
|
||||
Detalhes: noite longa cobrindo C8 (pacote saldo) e principalmente
|
||||
|
||||
Reference in New Issue
Block a user