From 1937514bc32c2098dcfbf481ce30dd16ca43fcc1 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期二, 08 九月 2026 16:50:37 +0800
Subject: [PATCH] 修复化成曲线默认工步选择

---
 src/views/FormationReportForm.vue |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/views/FormationReportForm.vue b/src/views/FormationReportForm.vue
index 6b4be7e..46c78ae 100644
--- a/src/views/FormationReportForm.vue
+++ b/src/views/FormationReportForm.vue
@@ -193,6 +193,19 @@
     if (sequence !== previewSequence) return
     items.value = result.items
     cycleNos.value = result.cycleNos
+    // 可靠识别的充放电工步默认全部纳入曲线;未知类型留给操作员人工指定。
+    const nextSelections: Record<string, FormationStepSelection> = { ...curveStepSelections.value }
+    for (const item of items.value) for (const cycle of item.cycleNos) {
+      const key = formationCycleKey(item, cycle)
+      const choices = item.chargeSteps?.[String(cycle)] ?? []
+      const charge = choices.filter(step => step.direction === 'CHARGE').map(step => step.stepNo)
+      const discharge = choices.filter(step => step.direction === 'DISCHARGE').map(step => step.stepNo)
+      const existing = nextSelections[key]
+      nextSelections[key] = existing
+        ? { charge: existing.charge ?? charge, discharge: existing.discharge ?? discharge }
+        : { charge, discharge }
+    }
+    curveStepSelections.value = nextSelections
     fields.value = fields.value.map(field => field.kind === 'battery' && field.fieldDefinitionId == null
       ? { ...field, fieldDefinitionId: items.value.flatMap(item => item.businessFields).find(value => value.fieldName === field.key)?.fieldDefinitionId ?? null } : field)
     pruneValues()

--
Gitblit v1.7.1