yeg
2026-08-27 2b4fb46f9153b8a25d9e493279bfa722b653cd9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
export type GroupStatus = '启用' | '禁用'
 
export interface BatteryGroupPayload {
  groupName: string
  model: string
  purpose: string
  remark: string
  status: '0' | '1'
  z: string
  h: string
  f: string
  a: string
  b: string
  batteryNos: string[]
  templateId: number | null
  templateFieldRelations?: Array<{ batteryGroupFieldId: number; fieldValue: string }>
}
 
interface BatteryGroupFormPayloadInput {
  name: string
  model: string
  purpose: string
  remark: string
  status: GroupStatus
  specs: Record<string, string>
  batteries: Array<{ value: string }>
}
 
export function buildBatteryGroupPayload(
  form: BatteryGroupFormPayloadInput,
  templateId: number | null,
  templateFields: Array<{ batteryGroupFieldId: number; fieldValue: string }>,
): BatteryGroupPayload {
  return {
    groupName: form.name.trim(),
    model: form.model.trim(),
    purpose: form.purpose.trim(),
    remark: form.remark.trim(),
    status: form.status === '禁用' ? '1' : '0',
    z: form.specs.z || '',
    h: form.specs.h || '',
    f: form.specs.f || '',
    a: form.specs.a || '',
    b: form.specs.b || '',
    batteryNos: form.batteries.map(item => item.value.trim()).filter(Boolean),
    templateId,
    templateFieldRelations: templateId
      ? templateFields
      : undefined,
  }
}