From 3714621173c606c4c58439ed8941100ce9ddea14 Mon Sep 17 00:00:00 2001
From: Codex Assistant <codex@example.com>
Date: 星期三, 05 十一月 2025 15:10:49 +0800
Subject: [PATCH] bug
---
wx/pages/project/detail.wxml | 132 +++++++++++++++++++++++++++++--------------
1 files changed, 88 insertions(+), 44 deletions(-)
diff --git a/wx/pages/project/detail.wxml b/wx/pages/project/detail.wxml
index 56425fa..9c2f49d 100644
--- a/wx/pages/project/detail.wxml
+++ b/wx/pages/project/detail.wxml
@@ -72,6 +72,57 @@
<text class="action-btn">{{item.mediaType === 'IMAGE' ? '棰勮' : item.mediaType === 'VIDEO' ? '鎾斁' : '鏌ョ湅'}}</text>
</view>
</view>
+ </view>
+ </view>
+
+ <!-- 姣旇禌闃舵鏃堕棿杞� -->
+ <view class="timeline-card">
+ <view class="card-header">
+ <text class="card-title">姣旇禌闃舵</text>
+ </view>
+
+ <view class="timeline-loading" wx:if="{{timelineLoading}}">
+ <view class="loading-spinner small"></view>
+ <text class="loading-text">鏃堕棿杞村姞杞戒腑...</text>
+ </view>
+
+ <view class="timeline-error" wx:elif="{{timelineError}}">
+ {{timelineError}}
+ </view>
+
+ <view class="timeline-wrapper" wx:elif="{{timeline.length > 0}}">
+ <view
+ class="timeline-item {{item.participated ? 'timeline-item-active' : 'timeline-item-inactive'}} {{item.isClickable ? 'timeline-item-clickable' : ''}}"
+ wx:for="{{timeline}}"
+ wx:key="stageId"
+ bindtap="openStageDetail"
+ data-player-id="{{item.activityPlayerId}}"
+ data-clickable="{{item.isClickable}}"
+ data-participated="{{item.participated}}"
+ >
+ <view class="timeline-axis">
+ <view class="timeline-dot"></view>
+ <view class="timeline-line" wx:if="{{index < timeline.length - 1}}"></view>
+ </view>
+ <view class="timeline-body">
+ <view class="timeline-title">
+ <text class="stage-name">{{item.stageName}}</text>
+ <text class="stage-score">{{item.scoreText}}</text>
+ </view>
+ <view class="timeline-sub">
+ <text class="stage-time">{{item.matchTimeText || '鏃堕棿寰呭畾'}}</text>
+ <text class="stage-status" wx:if="{{item.participated}}">宸插弬璧�</text>
+ <text class="stage-status stage-status-inactive" wx:else>鏈弬璧�</text>
+ </view>
+ <view class="timeline-actions" wx:if="{{item.hasRating && item.activityPlayerId}}">
+ <text class="detail-link">銆愯鎯呫��</text>
+ </view>
+ </view>
+ </view>
+ </view>
+
+ <view class="timeline-empty" wx:else>
+ 鏆傛棤闃舵淇℃伅
</view>
</view>
@@ -128,49 +179,6 @@
</view>
</view>
- <!-- 璇勫淇℃伅 -->
- <view class="rating-card" wx:if="{{ratingStats}}">
- <view class="card-header">
- <text class="card-title">璇勫淇℃伅</text>
- </view>
-
- <view class="rating-info">
- <!-- 鎬诲钩鍧囧垎鏄剧ず -->
- <view class="average-score-section">
- <view class="average-score-container">
- <text class="average-score-label">鎬诲钩鍧囧垎</text>
- <text class="average-score-value">{{ratingStats.averageScore || '鏆傛棤璇勫垎'}}</text>
- <text class="rating-count-text">锛坽{ratingStats.ratingCount || 0}}浣嶈瘎濮斿凡璇勫垎锛�</text>
- </view>
- </view>
-
- <!-- 鍚勮瘎濮旇瘎鍒嗚鎯� -->
- <view class="judge-ratings-section" wx:if="{{ratingStats.judgeRatings && ratingStats.judgeRatings.length > 0}}">
- <text class="section-title">璇勫璇勫垎璇︽儏</text>
- <view
- class="judge-rating"
- wx:for="{{ratingStats.judgeRatings}}"
- wx:key="judgeId"
- wx:if="{{item.hasRated}}"
- >
- <view class="rating-header">
- <view class="judge-info">
- <text class="judge-label">璇勫 {{index + 1}}</text>
- <text class="rating-status rated">宸茶瘎鍒�</text>
- </view>
- <view class="score-info">
- <text class="score">{{item.totalScore}}鍒�</text>
- <text class="rating-time">{{item.ratingTimeText}}</text>
- </view>
- </view>
- <view class="rating-comment" wx:if="{{item.remark}}">
- <text class="comment-label">鐐硅瘎锛�</text>
- <text class="comment-text">{{item.remark}}</text>
- </view>
- </view>
- </view>
- </view>
- </view>
</view>
<!-- 鍔犺浇鐘舵�� -->
@@ -184,4 +192,40 @@
<text class="error-icon">鈿狅笍</text>
<text class="error-text">{{error}}</text>
<button class="retry-btn" bindtap="loadProjectDetail">閲嶈瘯</button>
-</view>
\ No newline at end of file
+</view>
+
+<!-- 闃舵璇勫垎璇︽儏寮圭獥 -->
+<view class="rating-detail-overlay" wx:if="{{showRatingDetail}}">
+ <view class="overlay-mask" bindtap="closeStageDetail"></view>
+ <view class="overlay-panel">
+ <view class="overlay-header">
+ <text class="overlay-title">{{ratingDetail ? ratingDetail.stageName : '璇勫垎璇︽儏'}}</text>
+ <view class="overlay-close" bindtap="closeStageDetail">脳</view>
+ </view>
+ <text class="overlay-subtitle">{{ratingDetail && ratingDetail.matchTimeText ? ratingDetail.matchTimeText : '鏃堕棿寰呭畾'}}</text>
+ <view class="overlay-summary">
+ <text class="summary-score">骞冲潎鍒嗭細{{ratingDetail ? ratingDetail.averageScoreText : '鏆傛棤璇勫垎'}}</text>
+ <text class="summary-count">璇勫鏁帮細{{ratingDetail ? ratingDetail.ratingCount : 0}}</text>
+ </view>
+ <view class="overlay-body">
+ <view class="panel-loading" wx:if="{{ratingDetailLoading}}">
+ <view class="loading-spinner small"></view>
+ <text class="loading-text">鍔犺浇璇勫垎璇︽儏...</text>
+ </view>
+ <view class="panel-error" wx:elif="{{ratingDetailError}}">{{ratingDetailError}}</view>
+ <block wx:else>
+ <view class="judge-item" wx:for="{{(ratingDetail && ratingDetail.judgeRatings) ? ratingDetail.judgeRatings : []}}" wx:key="judgeId">
+ <view class="judge-header">
+ <text class="judge-name">{{item.judgeName}}</text>
+ <text class="judge-score">{{item.totalScoreText}}</text>
+ </view>
+ <text class="judge-time" wx:if="{{item.ratingTimeText}}">{{item.ratingTimeText}}</text>
+ <view class="judge-feedback" wx:if="{{item.feedback}}">{{item.feedback}}</view>
+ </view>
+ <view class="panel-empty" wx:if="{{ratingDetail && ratingDetail.judgeRatings && ratingDetail.judgeRatings.length === 0}}">
+ 鏆傛棤璇勫垎璇︽儏
+ </view>
+ </block>
+ </view>
+ </view>
+</view>
--
Gitblit v1.8.0