LinkDesk/openspec/changes/my-task-page-project-tasks/tasks.md

1.7 KiB
Raw Permalink Blame History

1. 後端 API 開發

  • 1.1 在 backend/routers/tasks.py 新增 /tasks/my-tasks 端點
  • 1.2 在 backend/schemas/ 使用現有的 TaskListResponse schema
  • 1.3 在 router 中實作權限過濾邏輯(基本權限檢查)
  • 1.4 支援查詢參數 project_id 進行專案篩選
  • 1.5 支援查詢參數 status 進行狀態篩選
  • 1.6 支援分頁參數 skip, limit

2. 前端 - My Tasks 頁面

  • 2.1 修改 frontend/src/views/TasksView.vue 頁面使用新 API
  • 2.2 使用現有的 /tasks 路由
  • 2.3 使用現有的導航選單入口

3. 前端 - 重用現有元件

  • 3.1 在 TasksView 中使用 TaskList 元件顯示任務列表
  • 3.2 在 TasksView 中使用 TaskDetailPanel 顯示任務詳細
  • 3.3 使用 TasksDataTable 顯示正確的欄位

4. 前端 - 篩選與排序功能

  • 4.1 在 TasksView 中新增專案篩選下拉選單
  • 4.2 在 TasksView 中新增狀態篩選下拉選單
  • 4.3 確認 DataTable 的排序功能正常運作
  • 4.4 呼叫後端 API 時傳遞篩選參數

5. 前端 - 導航功能

  • 5.1 實作點擊任務列顯示 TaskDetailPanel 功能
  • 5.2 實作雙擊任務導航到 /projects/{project_id}/tasks?taskId={task_id}

6. 測試與驗證

  • 6.1 撰寫後端單元測試驗證 /api/tasks/my-tasks API
  • 6.2 測試不同角色用戶的 My Tasks 顯示正確性
  • 6.3 測試權限控制(無權限專案的任務不應顯示)
  • 6.4 測試篩選功能正確運作API 已測試)
  • 6.5 測試排序功能正確運作
  • 6.6 測試任務點擊顯示詳細功能
  • 6.7 前端整合測試確保 My Tasks 頁面正常運作