diff --git a/changelogs-v2/2026-07/81_5141_车务派单司机保险保障状态-修改接口-前端待处理-管理后台.md b/changelogs-v2/2026-07/81_5141_车务派单司机保险保障状态-修改接口-前端待处理-管理后台.md index b720e23..6512477 100644 --- a/changelogs-v2/2026-07/81_5141_车务派单司机保险保障状态-修改接口-前端待处理-管理后台.md +++ b/changelogs-v2/2026-07/81_5141_车务派单司机保险保障状态-修改接口-前端待处理-管理后台.md @@ -59,6 +59,51 @@ generated: "2026-07-22T14:07:00+08:00" - [ ] 年保可查看保障起止日,且不把过期或部分覆盖年保展示为已保障。 - [ ] 保险状态不改变司机可选性,候选禁用仍只依据 `available === false`。 +## 编辑司机:无保单时直接线上投保 + +司机编辑抽屉选择“全年保险”后,如果“关联保游网保单”没有可选数据,不应只展示空下拉。需要在当前抽屉提供“立即投保”入口,复用保险订单页“投保下单 → 司机”的线上真实投保逻辑。 + +目标文件: + +- `src/views/fleet/drivers/components/DriverEditModal.vue` +- 可复用 `src/views/insurance/orders/index.vue` 中的司机投保表单和 `src/api/fleet/drivers.js` 的 `purchaseDriverInsurance`。 + +交互要求: + +1. 无可关联保单时显示“暂无可关联保单”,并提供“立即投保”按钮。 +2. 点击后填写保险计划、保障开始、保障结束和可选备注;表单行为与保险订单页的司机投保一致。 +3. 用户点击“确认投保”后才发起真实线上投保;仅切换到“全年保险”不得自动出单。 +4. 投保请求必须传 `bindAnnual: true`。受理成功后,后端会自动把新保单绑定为司机档案的全年保险。 +5. 成功后重新加载司机保单列表和司机详情,回显新 `insuranceOrderId`、保单状态及保障起止;`INSURING` 时显示“出单中”,不能要求用户重复投保。 +6. 保留“手工录入线下保单”作为独立兜底路径,文案和操作不得与线上投保混用。 + +调用示例: + +```http +POST /admin/fleet/drivers/{driverId}/insurance/purchase +``` + +```json +{ + "planId": "2080000000000000001", + "coverageStartDate": "2026-07-23", + "coverageEndDate": "2027-07-22", + "bindAnnual": true, + "remark": "司机全年保险" +} +``` + +`driverId`、`planId` 和响应中的 `insuranceOrderId` 均为雪花 ID,前端必须按字符串透传。保险计划继续使用 `GET /admin/fleet/drivers/insurance/plan-options`。 + +异常处理沿用保险订单页:全局展示后端错误文案;若返回 `600206`,表示可能已经出单但档案绑定失败,必须关闭投保弹窗并刷新保单列表,提示用户勿重复投保。 + +追加验收项: + +- [ ] 编辑司机选择全年保险且无已有保单时,可在当前抽屉发起线上真实投保。 +- [ ] 请求携带 `bindAnnual: true`,投保受理后司机档案自动回显全年保险,无需先保存再关联。 +- [ ] 出单中、已承保和 `600206` 场景均不会诱导用户重复投保。 +- [ ] 线上投保与手工录入线下保单入口、文案和数据来源清晰分离。 + ## 验证证据 - 后端 PR [wx/HL#5143](https://git.1814.love:8443/wx/HL/pulls/5143) 已合并到 `dev-v3`。