稽核人員 Dashboard — 前端整合規格

§1

功能概述

新增「我的稽核任務」獨立頁面(路由建議:/auditor/dashboard),讓稽核人員登入後直接看到所有待稽核的 AP 清單,點擊直接進入稽核頁面,不需要經過專案管理的層層導航。


§2

功能流程

稽核人員登入
    ↓
進入「我的稽核任務」頁面
    ↓
看到所有待稽核的 AP 清單(排序:最需處理的在最上面)
    ↓
點擊某個 AP
    ↓
直接跳轉到該 AP 的稽核頁面
(/project/<project_uid>/ap/<ap_uid>/audit 或現有的稽核路由)

§3

API 規格

取得稽核人員的稽核任務清單

POST /api/1.0/grc/audits/my/list
Authorization: Bearer <token>
Content-Type: application/json

Request:

{
  "filters": {
    "status": "auditing",
    "keyword": "CMMC"
  }
}
欄位 必填 說明
filters.status 選填 篩選 AP 狀態:auditing / remediation / closed
filters.keyword 選填 搜尋專案名稱或 AP 標題

Response:

{
  "status": true,
  "data": {
    "items": [
      {
        "project_uid": "7824c6f9-...",
        "project_name": "CMMC 2.0 Level 1 稽核",
        "ap_uid": "4ca3da6a-...",
        "ap_title": "CMMC 2.0 Level 1 系統稽核",
        "run_no": 1,
        "ap_status": "auditing",
        "total_controls": 17,
        "verdict_completed": 12,
        "verdict_pending": 5,
        "verdict_summary": {
          "pass": 10,
          "fail": 1,
          "partial": 1,
          "na": 0
        },
        "finding_count": 3,
        "evidence_ready_count": 55,
        "evidence_total_count": 59,
        "started_at": "2026-03-01",
        "deadline": "2026-06-30"
      },
      {
        "project_uid": "abc123-...",
        "project_name": "ISO 27001 年度稽核",
        "ap_uid": "def456-...",
        "ap_title": "ISO 27001 第二輪覆核",
        "run_no": 2,
        "ap_status": "auditing",
        "total_controls": 93,
        "verdict_completed": 88,
        "verdict_pending": 5,
        "verdict_summary": {
          "pass": 85,
          "fail": 0,
          "partial": 3,
          "na": 0
        },
        "finding_count": 5,
        "evidence_ready_count": 110,
        "evidence_total_count": 110,
        "started_at": "2026-02-15",
        "deadline": "2026-05-31"
      }
    ]
  }
}

欄位說明:

欄位 說明 前端用途
project_uid 專案 UID 跳轉用
project_name 專案名稱 顯示
ap_uid AP UID 跳轉用
ap_title AP 標題 顯示
run_no 稽核輪次 顯示(第 1 輪 / 第 2 輪覆核)
ap_status AP 狀態 狀態標籤
total_controls 控制項總數 進度分母
verdict_completed 已判定數 進度分子
verdict_pending 待判定數 顯示剩餘工作量
verdict_summary.pass 通過數 結果概覽
verdict_summary.fail 未通過數 結果概覽
verdict_summary.partial 部分通過數 結果概覽
verdict_summary.na 不適用數 結果概覽
finding_count Finding 數量 顯示已記錄的問題
evidence_ready_count 證據就緒的 AO 數 證據就緒率分子
evidence_total_count AO 總數 證據就緒率分母
started_at AP 開始日期 顯示
deadline AP 截止日期 顯示、到期提醒

§4

前端 UI 設計建議

頁面路由

建議:/auditor/dashboard/audit/my-tasks

頁面結構

┌──────────────────────────────────────────────────────────────┐
│  我的稽核任務                                [狀態篩選 ▼] [搜尋] │
├──────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ CMMC 2.0 Level 1 稽核                    [稽核中] 第1輪 │  │
│  │ CMMC 2.0 Level 1 系統稽核                               │  │
│  │                                                        │  │
│  │ 判定進度  ████████████░░░░░  12/17 (71%)               │  │
│  │ 證據就緒  █████████████████  55/59 (93%)               │  │
│  │                                                        │  │
│  │ ✓ 10  ✗ 1  △ 1  — 0    Finding: 3                     │  │
│  │                                                        │  │
│  │ 期限:2026-06-30                          [進入稽核 →]  │  │
│  └────────────────────────────────────────────────────────┘  │
│                                                              │
│  ┌────────────────────────────────────────────────────────┐  │
│  │ ISO 27001 年度稽核                       [稽核中] 第2輪 │  │
│  │ ISO 27001 第二輪覆核                                    │  │
│  │                                                        │  │
│  │ 判定進度  █████████████████  88/93 (95%)               │  │
│  │ 證據就緒  █████████████████ 110/110 (100%)             │  │
│  │                                                        │  │
│  │ ✓ 85  ✗ 0  △ 3  — 0    Finding: 5                     │  │
│  │                                                        │  │
│  │ 期限:2026-05-31                          [進入稽核 →]  │  │
│  └────────────────────────────────────────────────────────┘  │
│                                                              │
└──────────────────────────────────────────────────────────────┘

卡片設計重點

每張卡片(一個 AP)應包含:

  1. 標題區

    • 第一行:project_name + 狀態標籤(ap_status)+ 輪次(run_no
    • 第二行:ap_title
  2. 進度區

    • 判定進度:verdict_completed / total_controls 進度條
    • 證據就緒:evidence_ready_count / evidence_total_count 進度條
  3. 結果摘要

    • ✓ pass數 ✗ fail數 △ partial數 — na數
    • Finding 數量
  4. 底部

    • 期限日期(接近到期用紅色提醒)
    • 「進入稽核」按鈕

狀態標籤顏色建議

狀態 顏色 說明
auditing 藍色 正在稽核
remediation 橘色 等待覆核
closed 綠色 已結案
active 灰色 執行中(稽核人員暫不需操作)
preparing 淡灰 準備中

篩選功能

  • 狀態篩選:下拉選單,選項:全部 / 稽核中 / 矯正中 / 已結案
  • 關鍵字搜尋:搜尋框,即時過濾專案名稱或 AP 標題

排序邏輯(後端已處理)

API 回傳已按以下優先級排序,前端直接依序顯示即可:

  1. auditing(正在稽核,最急)
  2. remediation(等待覆核)
  3. active(執行中)
  4. preparing(準備中)
  5. closed(已結案)

點擊跳轉

點擊「進入稽核」按鈕或整張卡片:

// 跳轉到稽核頁面
router.push({
  path: `/project/${item.project_uid}/ap/${item.ap_uid}/audit`
  // 或直接跳到 AR 控制項列表頁
})

空狀態

如果 API 回傳 items 為空:

  • 顯示:「目前沒有待稽核的任務」
  • 可能原因:使用者不具備 auditor 角色,或所有 AP 已結案

§5

導航整合

建議在左側選單新增入口:

📋 專案管理        ← 現有(管理者用)
🔍 我的稽核任務    ← 新增(稽核人員用)
📝 我的工作        ← 現有(執行人員用)

可依使用者角色控制選單顯示:

  • auditor 角色 → 顯示「我的稽核任務」
  • 有被指派 Job → 顯示「我的工作」
  • manager 角色 → 顯示「專案管理」