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 [apache, setApache] = useState(internacion.apache || '');
|
||||||
const [derivacion, setDerivacion] = useState(internacion.derivacion || '');
|
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 selectedPaciente = pacientes.find(p => p.id === pacienteSeleccionado);
|
||||||
|
|
||||||
const handleSubmit = () => {
|
const handleSubmit = () => {
|
||||||
@@ -107,11 +118,29 @@ export function EditIngreso({
|
|||||||
</h3>
|
</h3>
|
||||||
|
|
||||||
{selectedPaciente ? (
|
{selectedPaciente ? (
|
||||||
<div className="flex items-center gap-2 flex-wrap">
|
<div className="space-y-2">
|
||||||
<Badge className="bg-blue-100 text-blue-800">
|
<div className="flex flex-wrap gap-2">
|
||||||
|
<Badge variant="outline" className="bg-primary/10 text-primary border-primary/30">
|
||||||
{selectedPaciente?.apellido}, {selectedPaciente?.nombre}
|
{selectedPaciente?.apellido}, {selectedPaciente?.nombre}
|
||||||
</Badge>
|
</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>
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<>
|
<>
|
||||||
|
|||||||
@@ -242,6 +242,32 @@ export function HistoriaClinica({
|
|||||||
<DialogHeader>
|
<DialogHeader>
|
||||||
<DialogTitle>Editar Ingreso</DialogTitle>
|
<DialogTitle>Editar Ingreso</DialogTitle>
|
||||||
</DialogHeader>
|
</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="space-y-4">
|
||||||
<div className="grid grid-cols-3 gap-4">
|
<div className="grid grid-cols-3 gap-4">
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -154,7 +154,8 @@ export function Pacientes({
|
|||||||
</DialogTrigger>
|
</DialogTrigger>
|
||||||
<DialogContent className="sm:max-w-2xl max-h-[90vh] overflow-y-auto">
|
<DialogContent className="sm:max-w-2xl max-h-[90vh] overflow-y-auto">
|
||||||
<DialogHeader>
|
<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'}
|
{pacienteEditando ? 'Editar Paciente' : 'Nuevo Paciente'}
|
||||||
</DialogTitle>
|
</DialogTitle>
|
||||||
</DialogHeader>
|
</DialogHeader>
|
||||||
|
|||||||
Reference in New Issue
Block a user