-1表示"到行程最后一天",前端需展示处理而非数据库修改。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 行
1.6 KiB
Markdown
46 行
1.6 KiB
Markdown
# 保险方案编辑页 — 结束天显示为 -1 的处理
|
||
|
||
**日期**: 2026-03-22
|
||
**页面**: 保险管理 → 保险方案 → 编辑方案
|
||
**类型**: 前端展示优化
|
||
|
||
---
|
||
|
||
## 问题描述
|
||
|
||
保险方案编辑弹窗中,第2段的"结束天"显示为 `-1`,看起来像数据错误,但实际上 **`-1` 是后端约定的特殊值,表示"到行程最后一天"**。
|
||
|
||
数据库中 `day_offset_end = -1` 表示该段覆盖到行程结束,后端投保时会自动用方案的 `total_days` 替换 `-1`。
|
||
|
||
## 前端需要处理
|
||
|
||
### 1. 编辑表单中展示 -1 的处理
|
||
|
||
**方式A(推荐)**:将"结束天"改为下拉或单选:
|
||
- 选项1: 输入具体天数(`<el-input-number :min="起始天"`)
|
||
- 选项2: "到行程结束"(提交时传 `-1`)
|
||
|
||
**方式B(简单)**:在结束天输入框旁显示提示文字:
|
||
- 当值为 `-1` 时,显示"(到最后一天)"
|
||
- `<el-input-number>` 的 `:min` 设为 `-1`(允许 -1 这个特殊值)
|
||
|
||
### 2. 列表中展示
|
||
如果列表展示了结束天,`-1` 应显示为"最后一天"或替换为方案的 `totalDays` 值。
|
||
|
||
### 3. 其他表单校验仍建议加上
|
||
- 起始天:`>= 1`
|
||
- 排序:`>= 0`
|
||
- 结束天为正数时:`>= 起始天`
|
||
|
||
## 数据说明
|
||
|
||
当前所有多段方案的最后一段 `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) |
|