Add outside area bed workflow
- Add input for writing bed number in NuevoIngreso and EditIngreso - Auto-complete area when selecting bed from dropdown - Automatically create new bed with 'Fuera de area' when typing number - Modify finalizarInternacion to delete bed only for outside area - Add two-mode selection: select bed or write bed
This commit is contained in:
@@ -238,10 +238,14 @@ const finalizarInternacion = useCallback((internacionId: string, datos: {
|
||||
diagnosticoEgreso: string;
|
||||
motivoEgreso: Internacion['motivoEgreso']
|
||||
}) => {
|
||||
setState(prev => {
|
||||
const internacion = prev.internaciones.find(i => i.id === internacionId);
|
||||
if (!internacion) return prev;
|
||||
const internacion = state.internaciones.find(i => i.id === internacionId);
|
||||
if (!internacion) return;
|
||||
|
||||
const areaFueraDeArea = state.areas.find(a => (a.nombre || '').trim().toLowerCase() === 'fuera de area');
|
||||
const areaFueraDeAreaId = areaFueraDeArea?.id;
|
||||
const esFueraDeArea = internacion.areaId === areaFueraDeAreaId;
|
||||
|
||||
setState(prev => {
|
||||
return {
|
||||
...prev,
|
||||
internaciones: prev.internaciones.map(i =>
|
||||
@@ -249,14 +253,16 @@ const finalizarInternacion = useCallback((internacionId: string, datos: {
|
||||
? { ...i, ...datos, activa: false }
|
||||
: i
|
||||
),
|
||||
cams: prev.camas.map(c =>
|
||||
c.id === internacion.camaId
|
||||
? { ...c, estado: 'Disponible', pacienteId: undefined, internacionId: undefined }
|
||||
: c
|
||||
),
|
||||
cams: esFueraDeArea
|
||||
? prev.camas.filter(c => c.id !== internacion.camaId)
|
||||
: prev.camas.map(c =>
|
||||
c.id === internacion.camaId
|
||||
? { ...c, estado: 'Disponible', pacienteId: undefined, internacionId: undefined }
|
||||
: c
|
||||
),
|
||||
};
|
||||
});
|
||||
}, []);
|
||||
}, [state.areas]);
|
||||
|
||||
const actualizarInternacion = useCallback((internacionId: string, datos: Partial<Internacion>) => {
|
||||
const internacion = state.internaciones.find(i => i.id === internacionId);
|
||||
|
||||
Reference in New Issue
Block a user