# 【完善·管理后台+H5】自带车车队司机可自填/车管补 + 价格日历&车型删除护栏

> 端：hl-ui 管理后台（车务）+ H5 司机入职 | 服务：hl-fleet-service | PR #3869 | 已合并 dev-v3 + 部署测试服双实例 + 实测无回归 | 2026-06-16

## ⚠️ 关键说明

承接「自带车审核自动建车」(#3866)，本次让**车队**这一项更顺手 + 修了几个后端护栏。**前端要配合的只有第 1 项**（H5 加车队选填 + 审核抽屉预填车队），其余是后端内部加固。

## 1. 自带车车队：司机可自填，车管可改/补（前端要加）

- **H5 自带车表单**：新增「车队归属」**选填**项（字典 fleet_attribution：own=自有/coopA/coopB）。司机知道就填，不知道可留空。
  - `POST /app/h5/driver-onboard/submit/new` 的 `vehicle` 块新增字段 `fleet`（可选）。
- **审核抽屉**：审核详情接口 `GET /admin/fleet/drivers/pending/{id}` 的 `vehicle` 块现在返回 `fleet`（司机填的值，没填则空串）。审核抽屉的「车队」下拉请**用它预填**，车管可改/补。
- **审核通过建车时车队取值优先级**：车管在抽屉选的 ＞ 司机 H5 填的；**两边都空才报 600406**（之前是车管必填，现在司机填了车管就不用再选）。

> 即：司机填了车队 → 审核抽屉预填、车管确认即可；司机没填 → 车管必须选，否则 600406。

## 2. 后端护栏加固（前端基本无感，注意一个新错误码）

- **删除车型新增护栏**：删除一个**已配置价格日历**的车型型号，现在会拦截返回 **`600107`「型号已配置价格日历，不能删除（请先清除该型号价格日历）」**。前端删除车型时请处理这个码（提示先清价格日历）。之前没拦会导致价格数据悬挂丢失。
- **价格日历区间上限**：批量改状态、区间清除补了和「批量设价」一致的 ≤366 天上限校验（超出返 600502），口径统一。
- **车型/型号唯一性加锁**：新增车型大类/型号并发时堵了重复插入窗口（内部，无接口变化）。

## 3. 一个待你方/产品确认的点（本期未改）

价格日历「批量改状态」对**还没设过价的日期**点关闭/开启，目前**静默无效**（状态依附价格行，无价行就不落库，接口仍返成功）。这与资源域基线一致，可能是预期行为。如果产品希望「无价日也能单独设状态」需另定方案——已记录，等产品拍板。

## 验证

- 部署测试服双实例（14:34 新 jar）；pending 详情返回 vehicle.fleet 实测 200（新列已建可读）；价格日历/车型列表读接口无回归；fleet 142 单测全绿。
