建議 model:sonnet/effort:medium — 純前端頁面,API 契約已由 T-1.3 定死,無設計決策。
本卡屬 FR-107(母卡 CM-1843)第 .1 棒(子需求卡 CM-1844),子任務 T-1.4:做一個讓使用者把證據檔拖進批次的頁面。
前面三張卡把後端做好了,這張卡做使用者實際會操作的畫面:進專案 → 點「上傳證據批次」→ 選稽核輪次 → 拖拉多個檔進去 → 看到檔案列表 → 可以刪掉其中一筆 → 按「完成上傳」讓批次進入「就緒」狀態。
還有一件事:後端這一棒新增了四支錯誤碼,前端的錯誤訊息對照表要同步補,否則使用者會看到空白訊息而且不會報錯。
前端 repo ~/Projects/Billows/Audit-Manager/compliance-manager-fe/(branch feature/review)
src/views/evidence-classification/EvidenceBatchUpload.vue ← 新頁
src/config/api/api.js ← 加六支端點常數
src/service/ 對應 service(繼承 BaseService.js)
src/router/index.js ← 加路由
i18n 語系檔(zh_Hant_TW + en) ← 頁面文案
前端 error-code.json ← 補 T-1.3 新增的四支錯誤碼
入口:src/views/project/ProjectAuditorOverview.vue
暫時與舊的「自動分類」按鈕並列(舊的在 T-6.1 才拿掉)
POST /api/1.0/evidence-batches 建批次 body {round_uid}
GET /api/1.0/evidence-batches?round_uid=&status= 列批次(分頁)
GET /api/1.0/evidence-batches/<batch_uid> 批次詳情+檔案列表
POST /api/1.0/evidence-batches/<batch_uid>/files multipart 上傳
DELETE /api/1.0/evidence-batches/<batch_uid>/files/<file_uid> 刪檔
POST /api/1.0/evidence-batches/<batch_uid>/seal 完成上傳(uploading → ready)
錯誤碼(要在 error-code.json 補中英文訊息)
EC_STORAGE_NOT_CONFIGURED 412 請先到系統設定完成儲存設定
EC_BATCH_SEALED 409 批次已開始分類,無法加檔
EC_BATCH_INVALID_TRANSITION 409 批次狀態不允許此操作
EC_BATCH_NOT_FOUND 404 找不到該批次
docs/claude/frontend-overview.md(BE 視角速查,含 design tokens、可重用元件總覽、必填 UX 規則),再看前端 repo 的 CLAUDE.md。設計決策走 guidant-design-system skill。{"status": true, "data": ...}(status 是布林值不是 HTTP 狀態碼),分頁多一個頂層 meta;失敗是 {"error_code": "...", "msg": "..."}(沒有 status 也沒有 data)。前端契約在 src/service/BaseService.js:status !== true 即 reject。docs/claude/frontend-overview.md §3.6。error-code.json 都有中英文訊息(故意觸發其中一支看畫面文字)。