From 6257f89d9087956d93d339b64ec5f88b62153d82 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Mon, 6 Jul 2026 14:00:04 +0800 Subject: [PATCH] docs: notify fleet frontend v2.1 integration gaps --- ...﹀姟鐭╅樀瀵硅处妯℃澘鐪熷疄鎺ュ彛瀵规帴鍛婄煡-绠$悊鍚庡彴.md | 397 ++++++++++++++++++ 1 file changed, 397 insertions(+) create mode 100644 changelogs-v2/2026-07/27_4760_hl-ui-v2.1杞﹀姟鐭╅樀瀵硅处妯℃澘鐪熷疄鎺ュ彛瀵规帴鍛婄煡-绠$悊鍚庡彴.md diff --git a/changelogs-v2/2026-07/27_4760_hl-ui-v2.1杞﹀姟鐭╅樀瀵硅处妯℃澘鐪熷疄鎺ュ彛瀵规帴鍛婄煡-绠$悊鍚庡彴.md b/changelogs-v2/2026-07/27_4760_hl-ui-v2.1杞﹀姟鐭╅樀瀵硅处妯℃澘鐪熷疄鎺ュ彛瀵规帴鍛婄煡-绠$悊鍚庡彴.md new file mode 100644 index 0000000..7aca791 --- /dev/null +++ b/changelogs-v2/2026-07/27_4760_hl-ui-v2.1杞﹀姟鐭╅樀瀵硅处妯℃澘鐪熷疄鎺ュ彛瀵规帴鍛婄煡-绠$悊鍚庡彴.md @@ -0,0 +1,397 @@ +# 銆愬墠绔憡鐭ヂ风鐞嗗悗鍙般慼l-ui v2.1 杞﹀姟鐭╅樀/瀵硅处/妯℃澘闇鍒囩湡瀹炴帴鍙 + +> **鍏宠仈**: wx/HL#4760銆亀x/HL#4756 +> **鍓嶇鍩虹嚎**: `D:\work2\hl-ui`锛屽垎鏀 `v2.1`锛屾湰鍦版湇鍔 `http://localhost:9527/` +> **鏃ユ湡**: 2026-07-06 +> **缁撹**: 鏈憡鐭ュ彧璇存槑鍓嶇瀵规帴闂锛屼笉瑕佹眰鍚庣淇敼锛屼篃涓嶈姹傛墿澶у叕鍏卞垎椤典笂闄愩 + +--- + +## 1. 褰撳墠 v2.1 婧愮爜纭 + +`hl-ui` 鏈湴涓氬姟浠g爜宸叉仮澶嶏紝褰撳墠 `git status` 鍙湁鏈窡韪 `.serena/`锛屾病鏈変笟鍔℃枃浠舵敼鍔ㄣ + +褰撳墠鐭╅樀椤典粛涓嶆槸瀹屾暣鐪熷疄鎺ュ彛鏁版嵁锛岃瘉鎹涓嬶細 + +| 鏂囦欢 | 褰撳墠闂 | +|------|----------| +| `src/stores/fleet.js` | 浠嶄粠 `@/mock/fleet` 鍒濆鍖 `vehicles/drivers/vehicleTypes/orders`銆 | +| `src/views/fleet/matrix/index.vue` | 涓荤煩闃佃鍙 `useFleetStore()` 鐨 `fleet.orders`銆乣fleet.vehicles`锛屾病鏈夎皟鐢 `/admin/fleet/matrix/grid`銆 | +| `src/views/fleet/_shared/gantt/composables/useGanttContext.js` | `year=2026`銆乣currentMonth=5`銆乣monthToday=4` 鏄‖缂栫爜銆 | +| `src/views/fleet/matrix/components/MonthDropdown.vue` | `monthOrders = { 3:6, 4:11, 5:18, 6:14, 7:1000, 8:520 }` 鏄紨绀烘暟瀛楋紱鎵浠 7 鏈堟樉绀 `1000` 涓嶆槸鎺ュ彛杩斿洖銆 | +| `src/views/fleet/matrix/components/MatrixFilterBar.vue`銆乣MatrixLegend.vue`銆乣DayListModal.vue` | 浠 import `@/mock/fleet`銆 | +| `src/views/fleet/matrix/SoloUnassignedView.vue`銆乣solo/SoloByOrderView.vue`銆乣solo/SoloByVehicleView.vue` | 鍒嗙獥浠嶈鍙 `useFleetStore()`锛屼篃浼氳窡鐫 mock銆 | + +鍥犳椤甸潰鎴浘閲 `2026-05`銆乣5鏈4鏃銆乣21/10/11`銆7 鏈 `1000` 绛夐兘涓嶈兘浣滀负鐪熷疄鎺ュ彛楠屾敹缁撴灉銆 + +--- + +## 2. 鐭╅樀娲惧崟蹇呴』鎺ョ殑鐪熷疄鎺ュ彛 + +### 2.1 涓荤煩闃 + +```http +GET /admin/fleet/matrix/grid?year=2026&month=7&season=active&status=all&fleets=own&fleets=coopA&typeKeys=suv&typeKeys=mpv +``` + +鍙傛暟璇存槑锛 + +| 鍙傛暟 | 璇存槑 | +|------|------| +| `year` / `month` | 蹇呭~銆傞粯璁ゅ簲鍙栨祻瑙堝櫒褰撳墠骞存湀锛屼笉瑕佺‖缂栫爜 2026-05銆 | +| `season` | 榛樿 `active`銆 | +| `status` | `all` / `unassigned` / `assigned`銆 | +| `fleets` | 澶氶夛紝閲嶅 query key锛歚fleets=own&fleets=coopA`銆 | +| `typeKeys` | 澶氶夛紝閲嶅 query key锛歚typeKeys=suv&typeKeys=mpv`銆 | + +鐪熷疄鍝嶅簲渚嬪瓙锛 + +```json +{ + "code": 200, + "message": "鎴愬姛", + "success": true, + "data": { + "year": 2026, + "month": 7, + "daysInMonth": 31, + "todayDay": 6, + "weekendDays": [4, 5, 11, 12, 18, 19, 25, 26], + "unassignedWindowCount": 81, + "fleetCount": { "own": 8, "coopA": 5, "coopB": 3 }, + "statusCounts": { + "totalAssignments": 83, + "unassignedAssignments": 82, + "assignedAssignments": 1, + "totalOrders": 82, + "unassignedOrders": 81, + "partialOrders": 0, + "assignedOrders": 1 + }, + "vehicles": [ + { + "id": "2064995255698010113", + "plate": "钂橝-T7777", + "modelName": "涓扮敯鏅媺澶", + "seats": 7, + "fleet": "own", + "primaryDriverName": "瀹濋煶寰峰姏鏍煎皵", + "primaryDriverPhone": "135****5009", + "assignments": [ + { + "id": "2072896404014952450", + "orderId": "HL20260703121250376", + "orderNumericId": "2072896322494492673", + "orderNo": "HL20260703121250376", + "customerName": "瀹㈡埛濮撳悕", + "headcountLabel": "1浜", + "startDay": 4, + "endDay": 5, + "startDate": "2026-07-04", + "endDate": "2026-07-05", + "assignmentStatus": "completed", + "isHailarPickup": false, + "isHailarDropoff": false, + "productName": "娴嬭瘯鏍稿績浜у搧-鍗曟。-鍥哄畾璁㈤噾" + } + ] + } + ] + } +} +``` + +鍓嶇澶勭悊瑕佹眰锛 + +- 杞﹁締琛屾潵鑷 `data.vehicles`锛岃鍗曟潯鏉ヨ嚜姣忚締杞︾殑 `assignments`銆 +- 鏈堜唤鍒楁暟鐢 `daysInMonth`锛屼粖鏃ョ嚎鐢 `todayDay`锛屼笉瑕佸啀鐢 `5鏈4鏃銆 +- 椤堕儴鍏ㄩ儴/鏈淳/宸叉淳璁℃暟鐢 `statusCounts`锛涙湭娲剧獥鍙f寜閽暟閲忕敤 `unassignedWindowCount`銆 +- 璁㈠崟鏉′富閿紭鍏堢敤 `assignment.id`锛涙墦寮璁㈠崟璇︽儏鎴栧悗缁啓鎺ュ彛鏃朵繚鐣 `orderNumericId` 瀛楃涓层 +- `headcountLabel`銆乣isHailarPickup`銆乣isHailarDropoff` 鍚庣宸茬粰锛屼笉闇瑕佷粠 mock helper 鍙嶆帹銆 + +### 2.2 鏈淳璁㈠崟绐楀彛 + +```http +GET /admin/fleet/matrix/unassigned-orders?year=2026&month=7&typeKeys=suv&typeKeys=mpv +``` + +鐪熷疄鍝嶅簲渚嬪瓙锛 + +```json +{ + "code": 200, + "message": "鎴愬姛", + "success": true, + "data": [ + { + "orderId": "HL20260627143804674", + "orderNumericId": "2070758545334145025", + "orderNo": "HL20260627143804674", + "assignmentId": "2071040277102952450", + "fleetItemIndex": 0, + "vehicleCategory": "suv", + "categoryLabel": "SUV", + "customerName": "閽辨泴", + "productName": "娴嬭瘯鏍稿績浜у搧-澶氭。-鍥哄畾姣斾緥", + "headcount": 3, + "headcountLabel": "3浜", + "startDay": 2, + "endDay": 4, + "startDate": "2026-07-02", + "endDate": "2026-07-04", + "assignmentStatus": "unassigned_urgent", + "urgentBadge": "T-0", + "isHailarPickup": false, + "isHailarDropoff": false + } + ] +} +``` + +鍓嶇澶勭悊瑕佹眰锛 + +- 鏈淳绐楀彛銆佸垎绐楁湭娲鹃〉銆佽鍗曠敇鐗规湭娲捐閮藉簲浣跨敤杩欎釜鎺ュ彛鏁版嵁銆 +- 涓鍗曞杞︿細杩斿洖澶氭潯锛岃鍞竴閿敤 `assignmentId + fleetItemIndex`锛屼笉瑕佸彧鎸 `orderId` 鍘婚噸銆 +- 鎷栨嫿娲惧崟鏃跺啓鎺ュ彛闇瑕佸甫 `orderId=orderNumericId`銆乣orderNo`銆乣fleetItemIndex`銆乣startDate`銆乣endDate`銆乣headcount`銆 + +### 2.3 鐐瑰嚮鏌愬ぉ璁㈠崟娓呭崟 + +```http +GET /admin/fleet/matrix/day-orders?date=2026-07-06 +``` + +鐪熷疄鍝嶅簲渚嬪瓙锛 + +```json +{ + "code": 200, + "message": "鎴愬姛", + "success": true, + "data": [ + { + "orderId": "HL20260627113631667", + "orderNumericId": "2070712856860418050", + "orderNo": "HL20260627113631667", + "customerName": "鎴胯溅鍐掔儫2", + "headcount": 1, + "headcountLabel": "1浜", + "startDate": "2026-07-04", + "endDate": "2026-07-06", + "dayInTrip": 3, + "totalDays": 3, + "orderAssignStatus": "unassigned", + "assignments": [ + { + "assignmentId": "2070712882764423170", + "fleetItemIndex": 0, + "vehicleCategory": "mpv", + "categoryLabel": "鍟嗗姟杞", + "vehiclePlate": "", + "driverName": "", + "assignmentStatus": "unassigned_urgent" + } + ] + } + ] +} +``` + +鍓嶇澶勭悊瑕佹眰锛 + +- 鐐瑰嚮鏃ユ湡鍒楀ご鏃惰皟鐢ㄦ湰鎺ュ彛锛屼笉鑳藉彧浠庡綋鍓嶆湰鍦 `filteredOrders` 杩囨护銆 +- 杩欎釜鎺ュ彛鎸夎鍗曡仛鍚堬紝`assignments[]` 灞曞紑涓鍗曞杞︽槑缁嗭紱閫傚悎褰撳ぉ寮圭獥瀹屾暣灞曠ず銆 + +--- + +## 3. 鍒嗙獥椤靛悓姝ヨ姹 + +鐭╅樀涓荤獥鍜屽垎绐楃幇鍦ㄩ兘鍦ㄧ敤 `useFleetStore()`锛屾墍浠ュ嵆浣夸富绐楁敼浜 API锛屽垎绐椾粛鍙兘鏄剧ず mock銆 + +鍒嗙獥椤典篃蹇呴』鏀规垚鍚屼竴涓湡瀹炴暟鎹簮锛 + +| 鍒嗙獥 | 姝g‘鏁版嵁婧 | +|------|------------| +| `matrix-solo?solo=byVehicle` | `GET /admin/fleet/matrix/grid` 鐨 `vehicles[].assignments`銆 | +| `matrix-solo?solo=byOrder` | `grid` 宸叉淳璁㈠崟 + `unassigned-orders` 鏈淳璁㈠崟鍚堝苟灞曠ず銆 | +| `matrix-solo?solo=unassigned` | `GET /admin/fleet/matrix/unassigned-orders`銆 | + +鍒嗙獥 URL 闇瑕佸甫涓婂綋鍓 `year/month/fleets/typeKeys/status`锛屽惁鍒欎細鍜屼富绐楁湀浠/绛涢変笉涓鑷淬 + +--- + +## 4. 杞﹂槦瀵硅处涓嶆槸鍒嗛〉涓嶅锛屾槸涓嶅垎椤典富鏁版嵁鎺ュ彛娌℃帴 + +杞﹂槦瀵硅处椤典笉瑕佷粠杞﹁締鍒嗛〉銆佸徃鏈哄垎椤垫垨鏈湴 mock 鎷兼暟鎹紱鍚庣宸叉彁渚涙寜鍛ㄦ湡鑱氬悎鐨勪笉鍒嗛〉涓绘暟鎹帴鍙c + +### 4.1 杞﹁垂瀵硅处 + +```http +GET /admin/fleet/reconciliation/cars?periodStart=2026-07-01&periodEnd=2026-07-31 +``` + +鍝嶅簲渚嬪瓙锛 + +```json +{ + "code": 200, + "message": "鎴愬姛", + "success": true, + "data": { + "periodLabel": "2026-07", + "periodStart": "2026-07-01", + "periodEnd": "2026-07-31", + "fleets": [ + { + "fleet": "own", + "fleetName": "鑷湁", + "orderCount": 16, + "estimatedTotal": "12879.90", + "payableTotal": "12879.90", + "actualTotal": null, + "settleMode": "OWN_COST", + "diff": null, + "closed": false, + "vehicles": [ + { + "vehicleId": "2073712142359445506", + "plate": "钂橝-74638", + "modelName": "鍒厠GL8", + "orderCount": 1, + "days": 1, + "avgPerDay": "1080.00", + "amount": "1080.00", + "payableAmount": "1080.00" + } + ] + } + ], + "grandTotal": { + "estimated": "12879.90", + "payable": "12879.90", + "actual": "0.00", + "diff": "-12879.90", + "totalDays": 16, + "totalOrderCount": 16 + } + } +} +``` + +### 4.2 淇濋櫓瀵硅处 + +```http +GET /admin/fleet/reconciliation/insurance?periodStart=2026-07-01&periodEnd=2026-07-31 +``` + +鍝嶅簲渚嬪瓙锛 + +```json +{ + "code": 200, + "message": "鎴愬姛", + "success": true, + "data": { + "periodLabel": "2026-07", + "fleets": [ + { + "fleet": "own", + "sourceSubtotals": { "manual": "0.00", "baoyou": "0.00" }, + "typeCounts": { "annual": 0, "perTrip": 0, "none": 16 }, + "drivers": [ + { + "driverId": "2073712140971089921", + "name": "API甯堝倕74638", + "insuranceType": "none", + "insuranceSource": "NONE", + "billingMethod": "鏃犱繚闄", + "orderCount": 1, + "days": 1, + "insuranceAmount": "0.00" + } + ] + } + ], + "grandTotal": "0.00" + } +} +``` + +鍓嶇澶勭悊瑕佹眰锛 + +- 瀵硅处鏈熼粯璁ゅ彇褰撳墠鏈堬紱浠婂ぉ鏄 2026-07-06锛岄粯璁ゅ簲鏄剧ず `2026骞7鏈坄锛屼笉鏄 `2026骞5鏈坄銆 +- 椤堕儴鏈堜唤鎸夐挳鍙互鐢ㄦ湰鍦版湀浠借寖鍥寸敓鎴愶紝涔熷彲浠ヨ皟鐢細 + +```http +GET /admin/fleet/reconciliation/periods?fromMonth=2026-01 +``` + +- 褰曞叆瀹炰粯閲戦銆佸叧璐︺侀噸寮璐︿娇鐢ㄥ凡鏈夊啓鎺ュ彛锛涗笉瑕佸湪鍓嶇鏈湴淇濆瓨銆 +- 鍏叡鍒嗛〉涓婇檺浠嶆槸 100銆傚璐︿富鏁版嵁鏈韩涓嶅垎椤碉紝涓嶉渶瑕 `pageSize=1000`銆 + +--- + +## 5. 杞︾妯℃澘椤垫病鏁版嵁鏃朵紭鍏堟鏌ユ槸鍚﹁皟鐢ㄧ湡瀹炴帴鍙 + +杞︾妯℃澘鍒楄〃鏄潪鍒嗛〉鎺ュ彛锛 + +```http +GET /admin/fleet/message-templates +``` + +鍝嶅簲渚嬪瓙锛 + +```json +{ + "code": 200, + "message": "鎴愬姛", + "success": true, + "data": [ + { + "id": "2073978002412105729", + "templateName": "鎺掕溅寰呯‘璁 - 鏍囧噯", + "templateType": "hold_notify", + "bodyTemplate": "甯堝倕鎮ㄥソ锛寋{order.no}} {{order.startDate}}-{{order.endDate}} 鐢ㄨ溅寰呯‘璁わ紝瀹㈡埛 {{order.customer}}锛屼汉鏁 {{order.headcount}}锛岃溅杈 {{vehicle.plate}} {{vehicle.model}}锛岃纭鏄惁鎺ュ崟銆", + "variablesHelp": "[{\"key\":\"order.no\",\"label\":\"璁㈠崟鍙穃"}]", + "isDefault": true, + "sortOrder": 10, + "createTime": "2026-07-06 11:51:03" + } + ] +} +``` + +鍓嶇澶勭悊瑕佹眰锛 + +- 涓嶈鎷 `page/pageSize`銆 +- 濡傛灉椤甸潰浠嶇劧绌猴紝鍏堢湅娴忚鍣 Network 鏄惁鐪熺殑璇锋眰浜 `/admin/fleet/message-templates`锛屼互鍙婂綋鍓嶈处鍙锋槸鍚︿负杞﹀姟瑙掕壊銆 + +--- + +## 6. 鍒嗛〉涓婇檺鍙e緞 + +杩欐涓嶈鎶 VO 鏀规垚 fleet 绉佹湁 `page/pageSize=1000`锛屼篃涓嶈缁曡繃鍏叡鍒嗛〉涓婇檺銆 + +姝g‘鍙e緞锛 + +| 鍦烘櫙 | 鎺ュ彛绫诲瀷 | 璇存槑 | +|------|----------|------| +| 杞﹁締鍒楄〃銆佸徃鏈哄垪琛ㄣ佸緟瀹℃牳鍒楄〃 | 鍒嗛〉鎺ュ彛 | `pageSize <= 100`銆 | +| 娲惧崟寮圭獥杞﹁締/鍙告満閫夋嫨 | 鍒嗛〉鎴栬交閲 options | 杞﹁締鍒嗛〉鎸 10/20 缈婚〉锛屽徃鏈鸿繙绋嬫悳绱㈢敤 `/drivers/options?limit<=20`銆 | +| 鐭╅樀娲惧崟鏈堣鍥 | 涓撶敤涓嶅垎椤佃仛鍚 | `/matrix/grid`銆乣/matrix/unassigned-orders`銆乣/matrix/day-orders`銆 | +| 杞﹂槦瀵硅处 | 涓撶敤涓嶅垎椤佃仛鍚 | `/reconciliation/cars`銆乣/reconciliation/insurance`銆 | +| 杞︾妯℃澘 | 涓撶敤涓嶅垎椤靛垪琛 | `/message-templates`銆 | +| 杞﹀瀷澶х被/鏍 | 涓撶敤涓嶅垎椤甸夐」 | `/vehicle-types`銆乣/vehicle-types/list`銆 | + +--- + +## 7. 鍓嶇楠屾敹 checklist + +- 鎵撳紑 `http://localhost:9527/fleet/matrix`锛孨etwork 蹇呴』鐪嬪埌 `/admin/fleet/matrix/grid?year=2026&month=7...`銆 +- 鐭╅樀榛樿鏈堜唤蹇呴』鏄 `2026-07`锛屼粖鏃ョ嚎搴旀槸 `7鏈6鏃锛涗笉寰楀啀鏄剧ず `2026-05 / 5鏈4鏃銆 +- 涓嶅緱鍐嶅嚭鐜 `MonthDropdown.vue` 鐨勬紨绀 `7鏈 1000 鍗昤銆 +- 鎵撳紑鏈淳璁㈠崟绐楀彛锛孨etwork 蹇呴』鐪嬪埌 `/admin/fleet/matrix/unassigned-orders`銆 +- 鐐瑰嚮鏃ユ湡鍒楀ご锛孨etwork 蹇呴』鐪嬪埌 `/admin/fleet/matrix/day-orders?date=YYYY-MM-DD`銆 +- 鍒嗙獥椤典笉鑳藉啀浣跨敤 `useFleetStore()` 鐨 mock 鏁版嵁銆 +- 杞﹂槦瀵硅处椤 Network 蹇呴』鐪嬪埌 `/admin/fleet/reconciliation/cars` 鍜 `/insurance`锛岄粯璁ゅ懆鏈熸槸褰撳墠鏈 `2026-07-01 ~ 2026-07-31`銆 +- 杞︾妯℃澘椤 Network 蹇呴』鐪嬪埌 `/admin/fleet/message-templates`銆 +- 杞﹀姟鑿滃崟娴嬭瘯璐﹀彿蹇呴』鏄溅鍔¤鑹诧紱涓嶈鐢 `admin`銆乣adminle`銆乣wx`銆佸畾鍒跺笀璐﹀彿楠岃瘉杞﹀姟鑿滃崟銆