Files
ai-showcase-platform/README-SCORING.md

4.1 KiB
Raw Blame History

評分管理功能

功能概述

後台評分管理系統提供了完整的評分管理功能,包括:

  • 查看已完成和未完成的評分內容
  • 手動輸入和編輯評分
  • 評分進度追蹤
  • 篩選和搜尋功能

主要功能

1. 競賽選擇

  • 從下拉選單中選擇要管理的競賽
  • 顯示競賽基本資訊(名稱、類型、時間等)

2. 評分概覽

  • 已完成評分:顯示已完成的評分數量
  • 待評分:顯示待評分的數量
  • 完成度:顯示評分進度的百分比
  • 總評分項目:顯示總評分項目數量
  • 進度條:視覺化顯示評分進度

3. 評分記錄管理

  • 評審:顯示評審姓名和頭像
  • 參賽者:顯示參賽者名稱和類型(個人/團隊)
  • 類型:標示參賽者類型
  • 總分:顯示評分總分
  • 狀態:顯示評分狀態(已完成/待評分)
  • 提交時間:顯示評分提交時間
  • 操作:編輯或新增評分

4. 篩選和搜尋

  • 狀態篩選:按評分狀態篩選(全部/已完成/待評分)
  • 搜尋功能:搜尋評審或參賽者名稱
  • 分頁功能:支援大量數據的分頁顯示

5. 動態評分功能

  • 評審選擇:從評審列表中選擇評審
  • 參賽者選擇:從參賽者列表中選擇參賽者
  • 動態評分項目:根據競賽建立時設定的評比規則動態生成評分項目
  • 權重計算:支援不同評分項目的權重設定
  • 評分驗證:確保所有評分項目都已評分
  • 總分計算:根據權重自動計算總分
  • 評審意見:填寫評審意見和建議
  • 評分提交:提交或更新評分

使用方式

訪問評分管理

  1. 進入後台管理系統
  2. 點擊「評分管理」標籤
  3. 選擇要管理的競賽

查看評分記錄

  1. 選擇競賽後,系統會自動載入該競賽的所有評分記錄
  2. 使用篩選功能查看特定狀態的評分
  3. 使用搜尋功能快速找到特定評審或參賽者的評分

動態評分輸入

  1. 點擊「手動輸入評分」按鈕
  2. 選擇評審和參賽者
  3. 根據競賽設定的評比項目進行評分
  4. 為每個評分項目選擇分數1-10分
  5. 系統會根據權重自動計算總分
  6. 填寫評審意見
  7. 點擊「提交評分」完成評分

編輯現有評分

  1. 在評分記錄表格中點擊編輯按鈕
  2. 修改評審意見
  3. 點擊「更新評分」保存修改

技術實現

組件結構

  • ScoringManagement:主要評分管理組件
  • 整合到現有的 CompetitionManagement 組件中

動態評分系統

  • 評比規則讀取:從競賽的 rules 屬性讀取評比項目
  • 動態評分項目生成:根據競賽規則動態生成評分表單
  • 權重計算:支援不同評分項目的權重設定
  • 評分驗證:確保所有評分項目都已評分
  • 總分計算:根據權重自動計算總分

數據流

  1. useCompetition 上下文獲取競賽和評分數據
  2. 根據選擇的競賽載入相關的評審和參賽者
  3. 讀取競賽的評比規則並動態生成評分項目
  4. 生成評分記錄列表
  5. 支援篩選、搜尋和分頁功能

狀態管理

  • 使用 React hooks 管理組件狀態
  • 整合現有的競賽上下文
  • 支援即時數據更新
  • 動態評分項目的狀態管理

文件結構

components/admin/
├── scoring-management.tsx    # 評分管理組件
└── competition-management.tsx # 競賽管理組件(已整合)

app/admin/
└── scoring/
    └── page.tsx             # 評分管理頁面

注意事項

  1. 評分記錄會根據競賽的評審和參賽者自動生成
  2. 已完成的評分可以編輯,未完成的評分可以新增
  3. 評分提交後會即時更新列表
  4. 支援個人賽和團隊賽的評分管理
  5. 評分數據與現有的競賽管理系統完全整合
  6. 評分項目會根據競賽建立時設定的評比規則動態生成
  7. 如果競賽沒有設定評比規則,會使用預設的評分項目
  8. 總分會根據各評分項目的權重自動計算
  9. 系統會驗證所有評分項目都已評分才能提交