From 7ad9c3c93f0cc103347ae2e2429e0122fb512e24 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期三, 01 十月 2025 21:26:12 +0800
Subject: [PATCH] feat: 修复员工管理功能并优化UI

---
 web/src/api/projectReview.js |   61 +++++++++++++-----------------
 1 files changed, 26 insertions(+), 35 deletions(-)

diff --git a/web/src/api/projectReview.js b/web/src/api/projectReview.js
index cbfaa9e..c668f3b 100644
--- a/web/src/api/projectReview.js
+++ b/web/src/api/projectReview.js
@@ -2,10 +2,10 @@
 
 // GraphQL 鏌ヨ璇彞
 
-// 鑾峰彇杩涜涓殑姣旇禌鍒楄〃锛堝寘鎷樁娈碉級
-const GET_ACTIVE_ACTIVITIES_QUERY = `
-  query GetActiveActivities {
-    allActivities {
+// 鑾峰彇杩涜涓殑姣旇禌闃舵鍒楄〃
+const GET_ACTIVITY_STAGES_QUERY = `
+  query GetActivityStages {
+    allActivityStages {
       id
       pid
       name
@@ -121,32 +121,23 @@
 // API 鍑芥暟
 
 /**
- * 鑾峰彇杩涜涓殑姣旇禌闃舵鍒楄〃锛坰tate=1涓攑id>0鐨勬瘮璧涢樁娈碉級
- * 鎸夋瘮璧涘垎缁勬帓搴忥紝鏄剧ず鏍煎紡涓�"姣旇禌鍚� + 闃舵鍚�"
+ * 鑾峰彇杩涜涓殑姣旇禌闃舵鍒楄〃
+ * 鍚庣宸茬粡杩囨护浜嗘瘮璧涢樁娈碉紙pid>0涓攕tate=1锛夛紝鐩存帴杩斿洖
  */
 export const getActiveActivities = async () => {
   try {
-    const data = await graphqlRequest(GET_ACTIVE_ACTIVITIES_QUERY)
+    console.log('=== 璋冪敤 getActiveActivities ===')
+    const result = await graphqlRequest(GET_ACTIVITY_STAGES_QUERY)
+    console.log('GraphQL 杩斿洖鏁版嵁:', result)
     
-    // 杩囨护鍑簊tate=1涓攑id>0鐨勬瘮璧涢樁娈�
-    const stages = data.allActivities.filter(activity => 
-      activity.state === 1 && activity.pid > 0
-    )
+    // 鍚庣宸茬粡杩囨护浜嗘瘮璧涢樁娈碉紝鐩存帴杩斿洖
+    const activities = result.data.allActivityStages || []
+    console.log('澶勭悊鍚庣殑 activities:', activities)
     
-    // 鎸夋瘮璧汭D(pid)鍒嗙粍鎺掑簭锛岀‘淇濆悓涓�姣旇禌鐨勪笉鍚岄樁娈垫斁鍦ㄤ竴璧�
-    stages.sort((a, b) => {
-      // 棣栧厛鎸夋瘮璧汭D鎺掑簭
-      if (a.pid !== b.pid) {
-        return a.pid - b.pid
-      }
-      // 鍚屼竴姣旇禌鍐呮寜闃舵ID鎺掑簭
-      return a.id - b.id
-    })
-    
-    return stages
+    return activities
   } catch (error) {
-    console.error('鑾峰彇娲诲姩鍒楄〃澶辫触:', error)
-    throw new Error(error.message || '鑾峰彇娲诲姩鍒楄〃澶辫触')
+    console.error('getActiveActivities 閿欒:', error)
+    throw new Error(error.message || '鑾峰彇姣旇禌闃舵澶辫触')
   }
 }
 
@@ -155,13 +146,13 @@
  */
 export const getCompetitionProjects = async (activityId, page = 0, size = 10) => {
   try {
-    const data = await graphqlRequest(GET_COMPETITION_PROJECTS_QUERY, {
+    const result = await graphqlRequest(GET_COMPETITION_PROJECTS_QUERY, {
       activityId,
       page,
       size
     })
     
-    const projects = data.activityPlayerApplications || []
+    const projects = result.data.activityPlayerApplications || []
     
     // 涓烘瘡涓」鐩幏鍙栬瘎鍒嗙粺璁�
     const enrichedProjects = await Promise.all(
@@ -218,8 +209,8 @@
  */
 export const getProjectDetail = async (id) => {
   try {
-    const data = await graphqlRequest(GET_PROJECT_DETAIL_QUERY, { id })
-    return data.activityPlayerDetail
+    const result = await graphqlRequest(GET_PROJECT_DETAIL_QUERY, { id })
+    return result.data.activityPlayerDetail
   } catch (error) {
     throw new Error(error.message || '鑾峰彇椤圭洰璇︽儏澶辫触')
   }
@@ -230,10 +221,10 @@
  */
 export const getRatingStats = async (activityPlayerId) => {
   try {
-    const data = await graphqlRequest(GET_RATING_STATS_QUERY, { activityPlayerId })
+    const result = await graphqlRequest(GET_RATING_STATS_QUERY, { activityPlayerId })
     
-    const ratings = data.judgeRatingsForPlayer || []
-    const averageScore = data.averageScoreForPlayer || 0
+    const ratings = result.data.judgeRatingsForPlayer || []
+    const averageScore = result.data.averageScoreForPlayer || 0
     
     // 鍙绠楀凡璇勫垎鐨勮瘎濮�
     const ratedJudges = ratings.filter(rating => rating.hasRated)
@@ -259,8 +250,8 @@
  */
 export const getCurrentJudgeRating = async (activityPlayerId) => {
   try {
-    const data = await graphqlRequest(GET_CURRENT_JUDGE_RATING_QUERY, { activityPlayerId })
-    return data.currentJudgeRating
+    const result = await graphqlRequest(GET_CURRENT_JUDGE_RATING_QUERY, { activityPlayerId })
+    return result.data.currentJudgeRating
   } catch (error) {
     throw new Error(error.message || '鑾峰彇褰撳墠璇勫璇勫垎澶辫触')
   }
@@ -271,8 +262,8 @@
  */
 export const submitRating = async (ratingInput) => {
   try {
-    const data = await graphqlRequest(SUBMIT_RATING_MUTATION, { input: ratingInput })
-    return data.saveActivityPlayerRating
+    const result = await graphqlRequest(SUBMIT_RATING_MUTATION, { input: ratingInput })
+    return result.data.saveActivityPlayerRating
   } catch (error) {
     throw new Error(error.message || '鎻愪氦璇勫垎澶辫触')
   }

--
Gitblit v1.8.0