Skip to content

feat(admin): 補完 N/O/P 下游 UI——清潔費費率與報表分項、訂單車種/車輛快照/停靠點、司機車種篩選 - #21

Merged
thothawei merged 1 commit into
mainfrom
claude/downstream-ui-gaps-0722
Jul 22, 2026
Merged

feat(admin): 補完 N/O/P 下游 UI——清潔費費率與報表分項、訂單車種/車輛快照/停靠點、司機車種篩選#21
thothawei merged 1 commit into
mainfrom
claude/downstream-ui-gaps-0722

Conversation

@thothawei

Copy link
Copy Markdown
Owner

後端 N/O/P 三章早已全數上線,admin 這側落後很久:做完的能力在後台完全看不到。本批一次補完。

依賴:後端同批 PR(line-fleet-dispatch)新增日報表 total_cleaning_fee_cents 與訂單詳情 stops。缺這兩者時前端會安全降級(?? 0 / ?? []),不會壞掉,只是欄位為 0/不顯示停靠點區塊。

改了什麼

費率設定:加「寵物車清潔費(%,上限 30%)」,串 pet_cleaning_fee_bps。前端以 InputNumber max 夾住 30%(後端 DB CHECK 是最後防線,不該靠它擋);tooltip 講清楚它依乘客指定的車種加收、完成當下快照、不計入抽成與營業額。

日/月報表:加「清潔費」欄與合計、CSV 同步加欄。少了這一欄,「營業額 − 手續費」會莫名對不上「司機實得」——差額正是清潔費,客服無從解釋。測試直接以等式把關:營業額 − 手續費 + 清潔費 = 實得

訂單詳情

  • 「乘客指定車種」與「當時車輛(快照)」並列但分開——前者是乘客要求什麼車(清潔費的觸發依據),後者是實際派來哪台;混為一談客服就解釋不了加收。
  • 費用分項:車資/寵物車清潔費/手續費/司機實得(僅已計費的行程顯示)。清潔費 null未加收(後端未加收時不帶該鍵),顯示「未加收」而非 NT$ 0。
  • 多停靠點清單(乘客標籤/上下車/地址/座標/到達或跳過時間),已跳過的站刪除線+「不計費」(後端 N5 計費路線會排除它)。
  • 地圖每站一個 marker(待處理藍/已到達綠/已跳過灰)+ popup;尚無軌跡但有停靠點時地圖照樣顯示——這種行程剛派出去,最需要看的就是站點分布。

司機列表:加車種篩選,選項含「未填車輛」——這群人接不了單(O3/O5 gate),是實際會被找的一群,只給五個車種會漏掉他們。

驗收

  • tsc -boxlintvite build 全綠。
  • vitest run 118 passed(原 110,新增 8 案)。
  • 尚未做:真瀏覽器對 docker 後端的 E2E(需後端 PR 先合併才驗得到 stops 與日報表分項)。

🤖 Generated with Claude Code

後端 N/O/P 三章早已全數上線,admin 這側落後很久:做完的能力在後台完全看不到。
本批一次補完(依賴後端同批的 Q1 日報表分項與 Q2 訂單詳情 stops)。

**費率設定**:加「寵物車清潔費(%,上限 30%)」,串 pet_cleaning_fee_bps。
前端以 InputNumber max 夾住 30%(後端 DB CHECK 為最後防線,不該靠它擋);
tooltip 講清楚它依**乘客指定**的車種加收、完成當下快照、不計入抽成與營業額。

**日/月報表**:加「清潔費」欄與合計、CSV 同步加欄。
少了這一欄,「營業額 − 手續費」會莫名對不上「司機實得」——差額正是清潔費,
客服無從解釋。測試直接以等式把關:營業額 − 手續費 + 清潔費 = 實得。

**訂單詳情**:
- 「乘客指定車種」與「當時車輛(快照)」**並列但分開**——前者是乘客要求什麼車
  (清潔費的觸發依據),後者是實際派來哪台;混為一談客服就解釋不了加收。
- 費用分項:車資/寵物車清潔費/手續費/司機實得(僅已計費的行程顯示)。
  清潔費 null =**未加收**(後端未加收時不帶該鍵),顯示「未加收」而非 NT$ 0。
- 多停靠點清單(乘客標籤/上下車/地址/座標/到達或跳過時間),
  **已跳過的站刪除線+「不計費」**(後端 N5 計費路線會排除它)。
- 地圖每站一個 marker(待處理藍/已到達綠/已跳過灰)+ popup;
  **尚無軌跡但有停靠點時地圖照樣顯示**——這種行程剛派出去,最需要看的就是站點分布。

**司機列表**:加車種篩選,選項含「未填車輛」——這群人接不了單(O3/O5 gate),
是實際會被找的一群,只給五個車種會漏掉他們。

驗收:tsc -b、oxlint、vite build 綠;vitest **118 passed**(110 → 118,新增 8 案)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@thothawei
thothawei merged commit 3a9c87b into main Jul 22, 2026
1 check passed
@thothawei
thothawei deleted the claude/downstream-ui-gaps-0722 branch July 22, 2026 08:10
thothawei added a commit that referenced this pull request Jul 27, 2026
- docs/TODO.md 新增「⭐ 司機評價可見性(B5 下游)」:評價欄的排序特例
  (沒評分排最後,0 則不代表差)、「尚無評分」而非 0.0 的理由、
  RATING_COLOR 門檻純呈現用不參與計算、訂單詳情唯讀 Rate,含真瀏覽器驗收數字。
- README 端點表標明 /admin/drivers 帶 rating_avg/rating_count、
  /admin/rides/:id 帶乘客評分;已完成清單補車輛審核、N/O/P 下游 UI、司機評價;
  測試數 107 → 123。
- **修正 README「規劃中(尚未實作)」的過期資訊**:2026-07-16 的 N/O/P 需求
  已於 2026-07-22 補完(PR #21),該段卻仍寫「都還沒實作」。
- 新增待辦:評分的營運動作(低分司機的通知/停權/申訴流程)——
  等實際累積評分、營運說得出要做什麼再開,做在前面只會做出沒人用的流程。

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant