diff --git a/src/api/iot/deviceOperationOverview/index.ts b/src/api/iot/deviceOperationOverview/index.ts index f806fb05..8b3601c6 100644 --- a/src/api/iot/deviceOperationOverview/index.ts +++ b/src/api/iot/deviceOperationOverview/index.ts @@ -1,24 +1,62 @@ import request from '@/config/axios' -export interface RunOverviewRequestParams { - ids: string - startTime: string - endTime: string - timelinePageNo: number - timelinePageSize: number +export interface DeviceOperationOverviewParams { + ids?: string + startTime?: string + endTime?: string + timelinePageNo?: number + timelinePageSize?: number } -export interface RunOverviewResponse { - metrics?: any[] - hourlyStatus?: any[] - summary?: any[] - summaryTotalHours?: number - timelineRows?: any[] - totalDevices?: number +export interface DeviceOperationOverviewMetricVO { + key: string + icon: string + value: number + unit: string + change: number +} + +export interface DeviceOperationOverviewHourlyStatusVO { + hour: string + running: number + standby: number + fault: number + offline: number +} + +export interface DeviceOperationOverviewSummaryVO { + status: 'running' | 'standby' | 'fault' | 'offline' + percent: number + hours: number +} + +export interface DeviceOperationOverviewTimelineSegmentVO { + status: 'running' | 'standby' | 'fault' | 'offline' + startHour: number + endHour: number +} + +export interface DeviceOperationOverviewTimelineRowVO { + id: string + name: string + utilizationRate: number + segments: DeviceOperationOverviewTimelineSegmentVO[] +} + +export interface DeviceOperationOverviewRespVO { + metrics: DeviceOperationOverviewMetricVO[] + hourlyStatus: DeviceOperationOverviewHourlyStatusVO[] + summary: DeviceOperationOverviewSummaryVO[] + summaryTotalHours: number + timelineRows: DeviceOperationOverviewTimelineRowVO[] + totalDevices: number } export const DeviceOperationOverviewApi = { - getRunOverview: async (params: RunOverviewRequestParams) => { - return await request.get({ url: `/iot/deviceOperationOverview/getRunOverview`, params }) + getRunOverview: async (params: DeviceOperationOverviewParams) => { + return await request.get({ + url: `/iot/device-operation-record/runOverview`, + params + }) } }