本卡屬 FR-143,第 6 棒:側邊選單新入口與清單頁(D9)。依賴第 2 棒(點列進新頁)。
PM 現在要排改善計畫得從專案翻三層進去。這棒在側邊選單「我的稽核」旁加一個「改善計畫」(名稱不加「我的」),點進去是一張表格,一列一輪,列出我是專案經理的專案裡稽核已結案、有不符合項目的輪次:專案、輪次與內外稽、狀態、已規劃/不符合、退回任務數、最晚到期、結案日、送出日。狀態頁籤帶筆數、預設「待規劃」;可篩稽核性質與標準、搜專案名;分頁、排序由後端做。點列進該輪的改善計畫頁。照雛形畫面 0。
app/readmodel/service/auditor_dashboard_service.py(29 行)+infra/readmodel/audit/auditor_dashboard_query.py(162 行) 「我的稽核」讀模型,照抄結構
api/.../ GRC_MY_AUDITS_LIST 端點 POST /grc/audits/my/list(grep 'audits/my' 找 route)
compliance-manager-fe/src/views/project/MyAuditsView.vue(320) 入口頁先例(卡片式,本棒不抄版型)
compliance-manager-fe/src/views/project/MyTasksView.vue:449 lazy DataTable+paginator 寫法(抄這個)
compliance-manager-fe/src/config/router/index.js:1177-1182 audit-manage 路由
scripts/sql/2026-04-27-add-audit-and-cloud-integration-permissions.sql:31-47 ui_routes+route_capabilities seed 先例
test/test_fr132_route_entry_registered.py 路由登記守衛
docs/features/FR-143-.../prototype/my-poams.html 雛形畫面 0(欄位、頁籤、篩選、排序行為)
app/readmodel/service/poam_dashboard_service.py+infra/readmodel/audit/poam_dashboard_query.py:條件=project_participants.role='manager' 且登入者、稽核次(audit_round_passes)已結案且其 POA&M 有 item;回欄位:project_name、round_no、pass_no、audit_nature、status(待規劃 planning/已送出 submitted/覆核中 reverifying/已結束 closed,由 poams.status 與輪次狀態推)、objectives(不符合數)、planned(已規劃數,用第 1 棒 planned 判準)、jobs(退回任務數)、last_due、closed_at、submitted_at。分頁、排序(白名單欄位)、篩選(status、nature、standard、keyword)全在 SQL。POST /grc/poams/my/list,request 繼承 RequestMetaSchema、response EnvelopeSchema(docs/claude/api-patterns.md);route 掛 @require_capability("grc.audit.read");狀態頁籤筆數另回 meta.counts。src/views/project/MyPoamsView.vue:lazy DataTable(照 MyTasksView.vue:449 的 paginator/sort 接法)、欄位照雛形(最晚到期 30 天內橘、過期紅;已規劃/不符合未規劃完標橘)、狀態 SelectButton 帶筆數、稽核性質與標準 Dropdown(選項來源 BE 回的 enum 或 system_menus,不寫死)、關鍵字搜尋 300ms debounce;點列 router.push 到 project-poam-round。路由 /project/poam-manage name poam-manage,breadcrumb project-poam-manage;menu i18n「改善計畫」。scripts/sql/2026-10-<dd>-fr143-poam-manage-route.sql(檔頭 -- Date:、phase=seed):ui_routes 一列(name poam-manage、url /project/poam-manage、icon pi-wrench、sort 接 audit-manage 後)、route_capabilities 綁 grc.audit.*(read=ALL、其餘 ANY,照 2026-04-27 先例)、ON CONFLICT DO NOTHING、收尾 INSERT public.schema_migrations;用 cmmgr --single-transaction -v ON_ERROR_STOP=1 套 DEV。test/test_fr132_route_entry_registered.py 要過。先查再寫:讀模型結構直接照 auditor_dashboard_*;分頁 schema 不自己宣告 page_size;側邊選單由 ui_routes 驅動,FE 不另寫 menu 項。
碎片政策不強制;commit 前跑 pytest test/test_fr132_route_entry_registered.py test/test_module_boundaries.py。
gen_permission_matrix.py 若有新能力才跑(本棒沿用 grc.audit.*,不新增能力點)。scripts/sql/ 一支 phase=seed migration,不是主線 active,不需重產出貨基線;只套 DEV。