本卡屬 FR-144(母卡見下方連結),第 2 棒:前端清單頁與側邊選單徽章。會改碼。依賴 FR-144.1 的端點。
把第 1 棒做好的資料刻成畫面:左側選單「待辦任務」底下多一項「稽核計畫」帶數字,進去是表格(一個稽核次一列)、狀態分段鈕帶筆數、搜尋框、欄頭排序、分頁,點一列直達 FR-141 的稽核計畫頁。長相完全照雛形,版式與 FR-142「我的稽核」雛形同一套。
repo:~/Projects/Billows/Audit-Manager/compliance-manager-fe/(先讀它的 CLAUDE.md)
新檔
src/views/project/AuditPlanListView.vue
src/config/locales/i18n/zh-tw/audit-plan-list.json、en/audit-plan-list.json
改檔
src/config/router/index.js 在 /project/audit-manage(:1178 附近)旁加 /project/audit-plans,name audit-plan-list
src/config/api/api.js 加 AUDIT_PLANS_MY_LIST、AUDIT_PLANS_MY_COUNT
src/config/locales/i18n/zh-tw/menu.json、en/menu.json 加 audit-plan-list(:113 audit-manage 旁)與描述(:259 附近)
src/layout/AppMenuItem.vue 選單項支援可選徽章數字
雛形(照刻)
compliance-manager-be/docs/features/FR-144-2610-my-audit-plans-sidebar-entry/prototype/my-audit-plans.html
版式來源:compliance-manager-be/docs/features/FR-142-2610-audit-result-ao-worksheet-and-report/prototype/my-audits.html
既有參考
src/views/project/MyAuditsView.vue 現有「我的稽核」(卡片式,不改它)
src/views/project/MyTasksView.vue DataTable lazy 分頁怎麼接後端
src/views/project/RoundApPlanView.vue:63-69 ?pass= 的用法
baseService.post(API.AUDIT_PLANS_MY_LIST, {filters:{status, keyword}, pager:{page, page_size:20}, sort:[{field, order}]});回 {data:[…], meta:{total, page, page_size, status_counts}}(第 1 棒回寫會貼一列範例,照它)。audit_planning)/稽核中/矯正中/待覆核/已結案/全部,每顆帶 meta.status_counts 的數字,預設停「待填寫」。用 PrimeVue SelectButton 或 Button 群,樣式照雛形。IconField+InputIcon+InputText,placeholder「搜尋專案、框架、稽核人員、專案經理、稽核性質」,300ms debounce,改了回第 1 頁。DataTable :lazy="true" :loading @page @sort(照 MyTasksView 的接法),rows=20,paginator。欄位與格式照雛形「一格一件事、最多一行小字」:audit_nature=external 寫「外稽」)/狀態(Tag,色照雛形 .st.*)/填寫進度(progress_pct 印「75%」,100 綠字、0 淡字、ap_uid null 印「尚未建立」;title 放「filled/total 條評估目標」)/填寫期限(plan_due 日期;status==='audit_planning' 時底下小字 Tag「逾期 N 天」紅或「剩 N 天」橘,7 天內;null 印「—」)/稽核日期(起、迄各一行,YYYY-MM-DD HH:mm;null 印「—」)/稽核人員(最多兩位、多的「+N」滑過看全部;自己加粗;空陣列印「未指派」橘字)/專案經理(nickname,自己加粗)/最後更新(只日期)/最右一顆 icon-only Button 配 v-tooltip.top。can_edit → icon pi-pencil「填寫」;needs_assign → pi-user-plus「去指派」導 {name:'project-planning-round', params:{id:project_uid, roundUid:round_uid}};其他 → pi-eye「檢視」。導 FR-141 頁:router.push({name:'project-ap-authoring-round', params:{id:project_uid, roundUid:round_uid}, query: is_current ? {} : {pass: pass_uid}})——目前稽核次不帶 pass,帶了會進唯讀模式。pi-inbox+「沒有符合條件的稽核計畫」+小字「當你被列為某份稽核計畫的稽核人員,或你管理的專案進到稽核計畫填寫站時,會出現在這裡。」AppMenuItem.vue 支援 item 可選 badge 計數;選單載入時與從本頁 onBeforeRouteLeave 時打 GET AUDIT_PLANS_MY_COUNT 一次更新。只在 audit-plan-list 這一項顯示;做成通用機制讓 FR-143 改善計畫入口沿用。menu.json 兩語加 "audit-plan-list": "稽核計畫"/"Audit Plans" 與描述「跟你有關的每一份稽核計畫,點列直達填寫頁」;頁內字串進新檔 audit-plan-list.json 兩語(分段鈕、欄名、空狀態、tooltip、逾期/剩 N 天),命名空間 lang.audit_plan_list.*。@/utils/dateTime 既有 formatDate/日期時間格式;審計暱稱顯示規則 created_user_name || created_user 同理用 nickname || login_name。python main.py、FE npm run dev)