比较提交
7
次代码提交
| 作者 | SHA1 | 提交日期 | |
|---|---|---|---|
|
|
e66c76f96b | ||
|
|
3b4e095f26 | ||
|
|
e8fbd19fc5 | ||
|
|
1e2f39e76f | ||
|
|
4d7d0d5e5c | ||
|
|
93d013f1d4 | ||
|
|
9891fee76e |
@@ -6,13 +6,13 @@ consumer: "admin"
|
|||||||
change_type: "修改接口"
|
change_type: "修改接口"
|
||||||
backend_status: "deployed"
|
backend_status: "deployed"
|
||||||
gateway_status: "verified"
|
gateway_status: "verified"
|
||||||
frontend_status: "pending"
|
frontend_status: "implemented"
|
||||||
frontend_owner: ""
|
frontend_owner: "hl-ui-codex"
|
||||||
frontend_ref: ""
|
frontend_ref: "mmg/hl-ui@85851ad68d427e161d9342525af4567c1d108d5f"
|
||||||
target_release: ""
|
target_release: ""
|
||||||
verified_at: ""
|
verified_at: ""
|
||||||
status_note: "后端 PR #5241 已合并至 dev-v3(9578f78d5),order/fleet 已部署测试环境(b57ce915/0da3b9e6),双实例 internal 契约与网关汇总/列表/详情已验证;前端仍为 pending,待删除车辆接送开关并改用大交通摘要。"
|
status_note: "后端 PR #5241 已合并至 dev-v3(9578f78d5),order/fleet 已部署测试环境(b57ce915/0da3b9e6),双实例 internal 契约与网关汇总/列表/详情已验证;前端仍为 pending,待删除车辆接送开关并改用大交通摘要。"
|
||||||
updated_at: "2026-07-24"
|
updated_at: "2026-07-24T10:59:50.144Z"
|
||||||
base: "dev-v3"
|
base: "dev-v3"
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,139 @@
|
|||||||
|
---
|
||||||
|
schema: "hl-changelog/v2"
|
||||||
|
ticket: "5244"
|
||||||
|
title: "派单详情分别返回接送说明与通用备注"
|
||||||
|
consumer: "admin"
|
||||||
|
change_type: "修改接口"
|
||||||
|
backend_status: "deployed"
|
||||||
|
gateway_status: "verified"
|
||||||
|
frontend_status: "pending"
|
||||||
|
frontend_owner: ""
|
||||||
|
frontend_ref: ""
|
||||||
|
target_release: ""
|
||||||
|
verified_at: ""
|
||||||
|
status_note: "后端 PR #5246 已合并并部署;前端需在派单 Step1 大交通卡片分别渲染两个字段。"
|
||||||
|
updated_at: "2026-07-25"
|
||||||
|
base: "dev-v3"
|
||||||
|
generated: "2026-07-25T09:05:18+08:00"
|
||||||
|
---
|
||||||
|
|
||||||
|
# 车务派单详情:分别返回接送说明与通用备注
|
||||||
|
|
||||||
|
> **服务**: `hl-order-service-v3`、`hl-fleet-service`
|
||||||
|
>
|
||||||
|
> **工单**: [wx/HL#5244](https://git.1814.love:8443/wx/HL/issues/5244)
|
||||||
|
>
|
||||||
|
> **后端 PR**: [wx/HL#5246](https://git.1814.love:8443/wx/HL/pulls/5246)
|
||||||
|
>
|
||||||
|
> **影响范围**: 车务管理 → 派车看板 → 派单弹窗 Step1 → 大交通
|
||||||
|
|
||||||
|
## 业务口径
|
||||||
|
|
||||||
|
`pickupRemark` 与 `remark` 是两个独立字段,不得合并、互相覆盖或只取其中一个:
|
||||||
|
|
||||||
|
- `pickupRemark`:接机/送机说明;ARRIVAL 展示为“接机说明”,DEPARTURE 展示为“送机说明”。
|
||||||
|
- `remark`:大交通通用备注,展示为“备注”。
|
||||||
|
- 整团 `arrive/depart` 与分批 `batches[]` 使用同一字段口径。
|
||||||
|
- 任一字段为 `null` 或空白时,只隐藏该字段对应的展示行,不影响另一字段。
|
||||||
|
|
||||||
|
## 变更接口
|
||||||
|
|
||||||
|
### 管理后台
|
||||||
|
|
||||||
|
```http
|
||||||
|
GET /admin/fleet/board/orders/:orderId
|
||||||
|
```
|
||||||
|
|
||||||
|
`data.transport.arrive`、`data.transport.depart` 与 `data.transport.batches[]` 均包含:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| `pickupRemark` | `String/null` | 否 | 接机/送机说明 |
|
||||||
|
| `remark` | `String/null` | 否 | 大交通通用备注;既有字段继续保留 |
|
||||||
|
|
||||||
|
响应示例:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"code": 200,
|
||||||
|
"data": {
|
||||||
|
"transport": {
|
||||||
|
"arrive": {
|
||||||
|
"direction": "ARRIVAL",
|
||||||
|
"pickupRemark": "到达出口举牌接机",
|
||||||
|
"remark": "航班可能延误"
|
||||||
|
},
|
||||||
|
"depart": {
|
||||||
|
"direction": "DEPARTURE",
|
||||||
|
"pickupRemark": "提前三小时送机",
|
||||||
|
"remark": "请再次确认航站楼"
|
||||||
|
},
|
||||||
|
"batches": [
|
||||||
|
{
|
||||||
|
"direction": "ARRIVAL",
|
||||||
|
"pickupRemark": "分批接机说明",
|
||||||
|
"remark": "分批通用备注"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 内部契约
|
||||||
|
|
||||||
|
```http
|
||||||
|
GET /v3/internal/order/orders/:orderId/fleet-detail-context
|
||||||
|
```
|
||||||
|
|
||||||
|
order-v3 → fleet 的共享 `OrderTransportForFleetDTO` 在整团段与分批段均独立传递
|
||||||
|
`pickupRemark`、`remark`。这是兼容性增量:路径、HTTP 方法、既有字段、枚举、错误码及
|
||||||
|
`pickupRequired` 三态口径均不变。
|
||||||
|
|
||||||
|
## 前端展示矩阵
|
||||||
|
|
||||||
|
| 方向/模式 | `pickupRemark` | `remark` | 页面展示 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| ARRIVAL,整团或分批 | 有 | 有 | 分别显示“接机说明”和“备注” |
|
||||||
|
| DEPARTURE,整团或分批 | 有 | 有 | 分别显示“送机说明”和“备注” |
|
||||||
|
| 任一方向 | 有 | 空 | 只显示接机/送机说明 |
|
||||||
|
| 任一方向 | 空 | 有 | 只显示备注 |
|
||||||
|
| 任一方向 | 空 | 空 | 两行均不显示 |
|
||||||
|
|
||||||
|
前端不得根据 `pickupRequired` 推导说明文本,也不得用一个字段回填另一个字段。
|
||||||
|
|
||||||
|
## 前端处理清单
|
||||||
|
|
||||||
|
- [ ] 派单弹窗 Step1 大交通卡片读取 `pickupRemark`,按方向显示“接机说明”或“送机说明”。
|
||||||
|
- [ ] 通用备注继续读取 `remark`,与接机/送机说明分行展示。
|
||||||
|
- [ ] 同时覆盖 `arrive`、`depart`、`batches[]`。
|
||||||
|
- [ ] 对 `null`、空字符串和纯空白字符串使用单字段空态规则。
|
||||||
|
- [ ] 不显示 `travelerIds` 等内部关联字段;既有出行人脱敏规则不变。
|
||||||
|
|
||||||
|
## 契约验证状态
|
||||||
|
|
||||||
|
- OpenAPI/oasdiff:`not_configured`。项目当前未配置稳定 Swagger2 → OAS3 导出与 oasdiff 基线。
|
||||||
|
- 消费者契约/Spring Cloud Contract:`not_configured`。项目当前未配置 SCC。
|
||||||
|
- fallback:源码与 Codemap 影响比对、order-v3 生产者测试、fleet 消费者/Controller 测试以及完整 reactor 验证。
|
||||||
|
- 本次没有临时安装 oasdiff 或 Spring Cloud Contract 依赖。
|
||||||
|
|
||||||
|
## 验证证据
|
||||||
|
|
||||||
|
- 合并提交:`ca3c5c7310ddc142398382644a40ab57d951248e`。
|
||||||
|
- 定向生产者/消费者测试:88 项通过。
|
||||||
|
- 影响范围测试:25 个 reactor 模块全部通过。
|
||||||
|
- Fleet 完整验证:2361 项测试,0 失败、0 错误、1 跳过;Spotless 606 个 Java 文件通过。
|
||||||
|
- 测试部署:
|
||||||
|
- order-v3 任务 `a5916436`,8086/8186 双实例成功;
|
||||||
|
- fleet 任务 `a198456e`,8087/8187 双实例成功。
|
||||||
|
- 部署面板与 Nacos 均确认两个服务 2/2 running、healthy、enabled;部署后日志新增错误匹配为 0。
|
||||||
|
- 经测试网关验证真实团单:列表与详情 HTTP/业务码均为 200,`relatedDetailReady=true`;
|
||||||
|
ARRIVAL、DEPARTURE 均同时返回非空且取值不同的 `pickupRemark`、`remark`。
|
||||||
|
|
||||||
|
## 不影响范围
|
||||||
|
|
||||||
|
- 不修改 `D:/work2/hl-ui`。
|
||||||
|
- 不修改大交通录入、接送默认值、接送需求聚合、派车状态机或历史数据。
|
||||||
|
- 不新增 DDL,不清理、不回填存量大交通备注。
|
||||||
|
|
||||||
|
> 后端与网关已验证;`frontend_status: pending` 表示等待前端真实领取,不代表页面已实现、发布或验证。
|
||||||
@@ -121,10 +121,30 @@ user-service 在“车务管理”目录下新增子菜单:
|
|||||||
|
|
||||||
## 前端必须修改的范围
|
## 前端必须修改的范围
|
||||||
|
|
||||||
|
### 2026-07-24 页面复测反馈:列表列宽与暗色模式
|
||||||
|
|
||||||
|
测试环境 `/fleet/teams` 页面已经能展示负责人和脱敏电话,但当前样式仍需前端修正,本反馈不涉及后端接口或字段变化:
|
||||||
|
|
||||||
|
1. 表格列宽分配失衡。“车队名称”列占用过多空白,把“负责人 / 负责人电话”等核心联系人信息推到页面右侧,首屏信息密度过低。
|
||||||
|
2. 暗色模式不能只替换页面背景。当前筛选区、表头、行分隔线、空值、状态标签和操作区的层级与对比度不足,部分边界难以辨认。
|
||||||
|
3. 样式必须复用项目主题 token;禁止在本页写死仅适用于浅色模式的背景色、文字色或边框色。负责人电话仍只展示接口返回的脱敏值,样式调整不得绕过脱敏。
|
||||||
|
|
||||||
|
#### 展示矩阵
|
||||||
|
|
||||||
|
| 视口 / 主题 | 车队名称 | 负责人 / 负责人电话 | 其他列 | 验收表现 |
|
||||||
|
| --- | --- | --- | --- | --- |
|
||||||
|
| `>= 1440px`,浅色 | 弹性列,限制最大占比;超长省略并可查看完整名称 | 建议分别保留约 `120px / 140px`,左对齐 | 类型、付款方式、数量、排序、状态和操作按内容定宽 | 联系人紧邻业务字段,首屏无大段无意义空白 |
|
||||||
|
| `>= 1440px`,暗色 | 同浅色列宽规则 | 同浅色列宽规则 | 使用暗色主题 token | 页面、筛选区、表头、数据行、状态标签和操作区层级清楚 |
|
||||||
|
| `1024px - 1439px`,浅色/暗色 | 优先收缩并省略,不能无限占宽 | 不压缩为空或挤出主要阅读区 | 保留操作列可用宽度 | 联系人信息仍可直接阅读 |
|
||||||
|
| `< 1024px`,浅色/暗色 | 设置表格最小宽度 | 保持可读宽度 | 允许横向滚动 | 不通过隐藏关键列或强行挤压完成适配 |
|
||||||
|
|
||||||
|
空负责人和空电话统一显示 `—`。联系人文本左对齐;车辆数、排序、状态和操作居中。浅色与暗色模式都必须覆盖默认、悬停、聚焦、禁用和空数据状态;普通文本与背景建议至少达到 `4.5:1` 对比度,控件边界和状态提示应清晰可辨。
|
||||||
|
|
||||||
### 管理后台
|
### 管理后台
|
||||||
|
|
||||||
1. 新增 `src/api/fleet/teams.js` 和 `src/views/fleet/teams/index.vue`,完成车队分页、新增、编辑、启停和删除:
|
1. 新增 `src/api/fleet/teams.js` 和 `src/views/fleet/teams/index.vue`,完成车队分页、新增、编辑、启停和删除:
|
||||||
- “车队管理”必须显示在“车务管理”目录内,不得作为一级菜单处理。
|
- “车队管理”必须显示在“车务管理”目录内,不得作为一级菜单处理。
|
||||||
|
- 按上面的展示矩阵修正表格列宽和明暗主题样式,不能让“车队名称”列挤占联系人信息区域。
|
||||||
- 仅 `vehicleCount === 0` 时展示/启用删除动作;调用删除接口后刷新列表。
|
- 仅 `vehicleCount === 0` 时展示/启用删除动作;调用删除接口后刷新列表。
|
||||||
- 后端仍会独立校验车辆及未完结司机录入关联,返回 `601107` 时提示“请先完成车辆/司机转移”。
|
- 后端仍会独立校验车辆及未完结司机录入关联,返回 `601107` 时提示“请先完成车辆/司机转移”。
|
||||||
- 编辑历史迁入车队时补齐负责人、负责人电话、付款方式和排序。
|
- 编辑历史迁入车队时补齐负责人、负责人电话、付款方式和排序。
|
||||||
@@ -189,6 +209,8 @@ DELETE FROM sys_dict_type WHERE dict_type = 'fleet_attribution';
|
|||||||
## 验收清单
|
## 验收清单
|
||||||
|
|
||||||
- [ ] 独立车队菜单可分页、新增、编辑、启停,付款方式与资源页选项一致。
|
- [ ] 独立车队菜单可分页、新增、编辑、启停,付款方式与资源页选项一致。
|
||||||
|
- [ ] `/fleet/teams` 在桌面端不再由“车队名称”列制造大段空白,负责人和脱敏电话位于首屏连续阅读区;窄屏按展示矩阵滚动而不是隐藏或挤压关键列。
|
||||||
|
- [ ] `/fleet/teams` 的浅色、暗色模式均使用主题 token,筛选区、表头、数据行、空值、状态标签和操作区在默认/悬停/聚焦/禁用状态下层级清晰。
|
||||||
- [ ] “车队管理”位于“车务管理”目录下;空车队可删除,非空车队删除入口禁用或明确提示后端 `601107`。
|
- [ ] “车队管理”位于“车务管理”目录下;空车队可删除,非空车队删除入口禁用或明确提示后端 `601107`。
|
||||||
- [ ] 历史迁入车队可通过编辑补齐负责人、负责人电话、付款方式和排序,保存时不允许提交空资料。
|
- [ ] 历史迁入车队可通过编辑补齐负责人、负责人电话、付款方式和排序,保存时不允许提交空资料。
|
||||||
- [ ] 车辆新增/编辑/筛选/详情/导入均使用动态车队,不再出现固定三项。
|
- [ ] 车辆新增/编辑/筛选/详情/导入均使用动态车队,不再出现固定三项。
|
||||||
|
|||||||
@@ -135,6 +135,17 @@ POST /admin/fleet/assignments/{assignmentId}/confirm
|
|||||||
- 等待态:“等待司机回复确认”
|
- 等待态:“等待司机回复确认”
|
||||||
- 已登记态:“司机已确认接单,待车务确认执行”
|
- 已登记态:“司机已确认接单,待车务确认执行”
|
||||||
|
|
||||||
|
### 2026-07-24 界面验收补充
|
||||||
|
|
||||||
|
当前“待确认”步骤中,“司机待确认通知 / 模板与预览均来自后端”标题区下方存在明显的
|
||||||
|
大块空白,导致模板选择行和消息预览整体下移。模板标签及消息正文已经正常显示,因此
|
||||||
|
这是前端布局问题,不是后端模板或渲染接口缺少数据。
|
||||||
|
|
||||||
|
- 移除标题区不必要的固定高度、最小高度或空占位,让高度由标题和副标题内容自然撑开。
|
||||||
|
- 标题区与模板选择行保持正常紧凑间距,不要为未来内容预留不可见空白。
|
||||||
|
- 常用桌面分辨率下,标题区底部到模板选择行的垂直空白不应超过 16px。
|
||||||
|
- 本项不新增接口、不调整字段,也不要为修复布局重新维护前端本地模板。
|
||||||
|
|
||||||
## 前端处理清单
|
## 前端处理清单
|
||||||
|
|
||||||
- [ ] 模板列表来自后端 `hold_notify` 模板,默认选中 `isDefault=true`,不再使用前端假模板。
|
- [ ] 模板列表来自后端 `hold_notify` 模板,默认选中 `isDefault=true`,不再使用前端假模板。
|
||||||
@@ -145,6 +156,7 @@ POST /admin/fleet/assignments/{assignmentId}/confirm
|
|||||||
- [ ] 无凭证时仍可成功登记司机确认并执行最终确认。
|
- [ ] 无凭证时仍可成功登记司机确认并执行最终确认。
|
||||||
- [ ] `605025` 时提示“请先登记司机已确认接单”,不提示“缺少凭证”。
|
- [ ] `605025` 时提示“请先登记司机已确认接单”,不提示“缺少凭证”。
|
||||||
- [ ] 页面刷新后能按后端状态恢复待回复/已确认阶段。
|
- [ ] 页面刷新后能按后端状态恢复待回复/已确认阶段。
|
||||||
|
- [ ] 修复“司机待确认通知”标题区异常留白,模板选择与消息预览紧凑衔接。
|
||||||
|
|
||||||
## 验证证据
|
## 验证证据
|
||||||
|
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户