changelog: 更正保险方案结束天-1说明(是约定值非BUG)
-1表示"到行程最后一天",前端需展示处理而非数据库修改。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
这个提交包含在:
父节点
907d947616
当前提交
3eaef6732b
@ -1,42 +1,45 @@
|
|||||||
# 保险方案编辑页 — 前端表单校验问题
|
# 保险方案编辑页 — 结束天显示为 -1 的处理
|
||||||
|
|
||||||
**日期**: 2026-03-22
|
**日期**: 2026-03-22
|
||||||
**页面**: 保险管理 → 保险方案 → 编辑方案
|
**页面**: 保险管理 → 保险方案 → 编辑方案
|
||||||
**类型**: 前端 BUG
|
**类型**: 前端展示优化
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 问题描述
|
## 问题描述
|
||||||
|
|
||||||
保险方案编辑页面,保险段配置中的数值字段缺少前端校验,允许输入负数或不合理值。
|
保险方案编辑弹窗中,第2段的"结束天"显示为 `-1`,看起来像数据错误,但实际上 **`-1` 是后端约定的特殊值,表示"到行程最后一天"**。
|
||||||
|
|
||||||
### 需要修复的字段
|
数据库中 `day_offset_end = -1` 表示该段覆盖到行程结束,后端投保时会自动用方案的 `total_days` 替换 `-1`。
|
||||||
|
|
||||||
| 字段 | 当前问题 | 校验规则 |
|
## 前端需要处理
|
||||||
|------|---------|---------|
|
|
||||||
| 起始天 | 可输入负数或0 | `>= 1`,整数 |
|
|
||||||
| 结束天 | 可输入负数(截图中出现 `-1`) | `>= 起始天`,整数 |
|
|
||||||
| 排序 | 可输入负数 | `>= 0`,整数 |
|
|
||||||
|
|
||||||
### 交叉校验
|
### 1. 编辑表单中展示 -1 的处理
|
||||||
- **结束天 >= 起始天**:结束天不能小于起始天
|
|
||||||
- **段之间不能重叠**:第2段的起始天应 > 第1段的结束天
|
|
||||||
|
|
||||||
### 建议前端处理方式
|
**方式A(推荐)**:将"结束天"改为下拉或单选:
|
||||||
|
- 选项1: 输入具体天数(`<el-input-number :min="起始天"`)
|
||||||
|
- 选项2: "到行程结束"(提交时传 `-1`)
|
||||||
|
|
||||||
1. `<el-input-number>` 组件设置 `:min="1"` 防止负数输入
|
**方式B(简单)**:在结束天输入框旁显示提示文字:
|
||||||
2. 结束天的 `:min` 动态绑定为当前段的起始天值
|
- 当值为 `-1` 时,显示"(到最后一天)"
|
||||||
3. 保存前做表单级校验,提示具体哪个段有问题
|
- `<el-input-number>` 的 `:min` 设为 `-1`(允许 -1 这个特殊值)
|
||||||
|
|
||||||
### 后端校验(已加)
|
### 2. 列表中展示
|
||||||
|
如果列表展示了结束天,`-1` 应显示为"最后一天"或替换为方案的 `totalDays` 值。
|
||||||
|
|
||||||
后端已增加 `@Min` 校验,如果前端没拦住,后端会返回 400:
|
### 3. 其他表单校验仍建议加上
|
||||||
```json
|
- 起始天:`>= 1`
|
||||||
{
|
- 排序:`>= 0`
|
||||||
"code": 400,
|
- 结束天为正数时:`>= 起始天`
|
||||||
"message": "参数校验失败",
|
|
||||||
"data": { "endDay": "结束天不能为负数" }
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
建议前端也加上校验,避免用户填完才发现不对。
|
## 数据说明
|
||||||
|
|
||||||
|
当前所有多段方案的最后一段 `day_offset_end` 都是 `-1`,这是**正常数据,不需要修改数据库**:
|
||||||
|
|
||||||
|
| 方案 | 第1段结束天 | 第2段结束天 |
|
||||||
|
|------|-----------|-----------|
|
||||||
|
| 4日行程 | 2 | -1(=4) |
|
||||||
|
| 5日行程 | 2 | -1(=5) |
|
||||||
|
| 6日行程 | 3 | -1(=6) |
|
||||||
|
| 7日行程 | 3 | -1(=7) |
|
||||||
|
| 8日行程 | 4 | -1(=8) |
|
||||||
|
|||||||
正在加载...
x
在新工单中引用
屏蔽一个用户