feat: 增加宿舍查寝功能
This commit is contained in:
25
apps/admin/src/pages/RoomVisual/inspection-state.ts
Normal file
25
apps/admin/src/pages/RoomVisual/inspection-state.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
export interface InspectionOccupant {
|
||||
occupancyId: number;
|
||||
inspectionStatus?: 'present' | 'absent' | null;
|
||||
}
|
||||
|
||||
export function getInitialPresentOccupancyIds(
|
||||
occupants: InspectionOccupant[],
|
||||
submitted: boolean,
|
||||
): number[] {
|
||||
if (!submitted) return [];
|
||||
return occupants
|
||||
.filter((occupant) => occupant.inspectionStatus === 'present')
|
||||
.map((occupant) => occupant.occupancyId);
|
||||
}
|
||||
|
||||
export function togglePresentOccupancy(
|
||||
currentIds: number[],
|
||||
occupancyId: number,
|
||||
present: boolean,
|
||||
): number[] {
|
||||
const next = new Set(currentIds);
|
||||
if (present) next.add(occupancyId);
|
||||
else next.delete(occupancyId);
|
||||
return [...next];
|
||||
}
|
||||
Reference in New Issue
Block a user