From ab894b1d2351c079e080faa49b09960f1c875ce2 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 31 八月 2026 10:36:53 +0800
Subject: [PATCH] 接入检测结果查询页面

---
 src/api/tests.ts |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/src/api/tests.ts b/src/api/tests.ts
index 47a3d1b..717d4e2 100644
--- a/src/api/tests.ts
+++ b/src/api/tests.ts
@@ -126,6 +126,63 @@
 interface TestOptionsResponse extends ApiResponse { data: TestConfigurationOptions }
 export interface TestListResult { total: number; rows: TestRecord[] }
 
+export interface HistoricalResultRecord {
+  resultId: number
+  sourceType: 'CABINET_CHANNEL' | 'COLLECTOR_CHANNEL' | string
+  testId: number
+  testName: string
+  testStatus: TestStatusCode
+  receptionStatus: ReceptionStatusCode
+  relationId: number
+  batteryNo: string
+  sourceId: number
+  sourceIdentity: string
+  intervalId: number
+  intervalStartAtUtc: string
+  intervalEndAtUtc: string | null
+  cycleNo: number | null
+  stepNo: number | null
+  stepType: string | null
+  workStatus: string | null
+  voltageV: number | null
+  currentA: number | null
+  capacityAh: number | null
+  energyWh: number | null
+  metricCode: string | null
+  metricValue: number | null
+  unit: string
+  unitMetadata: string
+  integrityConclusion: string
+  deviceTimeUtc: string
+  deviceTimeRaw: string
+  serverReceivedAtUtc: string
+}
+interface HistoricalResultResponse extends ApiResponse { total: number; rows: HistoricalResultRecord[] }
+
+export interface HistoricalResultQuery {
+  pageNum: number
+  pageSize: number
+  testId?: number
+  testName?: string
+  batteryNo?: string
+  sourceType?: string
+  sourceId?: number
+  sourceChannelCode?: string
+  beginDeviceTime?: string
+  endDeviceTime?: string
+  cycleNo?: number
+  stepNo?: number
+}
+
+export async function getHistoricalResultRecords(query: HistoricalResultQuery): Promise<{ total: number; rows: HistoricalResultRecord[] }> {
+  const params = new URLSearchParams()
+  Object.entries(query).forEach(([key, value]) => {
+    if (value !== undefined && value !== '' && value !== null) params.set(key, String(value))
+  })
+  const result = await request<HistoricalResultResponse>(`/system/test/results?${params.toString()}`)
+  return { total: Number(result.total) || 0, rows: result.rows || [] }
+}
+
 const statusMap: Record<TestStatusCode, TestStatus> = {
   WAITING: '待测试', RUNNING: '检测中', PAUSED: '暂停', RUNNING_ABNORMAL: '检测中(异常)',
   COMPLETION_PENDING: '完成确认中', COMPLETED: '检测完成', TERMINATED: '已终止',

--
Gitblit v1.7.1