Se corige bug que no permitia que se guarde indicacion no farmacologica

This commit is contained in:
2026-04-21 23:53:31 -03:00
parent 7f87bfe61d
commit cc9df91ac1
3 changed files with 16 additions and 16 deletions
+10 -11
View File
@@ -25,9 +25,9 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
const [edit, setEdit] = useState<Indicacion | null>(null);
const formatIndicacion = (i: Indicacion): string => {
if (i.tipo === 'Farmacologica') return `${i.droga || ''} ${i.dosis || ''} ${i.frecuenciaHoras ? `c/${i.frecuenciaHoras}hs` : ''} ${i.via || ''}`.trim();
if (i.tipo === 'Farmacologica' || i.tipo === 'Farmacologica Profilactica') return `${i.droga || ''} ${i.dosis || ''} ${i.frecuenciaHoras ? `c/${i.frecuenciaHoras}hs` : ''} ${i.via || ''}`.trim();
if (i.tipo === 'Farmacologica Insulina') return `${i.tipoInsulina || ''}${i.unidadesDesayuno ? ` - Desayuno: ${i.unidadesDesayuno}U` : ''}${i.unidadesAlmuerzo ? ` - Almuerzo: ${i.unidadesAlmuerzo}U` : ''}${i.unidadesNoche ? ` - 23hs: ${i.unidadesNoche}U` : ''}`.trim();
if (i.tipo === 'No Farmacologica') return i.descripcion || '';
if (i.tipo === 'No Farmacologica') return i.indicacionNoFco || '';
if (i.tipo === 'PHP' || i.tipo === 'PHP Paralelo') return `${i.tipoPlan || ''} ${i.cantidadMl || ''}ml en ${i.tiempoHoras || ''}hs`;
if (i.tipo === 'PHP Alterno') return `${i.tipoPlan || ''} ${i.cantidadMl || ''}ml + ${i.tipoPlan2 || ''} ${i.cantidadMl2 || ''}ml en ${i.tiempoHoras || ''}hs`;
return '';
@@ -58,7 +58,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
const [dosis, setDosis] = useState('');
const [frecuenciaHoras, setFrecuenciaHoras] = useState<number | ''>('');
const [via, setVia] = useState<ViaAdministracion>('EV');
const [descripcion, setDescripcion] = useState('');
const [indicacionNoFco, setIndicacionNoFco] = useState('');
const [tipoPlan, setTipoPlan] = useState<TipoPlanHidratacion>('SF 0.9%');
const [tipoPlan2, setTipoPlan2] = useState<TipoPlanHidratacion>('Ringer Lactato');
const [cantidadMl, setCantidadMl] = useState<number | ''>('');
@@ -83,7 +83,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
setDosis('');
setFrecuenciaHoras('');
setVia('EV');
setDescripcion('');
setIndicacionNoFco('');
setTipoPlan('SF 0.9%');
setTipoPlan2('Ringer Lactato');
setCantidadMl('');
@@ -103,7 +103,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
setDosis(i.dosis || '');
setFrecuenciaHoras(i.frecuenciaHoras || '');
setVia(i.via || 'EV');
setDescripcion(i.descripcion || '');
setIndicacionNoFco(i.indicacionNoFco || '');
setTipoPlan(i.tipoPlan || 'SF 0.9%');
setTipoPlan2(i.tipoPlan2 || 'Ringer Lactato');
setCantidadMl(i.cantidadMl || '');
@@ -121,7 +121,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
if (!medico.trim()) return;
if ((tipo === 'Farmacologica' || tipo === 'Farmacologica Profilactica') && (!droga.trim() || !dosis.trim())) return;
if (tipo === 'Farmacologica Insulina' && (!unidadesDesayuno && !unidadesAlmuerzo && !unidadesNoche)) return;
if (tipo === 'No Farmacologica' && !descripcion.trim()) return;
if (tipo === 'No Farmacologica' && !indicacionNoFco.trim()) return;
if ((tipo === 'PHP' || tipo === 'PHP Paralelo') && !cantidadMl) return;
if (tipo === 'PHP Alterno' && (!cantidadMl || !cantidadMl2)) return;
@@ -143,9 +143,8 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
data.unidadesDesayuno = unidadesDesayuno || undefined;
data.unidadesAlmuerzo = unidadesAlmuerzo || undefined;
data.unidadesNoche = unidadesNoche || undefined;
console.log('Guardando insulina:', tipoInsulina, unidadesDesayuno, unidadesAlmuerzo, unidadesNoche);
} else if (tipo === 'No Farmacologica') {
data.descripcion = descripcion;
data.indicacionNoFco = indicacionNoFco;
} else if (tipo === 'PHP' || tipo === 'PHP Paralelo') {
data.tipoPlan = tipoPlan;
data.cantidadMl = cantidadMl;
@@ -252,7 +251,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
<Input value={medico} onChange={e => setMedico(e.target.value)} placeholder="Nombre del médico" />
</div>
{tipo === 'Farmacologica' && (
{tipo === 'Farmacologica' && (
<>
<div><Label>Droga *</Label><Input value={droga} onChange={e => setDroga(e.target.value)} placeholder="Nombre del medicamento" /></div>
<div><Label>Dosis *</Label><Input value={dosis} onChange={e => setDosis(e.target.value)} placeholder="Ej: 500mg, 1g, 10ml" /></div>
@@ -284,7 +283,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
)}
{tipo === 'No Farmacologica' && (
<div><Label>Descripción *</Label><textarea className="w-full p-2 border rounded-md text-sm min-h-[80px] bg-transparent dark:bg-input/30" value={descripcion} onChange={e => setDescripcion(e.target.value)} placeholder="Ej: Control de signos vitales, Dieta, etc." /></div>
<div><Label>Indicacionión *</Label><textarea className="w-full p-2 border rounded-md text-sm min-h-[80px] bg-transparent dark:bg-input/30" value={indicacionNoFco} onChange={e => setIndicacionNoFco(e.target.value)} placeholder="Ej: Control de signos vitales, Dieta, etc." /></div>
)}
{(tipo === 'PHP' || tipo === 'PHP Paralelo') && (
@@ -344,7 +343,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, add, updat
</div>
)}
{ind.tipo === 'No Farmacologica' && (
<div className="font-medium">{ind.descripcion}</div>
<div className="font-medium">{ind.indicacionNoFco}</div>
)}
{(ind.tipo === 'PHP' || ind.tipo === 'PHP Paralelo') && (
<div className="font-medium">{ind.tipoPlan} {ind.cantidadMl}ml en {ind.tiempoHoras}hs</div>
+1 -1
View File
@@ -185,7 +185,7 @@ export interface Indicacion {
dosis?: string;
frecuenciaHoras?: number;
via?: ViaAdministracion;
descripcion?: string;
indicacionNoFco?: string;
tipoPlan?: TipoPlanHidratacion;
tipoPlan2?: TipoPlanHidratacion;
cantidadMl?: number;