From b5b18f01d7575a333e53d0d6a13956b7624d108c Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Thu, 23 Jul 2026 10:14:39 +0800 Subject: [PATCH] docs(frontend): hand off vehicle urgency contract (#5178) --- ...Žæ´¾è½¦çœ‹æ¿çжæ€é¢œè‰²-新增接å£-å‰ç«¯å¾…处ç†-管ç†åŽå°.md | 148 ++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 changelogs-v2/2026-07/89_5178_用车手动加急与派车看æ¿çжæ€é¢œè‰²-新增接å£-å‰ç«¯å¾…处ç†-管ç†åŽå°.md diff --git a/changelogs-v2/2026-07/89_5178_用车手动加急与派车看æ¿çжæ€é¢œè‰²-新增接å£-å‰ç«¯å¾…处ç†-管ç†åŽå°.md b/changelogs-v2/2026-07/89_5178_用车手动加急与派车看æ¿çжæ€é¢œè‰²-新增接å£-å‰ç«¯å¾…处ç†-管ç†åŽå°.md new file mode 100644 index 0000000..1619206 --- /dev/null +++ b/changelogs-v2/2026-07/89_5178_用车手动加急与派车看æ¿çжæ€é¢œè‰²-新增接å£-å‰ç«¯å¾…处ç†-管ç†åŽå°.md @@ -0,0 +1,148 @@ +--- +schema: "hl-changelog/v1" +ticket: "5178" +title: "用车手动加急与派车看æ¿çжæ€é¢œè‰²" +consumer: "admin" +backend: "verified" +gateway: "pending" +frontend: "pending" +base: "dev-v3" +generated: "2026-07-23T10:00:00+08:00" +--- + +# ã€æ–°å¢žæŽ¥å£Â·å‰ç«¯å¾…处ç†Â·ç®¡ç†åŽå°ã€‘用车手动加急与派车看æ¿çжæ€é¢œè‰² + +## 目标å‰ç«¯ + +- 端类型:管ç†åŽå°ï¼ˆWeb) +- 目标仓库:`mmg/hl-ui` +- 目标分支:`v2.1` +- è”è°ƒ/验收环境: +- å°ç¨‹åºï¼šæ— éœ€å¤„ç† + +> **æœåŠ¡**: hl-order-service-v3ã€hl-fleet-service +> +> **åŽç«¯ PR**: åˆå¹¶åŽè¡¥å…… +> +> **å·¥å•**: [wx/HL#5178](https://git.1814.love:8443/wx/HL/issues/5178) +> +> **å½±å“范围**: 订å•详情“行程安排â€ç”¨è½¦å¡ç‰‡ã€è½¦åŠ¡æ´¾è½¦çœ‹æ¿åˆ—è¡¨åŠæ´¾å•详情 + +## 业务å£å¾„ + +- 用车需求的“加急/å–æ¶ˆåŠ æ€¥â€ä¸Žæˆ¿åŠ¡éœ€æ±‚ä¿æŒä¸€è‡´ï¼šåªæ”¹å˜ä¼˜å…ˆçº§å’Œé¡µé¢æç¤ºï¼Œä¸ä¿®æ”¹éœ€æ±‚状æ€ã€æ´¾å•状æ€ã€å¸æœºè½¦è¾†å ç”¨ã€ä¿é™©æˆ–费用。 +- 手动加急优先于临近出团ã€ç­‰å¾…回å¤ç­‰è‡ªåŠ¨ç´§æ€¥è§„åˆ™ï¼›å–æ¶ˆåŽç”±åŽç«¯æ¢å¤çŽ°æœ‰è‡ªåŠ¨ç´§æ€¥åº¦ã€‚ +- å‰ç«¯ä¸å¾—æ ¹æ®æ—¥æœŸè‡ªè¡ŒæŽ¨æ–­æ˜¯å¦åŠ æ€¥ï¼Œä¹Ÿä¸å¾—ä¹è§‚修改本地状æ€ï¼›æ“作æˆåŠŸåŽé‡æ–°æ‹‰å–订å•详情和派车看æ¿ã€‚ +- å·²å®Œæˆæˆ–已失效需求ä¸èƒ½åŠ æ€¥ã€‚æŒ‰é’®æŒ‰åŽç«¯å…è®¸çŠ¶æ€ `PENDING`ã€`PROCESSING` 显示。 + +## å˜æ›´æŽ¥å£ + +| 方法 | 路径 | æƒé™ | 说明 | +| --- | --- | --- | --- | +| POST | `/v3/admin/order/vehicle-requirement/{requirementId}/urgent` | 本å•定制师或超级管ç†å‘˜ | 手动加急;é‡å¤è°ƒç”¨å¹‚ç­‰ | +| POST | `/v3/admin/order/vehicle-requirement/{requirementId}/urgent/cancel` | 本å•定制师或超级管ç†å‘˜ | å–æ¶ˆæ‰‹åŠ¨åŠ æ€¥ï¼›é‡å¤è°ƒç”¨å¹‚ç­‰ | + +请求无 Body,æˆåŠŸç»Ÿä¸€è¿”å›žï¼š + +```json +{ + "code": 200, + "data": null, + "msg": "success" +} +``` + +éœ€è¦æ˜Žç¡®å¤„ç†çš„业务错误: + +| code | å«ä¹‰ | 建议æç¤º | +| --- | --- | --- | +| `582084` | 当å‰è´¦å·ä¸æ˜¯æœ¬å•å®šåˆ¶å¸ˆä¸”ä¸æ˜¯è¶…级管ç†å‘˜ | 仅本å•å®šåˆ¶å¸ˆå¯æ“作用车加急 | +| `582087` | 需求已完æˆã€å·²å¤±æ•ˆæˆ–状æ€å·²å˜åŒ– | 当å‰ç”¨è½¦éœ€æ±‚状æ€å·²å˜åŒ–,请刷新åŽé‡è¯• | + +## 订å•详情新增字段 + +订å•详情 `data.itinerary.vehicleGroup.requirement` 新增: + +```json +{ + "requirementId": "2046400000000000001", + "status": "PENDING", + "manualUrgent": true +} +``` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `manualUrgent` | `Boolean` | `true` æ˜¾ç¤ºâ€œå–æ¶ˆåŠ æ€¥â€ï¼Œ`false` 显示“加急†| + +订å•详情“行程安排 → 用车安排â€å¡ç‰‡åº”å¤ç”¨æˆ¿åŠ¡å¡ç‰‡çš„交互: + +- 当剿œ‰æ•ˆéœ€æ±‚存在且状æ€ä¸º `PENDING/PROCESSING` 时,在“è”ç³»è½¦åŠ¡â€æ—æ˜¾ç¤ºâ€œåŠ æ€¥â€æˆ–â€œå–æ¶ˆåŠ æ€¥â€ã€‚ +- 点击åŽè°ƒç”¨å¯¹åº”接å£ï¼›æˆåŠŸåŽé‡æ‹‰è®¢å•详情,并让派车看æ¿åˆ—表失效/刷新。 +- æäº¤ä¸­ç¦ç”¨æŒ‰é’®ï¼Œé˜²æ­¢è¿žç»­ç‚¹å‡»ï¼›æŽ¥å£é”™è¯¯æ˜¾ç¤ºåŽç«¯ä¸šåŠ¡æ–‡æ¡ˆã€‚ + +## 派车看æ¿åˆ—表契约 + +`GET /admin/fleet/board/orders` æ¯æ¡ `data.records[]` 新增/统一返回: + +```json +{ + "assignmentStatus": "unassigned_urgent", + "assignmentStatusLabel": "待派车(加急)", + "manualUrgent": true, + "urgentBadge": "手动加急" +} +``` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `assignmentStatus` | `String` | åŽç«¯è®¡ç®—åŽçš„æƒå¨çжæ€ç  | +| `assignmentStatusLabel` | `String` | åŽç«¯ç»Ÿä¸€ä¸­æ–‡çŠ¶æ€æ–‡æ¡ˆï¼Œé¡µé¢ç›´æŽ¥å±•示 | +| `manualUrgent` | `Boolean` | 是å¦ç”±å®šåˆ¶å¸ˆæ‰‹åŠ¨åŠ æ€¥ | +| `urgentBadge` | `String/null` | 手动加急固定为“手动加急â€ï¼›è‡ªåŠ¨åŠ æ€¥è¿”å›žæ—¢æœ‰ T-N 文案 | + +åŒä¸€çжæ€å†…,åŽç«¯å·²æŠŠæ‰‹åŠ¨åŠ æ€¥è®¢å•æŽ’åœ¨è‡ªåŠ¨åŠ æ€¥å’Œæ™®é€šè®¢å•之å‰ï¼Œå‰ç«¯ä¸éœ€è¦å†æ¬¡æŽ’åºã€‚ + +## æ´¾å•详情新增字段 + +`GET /admin/fleet/board/orders/{orderId}` 新增: + +- `data.manualUrgent` +- `data.currentAssignment.manualUrgent` +- `data.activeAssignments[].manualUrgent` + +当剿´¾å•çš„ `assignmentStatus/assignmentStatusLabel/urgentBadge` åŒæ ·æ˜¯åŽç«¯è®¡ç®—åŽçš„æœ‰æ•ˆçжæ€ï¼Œè¯¦æƒ…页ä¸å¾—自行按日期覆盖。 + +## 页é¢é¢œè‰²æ˜ å°„ + +派车看æ¿å¡ç‰‡å‚照房务å¡ç‰‡å½¢æˆæ¸…晰的状æ€è‰²ï¼Œä¼˜å…ˆä½¿ç”¨çŽ°æœ‰è®¾è®¡ Tokenï¼›ä¸è¦åªç»™çŠ¶æ€æ ‡ç­¾ä¸Šè‰²ã€‚ + +| åˆ¤å®šé¡ºåº | å¡ç‰‡è¯­ä¹‰ | 推è底色 / 边框 | 标签 | +| --- | --- | --- | --- | +| `manualUrgent=true` | 定制师手动加急 | 淡红 `#FFF1F0` / 红 `#FF4D4F` | `urgentBadge` | +| `assignmentStatus=unassigned_urgent/holding_urgent` | 系统自动加急 | æ·¡æ©™ `#FFF7E6` / æ©™ `#FA8C16` | `urgentBadge` | +| `assignmentStatus=unassigned` | 待派车 | 淡黄 `#FFFBE6` / 黄 `#FAAD14` | `assignmentStatusLabel` | +| `assignmentStatus=holding` | 待叿œº/车务确认 | æ·¡è“ `#E6F4FF` / è“ `#1677FF` | `assignmentStatusLabel` | +| `assignmentStatus=assigned` | 已确认执行 | 淡绿 `#F6FFED` / 绿 `#52C41A` | `assignmentStatusLabel` | +| 完æˆã€å–æ¶ˆç­‰ç»ˆæ€ | å·²ç»“æŸ | ç° `#F5F5F5` / ç° `#BFBFBF` | `assignmentStatusLabel` | + +æ ·å¼ä¼˜å…ˆçº§å¿…须是 `manualUrgent` > è‡ªåŠ¨ç´§æ€¥çŠ¶æ€ > 普通状æ€ã€‚å¡ç‰‡å·¦ä¾§å¼ºè°ƒè¾¹ã€èƒŒæ™¯å’ŒçŠ¶æ€æ ‡ç­¾åº”åŒæ­¥å˜åŒ–,效果与房务“已回é…/待处ç†â€å¡ç‰‡ä¸€è‡´ã€‚ + +## å‰ç«¯å¤„ç†æ¸…å• + +- [ ] `VehicleArrangeCard.vue` 在“è”ç³»è½¦åŠ¡â€æ—增加“加急/å–æ¶ˆåŠ æ€¥â€ï¼Œäº¤äº’和按钮状æ€å¤ç”¨ `RoomArrangeCard.vue`。 +- [ ] `ArrangementTab.vue` 和订å•详情父组件é€ä¼  `urgent/cancel-urgent` 事件,新增用车加急 API 方法。 +- [ ] æ“作æˆåŠŸåŽé‡æ–°æ‹‰å–订å•详情和派车看æ¿ï¼Œä¸åœ¨å‰ç«¯ç›´æŽ¥ç¿»è½¬ `manualUrgent`。 +- [ ] 派车看æ¿å¡ç‰‡æŒ‰ä¸Šè¡¨ç»™æ•´å¡ç€è‰²ï¼Œä¼˜å…ˆè¯»å– `manualUrgent`ï¼ŒçŠ¶æ€æ–‡æ¡ˆè¯»å– `assignmentStatusLabel`。 +- [ ] 手动加急与自动加急用ä¸åŒé¢œè‰²å’Œæ ‡ç­¾ï¼Œä¸æ˜¾ç¤ºè‹±æ–‡çжæ€ç ã€‚ +- [ ] æ´¾å•详情读å–顶层åŠå½“å‰/有效派å•çš„ `manualUrgent`ï¼Œä¸æ ¹æ®å‡ºå›¢æ—¥æœŸå推。 +- [ ] 雪花 ID 继续按字符串处ç†ã€‚ + +## 验è¯è¯æ® + +- 用车加急/å–æ¶ˆåŠ æ€¥çš„æƒé™ã€çжæ€é—¨æŽ§å’Œå¹‚等覆盖å•元测试。 +- order-v3 订å•详情与 order-v3 → fleet 共享契约å‡è¦†ç›– `manualUrgent`。 +- fleet 有效状æ€ã€æŽ’åºã€åˆ—表和详情映射覆盖手动加急优先规则。 +- fleet `spotless:check`ã€`verify` 与测试环境网关验è¯å®ŒæˆåŽè¡¥å……æœ€ç»ˆè¯æ®ã€‚ + +> 本文是å‰ç«¯æŽ¥å…¥é€šçŸ¥ï¼Œä¸ä»£è¡¨å·²ä¿®æ”¹æˆ–å‘布 `mmg/hl-ui`ï¼›å‰ç«¯æŒ‰â€œå‰ç«¯å¤„ç†æ¸…å•â€æŽ¥å…¥å³å¯ã€‚