Corregir desajuste de zona horaria usando fecha local getLocalToday en lugar de UTC ISO
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { useState, useEffect, useCallback } from 'react';
|
||||
import { toast } from 'sonner';
|
||||
import { getNombreProfesional, isCamaFueraDeGrupo, computeSector, sortCamas } from '@/lib/utils';
|
||||
import { getNombreProfesional, isCamaFueraDeGrupo, computeSector, sortCamas, getLocalToday } from '@/lib/utils';
|
||||
import type {
|
||||
Paciente,
|
||||
Cama,
|
||||
@@ -255,7 +255,7 @@ export function useHospitalStore() {
|
||||
const nuevoPaciente: Paciente = {
|
||||
...paciente,
|
||||
id: generateUUID(),
|
||||
fechaRegistro: new Date().toISOString().split('T')[0],
|
||||
fechaRegistro: getLocalToday(),
|
||||
};
|
||||
try {
|
||||
await apiCall('POST', '/pacientes', nuevoPaciente);
|
||||
@@ -1343,7 +1343,7 @@ const actualizarInternacion = useCallback(async (internacionId: string, datos: P
|
||||
const nuevoPendiente: Pendiente = {
|
||||
...datos,
|
||||
id: generateUUID(),
|
||||
fechaCreacion: datos.fechaCreacion || new Date().toISOString().split('T')[0],
|
||||
fechaCreacion: datos.fechaCreacion || getLocalToday(),
|
||||
horaCreacion: datos.horaCreacion || new Date().toTimeString().slice(0, 5),
|
||||
estado: datos.estado || 'pendiente',
|
||||
prioridad: datos.prioridad || 'media',
|
||||
|
||||
@@ -14,6 +14,14 @@ export function formatDateDDMMYYYY(dateString: string): string {
|
||||
return `${day}-${month}-${year}`;
|
||||
}
|
||||
|
||||
export function getLocalToday(): string {
|
||||
const d = new Date();
|
||||
const year = d.getFullYear();
|
||||
const month = String(d.getMonth() + 1).padStart(2, '0');
|
||||
const day = String(d.getDate()).padStart(2, '0');
|
||||
return `${year}-${month}-${day}`;
|
||||
}
|
||||
|
||||
export function getNombreProfesional(user?: Usuario | null): string {
|
||||
if (!user) return 'Admin';
|
||||
const apellido = user.apellido?.trim() || '';
|
||||
|
||||
@@ -7,6 +7,7 @@ import { Input } from '@/components/ui/input';
|
||||
import { Label } from '@/components/ui/label';
|
||||
import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogTrigger } from '@/components/ui/dialog';
|
||||
import type { AcidoBase, Paciente } from '@/types';
|
||||
import { getLocalToday } from '@/lib/utils';
|
||||
|
||||
interface AcidoBaseProps {
|
||||
acidosBase: AcidoBase[];
|
||||
@@ -39,7 +40,7 @@ export function AcidoBaseSection({
|
||||
// Formulario
|
||||
const [pacienteSeleccionado, setPacienteSeleccionado] = useState('');
|
||||
const [busquedaPaciente, setBusquedaPaciente] = useState('');
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const [ph, setPh] = useState('');
|
||||
const [pco2, setPco2] = useState('');
|
||||
@@ -53,7 +54,7 @@ export function AcidoBaseSection({
|
||||
const resetFormulario = () => {
|
||||
setPacienteSeleccionado('');
|
||||
setBusquedaPaciente('');
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setPh('');
|
||||
setPco2('');
|
||||
|
||||
@@ -11,7 +11,7 @@ import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigge
|
||||
import { toast } from 'sonner';
|
||||
import type { Evolucion, Internacion, Paciente, Cama, SignosVitales, ExamenFisico } from '@/types';
|
||||
import { useHospitalStore } from '@/hooks/useHospitalStore';
|
||||
import { getNombreProfesional } from '@/lib/utils';
|
||||
import { getNombreProfesional, getLocalToday } from '@/lib/utils';
|
||||
|
||||
|
||||
interface EvolucionesProps {
|
||||
@@ -46,7 +46,7 @@ export function Evoluciones({
|
||||
const [evolucionDetalle, setEvolucionDetalle] = useState<Evolucion | null>(null);
|
||||
const [evolucionEditando, setEvolucionEditando] = useState<Evolucion | null>(null);
|
||||
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const effectiveMedico = getNombreProfesional(currentUser);
|
||||
|
||||
@@ -68,7 +68,7 @@ export function Evoluciones({
|
||||
const [pendientes, setPendientes] = useState('');
|
||||
|
||||
const resetFormulario = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setTemperatura('');
|
||||
setPresionSistolica('');
|
||||
|
||||
@@ -60,7 +60,7 @@ import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"
|
||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu';
|
||||
import { LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts';
|
||||
import type { Laboratorio, Glucemia, AcidoBase, Cultivo, Paciente, ResultadoLaboratorio, Internacion, Evolucion, Cama, EstudioComplementario, Interconsulta, ATB, Indicacion, MovimientoIndicacion, Pendiente } from '@/types';
|
||||
import { formatDateDDMMYYYY } from '@/lib/utils';
|
||||
import { formatDateDDMMYYYY, getLocalToday } from '@/lib/utils';
|
||||
import { SeccionIndicaciones } from './SeccionIndicaciones';
|
||||
|
||||
interface HistoriaClinicaProps {
|
||||
@@ -692,14 +692,14 @@ function SeccionGlucemias({ glucemias, patientId, internacionId, add, update, de
|
||||
const [dialog, setDialog] = useState(false);
|
||||
const [evolDialog, setEvolDialog] = useState(false);
|
||||
const [edit, setEdit] = useState<Glucemia | null>(null);
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const [valor, setValor] = useState('');
|
||||
const [correccion, setCorreccion] = useState('');
|
||||
|
||||
const reset = () => {
|
||||
setEdit(null);
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setValor('');
|
||||
setCorreccion('');
|
||||
@@ -956,7 +956,7 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
const [evolDialog, setEvolDialog] = useState(false);
|
||||
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 [fecha, setFecha] = useState(getLocalToday());
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const [observaciones, setObservaciones] = useState('');
|
||||
const [hto, setHto] = useState('');
|
||||
@@ -978,7 +978,7 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
const [rin, setRin] = useState('');
|
||||
const [parametroEvolucion, setParametroEvolucion] = useState('');
|
||||
const [importDialog, setImportDialog] = useState(false);
|
||||
const [importFecha, setImportFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [importFecha, setImportFecha] = useState(getLocalToday());
|
||||
const [importHora, setImportHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const [importTexto, setImportTexto] = useState('');
|
||||
const [importResultados, setImportResultados] = useState<ResultadoLaboratorio[]>([]);
|
||||
@@ -1049,7 +1049,7 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
};
|
||||
|
||||
const reset = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setObservaciones('');
|
||||
setHto(''); setHb(''); setGb(''); setPlaq('');
|
||||
@@ -1439,7 +1439,7 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
setImportResultados([]);
|
||||
setImportObservaciones('');
|
||||
setImportAcidoBase(null);
|
||||
setImportFecha(new Date().toISOString().split('T')[0]);
|
||||
setImportFecha(getLocalToday());
|
||||
setImportHora(new Date().toTimeString().slice(0, 5));
|
||||
};
|
||||
|
||||
@@ -1523,7 +1523,7 @@ function SeccionLaboratorios({ lab, patientId, internacionId, add, update, del,
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuContent>
|
||||
</DropdownMenu>
|
||||
<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>
|
||||
<Button variant="outline" onClick={() => { setImportFecha(getLocalToday()); setImportHora(new Date().toTimeString().slice(0, 5)); setImportTexto(''); setImportResultados([]); setImportObservaciones(''); setImportDialog(true); }}><FileText className="h-4 w-4 mr-2" />Importar</Button>
|
||||
</div>
|
||||
</div>
|
||||
<Dialog open={dialog} onOpenChange={setDialog}>
|
||||
@@ -1901,7 +1901,7 @@ function SeccionEvoluciones({ evos, internacionId, add, update, del, canEdit }:
|
||||
const [dialog, setDialog] = useState(false);
|
||||
const [edit, setEdit] = useState<Evolucion | null>(null);
|
||||
const [evoDetalle, setEvoDetalle] = useState<Evolucion | null>(null);
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const effectiveMedico = getNombreProfesional(currentUser);
|
||||
const [temperatura, setTemperatura] = useState('');
|
||||
@@ -1922,7 +1922,7 @@ function SeccionEvoluciones({ evos, internacionId, add, update, del, canEdit }:
|
||||
const [pendientes, setPendientes] = useState('');
|
||||
|
||||
const reset = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setTemperatura('');
|
||||
setPresionSistolica('');
|
||||
@@ -2218,7 +2218,7 @@ function SeccionAcidosBase({ ab, patientId, internacionId, add, update, del, can
|
||||
const [dialog, setDialog] = useState(false);
|
||||
const [editDialog, setEditDialog] = useState(false);
|
||||
const [selected, setSelected] = useState<AcidoBase | null>(null);
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [hora, setHora] = useState(new Date().toTimeString().slice(0, 5));
|
||||
const [ph, setPh] = useState('');
|
||||
const [pco2, setPco2] = useState('');
|
||||
@@ -2232,7 +2232,7 @@ function SeccionAcidosBase({ ab, patientId, internacionId, add, update, del, can
|
||||
const [eabSortAsc, setEabSortAsc] = useState(false);
|
||||
|
||||
const reset = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setHora(new Date().toTimeString().slice(0, 5));
|
||||
setPh(''); setPco2(''); setPo2(''); setHco3(''); setBe(''); setSato2(''); setLactato(''); setFio2(''); setInterpretacion('');
|
||||
setSelected(null);
|
||||
@@ -2438,18 +2438,18 @@ function SeccionCultivos({ cults, patient, internacionId, add, update, del, canE
|
||||
const [resDialog, setResDialog] = useState(false);
|
||||
const [editDialog, setEditDialog] = useState(false);
|
||||
const [selected, setSelected] = useState<Cultivo | null>(null);
|
||||
const [fechaToma, setFechaToma] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fechaToma, setFechaToma] = useState(getLocalToday());
|
||||
const [protocolo, setProtocolo] = useState('');
|
||||
const [tipoMuestra, setTipoMuestra] = useState<Cultivo['tipoMuestra']>('HMCx2');
|
||||
const [observaciones, setObservaciones] = useState('');
|
||||
const [fechaResultado, setFechaResultado] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fechaResultado, setFechaResultado] = useState(getLocalToday());
|
||||
const [estadoResultado, setEstadoResultado] = useState<Cultivo['estado']>('Parcial');
|
||||
const [germen, setGermen] = useState('');
|
||||
const [sensible, setSensible] = useState('');
|
||||
const [resistente, setResistente] = useState('');
|
||||
|
||||
const reset = () => {
|
||||
setFechaToma(new Date().toISOString().split('T')[0]);
|
||||
setFechaToma(getLocalToday());
|
||||
setProtocolo('');
|
||||
setTipoMuestra('HMCx2');
|
||||
setObservaciones('');
|
||||
@@ -2457,7 +2457,7 @@ function SeccionCultivos({ cults, patient, internacionId, add, update, del, canE
|
||||
};
|
||||
|
||||
const resetRes = () => {
|
||||
setFechaResultado(new Date().toISOString().split('T')[0]);
|
||||
setFechaResultado(getLocalToday());
|
||||
setEstadoResultado('Positivo');
|
||||
setGermen('');
|
||||
setSensible('');
|
||||
@@ -2477,7 +2477,7 @@ function SeccionCultivos({ cults, patient, internacionId, add, update, del, canE
|
||||
const openDefinitivo = (c: Cultivo) => {
|
||||
setSelected(c);
|
||||
setProtocolo(c.protocolo || '');
|
||||
setFechaResultado(c.fechaResultado || new Date().toISOString().split('T')[0]);
|
||||
setFechaResultado(c.fechaResultado || getLocalToday());
|
||||
setEstadoResultado(c.estado === 'Parcial' ? 'Positivo' : c.estado);
|
||||
setGermen(c.germen || '');
|
||||
setSensible(c.sensible || '');
|
||||
@@ -2515,7 +2515,7 @@ function SeccionCultivos({ cults, patient, internacionId, add, update, del, canE
|
||||
germen,
|
||||
sensible,
|
||||
resistente,
|
||||
fechaResultado: selected.fechaResultado || new Date().toISOString().split('T')[0]
|
||||
fechaResultado: selected.fechaResultado || getLocalToday()
|
||||
});
|
||||
setResDialog(false);
|
||||
resetRes();
|
||||
@@ -2725,7 +2725,7 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a
|
||||
}) {
|
||||
const [dialog, setDialog] = useState(false);
|
||||
const [filtro, setFiltro] = useState<'todos' | 'internacion'>('internacion');
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [tipo, setTipo] = useState('');
|
||||
const [resultado, setResultado] = useState('');
|
||||
const [edit, setEdit] = useState<EstudioComplementario | null>(null);
|
||||
@@ -2735,7 +2735,7 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a
|
||||
: estudios;
|
||||
|
||||
const reset = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setTipo('');
|
||||
setResultado('');
|
||||
setEdit(null);
|
||||
@@ -2743,7 +2743,7 @@ function SeccionEstudiosComplementarios({ estudios, internacionId, pacienteId, a
|
||||
|
||||
const loadEdit = (e: EstudioComplementario) => {
|
||||
setEdit(e);
|
||||
setFecha(e.fecha || new Date().toISOString().split('T')[0]);
|
||||
setFecha(e.fecha || getLocalToday());
|
||||
setTipo(e.tipo || '');
|
||||
setResultado(e.resultado || '');
|
||||
setDialog(true);
|
||||
@@ -2873,7 +2873,7 @@ function SeccionInterconsultas({ interconsultas, pacienteId, internacionId, add,
|
||||
canEdit?: boolean;
|
||||
}) {
|
||||
const [dialog, setDialog] = useState(false);
|
||||
const [fecha, setFecha] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fecha, setFecha] = useState(getLocalToday());
|
||||
const [servicioInterconsultado, setServicioInterconsultado] = useState('');
|
||||
const [motivo, setMotivo] = useState('');
|
||||
const [respuestaInterconsulta, setRespuestaInterconsulta] = useState('');
|
||||
@@ -2881,7 +2881,7 @@ function SeccionInterconsultas({ interconsultas, pacienteId, internacionId, add,
|
||||
const [edit, setEdit] = useState<Interconsulta | null>(null);
|
||||
|
||||
const reset = () => {
|
||||
setFecha(new Date().toISOString().split('T')[0]);
|
||||
setFecha(getLocalToday());
|
||||
setServicioInterconsultado('');
|
||||
setMotivo('');
|
||||
setRespuestaInterconsulta('');
|
||||
@@ -2893,7 +2893,7 @@ function SeccionInterconsultas({ interconsultas, pacienteId, internacionId, add,
|
||||
if (!servicioInterconsultado) return;
|
||||
const datos: Partial<Interconsulta> = { fecha, servicioInterconsultado, motivo, respuestaInterconsulta };
|
||||
if (respuestaInterconsulta) {
|
||||
datos.respuestaFecha = respuestaFecha || new Date().toISOString().split('T')[0];
|
||||
datos.respuestaFecha = respuestaFecha || getLocalToday();
|
||||
}
|
||||
if (edit) {
|
||||
update(edit.id, datos);
|
||||
@@ -2906,7 +2906,7 @@ function SeccionInterconsultas({ interconsultas, pacienteId, internacionId, add,
|
||||
|
||||
const loadEdit = (ic: Interconsulta) => {
|
||||
setEdit(ic);
|
||||
setFecha(ic.fecha || new Date().toISOString().split('T')[0]);
|
||||
setFecha(ic.fecha || getLocalToday());
|
||||
setServicioInterconsultado(ic.servicioInterconsultado || '');
|
||||
setMotivo(ic.motivo || '');
|
||||
setRespuestaInterconsulta(ic.respuestaInterconsulta || '');
|
||||
@@ -3048,7 +3048,7 @@ function SeccionATB({ atb, internacionId, pacienteId, add, update, del, canEdit
|
||||
const [dialog, setDialog] = useState(false);
|
||||
const [edit, setEdit] = useState<ATB | null>(null);
|
||||
const [antibiotico, setAntibiotico] = useState('');
|
||||
const [fechaInicio, setFechaInicio] = useState(new Date().toISOString().split('T')[0]);
|
||||
const [fechaInicio, setFechaInicio] = useState(getLocalToday());
|
||||
const [fechaFinalizacion, setFechaFinalizacion] = useState('');
|
||||
|
||||
const calcularDias = (inicio: string, fin?: string): number => {
|
||||
@@ -3061,20 +3061,20 @@ function SeccionATB({ atb, internacionId, pacienteId, add, update, del, canEdit
|
||||
const reset = () => {
|
||||
setEdit(null);
|
||||
setAntibiotico('');
|
||||
setFechaInicio(new Date().toISOString().split('T')[0]);
|
||||
setFechaInicio(getLocalToday());
|
||||
setFechaFinalizacion('');
|
||||
};
|
||||
|
||||
const loadEdit = (a: ATB) => {
|
||||
setEdit(a);
|
||||
setAntibiotico(a.antibiotico || '');
|
||||
setFechaInicio(a.fechaInicio || new Date().toISOString().split('T')[0]);
|
||||
setFechaInicio(a.fechaInicio || getLocalToday());
|
||||
setFechaFinalizacion(a.fechaFinalizacion || '');
|
||||
};
|
||||
|
||||
const handleGuardar = () => {
|
||||
if (!antibiotico.trim() || !fechaInicio) return;
|
||||
const todayStr = new Date().toISOString().split('T')[0];
|
||||
const todayStr = getLocalToday();
|
||||
if (edit) {
|
||||
// 1. Modificar el antibiótico actual agregando como fecha de finalización la fecha actual en qué se modifica (manteniendo el nombre y fecha de inicio original)
|
||||
update(edit.id, {
|
||||
@@ -3271,7 +3271,7 @@ function SeccionPendientes({ pacienteId, internacionId, canEdit }: { pacienteId:
|
||||
internacionId,
|
||||
...payload,
|
||||
estado: 'pendiente',
|
||||
fechaCreacion: new Date().toISOString().split('T')[0],
|
||||
fechaCreacion: getLocalToday(),
|
||||
horaCreacion: new Date().toTimeString().slice(0, 5),
|
||||
profesional,
|
||||
});
|
||||
@@ -3289,7 +3289,7 @@ function SeccionPendientes({ pacienteId, internacionId, canEdit }: { pacienteId:
|
||||
try {
|
||||
await actualizarPendiente(p.id, {
|
||||
estado: nuevoEstado,
|
||||
fechaRealizado: nuevoEstado === 'realizado' ? new Date().toISOString().split('T')[0] : undefined,
|
||||
fechaRealizado: nuevoEstado === 'realizado' ? getLocalToday() : undefined,
|
||||
usuarioRealizado: nuevoEstado === 'realizado' && currentUser ? getNombreProfesional(currentUser) : undefined,
|
||||
});
|
||||
toast.success(nuevoEstado === 'realizado' ? 'Marcado como realizado' : 'Marcado como pendiente');
|
||||
|
||||
@@ -11,7 +11,7 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@
|
||||
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu';
|
||||
import { toast } from 'sonner';
|
||||
import type { Internacion, Paciente, Cama, Grupo, Evolucion, Laboratorio, Cultivo } from '@/types';
|
||||
import { formatDateDDMMYYYY, getNombreProfesional, sortCamas } from '@/lib/utils';
|
||||
import { formatDateDDMMYYYY, getNombreProfesional, sortCamas, getLocalToday } from '@/lib/utils';
|
||||
import { useHospitalStore } from '@/hooks/useHospitalStore';
|
||||
|
||||
interface InternacionesProps {
|
||||
@@ -202,7 +202,7 @@ export function Internaciones({
|
||||
|
||||
const abrirDialogoEgreso = (internacion: Internacion) => {
|
||||
setInternacionSeleccionada(internacion);
|
||||
setFechaEgreso(new Date().toISOString().split('T')[0]);
|
||||
setFechaEgreso(getLocalToday());
|
||||
setDialogoEgresoAbierto(true);
|
||||
};
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
|
||||
import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table';
|
||||
import { toast } from 'sonner';
|
||||
import type { Pendiente, Internacion, Paciente, Cama } from '@/types';
|
||||
import { formatDateDDMMYYYY, getNombreProfesional } from '@/lib/utils';
|
||||
import { formatDateDDMMYYYY, getNombreProfesional, getLocalToday } from '@/lib/utils';
|
||||
import { useHospitalStore } from '@/hooks/useHospitalStore';
|
||||
|
||||
interface PendientesSalaProps {
|
||||
@@ -115,7 +115,7 @@ export function PendientesSala({
|
||||
try {
|
||||
await onActualizarPendiente(p.id, {
|
||||
estado: nuevoEstado,
|
||||
fechaRealizado: nuevoEstado === 'realizado' ? new Date().toISOString().split('T')[0] : undefined,
|
||||
fechaRealizado: nuevoEstado === 'realizado' ? getLocalToday() : undefined,
|
||||
usuarioRealizado: nuevoEstado === 'realizado' && currentUser ? getNombreProfesional(currentUser) : undefined,
|
||||
});
|
||||
toast.success(nuevoEstado === 'realizado' ? 'Marcado como realizado' : 'Marcado como pendiente');
|
||||
|
||||
@@ -11,7 +11,7 @@ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@
|
||||
import { Plus, Pencil, Trash2, X } from 'lucide-react';
|
||||
import type { Indicacion, IndicacionTipo, ViaAdministracion, TipoPlanHidratacion, TipoInsulina, ATB } from '@/types';
|
||||
import { useHospitalStore } from '@/hooks/useHospitalStore';
|
||||
import { getNombreProfesional } from '@/lib/utils';
|
||||
import { getNombreProfesional, getLocalToday } from '@/lib/utils';
|
||||
|
||||
export function SeccionIndicaciones({ recomendaciones, internacionId, pacienteId, add, update, del, movimientos, onAgregarMovimiento, canEdit, atbList = [], addATB, updateATB }: {
|
||||
recomendaciones: Indicacion[];
|
||||
@@ -142,7 +142,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, pacienteId
|
||||
tipo,
|
||||
estado: 'Activa',
|
||||
medicoCrea: effectiveMedico,
|
||||
fechaCrea: new Date().toISOString().split('T')[0],
|
||||
fechaCrea: getLocalToday(),
|
||||
};
|
||||
|
||||
if (tipo === 'Farmacologica' || tipo === 'Farmacologica Profilactica' || tipo === 'Farmacologica Antibiótico') {
|
||||
@@ -170,7 +170,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, pacienteId
|
||||
}
|
||||
|
||||
const now = new Date();
|
||||
const fecha = now.toISOString().split('T')[0] + ' ' + now.toTimeString().split(' ')[0].substring(0, 5);
|
||||
const fecha = getLocalToday() + ' ' + now.toTimeString().split(' ')[0].substring(0, 5);
|
||||
if (edit) {
|
||||
if (edit.tipo === 'Farmacologica Antibiótico' && updateATB && addATB && atbList && pacienteId) {
|
||||
const oldDrug = edit.droga || '';
|
||||
@@ -182,7 +182,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, pacienteId
|
||||
!a.fechaFinalizacion
|
||||
);
|
||||
if (activeATB) {
|
||||
const todayStr = now.toISOString().split('T')[0];
|
||||
const todayStr = getLocalToday();
|
||||
try {
|
||||
await updateATB(activeATB.id, { fechaFinalizacion: todayStr });
|
||||
await addATB({
|
||||
@@ -241,7 +241,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, pacienteId
|
||||
|
||||
const handleSuspender = async (i: Indicacion, suspendioMedico: string) => {
|
||||
const now = new Date();
|
||||
const fecha = now.toISOString().split('T')[0] + ' ' + now.toTimeString().split(' ')[0].substring(0, 5);
|
||||
const fecha = getLocalToday() + ' ' + now.toTimeString().split(' ')[0].substring(0, 5);
|
||||
try {
|
||||
if (onAgregarMovimiento) {
|
||||
await onAgregarMovimiento({
|
||||
@@ -255,7 +255,7 @@ export function SeccionIndicaciones({ recomendaciones, internacionId, pacienteId
|
||||
}
|
||||
|
||||
if (i.tipo === 'Farmacologica Antibiótico' && updateATB && atbList) {
|
||||
const fechaFin = now.toISOString().split('T')[0];
|
||||
const fechaFin = getLocalToday();
|
||||
const activeATB = atbList.find(a =>
|
||||
a.internacionId === internacionId &&
|
||||
a.antibiotico.toLowerCase() === (i.droga || '').toLowerCase() &&
|
||||
|
||||
Reference in New Issue
Block a user