| | |
| | | export interface FormationSummary { id: number; name: string; creator: string; createdAt: number; testName?: string; batteryGroup?: string; versionNo: number } |
| | | export interface FormationVersion { versionNo: number; operatorName: string; createdAt: number; changeSummary: string } |
| | | export interface SavedFormationReport extends FormationSummary, FormationMatrix { |
| | | curvesDeferred?: boolean |
| | | description: string; settings: FormationSettings; versionNo: number; operatorName: string; versionCreatedAt: number; changeSummary: string |
| | | units: Record<string, string>; displayUnits: Record<string, string> |
| | | curveMode?: 'actual-steps' |
| | | calculatedValues: Record<string, number | null> |
| | | } |
| | | export interface FormationCycleCurve { selection: FormationSelection; curve: { zeroTime: number | null; records: PersistedTestRecord[] } | null } |
| | | export interface FormationTemplate { id: number; name: string; type: 'formation'; fields: FormationField[]; creator: string; updatedAt: number } |
| | | export interface CreateFormationReport { name: string; description: string; selections: FormationSelection[]; settings: FormationSettings } |
| | | |
| | |
| | | export function getFormationReport(id: number, version?: number, editing = false) { |
| | | return data<SavedFormationReport>(`/${id}${editing ? '/editing' : version === undefined ? '' : `/versions/${version}`}`) |
| | | } |
| | | /** 只加载首屏固定版本的当前循环;编辑与查看保留独立权限入口。 */ |
| | | export async function getFormationCycleCurves(id: number, version: number, cycle: number, editing = false, signal?: AbortSignal) { |
| | | return (await request<ApiResponse & { data: FormationCycleCurve[] }>(`${root}/${id}${editing ? '/editing' : ''}/versions/${version}/cycles/${cycle}`, {signal})).data |
| | | } |
| | | export function editFormationReport(id: number, body: Omit<CreateFormationReport, 'selections'> & { baseVersionNo: number; changeSummary: string }) { |
| | | return data<SavedFormationReport>(`/${id}/versions`, 'POST', body) |
| | | } |