MelissaPaciente Fase 6: Tab Financeiro completa + mark paid (mutation que legacy nao tem)
EXTENSAO src/features/patients/utils/patientFormatters.js
- recordStatus(r): pago / vencido (paid_at NULL && due_date < hoje) / pendente
- RECORD_STATUS_LABEL map
- fmtPaymentMethod(v): PIX/Cartao/Dinheiro/Boleto/Transferencia/Convenio
cobrindo variantes pt-br + camelCase
EXTENSAO src/features/patients/composables/usePatientFinancial.js
- ref `busy` + `_lastPatientId` interno
- recordsOrdenados computed: DESC por due_date com fallback created_at
- markPaid(recordId): UPDATE financial_records SET paid_at=NOW() +
auto-reload via _lastPatientId. Retorna {ok, error?}
- markUnpaid(recordId): reverte (paid_at=NULL) + auto-reload
MELISSAPACIENTE.VUE — script
- Imports: recordStatus, RECORD_STATUS_LABEL, fmtPaymentMethod
- markRecordPaid(r): chama financialHook.markPaid + toast success/error
- revertRecordPaid(r): chama markUnpaid + toast
MELISSAPACIENTE.VUE — Tab Financeiro reescrita (substitui placeholder Fase 1)
- Loading state
- Empty state com CTA "Novo lancamento" (mpa-quick-btn--cta)
- 3 KPIs: Pago / Pendente com proxVenc / Em atraso (cor adaptativa
vermelho quando > 0, cinza quando 0)
- Header "Lancamentos" com badge count + botao "+ Novo" no canto
- Tabela 6-col responsiva:
- Vencimento (date mono + relative)
- Descricao
- Forma (PIX/Cartao/etc)
- Valor (mono right-aligned)
- Status pill colorida (verde pago / vermelho vencido / azul pendente)
- Action button (pi-check verde marca pago / pi-undo amarelo reverte)
- border-left adaptativa por status
- Mobile: tabela colapsa em cards 2-col 4-row
DIFERENCA DO LEGACY: o PatientProntuario.vue exibe a tabela mas NAO
permite marcar pago/reverter direto dela. MelissaPaciente adiciona essa
acao inline (mutation auto-reload).
CSS: ~190L novos. Padrao Melissa: status pills com color-mix, JetBrains
Mono pra valores, header cell uppercase letter-spacing.
ESLint: 0 errors da minha mudanca.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -50,6 +50,50 @@ Touched: none
|
||||
## [2026-05-08 00:00] session | Melissa cfg-* nativas + temas + cronometro DB
|
||||
Touched: none
|
||||
|
||||
## [2026-05-08 17:30] session | MelissaPaciente Fase 6 — Tab Financeiro completa + mark paid mutation
|
||||
Touched: none
|
||||
Detalhes: Tab Financeiro espelha o legacy + adiciona mutation que o
|
||||
legacy NAO tem (mark/unmark pago direto da tabela).
|
||||
|
||||
EXTENSAO patientFormatters.js:
|
||||
- recordStatus(r): pago | vencido | pendente
|
||||
- RECORD_STATUS_LABEL map.
|
||||
- fmtPaymentMethod(v): PIX/Cartao/Dinheiro/Boleto/Transferencia/Convenio
|
||||
cobrindo variantes.
|
||||
|
||||
EXTENSAO usePatientFinancial.js:
|
||||
- ref `busy` + `_lastPatientId` interno.
|
||||
- recordsOrdenados computed (DESC por due_date com fallback created_at).
|
||||
- markPaid(recordId): UPDATE financial_records SET paid_at=NOW() + auto-
|
||||
reload. Retorna {ok, error?}.
|
||||
- markUnpaid(recordId): UPDATE SET paid_at=NULL + auto-reload (reverte).
|
||||
|
||||
MELISSAPACIENTE.VUE — script
|
||||
- Imports: recordStatus, RECORD_STATUS_LABEL, fmtPaymentMethod.
|
||||
- markRecordPaid(record) handler: chama markPaid + toast success/error.
|
||||
- revertRecordPaid(record): chama markUnpaid + toast.
|
||||
|
||||
MELISSAPACIENTE.VUE — Tab Financeiro reescrita
|
||||
- Loading state.
|
||||
- Empty state com CTA "Novo lancamento" (botao mpa-quick-btn--cta).
|
||||
- 3 KPIs (Pago / Pendente com proxVenc / Em atraso com cor adaptativa).
|
||||
- Header "Lancamentos" com badge count + botao "+ Novo" no canto.
|
||||
- Tabela 6-col: Vencimento (date mono+rel) | Descricao | Forma | Valor
|
||||
(mono right) | Status pill colorida (pago verde / vencido vermelho /
|
||||
pendente azul) | Action button.
|
||||
- Action: pi-check (verde) pra marcar pago, pi-undo (amarelo) pra reverter.
|
||||
- border-left adaptativa por status (verde pago / vermelho vencido /
|
||||
azul pendente).
|
||||
- Mobile: tabela colapsa em cards 2-col 4-row (date|amount / desc /
|
||||
method|status / action).
|
||||
|
||||
CSS: ~190L novos pros componentes (mpa-fin__table/row/date/desc/method/
|
||||
amount/status/action + responsive). Padrao Melissa: status pills com
|
||||
color-mix, JetBrains Mono pra valores, header cell uppercase letter-
|
||||
spacing.
|
||||
|
||||
ESLint: 0 errors da minha mudanca.
|
||||
|
||||
## [2026-05-08 16:30] session | MelissaPaciente Fase 5 — Tab Agenda completa
|
||||
Touched: none
|
||||
Detalhes: Tab Agenda com KPIs, filtros, agrupamento por mes e acoes
|
||||
|
||||
Reference in New Issue
Block a user