[fix]:[FL-10][线路管理-新建线路优化]

Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
chengkai3
2026-06-07 12:30:45 +08:00
parent cfe7624de3
commit 43ac89671b
3 changed files with 29 additions and 10 deletions
+1
View File
@@ -1088,6 +1088,7 @@
- 下拉选项对齐旧 `fl` 工程 `FormCreateXianLu` 的 14 个预设文案(含直流/交流与四回路文案)。
- 后端契约保持不变:仍提交并存储 `voltage_kv`(整数),不新增交流/直流或回路数单独字段。
- 由于仅存储数值,部分文案在持久化后会折叠为同一电压值(例如 `直流500kV``交流500kV`),编辑回显采用固定默认映射。
- `FL-10` 起,新建线路弹窗不再展示“线路编码将由系统自动生成”提示;“电压等级”在前端表单层改为必填,并禁止手动清空下拉值。
## 角色/菜单配置口径(2026-05-01
+23
View File
@@ -33,3 +33,26 @@
- 风险与关注点:
- `power_line` 表中的 `tower_shape` / `status` 数据列仍保留为兼容字段,避免在缺少迁移链路时影响现网插入;当前仅前后端公开契约不再读写/展示这两个字段。
## Work Log - 线路管理新建线路优化(2026-06-07)
- 背景:
- Issue `FL-10` 要求优化 `/admin/power-lines` 的新建线路弹窗:
- 去掉“线路编码将由系统自动生成”提示;
- 将“电压等级”改为必填。
- 代码排查确认目标仅命中前端页面 `web/src/app/admin/power-lines/page.tsx`;后端线路接口当前仍保留 `voltage_kv` 可空兼容,未在本次需求内扩展为全链路契约变更。
- 本次改动:
- `web/src/app/admin/power-lines/page.tsx`
- 删除新建线路弹窗顶部“线路编码将由系统自动生成”提示。
- 为“电压等级”增加 AntD 表单必填规则,错误文案为“请选择电压等级”。
- 去掉电压等级下拉的 `allowClear`,避免用户主动清空后提交空值。
- 验证:
- 执行 `npm_config_cache=/tmp/npm-cache npm ci`,补齐 `web` 依赖。
- 执行 `npm_config_cache=/tmp/npm-cache npx eslint web/src/app/admin/power-lines/page.tsx`
- 无新增 error
- 仍有 4 条既有 `react-hooks/exhaustive-deps` warning,与本次改动无关。
- 风险与关注点:
- 当前“电压等级必填”仅收口在前端新建/编辑弹窗;若后续还有其他外部写入入口,需要单独评估是否同步收紧后端 `LineCreateRequest` 校验。
+5 -10
View File
@@ -1180,14 +1180,6 @@ export default function AdminPowerLinesPage() {
}}
>
<Form<LineFormValues> form={lineForm} layout="vertical" initialValues={EMPTY_LINE_FORM}>
{!editingLine ? (
<Alert
showIcon
type="info"
className="mb-4"
message="线路编码将由系统自动生成"
/>
) : null}
{editingLine ? (
<Form.Item label="线路编码">
<Input value={editingLine.code} disabled />
@@ -1200,9 +1192,12 @@ export default function AdminPowerLinesPage() {
>
<Input />
</Form.Item>
<Form.Item name="voltage_level" label="电压等级">
<Form.Item
name="voltage_level"
label="电压等级"
rules={[{ required: true, message: "请选择电压等级" }]}
>
<Select
allowClear
placeholder="请选择电压等级"
options={[...LINE_VOLTAGE_OPTIONS].map((item) => ({ value: item.value, label: item.label }))}
/>