From bec58fa7fe4fae2deac88200d8d939e12ec8a08f Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 22:26:39 +0800
Subject: [PATCH] 修复小程序WXS日期显示问题并重新设计【我的】页面
---
web/src/views/review-detail.vue | 90 ++++++++++++++++++++++++++------------------
1 files changed, 53 insertions(+), 37 deletions(-)
diff --git a/web/src/views/review-detail.vue b/web/src/views/review-detail.vue
index 2dcace8..e015e26 100644
--- a/web/src/views/review-detail.vue
+++ b/web/src/views/review-detail.vue
@@ -225,48 +225,64 @@
return false
}
- // 妫�鏌ユ槸鍚︽湁employee韬唤
- if (userInfo.employee) {
- isEmployee.value = true
+ // 璁剧疆鍛樺伐韬唤鏍囪瘑
+ isEmployee.value = !!userInfo.employee
+
+ // 浼樺厛妫�鏌ヨ瘎濮旇韩浠藉拰鏉冮檺锛堝嵆浣跨敤鎴峰悓鏃舵湁鍛樺伐韬唤锛�
+ const judgeInfo = await userApi.getCurrentJudgeInfo()
+
+ if (judgeInfo) {
+ currentJudge.value = judgeInfo
+ hasJudgePermission.value = true
+
+ // 妫�鏌ユ槸鍚﹀湪褰撳墠姣旇禌闃舵鐨勮瘎濮斿垪琛ㄤ腑
+ if (projectDetail.value && projectDetail.value.stageId) {
+ const isInActivity = await userApi.checkJudgeInActivity(
+ projectDetail.value.stageId,
+ judgeInfo.judgeId
+ )
+
+ if (isInActivity) {
+ isJudgeInActivity.value = true
+ canModifyRating.value = true // 鏈夎瘎濮旀潈闄愶紝鍙互淇敼璇勫垎
+ permissionChecked.value = true
+
+ if (isEmployee.value) {
+ ElMessage.success('鎮ㄥ悓鏃舵嫢鏈夊憳宸ュ拰璇勫韬唤锛屽綋鍓嶄互璇勫韬唤杩涜璇勫')
+ }
+ return true
+ } else {
+ isJudgeInActivity.value = false
+ // 濡傛灉娌℃湁褰撳墠姣旇禌鐨勮瘎濮旀潈闄愶紝浣嗘湁鍛樺伐韬唤锛屽垯浠ュ憳宸ヨ韩浠芥煡鐪�
+ if (isEmployee.value) {
+ canModifyRating.value = false
+ permissionChecked.value = true
+ ElMessage.info('鎮ㄦ病鏈夊綋鍓嶆瘮璧涚殑璇勫鏉冮檺锛屼互鍛樺伐韬唤鏌ョ湅璇勫璇︽儏')
+ return true
+ } else {
+ ElMessage.error('鎮ㄤ笉鏄綋鍓嶆瘮璧涚殑璇勫锛屾棤娉曡繘琛岃瘎瀹�')
+ router.push('/project-review')
+ return false
+ }
+ }
+ }
+ }
+
+ // 濡傛灉娌℃湁璇勫韬唤锛屼絾鏈夊憳宸ヨ韩浠斤紝鍒欎互鍛樺伐韬唤鏌ョ湅
+ if (isEmployee.value) {
+ hasJudgePermission.value = false
canModifyRating.value = false // employee鍙兘鏌ョ湅锛屼笉鑳戒慨鏀�
permissionChecked.value = true
ElMessage.info('鎮ㄤ互鍛樺伐韬唤鏌ョ湅璇勫璇︽儏锛屽彧鑳芥煡鐪嬩笉鑳戒慨鏀硅瘎鍒�')
return true
}
- // 濡傛灉娌℃湁employee韬唤锛屾鏌udge韬唤鍜屾潈闄�
- const judgeInfo = await userApi.getCurrentJudgeInfo()
+ // 鏃㈡病鏈夎瘎濮旇韩浠戒篃娌℃湁鍛樺伐韬唤
+ hasJudgePermission.value = false
+ ElMessage.error('鎮ㄦ病鏈夎瘎濮旀潈闄愶紝鏃犳硶杩涜璇勫')
+ router.push('/project-review')
+ return false
- if (!judgeInfo) {
- hasJudgePermission.value = false
- ElMessage.error('鎮ㄦ病鏈夎瘎濮旀潈闄愶紝鏃犳硶杩涜璇勫')
- router.push('/project-review')
- return false
- }
-
- currentJudge.value = judgeInfo
- hasJudgePermission.value = true
-
- // 妫�鏌ユ槸鍚﹀湪褰撳墠姣旇禌闃舵鐨勮瘎濮斿垪琛ㄤ腑
- if (projectDetail.value && projectDetail.value.stageId) {
- const isInActivity = await userApi.checkJudgeInActivity(
- projectDetail.value.stageId,
- judgeInfo.judgeId
- )
-
- if (!isInActivity) {
- isJudgeInActivity.value = false
- ElMessage.error('鎮ㄤ笉鏄綋鍓嶆瘮璧涚殑璇勫锛屾棤娉曡繘琛岃瘎瀹�')
- router.push('/project-review')
- return false
- }
-
- isJudgeInActivity.value = true
- canModifyRating.value = true // judge鏈夋潈闄愪慨鏀硅瘎鍒�
- }
-
- permissionChecked.value = true
- return true
} catch (error) {
console.error('鏉冮檺楠岃瘉澶辫触:', error)
hasJudgePermission.value = false
@@ -278,8 +294,8 @@
// 鍔犺浇褰撳墠璇勫宸叉湁鐨勮瘎瀹℃暟鎹�
const loadExistingRating = async () => {
- // employee鐢ㄦ埛涓嶉渶瑕佸姞杞借瘎濮旂殑璇勫垎鏁版嵁
- if (isEmployee.value || !hasJudgePermission.value) return
+ // 鍙湁鍏锋湁璇勫鏉冮檺涓斿彲浠ヤ慨鏀硅瘎鍒嗙殑鐢ㄦ埛鎵嶉渶瑕佸姞杞借瘎濮旂殑璇勫垎鏁版嵁
+ if (!hasJudgePermission.value || !canModifyRating.value) return
try {
const rating = await getCurrentJudgeRating(parseInt(projectId.value))
--
Gitblit v1.8.0