Agregar hora a laboratorios: campo, sort, display
This commit is contained in:
@@ -572,6 +572,7 @@ function SeccionLaboratorios({ lab, patientId, add, update, del, addAcidoBase }:
|
||||
const [edit, setEdit] = useState<Laboratorio | null>(null);
|
||||
const [obsLab, setObsLab] = useState<Laboratorio | null>(null);
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const [observaciones, setObservaciones] = useState('');
|
||||
const [resultados, setResultados] = useState<ResultadoLaboratorio[]>([]);
|
||||
const [hto, setHto] = useState('');
|
||||
@@ -668,6 +669,7 @@ return res;
|
||||
|
||||
const reset = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setObservaciones('');
|
||||
setHto(''); setHb(''); setGb(''); setPlaq('');
|
||||
setGluc(''); setUrea(''); setCreat('');
|
||||
@@ -851,9 +853,11 @@ for (const linea of lineas) {
|
||||
addAcidoBase(importAcidoBase);
|
||||
}
|
||||
|
||||
const horaActual = new Date().toTimeString().slice(0, 5);
|
||||
add({
|
||||
pacienteId: patientId,
|
||||
fecha: importFecha,
|
||||
hora: horaActual,
|
||||
resultados: importResultados,
|
||||
observaciones: importObservaciones
|
||||
});
|
||||
@@ -869,6 +873,7 @@ for (const linea of lineas) {
|
||||
const loadEdit = (l: Laboratorio) => {
|
||||
setEdit(l);
|
||||
setFecha(l.fecha);
|
||||
setHora(l.hora || '');
|
||||
setObservaciones(l.observaciones || '');
|
||||
setHto(getValorRaw(l, 'Hematocrito'));
|
||||
setHb(getValorRaw(l, 'Hemoglobina'));
|
||||
@@ -893,16 +898,18 @@ for (const linea of lineas) {
|
||||
const handleGuardar = () => {
|
||||
const resultadosLaboratorio = buildResultados();
|
||||
if (edit) {
|
||||
update(edit.id, { fecha, resultados: resultadosLaboratorio, observaciones });
|
||||
update(edit.id, { fecha, hora, resultados: resultadosLaboratorio, observaciones });
|
||||
} else {
|
||||
add({ pacienteId: patientId || '', fecha, resultados: resultadosLaboratorio, observaciones });
|
||||
add({ pacienteId: patientId || '', fecha, hora, resultados: resultadosLaboratorio, observaciones });
|
||||
}
|
||||
setDialog(false);
|
||||
reset();
|
||||
};
|
||||
|
||||
const labs = lab.filter(l => l.pacienteId === patientId).sort((a, b) => {
|
||||
const diff = new Date(b.fecha).getTime() - new Date(a.fecha).getTime();
|
||||
const dateA = new Date(a.fecha + 'T' + (a.hora || '00:00')).getTime();
|
||||
const dateB = new Date(b.fecha + 'T' + (b.hora || '00:00')).getTime();
|
||||
const diff = dateB - dateA;
|
||||
return labSortAsc ? -diff : diff;
|
||||
});
|
||||
|
||||
@@ -1172,7 +1179,7 @@ for (const linea of lineas) {
|
||||
<TableBody>
|
||||
{labs.map(l => (
|
||||
<TableRow key={l.id}>
|
||||
<TableCell>{l.fecha}</TableCell>
|
||||
<TableCell>{l.fecha} {l.hora || ''}</TableCell>
|
||||
<TableCell className={getValorStyle(l, 'Hematocrito')}>{getValor(l, 'Hematocrito')}</TableCell>
|
||||
<TableCell className={getValorStyle(l, 'Hemoglobina')}>{getValor(l, 'Hemoglobina')}</TableCell>
|
||||
<TableCell className={getValorStyle(l, 'Leucocitos')}>{getValor(l, 'Leucocitos')}</TableCell>
|
||||
|
||||
Reference in New Issue
Block a user