Agregar tabla interconsultas: DB, store, UI con CRUD completo
This commit is contained in:
@@ -9,6 +9,7 @@ import type {
|
||||
AcidoBase,
|
||||
Cultivo,
|
||||
EstudioComplementario,
|
||||
Interconsulta,
|
||||
Vista
|
||||
} from '@/types';
|
||||
|
||||
@@ -35,6 +36,7 @@ interface HospitalState {
|
||||
acidosBase: AcidoBase[];
|
||||
cultivos: Cultivo[];
|
||||
estudiosComplementarios: EstudioComplementario[];
|
||||
interconsultas: Interconsulta[];
|
||||
vistaActual: Vista;
|
||||
currentInternacionId?: string | null;
|
||||
}
|
||||
@@ -51,6 +53,7 @@ const defaultState = (): HospitalState => ({
|
||||
acidosBase: [],
|
||||
cultivos: [],
|
||||
estudiosComplementarios: [],
|
||||
interconsultas: [],
|
||||
vistaActual: 'dashboard',
|
||||
camas: []
|
||||
});
|
||||
@@ -349,6 +352,30 @@ const finalizarInternacion = useCallback((internacionId: string, datos: {
|
||||
}));
|
||||
}, []);
|
||||
|
||||
// Acciones de interconsultas
|
||||
const agregarInterconsulta = useCallback((interconsulta: Omit<Interconsulta, 'id'>) => {
|
||||
const nuevaInterconsulta: Interconsulta = { ...interconsulta, id: generateUUID() };
|
||||
setState(prev => ({
|
||||
...prev,
|
||||
interconsultas: [...prev.interconsultas, nuevaInterconsulta],
|
||||
}));
|
||||
return nuevaInterconsulta.id;
|
||||
}, []);
|
||||
|
||||
const actualizarInterconsulta = useCallback((id: string, datos: Partial<Interconsulta>) => {
|
||||
setState(prev => ({
|
||||
...prev,
|
||||
interconsultas: prev.interconsultas.map(ic => ic.id === id ? { ...ic, ...datos } : ic),
|
||||
}));
|
||||
}, []);
|
||||
|
||||
const eliminarInterconsulta = useCallback((id: string) => {
|
||||
setState(prev => ({
|
||||
...prev,
|
||||
interconsultas: prev.interconsultas.filter(ic => ic.id !== id),
|
||||
}));
|
||||
}, []);
|
||||
|
||||
// Acciones de areas
|
||||
const agregarArea = useCallback((area: Omit<Area, 'id'>) => {
|
||||
const nuevaArea: Area = { ...area, id: generateUUID() };
|
||||
@@ -472,6 +499,9 @@ const getEstadisticas = useCallback(() => {
|
||||
agregarEstudioComplementario,
|
||||
actualizarEstudioComplementario,
|
||||
eliminarEstudioComplementario,
|
||||
agregarInterconsulta,
|
||||
actualizarInterconsulta,
|
||||
eliminarInterconsulta,
|
||||
agregarArea,
|
||||
actualizarArea,
|
||||
eliminarArea,
|
||||
|
||||
Reference in New Issue
Block a user