From fca70eaab1dcd4b13f31562406d0d6f9312922f1 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期一, 07 九月 2026 19:14:32 +0800
Subject: [PATCH] 接入拼接报表保存版本展示与打印

---
 src/api/spliceReports.ts |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/api/spliceReports.ts b/src/api/spliceReports.ts
index 5b197e4..f3976a2 100644
--- a/src/api/spliceReports.ts
+++ b/src/api/spliceReports.ts
@@ -1,9 +1,11 @@
 import { request, type ApiResponse } from './request'
 export interface SpliceSelection { testId: number; testBatteryId: number }
 export interface SpliceCandidate { selection: SpliceSelection; name: string; type: string; groupId: number; group: string; batteryNo: string; startedAt: number }
-export interface SpliceMatrix { segments: Array<Record<string, unknown>>; cycleNos: number[] }
+export interface SpliceSegment { source: SpliceCandidate; offset: number; originalCycleNos: number[]; statistics: Record<string, Record<string, number | null>> }
+export interface SpliceMatrix { segments: SpliceSegment[]; cycleNos: number[] }
+export interface SpliceSettings { batteryFields?: string[]; specialFields?: string[]; detailFieldValues?: Record<string, Record<string, string>>; metrics?: string[]; seriesColors?: string[] }
 export interface SpliceSummary { id: number; name: string; creator: string; createdAt: string }
-export interface SavedSpliceReport extends SpliceSummary { description?: string; selections: SpliceSelection[]; segments: Array<Record<string, unknown>>; cycleNos: number[]; settings: Record<string, unknown>; versionNo: number; operatorName: string; versionCreatedAt: number; changeSummary: string }
+export interface SavedSpliceReport extends SpliceSummary { description?: string; selections: SpliceSelection[]; segments: SpliceSegment[]; cycleNos: number[]; settings: SpliceSettings; versionNo: number; operatorName: string; versionCreatedAt: number; changeSummary: string }
 const root='/system/splice-report'
 async function data<T>(path:string, method='GET', body?:unknown){return (await request<ApiResponse & {data:T}>(`${root}${path}`,{method,...(body===undefined?{}:{body:JSON.stringify(body)})})).data}
 export function listSpliceReports(){return request<ApiResponse & {rows:SpliceSummary[]}>(`${root}/list`).then(r=>r.rows)}
@@ -11,6 +13,8 @@
 export function previewSpliceReport(s:SpliceSelection[]){return data<SpliceMatrix>('/preview','POST',s)}
 export function createSpliceReport(body:Record<string, unknown>){return data<SavedSpliceReport>('','POST',body)}
 export function getSpliceReport(id:number, editing=false){return data<SavedSpliceReport>(`/${id}${editing?'/editing':''}`)}
+export function getSpliceVersion(id:number,versionNo:number){return data<SavedSpliceReport>(`/${id}/versions/${versionNo}`)}
+export function getSplicePrintVersion(id:number,versionNo:number){return data<SavedSpliceReport>(`/${id}/versions/${versionNo}/print`)}
 export function editSpliceReport(id:number,body:Record<string, unknown>){return data<SavedSpliceReport>(`/${id}/versions`,'POST',body)}
 export function deleteSpliceReport(id:number){return data<void>(`/${id}`,'DELETE')}
 export function listSpliceVersions(id:number){return data<Array<{versionNo:number;operatorName:string;createdAt:number;changeSummary:string}>>(`/${id}/versions`)}

--
Gitblit v1.7.1