Pacientes: estado de cuenta imprimible
- Botón en la ficha del paciente con vista de impresión: resumen (gastado, saldo pendiente marcado, monedero), detalle de ventas con pendientes resaltados, movimientos de monedero y cronología
This commit is contained in:
@@ -7,6 +7,7 @@ import {
|
||||
} from 'lucide-react';
|
||||
import Layout from '../components/Layout';
|
||||
import PatientAdjuntos from '../components/PatientAdjuntos';
|
||||
import EstadoCuentaPrint from '../components/EstadoCuentaPrint';
|
||||
import {
|
||||
Card,
|
||||
Button,
|
||||
@@ -124,6 +125,7 @@ const Pacientes: FC = () => {
|
||||
const [total, setTotal] = useState(0);
|
||||
const [totalPages, setTotalPages] = useState(0);
|
||||
const [selected, setSelected] = useState<Patient | null>(null);
|
||||
const [estadoCuentaOpen, setEstadoCuentaOpen] = useState(false);
|
||||
const [history, setHistory] = useState<{ appointments: Appointment[]; sales: Sale[]; visitas: Visita[]; estado_cuenta?: EstadoCuenta } | null>(null);
|
||||
const [historyLoading, setHistoryLoading] = useState(false);
|
||||
const [tab, setTab] = useState<'info' | 'clinical' | 'timeline' | 'docs'>('info');
|
||||
@@ -764,10 +766,16 @@ const Pacientes: FC = () => {
|
||||
title={selected?.name || 'Detalle del paciente'}
|
||||
maxWidth="2xl"
|
||||
footer={
|
||||
<Button variant="outline" onClick={() => selected && openEdit(selected)}>
|
||||
<Edit2 size={16} className="mr-2" />
|
||||
Editar paciente
|
||||
</Button>
|
||||
<div className="flex items-center gap-2">
|
||||
<Button variant="outline" onClick={() => setEstadoCuentaOpen(true)}>
|
||||
<FileText size={16} className="mr-2" />
|
||||
Estado de cuenta
|
||||
</Button>
|
||||
<Button variant="outline" onClick={() => selected && openEdit(selected)}>
|
||||
<Edit2 size={16} className="mr-2" />
|
||||
Editar paciente
|
||||
</Button>
|
||||
</div>
|
||||
}
|
||||
>
|
||||
<div className="space-y-4">
|
||||
@@ -1177,6 +1185,13 @@ const Pacientes: FC = () => {
|
||||
</div>
|
||||
)}
|
||||
</Modal>
|
||||
|
||||
{/* Vista de impresión del estado de cuenta */}
|
||||
<EstadoCuentaPrint
|
||||
isOpen={estadoCuentaOpen}
|
||||
onClose={() => setEstadoCuentaOpen(false)}
|
||||
paciente={selected}
|
||||
/>
|
||||
</Layout>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user