feat(tower-models): add tower model management with legacy data seed
This commit is contained in:
@@ -400,3 +400,33 @@
|
||||
- 后端 `Line` 模型当前仅存储 `voltage_kv` 数值,不存“交流/直流/四回路文案”维度,因此:
|
||||
- `500/800/1000`、`110/220` 四回路等在持久化后会折叠为同一数值;
|
||||
- 编辑回显时仅能按默认映射回一个选项(当前优先映射到 `dc_500/dc_800/dc_1000` 与 `ac_110/ac_220`)。
|
||||
|
||||
## Work Log - 杆塔模型管理闭环与初始化数据兜底(2026-05-03)
|
||||
|
||||
- 背景:
|
||||
- 用户要求在当前系统新增“杆塔模型管理”,并明确要求初始化数据(模型+默认参数+图片)随功能一并落地,不留人工处理。
|
||||
- 前一版改动已覆盖主链路,但存在两处阻塞:
|
||||
- 前端 `tower-models` 页面 `Card` 组件类型报错,`tsc` 无法通过;
|
||||
- 后端老系统默认值解析函数存在作用域错误,可能导致初始化时模型默认参数构建失败。
|
||||
|
||||
- 本次修复:
|
||||
- 文件:`web/src/app/admin/tower-models/page.tsx`
|
||||
- `Card` 改为使用项目统一封装 `@/components/ui-antd`,消除 Antd `CardInterface` 在 React 19 下的 JSX 类型不兼容。
|
||||
- 初始化确认弹窗增加 `closable: false`、`maskClosable: false`、`keyboard: false`,避免误触关闭导致初始化分支被误走。
|
||||
- 文件:`api/app/services/tower_model_service.py`
|
||||
- 修复 `derive_tower_model_default_values_from_legacy_row` 中 `default_raw_json` 的缩进/作用域问题:
|
||||
- 变量改为始终构建,避免在接地电阻有值时出现未定义风险;
|
||||
- 保证 `raw_json`(含相序、避雷器、几何参数、雷电结果)稳定写入 `tower_model.default_raw_json`。
|
||||
|
||||
- 验证:
|
||||
- 后端语法:`python3 -m compileall api/app` 通过。
|
||||
- 前端类型:`./web/node_modules/.bin/tsc -p web/tsconfig.json --noEmit` 通过。
|
||||
- 前端生产构建:`npm run build:web` 通过(含 `/admin/tower-models` 页面产物)。
|
||||
|
||||
- 风险与影响:
|
||||
- 影响范围限定在“杆塔模型管理页 + 老系统初始化默认值解析”,未改动既有业务接口契约。
|
||||
- 初始化导入仍依赖老系统目录存在:
|
||||
- `fl/执行目录-2025-11-20/Primary/LP_Setting.txt`
|
||||
- `fl/执行目录-2025-11-20/Primary/LP_GanTa.txt`
|
||||
- `fl/执行目录-2025-11-20/Models`
|
||||
- 若运行环境无上述目录,`/api/v1/tower-models/seed/legacy` 将按设计返回 404 提示缺失来源。
|
||||
|
||||
Reference in New Issue
Block a user