From a28acd5991ef1203d8d210a5e5aa97b7a18a4f59 Mon Sep 17 00:00:00 2001 From: liutao <790864623@qq.com> Date: Mon, 11 May 2026 17:21:54 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/iot/deviceOperationOverview/index.ts | 62 ++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/api/iot/deviceOperationOverview/index.ts diff --git a/src/api/iot/deviceOperationOverview/index.ts b/src/api/iot/deviceOperationOverview/index.ts new file mode 100644 index 00000000..8b3601c6 --- /dev/null +++ b/src/api/iot/deviceOperationOverview/index.ts @@ -0,0 +1,62 @@ +import request from '@/config/axios' + +export interface DeviceOperationOverviewParams { + ids?: string + startTime?: string + endTime?: string + timelinePageNo?: number + timelinePageSize?: 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: DeviceOperationOverviewParams) => { + return await request.get({ + url: `/iot/device-operation-record/runOverview`, + params + }) + } +}