fase 2.6: membresias y suscripciones (modulo skeen_membresias: planes recurrentes con sesiones incluidas o ilimitadas, alta/cobro/renovacion/congelamiento/cancelacion, consumo de sesiones desde POS y expediente, cron de vencimientos y avisos, reporte de ingresos recurrentes); apagado por defecto

This commit is contained in:
2026-10-11 10:49:44 +00:00
parent 9286ab8ee2
commit 8ff13b9c2a
33 changed files with 3873 additions and 22 deletions

View File

@@ -11,6 +11,7 @@ import EstadoCuentaPrint from '../components/EstadoCuentaPrint';
import RecargarSaldoModal from '../components/RecargarSaldoModal';
import ReciboPrint from '../components/ReciboPrint';
import FormulariosPaciente from '../components/FormulariosPaciente';
import MembresiasPaciente from '../components/MembresiasPaciente';
import EnviarFormularioModal from '../components/formulario/EnviarFormularioModal';
import { usePatientDrawer } from '../components/PatientDrawer';
import {
@@ -1126,6 +1127,12 @@ const Pacientes: FC = () => {
<p className="text-sm text-theme-heading whitespace-pre-wrap">{selected.internal_notes}</p>
</div>
)}
{/* Membresías del paciente (solo si la clínica las tiene activas) */}
{selected?.id ? (
<div className="p-3 rounded-xl border border-theme-border">
<MembresiasPaciente partnerId={selected.id} />
</div>
) : null}
</div>
) : tab === 'clinical' ? (
<div className="space-y-4">