<!--pages/judge/review.wxml-->
|
<view class="container">
|
<!-- 加载状态 -->
|
<view wx:if="{{loading}}" class="loading-container">
|
<view class="loading-spinner"></view>
|
<text class="loading-text">加载中...</text>
|
</view>
|
|
<!-- 评审内容 -->
|
<view wx:else class="review-content">
|
<!-- 作品信息 -->
|
<view class="submission-info">
|
<view class="info-header">
|
<text class="info-title">作品信息</text>
|
<view class="status-badge {{reviewStatus === 'COMPLETED' ? 'completed' : 'pending'}}">
|
{{reviewStatus === 'COMPLETED' ? '已评审' : '待评审'}}
|
</view>
|
</view>
|
|
<view class="submission-detail">
|
<view style="display: flex; flex-direction: column;">
|
<text class="submission-title">{{submission.title}}</text>
|
<text class="submission-desc">{{submission.description || '暂无项目描述'}}</text>
|
</view>
|
|
|
<!-- 参赛者信息 -->
|
<view class="participant-info">
|
<view class="participant-header">
|
<text class="participant-label">参赛者:</text>
|
<view class="contact-btn" bindtap="onContactParticipant">
|
<text class="contact-icon">📞</text>
|
<text class="contact-text">拨打电话</text>
|
</view>
|
</view>
|
|
<view class="participant-detail">
|
<image class="participant-avatar" src="{{submission.participant.avatar}}" mode="aspectFill"></image>
|
<view class="participant-text">
|
<text class="participant-name">{{submission.participant.name || '匿名'}}</text>
|
<text class="participant-field">性别:{{submission.participant.gender || '未填写'}}</text>
|
<text class="participant-field">出生日期:{{submission.participant.birthday || '未填写'}}</text>
|
<text class="participant-field">所属区域:{{submission.participant.region || '未填写'}}</text>
|
<text class="participant-field">学历:{{submission.participant.education || '未填写'}}</text>
|
</view>
|
</view>
|
|
<view wx:if="{{submission.team && submission.team.members}}" class="team-info">
|
<text class="team-label">团队:{{submission.team.name || '未命名团队'}}</text>
|
<view class="team-members">
|
<view wx:for="{{submission.team.members}}" wx:key="id" class="team-member">
|
<text class="member-name">{{item.name}}</text>
|
<text class="member-role">{{item.role}}</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
|
</view>
|
</view>
|
|
<!-- 作品素材 -->
|
<view wx:if="{{submission.mediaList && submission.mediaList.length > 0}}" class="media-section">
|
<text class="section-title">参赛作品</text>
|
<view class="media-list">
|
<view wx:for="{{submission.mediaList}}" wx:key="id" class="media-item" bindtap="onMediaTap" data-index="{{index}}">
|
<view class="media-thumb-wrapper">
|
<image wx:if="{{item.mediaType === 'image' || item.mediaType === 'video'}}" class="media-thumb" src="{{item.thumbUrl}}" mode="aspectFill" />
|
<view wx:elif="{{item.mediaType === 'pdf'}}" class="media-icon pdf">PDF</view>
|
<view wx:elif="{{item.mediaType === 'word'}}" class="media-icon doc">DOC</view>
|
<view wx:else class="media-icon file">FILE</view>
|
<view wx:if="{{item.mediaType === 'video'}}" class="media-play">▶</view>
|
</view>
|
<view class="media-info">
|
<text class="media-name">{{item.name}}</text>
|
<text class="media-size">{{getFileSizeText(item.size)}}</text>
|
</view>
|
</view>
|
</view>
|
</view>
|
|
<!-- 评审标准 -->
|
<view class="criteria-section">
|
<text class="section-title">评审标准</text>
|
|
<view class="criteria-list">
|
<view wx:for="{{criteria}}" wx:key="id" class="criterion-item">
|
<view class="criterion-header">
|
<text class="criterion-name">{{item.name}}</text>
|
<text class="criterion-score">{{scores[item.id] || 0}} / {{item.maxScore}} 分</text>
|
</view>
|
|
<!-- 评分说明已移除,与Web端保持一致 -->
|
|
<view class="score-control">
|
<view class="score-btn" data-criterion-id="{{item.id}}" data-index="{{index}}" bindtap="decreaseScore">-</view>
|
<input class="score-input" type="digit" value="{{scores[item.id] || 0}}" data-criterion-id="{{item.id}}" data-index="{{index}}" bindinput="onScoreChange" placeholder="0" />
|
<view class="score-btn" data-criterion-id="{{item.id}}" data-index="{{index}}" bindtap="increaseScore">+</view>
|
</view>
|
</view>
|
</view>
|
|
<view class="total-score">
|
<text class="total-label">总分:</text>
|
<text class="total-value">{{totalScore}} / {{maxScore}} 分</text>
|
</view>
|
</view>
|
|
<!-- 评审意见 -->
|
<view class="comment-section">
|
<text class="section-title">评审意见</text>
|
<textarea class="comment-input" placeholder="请填写详细评审意见,包括作品优点、不足和改进建议..." value="{{comment}}" show-confirm-bar="{{false}}" bindinput="onCommentInput"></textarea>
|
<view class="comment-counter">
|
<text class="counter-text">{{comment.length}} 字</text>
|
</view>
|
</view>
|
|
<!-- 既有评审 - 已隐藏 -->
|
<!--
|
<view wx:if="{{existingReview}}" class="existing-review">
|
<text class="section-title">历史评审</text>
|
<view class="review-info">
|
<text class="review-time">评审时间:{{formatDate(existingReview.reviewedAt) || '未知'}}</text>
|
<text class="review-total">总分:{{existingReview.totalScore}} / {{maxScore}} 分</text>
|
</view>
|
<view class="other-reviews-btn" bindtap="onViewOtherReviews">
|
<text class="other-reviews-icon">👥</text>
|
<text class="other-reviews-text">查看其他评委评分</text>
|
</view>
|
</view>
|
-->
|
|
<!-- 底部操作 -->
|
<view class="bottom-actions">
|
<view class="action-btn submit-btn {{submitting ? 'submitting' : ''}}" bindtap="onSubmitReview">
|
<text class="btn-icon">{{submitting ? '⏳' : '✓'}}</text>
|
<text class="btn-text">{{submitting ? '提交中...' : '提交评审'}}</text>
|
</view>
|
</view>
|
</view>
|
</view>
|