[fix/feat]:[FL-8][线路管理-新建线路表单调整]

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
chengkai3
2026-06-07 11:35:02 +08:00
parent 95d6ed9461
commit 5194638af2
7 changed files with 130 additions and 82 deletions
+35
View File
@@ -0,0 +1,35 @@
## Work Log - 线路管理新建线路表单去掉塔型/状态(2026-06-07
- 背景:
- Issue `FL-8` 要求调整 `/admin/power-lines` 新建线路表单,去掉“塔型”“状态”表单项,并删除对应字段契约。
- 代码排查确认影响不仅在前端表单,还包括线路公开 schema、线路列表筛选、线路卡片展示,以及 CSV 导入导出的线路元数据字段。
- 仓库当前无显式 Alembic 迁移链路,因此本次不直接做数据库删列迁移,优先收口前后端公开契约与页面行为。
- 本次改动:
- `web/src/app/admin/power-lines/page.tsx`
- 删除线路表单中的 `tower_shape``status` 字段。
- 删除线路列表状态筛选、线路卡片状态 Tag、线路卡片塔形展示。
- 调整创建/更新请求体,仅提交 `code``name``voltage_kv`
- `web/src/types/auth.ts`
- 删除 `LineStatus` 类型与 `LineSummary` 中的 `tower_shape``status` 字段。
- `api/app/schemas/line.py`
- 删除 `LineSummary``LineCreateRequest``LineUpdateRequest` 中的 `tower_shape``status` 字段。
- `api/app/api/v1/lines.py`
- 删除线路列表接口的 `status` 查询参数。
- `api/app/services/line_service.py`
- 删除线路序列化输出中的 `tower_shape``status`
- 删除线路列表状态筛选逻辑。
- 删除创建/更新线路时对 `tower_shape``status` 的公开读写。
- 删除杆塔 CSV 导出中的“塔形”列,以及 CSV 导入元数据对“塔形”的回填。
- `api/tests/test_line_contract.py`
- 新增 AST 级最小回归测试,校验线路公开 schema/接口/CSV 导出头中不再暴露上述字段。
- 验证:
- `python3 -m unittest api/tests/test_line_contract.py` 通过。
- `npm --workspace web run lint -- src/app/admin/power-lines/page.tsx` 仍失败,但失败项与修改前一致:
- `react-hooks/set-state-in-effect` 2 处
- `react-hooks/exhaustive-deps` warning 4 处
- 本次未新增新的 lint 问题。
- 风险与关注点:
- `power_line` 表中的 `tower_shape` / `status` 数据列仍保留为兼容字段,避免在缺少迁移链路时影响现网插入;当前仅前后端公开契约不再读写/展示这两个字段。