diff --git a/src/App.tsx b/src/App.tsx index d309ff0..6d2877b 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -157,6 +157,7 @@ function AppContent() { onActualizarCultivo={store.actualizarCultivo} onEliminarCultivo={store.eliminarCultivo} onAgregarEstudioComplementario={(e) => store.agregarEstudioComplementario({ ...e, internacionId: internacion.id })} + onActualizarEstudioComplementario={store.actualizarEstudioComplementario} onEliminarEstudioComplementario={store.eliminarEstudioComplementario} onActualizarInternacion={store.actualizarInternacion} onActualizarCama={store.actualizarCama} diff --git a/src/sections/HistoriaClinica.tsx b/src/sections/HistoriaClinica.tsx index ff20283..d5b7f13 100644 --- a/src/sections/HistoriaClinica.tsx +++ b/src/sections/HistoriaClinica.tsx @@ -75,6 +75,7 @@ interface HistoriaClinicaProps { onActualizarCultivo: (id: string, datos: Partial) => void; onEliminarCultivo: (id: string) => void; onAgregarEstudioComplementario: (estudio: Omit) => void; + onActualizarEstudioComplementario: (id: string, datos: Partial) => void; onEliminarEstudioComplementario: (id: string) => void; onActualizarInternacion: (id: string, datos: Partial) => void; onActualizarCama: (id: string, datos: Partial) => void; @@ -305,7 +306,7 @@ export function HistoriaClinica({

{internacion.diagnosticoIngreso}

- + Detalle Episodio Actual @@ -473,8 +474,8 @@ export function HistoriaClinica({ - Ácido-Base - AB + EAB + EAB ({acidosBase.length}) @@ -513,6 +514,8 @@ export function HistoriaClinica({ internacionId={internacion.id} pacienteId={paciente.id} add={onAgregarEstudioComplementario} + // @ts-expect-error - type issue with onActualizarEstudioComplementario + update={onActualizarEstudioComplementario} del={onEliminarEstudioComplementario} /> @@ -1835,11 +1838,12 @@ function SeccionCultivos({ cults, patient, add, update, del }: { ); } -function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, add, del }: { +function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, add, update, del }: { estudios: EstudioComplementario[]; internacionId: string; pacienteId: string; add: (e: Omit) => void; + update: (id: string, datos: Partial) => void; del: (id: string) => void; }) { const [dialog, setDialog] = useState(false); @@ -1847,6 +1851,7 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]); const [tipo, setTipo] = useState(''); const [resultado, setResultado] = useState(''); + const [edit, setEdit] = useState(null); const estudiosFiltrados = filtro === 'internacion' ? estudios.filter(e => e.internacionId === internacionId) @@ -1856,17 +1861,30 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a setFecha(new Date().toISOString().split('T')[0]); setTipo(''); setResultado(''); + setEdit(null); + }; + + const loadEdit = (e: EstudioComplementario) => { + setEdit(e); + setFecha(e.fecha); + setTipo(e.tipo); + setResultado(e.resultado); + setDialog(true); }; const handleGuardar = () => { if (!tipo || !resultado) return; - add({ - pacienteId, - internacionId, - fecha, - tipo, - resultado, - }); + if (edit) { + update(edit.id, { fecha, tipo, resultado }); + } else { + add({ + pacienteId, + internacionId, + fecha, + tipo, + resultado, + }); + } setDialog(false); reset(); }; @@ -1894,7 +1912,7 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a - Nuevo Estudio Complementario + {edit ? 'Editar' : 'Nuevo'} Estudio Complementario
@@ -1948,9 +1966,14 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a

{e.tipo}

{e.resultado}

- +
+ + +