fix: equipment summary counts field access

This commit is contained in:
pray4skylark
2026-06-02 14:35:17 +09:00
parent 70d41a0882
commit 770c76127c
4 changed files with 8 additions and 4 deletions
+1 -1
View File
@@ -30,7 +30,7 @@ export default function ITAMDashboard() {
]).then(([eqRes, sumRes]) => { ]).then(([eqRes, sumRes]) => {
setEquipment(eqRes.data.content); setEquipment(eqRes.data.content);
setTotalPages(eqRes.data.totalPages); setTotalPages(eqRes.data.totalPages);
const counts = sumRes.data || {}; const counts: Record<string, number> = sumRes.data?.counts || {};
counts.ALL = Object.values(counts).reduce((a: number, b: any) => a + (typeof b === 'number' ? b : 0), 0); counts.ALL = Object.values(counts).reduce((a: number, b: any) => a + (typeof b === 'number' ? b : 0), 0);
setSummary(counts); setSummary(counts);
}).catch(console.error).finally(() => setLoading(false)); }).catch(console.error).finally(() => setLoading(false));
+1 -1
View File
@@ -46,7 +46,7 @@ export default function DashboardPage() {
]).then(([openRes, recentRes, equipRes]) => { ]).then(([openRes, recentRes, equipRes]) => {
if (openRes) setOpenCount(openRes.data.totalElements); if (openRes) setOpenCount(openRes.data.totalElements);
if (recentRes) setRecentTickets(recentRes.data.content || []); if (recentRes) setRecentTickets(recentRes.data.content || []);
if (equipRes?.data) setInUseCount(equipRes.data.IN_USE || 0); if (equipRes?.data?.counts) setInUseCount(equipRes.data.counts.IN_USE || 0);
}); });
}, []); }, []);
+2 -2
View File
@@ -1,5 +1,5 @@
import apiClient from './apiClient'; import apiClient from './apiClient';
import type { ApiResponse, Page, Equipment, EquipmentAssignment, EquipmentMaintenance } from '@/types'; import type { ApiResponse, Page, Equipment, EquipmentAssignment, EquipmentMaintenance, EquipmentSummary } from '@/types';
const equipmentService = { const equipmentService = {
getAll(params?: { type?: string; status?: string; manufacturer?: string; page?: number; size?: number }) { getAll(params?: { type?: string; status?: string; manufacturer?: string; page?: number; size?: number }) {
@@ -45,7 +45,7 @@ const equipmentService = {
}, },
getSummary() { getSummary() {
return apiClient.get<ApiResponse<Record<string, number>>>('/equipment/summary'); return apiClient.get<ApiResponse<EquipmentSummary>>('/equipment/summary');
}, },
}; };
+4
View File
@@ -188,6 +188,10 @@ export interface Equipment {
images?: EquipmentImage[] | string; images?: EquipmentImage[] | string;
} }
export interface EquipmentSummary {
counts: Record<string, number>;
}
export interface EquipmentAssignment { export interface EquipmentAssignment {
assignmentId: number; assignmentId: number;
equipmentId: number; equipmentId: number;