Fix Evolucion button in Laboratorios tab and add Copiar para Evolucion option
This commit is contained in:
@@ -951,13 +951,20 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
];
|
||||
|
||||
const datosEvolucion = lab
|
||||
.filter(l => l.resultados.some(r => r.parametro === parametroEvolucion))
|
||||
.sort((a, b) => new Date(a.fecha).getTime() - new Date(b.fecha).getTime())
|
||||
.filter(l => l.pacienteId === patientId && l.resultados.some(r => r.parametro === parametroEvolucion))
|
||||
.sort((a, b) => new Date(a.fecha + 'T' + (a.hora || '00:00')).getTime() - new Date(b.fecha + 'T' + (b.hora || '00:00')).getTime())
|
||||
.map(l => {
|
||||
const r = l.resultados.find(r => r.parametro === parametroEvolucion);
|
||||
return { fecha: l.fecha, valor: r ? parseFloat(String(r.valor)) : null };
|
||||
return { fecha: `${l.fecha}${l.hora ? ' ' + l.hora : ''}`, valor: r ? parseFloat(String(r.valor)) : null };
|
||||
});
|
||||
|
||||
const copiarResumenLaboratorio = (l: Laboratorio) => {
|
||||
const resumen = l.resultados.map(r => `${r.parametro}: ${r.valor} ${r.unidad || ''}`.trim()).join(' | ');
|
||||
const texto = `Laboratorio (${l.fecha}${l.hora ? ' ' + l.hora : ''}): ${resumen}${l.observaciones ? '\nObs: ' + l.observaciones : ''}`;
|
||||
navigator.clipboard.writeText(texto);
|
||||
toast.success('Resumen de laboratorio copiado al portapapeles');
|
||||
};
|
||||
|
||||
const getValor = (l: Laboratorio, param: string) => {
|
||||
const r = l.resultados.find(r => r.parametro === param);
|
||||
return r ? `${r.valor}` : '-';
|
||||
@@ -1400,7 +1407,7 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
<div className="flex justify-between">
|
||||
<div className="flex gap-2">
|
||||
{canEdit && <Button variant="outline" onClick={() => { reset(); setDialog(true); }}><Plus className="h-4 w-4 mr-2" />Nuevo</Button>}
|
||||
<Button variant="outline" onClick={() => { setSelectedLab(lab[0] || null); setParametroEvolucion('Hematocrito'); setEvolDialog(true); }}><TrendingUp className="h-4 w-4 mr-2" />Evolución</Button>
|
||||
<Button variant="outline" onClick={() => { setParametroEvolucion('Hematocrito'); setEvolDialog(true); }}><TrendingUp className="h-4 w-4 mr-2" />Evolución</Button>
|
||||
<Button variant="outline" onClick={() => { setImportFecha(new Date().toISOString().split('T')[0]); setImportHora(new Date().toTimeString().slice(0, 5)); setImportTexto(''); setImportResultados([]); setImportObservaciones(''); setImportDialog(true); }}><FileText className="h-4 w-4 mr-2" />Importar</Button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1709,6 +1716,10 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
<ClipboardList className="mr-2 h-4 w-4" />
|
||||
Ver Observaciones
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem onClick={() => copiarResumenLaboratorio(l)}>
|
||||
<FileText className="mr-2 h-4 w-4 text-emerald-600" />
|
||||
Copiar para Evolución
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
</TableCell>
|
||||
|
||||
Reference in New Issue
Block a user