From f04f35b562760afbac0c477357e2a29f77aec3b9 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期四, 02 十月 2025 13:51:47 +0800
Subject: [PATCH] fix: 修复评审次数重复显示问题

---
 web/src/api/projectReview.js |   73 ++++++++++++++++++++++++++----------
 1 files changed, 53 insertions(+), 20 deletions(-)

diff --git a/web/src/api/projectReview.js b/web/src/api/projectReview.js
index 37e9148..0808aa2 100644
--- a/web/src/api/projectReview.js
+++ b/web/src/api/projectReview.js
@@ -100,12 +100,31 @@
     currentJudgeRating(activityPlayerId: $activityPlayerId) {
       id
       totalScore
-      comments
-      ratingItems {
-        itemId
-        itemName
+      status
+      remark
+      items {
+        ratingItemId
+        ratingItemName
         score
-        maxScore
+        weightedScore
+      }
+    }
+  }
+`
+
+// 鑾峰彇鎸囧畾璇勫鐨勮瘎鍒嗘槑缁�
+const GET_JUDGE_RATING_DETAIL_QUERY = `
+  query GetJudgeRatingDetail($activityPlayerId: ID!, $judgeId: ID!) {
+    judgeRatingDetail(activityPlayerId: $activityPlayerId, judgeId: $judgeId) {
+      id
+      totalScore
+      status
+      remark
+      items {
+        ratingItemId
+        ratingItemName
+        score
+        weightedScore
       }
     }
   }
@@ -126,15 +145,17 @@
  */
 export const getActiveActivities = async () => {
   try {
-    const data = await graphqlRequest(GET_ACTIVITY_STAGES_QUERY)
+    console.log('=== 璋冪敤 getActiveActivities ===')
+    const result = await graphqlRequest(GET_ACTIVITY_STAGES_QUERY)
+    console.log('GraphQL 杩斿洖鏁版嵁:', result)
     
     // 鍚庣宸茬粡杩囨护浜嗘瘮璧涢樁娈碉紝鐩存帴杩斿洖
-    const activities = data.allActivityStages || []
+    const activities = result.data.allActivityStages || []
+    console.log('澶勭悊鍚庣殑 activities:', activities)
     
-    console.log('鑾峰彇鍒扮殑姣旇禌闃舵:', activities)
     return activities
   } catch (error) {
-    console.error('鑾峰彇姣旇禌闃舵澶辫触:', error)
+    console.error('getActiveActivities 閿欒:', error)
     throw new Error(error.message || '鑾峰彇姣旇禌闃舵澶辫触')
   }
 }
@@ -144,13 +165,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(
@@ -207,8 +228,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 || '鑾峰彇椤圭洰璇︽儏澶辫触')
   }
@@ -219,10 +240,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)
@@ -248,10 +269,22 @@
  */
 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 || '鑾峰彇褰撳墠璇勫璇勫垎澶辫触')
+  }
+}
+
+/**
+ * 鑾峰彇鎸囧畾璇勫鐨勮瘎鍒嗘槑缁�
+ */
+export const getJudgeRatingDetail = async (activityPlayerId, judgeId) => {
+  try {
+    const result = await graphqlRequest(GET_JUDGE_RATING_DETAIL_QUERY, { activityPlayerId, judgeId })
+    return result.data.judgeRatingDetail
+  } catch (error) {
+    throw new Error(error.message || '鑾峰彇璇勫璇勫垎鏄庣粏澶辫触')
   }
 }
 
@@ -260,8 +293,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