本卡屬 FR-144(母卡 CM-2837),稽核計畫清單改成依專案分組展開的前端半邊。依賴 FR-144.3 的新回傳形狀。會改碼。
把「稽核計畫」清單從一列一個稽核次改成一列一個專案、點開看每一次,跟「稽核作業」頁(FR-142 CM-2850)同一套樣子。長相照雛形,資料照 FR-144.3 卡尾的回傳範例。
~/Projects/Billows/Audit-Manager/compliance-manager-fe/src/views/project/AuditPlanListView.vue 312 行,現行平列版;本卡主要改這支
~/Projects/Billows/Audit-Manager/compliance-manager-fe/src/config/locales/i18n/{zh-tw,en}/audit-plan-list.json 新 key
雛形: BE docs/features/FR-144-2610-my-audit-plans-sidebar-entry/prototype/my-audit-plans-grouped.html(BE 根 python3 -m http.server,右上可切回平列版)
同一套的另一頁: compliance-manager-fe/src/views/project/MyAuditsView.vue(FR-142 CM-2850 改完後,展開/樹線/目前 tag 的寫法直接對照,能共用就抽 composable)
data 已是專案陣列(每筆含 passes[]、pass_total、current_pass_uid),前端不再自己分組;cur 直接取 passes.find(p=>p.pass_uid===current_pass_uid)。分頁仍走後端 lazy,rows=10、totalRecords=meta.total(專案數),頁尾文字改「第 a~b 個專案,共 N 個」。DataTable(每筆帶 _kind:'project'|'pass'、_groupUid),不要用 expandedRows+#expansion(子列會變成 colspan 大格、欄位對不齊)。子列的樹線與稽核次文字放在「稽核次」欄。若 FR-142 CM-2850 已抽出共用 composable 就用它。passes 裡有 audit_planning 的專案;手動點過或按過全部展開後只看使用者集合(照雛形 isOpen/toggle 邏輯)。搜尋框有值時,命中的專案自動展開。cur;稽核人員取所有 passes 合併去重。只有一次(pass_total===1)不展開、箭頭留白、點列直接 cur 的動作。小字「框架 · 共 {pass_total} 次稽核」,passes.length<pass_total 時加「(符合篩選 {m} 次)」。