aac16b904c
功能实现(迭代 11): - 数据层: strategies.configSchema 自定义字段定义(text/number/boolean/enum + def + unit 单位可空) + strategy_holdings "values" JSON 列(幂等 ALTER)+ readValues/writeValues + 归一化 - API: holdings/values-update 端点(服务端按 configSchema 校验: number有限/enum在选项/boolean布尔) - 设置页: 「策略分组」策略行展开配置字段(StrategyFieldsEditor 独立组件) - 持仓表: 自定义字段列化 + 列显隐/排序(ColumnSettingsPopover,每策略独立 strategyColumns 配置) - 单元格点击编辑(FieldCellEditor): 文本/数字输入框、布尔开关、枚举下拉 + ✓ 确认 - UI 细节: ✎ 可编辑标记(值后)、编辑列宽稳定、数字输入框固定 5 位宽 修复: - SettingsSection Fragment/StrategyFieldsEditor 未导入导致的配置页白屏 - z.dict schema dts 推断 cosmokit 引用(显式类型注解) - 自定义字段从展开交易明细移出(字段已列化) 文档: R-013/迭代11 技术方案/验收标准/迭代目标 同步(D6 演进 + unit + 列配置) 回归: test-r013-custom-fields 21/21 + test-r013-columns 16/16 + tabs 23/23
1.7 KiB
1.7 KiB
验收标准:11-策略自定义字段配置
迭代编号:11 | 依据:PLAN-012 验收要点 + R-013
验收标准线
- 设置页「策略分组」:策略行可展开,添加 / 编辑 / 删除字段(四种类型:文本/数字/布尔/枚举,含枚举选项与默认值)保存后生效,重启后定义仍在;
- 策略持仓 tab:自定义字段以列形式展示(仅该策略配置了字段时),点击字段单元格内联编辑(文本/数字=输入框、布尔=开关、枚举=下拉),Enter/选择/开关即保存,刷新后仍在(已落库);展开区仅交易明细,不再含自定义字段;
- 同策略多行各有各的值(600719 与 300057 互不影响);不同策略字段集互不影响;
- 旧策略(无 configSchema):持仓行不渲染字段区,现有操作(加仓/减仓/清仓/展开交易记录)与现状完全一致;
- 服务端校验生效:数字填非数字、枚举填选项外 → 拒绝保存并 Toast 提示;空值/缺省允许;
- 兼容迁移:既有 strategy_holdings 数据行(无 values)补列后为 NULL,读取正常,不报错;
- build + typecheck 通过;回归脚本(test-r013-custom-fields.mjs,独立数据目录)全绿。
验收方法
- 回归脚本跑通(隔离数据目录);
- 老师人工验收:设置页配置网格超市 4 字段 → 策略持仓 tab 两个持仓行展开分别编辑值 → 另配长线持有 2 字段观察互不影响 → 手动做T(旧策略)确认无字段区 → 重启后确认定义与值均保留。
验收目标
- 7 条验收线通过,迭代 11 标记「验收通过」,R-013 更新实现状态(已实现),归档。