Agregar iconos y datos de paciente en modales de edición
This commit is contained in:
@@ -44,6 +44,17 @@ export function EditIngreso({
|
||||
const [apache, setApache] = useState(internacion.apache || '');
|
||||
const [derivacion, setDerivacion] = useState(internacion.derivacion || '');
|
||||
|
||||
const calcularEdad = (fechaNacimiento: string) => {
|
||||
const hoy = new Date();
|
||||
const nacimiento = new Date(fechaNacimiento);
|
||||
let edad = hoy.getFullYear() - nacimiento.getFullYear();
|
||||
const mes = hoy.getMonth() - nacimiento.getMonth();
|
||||
if (mes < 0 || (mes === 0 && hoy.getDate() < nacimiento.getDate())) {
|
||||
edad--;
|
||||
}
|
||||
return edad;
|
||||
};
|
||||
|
||||
const selectedPaciente = pacientes.find(p => p.id === pacienteSeleccionado);
|
||||
|
||||
const handleSubmit = () => {
|
||||
@@ -107,11 +118,29 @@ export function EditIngreso({
|
||||
</h3>
|
||||
|
||||
{selectedPaciente ? (
|
||||
<div className="flex items-center gap-2 flex-wrap">
|
||||
<Badge className="bg-blue-100 text-blue-800">
|
||||
<div className="space-y-2">
|
||||
<div className="flex flex-wrap gap-2">
|
||||
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||
{selectedPaciente?.apellido}, {selectedPaciente?.nombre}
|
||||
</Badge>
|
||||
<Badge variant="outline">DNI: {selectedPaciente?.dni}</Badge>
|
||||
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||
{selectedPaciente?.fechaNacimiento ? calcularEdad(selectedPaciente.fechaNacimiento) + ' años' : ''}
|
||||
</Badge>
|
||||
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||
DNI: {selectedPaciente?.dni}
|
||||
</Badge>
|
||||
</div>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
<Badge variant="secondary">
|
||||
HC: {selectedPaciente?.historiaClinica || 'N/A'}
|
||||
</Badge>
|
||||
<Badge variant="secondary">
|
||||
{selectedPaciente?.obraSocial || 'Sin obra social'}
|
||||
</Badge>
|
||||
<Badge variant="secondary">
|
||||
{selectedPaciente?.nacionalidad || 'N/A'}
|
||||
</Badge>
|
||||
</div>
|
||||
</div>
|
||||
) : (
|
||||
<>
|
||||
|
||||
@@ -242,6 +242,32 @@ export function HistoriaClinica({
|
||||
<DialogHeader>
|
||||
<DialogTitle>Editar Ingreso</DialogTitle>
|
||||
</DialogHeader>
|
||||
<Card className="bg-muted/50">
|
||||
<CardContent className="p-4">
|
||||
<div className="flex flex-wrap gap-2 mb-2">
|
||||
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||
{paciente.apellido}, {paciente.nombre}
|
||||
</Badge>
|
||||
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||
{paciente.fechaNacimiento ? calcularEdad(paciente.fechaNacimiento) + ' años' : ''}
|
||||
</Badge>
|
||||
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||
DNI: {paciente.dni}
|
||||
</Badge>
|
||||
</div>
|
||||
<div className="flex flex-wrap gap-2">
|
||||
<Badge variant="secondary">
|
||||
HC: {paciente.historiaClinica || 'N/A'}
|
||||
</Badge>
|
||||
<Badge variant="secondary">
|
||||
{paciente.obraSocial || 'Sin obra social'}
|
||||
</Badge>
|
||||
<Badge variant="secondary">
|
||||
{paciente.nacionalidad || 'N/A'}
|
||||
</Badge>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<div className="space-y-4">
|
||||
<div className="grid grid-cols-3 gap-4">
|
||||
<div>
|
||||
|
||||
@@ -154,7 +154,8 @@ export function Pacientes({
|
||||
</DialogTrigger>
|
||||
<DialogContent className="sm:max-w-2xl max-h-[90vh] overflow-y-auto">
|
||||
<DialogHeader>
|
||||
<DialogTitle>
|
||||
<DialogTitle className="flex items-center gap-2">
|
||||
{pacienteEditando ? <Edit2 className="h-5 w-5" /> : <Plus className="h-5 w-5" />}
|
||||
{pacienteEditando ? 'Editar Paciente' : 'Nuevo Paciente'}
|
||||
</DialogTitle>
|
||||
</DialogHeader>
|
||||
|
||||
Reference in New Issue
Block a user