75 行
2.8 KiB
Markdown
75 行
2.8 KiB
Markdown
---
|
||
schema: "hl-changelog/v2"
|
||
ticket: "frontend-fleet-team-sort-validation"
|
||
title: "车队编辑弹窗「排序」已填值仍提示「请输入排序」,无法保存"
|
||
consumer: "admin"
|
||
author: "wx(GIT)"
|
||
change_type: "前端缺陷"
|
||
backend_status: "not_required"
|
||
gateway_status: "not_required"
|
||
frontend_status: "verified"
|
||
frontend_owner: "mmg"
|
||
frontend_ref: "e2b2482e"
|
||
target_release: "v2.1"
|
||
verified_at: "2026-08-31"
|
||
status_note: "纯前端校验缺陷,前端已修复。rules.sortOrder 的 required 规则补 type:'number',number 值(含 0)不再误判为空,空值仍正确提示必填。"
|
||
updated_at: "2026-08-31"
|
||
base: "dev-v3"
|
||
generated: "2026-08-31T01:43:00+08:00"
|
||
---
|
||
|
||
# 车队编辑弹窗「排序」已填值仍提示「请输入排序」,无法保存
|
||
|
||
> 前端缺陷,待前端修复。后端契约无变化。
|
||
|
||
## 现象(TEST 实测)
|
||
|
||
车务 → 车队管理 → 编辑车队(如「合作车队A」):
|
||
|
||
- 「排序」输入框中已显示值 `1`;
|
||
- 点击「保存」时表单项仍报红色校验错误「请输入排序」,保存被拦截,无法提交。
|
||
|
||
## 只读前端定位(hl-ui 未修改)
|
||
|
||
`src/views/fleet/teams/index.vue`:
|
||
|
||
- 表单绑定:`NInputNumber v-model:value="formData.sortOrder"`,编辑时 `fillForm` 正确回填 `row?.sortOrder ?? null`,输入框显示的 `1` 说明 model 已有值;
|
||
- 校验规则(约 391 行):
|
||
|
||
```js
|
||
sortOrder: [{ required: true, message: '请输入排序', trigger: ['blur', 'change'] }],
|
||
```
|
||
|
||
规则缺少 `type: 'number'`。Naive UI 底层 async-validator 的必填规则默认按 string 类型校验,对 number 类型的值会误判为空,导致「值已填但 required 校验不通过」。同页面其他字段均为字符串/枚举值所以未暴露此问题。
|
||
|
||
## 修复建议
|
||
|
||
规则补充 `type: 'number'`,例如:
|
||
|
||
```js
|
||
sortOrder: [{ required: true, type: 'number', message: '请输入排序', trigger: ['blur', 'change'] }],
|
||
```
|
||
|
||
同时建议回归以下场景:
|
||
|
||
1. 编辑已有车队(详情回填 sortOrder)直接保存,不再误报;
|
||
2. 新建车队填写排序后保存正常;
|
||
3. 排序为空(清空输入框)时仍正确提示「请输入排序」;
|
||
4. 排序为 `0` 时可通过校验(`min: 0`,0 是合法值,不得被误判为空)。
|
||
|
||
## 后端契约(无变化,供联调核对)
|
||
|
||
- 详情:`GET /fleet/teams/{fleetTeamId}`,响应含 `sortOrder`(整数);
|
||
- 更新:`PUT /fleet/teams/{fleetTeamId}`,请求体 `sortOrder` 为整数;
|
||
- 新增:`POST /fleet/teams`,请求体 `sortOrder` 为整数。
|
||
|
||
本条目不引入后端代码、接口、数据库、配置、Redis 或 MQ 变更。
|
||
|
||
## 复现路径
|
||
|
||
车务(fleet 管理后台)→ 车队管理 → 任一有排序值的车队 → 编辑 → 直接点「保存」。
|
||
|
||
## 撤回
|
||
|
||
如需撤回本联调通知,只需回退本 Changelog 文件;后端契约和运行数据不受影响。
|