From 2d410989d32380d31ae3fe6d42aa3b3ba9e09d00 Mon Sep 17 00:00:00 2001
From: lrj <owen.stl@gmail.com>
Date: 星期五, 03 十月 2025 22:13:29 +0800
Subject: [PATCH] UI优化和bug修复: 1.调整小程序消息列表图标样式 2.优化web端比赛晋级页面布局 3.修复小程序消息列表日期显示问题

---
 wx/pages/registration/registration.js |  146 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 144 insertions(+), 2 deletions(-)

diff --git a/wx/pages/registration/registration.js b/wx/pages/registration/registration.js
index e797579..68e7b91 100644
--- a/wx/pages/registration/registration.js
+++ b/wx/pages/registration/registration.js
@@ -9,6 +9,10 @@
     activityId: '',
     activity: null,
     loading: false,
+    userInfo: null, // 褰撳墠鐢ㄦ埛淇℃伅
+    // 鎶ュ悕鐘舵�佹帶鍒�
+    submitDisabled: false,
+    submitText: '鎻愪氦鎶ュ悕',
     
     // 琛ㄥ崟鏁版嵁
     formData: {
@@ -97,16 +101,30 @@
       this.setData({
         activityId: activityId
       })
+      // 浼樺厛妫�鏌ユ姤鍚嶇姸鎬�
+      this.checkRegistrationStatus(activityId)
+      // 鍔犺浇娲诲姩淇℃伅
       this.loadActivityInfo()
     } else {
       console.log('鉂� 娌℃湁鎺ユ敹鍒癮ctivityId鍙傛暟')
     }
+    
+    // 鍔犺浇鐢ㄦ埛淇℃伅
+    this.loadUserInfo()
     
     // 浠庡叏灞�鏁版嵁鑾峰彇鐢ㄦ埛淇℃伅棰勫~鍏�
     this.prefillUserInfo()
     
     // 鍔犺浇鍖哄煙鏁版嵁
     this.loadRegions()
+  },
+
+  onShow() {
+    // 杩斿洖鏈〉鏃跺埛鏂版姤鍚嶇姸鎬�
+    const { activityId } = this.data
+    if (activityId) {
+      this.checkRegistrationStatus(activityId)
+    }
   },
 
   // 鍔犺浇娲诲姩淇℃伅
@@ -210,15 +228,80 @@
     }
   },
 
+  // 鍔犺浇鐢ㄦ埛淇℃伅
+  loadUserInfo() {
+    const userInfo = app.globalData.userInfo
+    console.log('馃攳 鍔犺浇鐢ㄦ埛淇℃伅鐢ㄤ簬鏄剧ず:', userInfo)
+    
+    if (userInfo) {
+      let displayUserInfo = {
+        name: userInfo.name || '',
+        phone: userInfo.phone || '',
+        avatarUrl: userInfo.avatarUrl || '',
+        gender: null,
+        education: ''
+      }
+      
+      // 濡傛灉鐢ㄦ埛鏈塒layer淇℃伅锛屼紭鍏堜娇鐢≒layer鐨勮缁嗕俊鎭�
+      if (userInfo.player) {
+        console.log('馃搵 浣跨敤Player淇℃伅鏄剧ず:', userInfo.player)
+        displayUserInfo.name = userInfo.player.name || userInfo.name || ''
+        displayUserInfo.phone = userInfo.player.phone || userInfo.phone || ''
+        displayUserInfo.avatarUrl = userInfo.player.avatarUrl || userInfo.avatarUrl || ''
+        
+        // 澶勭悊鎬у埆淇℃伅锛�0=鐢凤紝1=濂�
+        if (userInfo.player.gender !== undefined && userInfo.player.gender !== null) {
+          displayUserInfo.gender = parseInt(userInfo.player.gender)
+        }
+        
+        // 澶勭悊瀛﹀巻淇℃伅
+        if (userInfo.player.education) {
+          displayUserInfo.education = userInfo.player.education
+        }
+      }
+      
+      console.log('鉁� 璁剧疆鏄剧ず鐢ㄦ埛淇℃伅:', displayUserInfo)
+      this.setData({
+        userInfo: displayUserInfo
+      })
+    } else {
+      console.log('鈿狅笍 鏈壘鍒扮敤鎴蜂俊鎭�')
+    }
+  },
+
   // 棰勫~鍏呯敤鎴蜂俊鎭�
   prefillUserInfo() {
     const userInfo = app.globalData.userInfo
+    console.log('馃攳 棰勫~鍏呯敤鎴蜂俊鎭�:', userInfo)
+    
     if (userInfo) {
-      this.setData({
+      const updateData = {
         'formData.name': userInfo.name || '',
         'formData.phone': userInfo.phone || '',
         'formData.email': userInfo.email || ''
-      })
+      }
+      
+      // 濡傛灉鐢ㄦ埛鏈塒layer淇℃伅锛屼紭鍏堜娇鐢≒layer鐨勮缁嗕俊鎭�
+      if (userInfo.player) {
+        console.log('馃搵 浣跨敤Player淇℃伅棰勫~鍏�:', userInfo.player)
+        updateData['formData.name'] = userInfo.player.name || userInfo.name || ''
+        updateData['formData.phone'] = userInfo.player.phone || userInfo.phone || ''
+        
+        // 澶勭悊鎬у埆淇℃伅锛�0=鐢凤紝1=濂�
+        if (userInfo.player.gender !== undefined && userInfo.player.gender !== null) {
+          const genderIndex = parseInt(userInfo.player.gender)
+          if (genderIndex === 0 || genderIndex === 1) {
+            updateData['formData.gender'] = genderIndex
+            updateData['genderIndex'] = genderIndex
+            console.log('馃懁 璁剧疆鎬у埆:', genderIndex === 0 ? '鐢�' : '濂�')
+          }
+        }
+      }
+      
+      console.log('鉁� 棰勫~鍏呮暟鎹�:', updateData)
+      this.setData(updateData)
+    } else {
+      console.log('鈿狅笍 鏈壘鍒扮敤鎴蜂俊鎭紝鏃犳硶棰勫~鍏�')
     }
   },
 
@@ -1089,6 +1172,14 @@
 
   async onSubmit() {
     if (this.data.isSubmitting) return
+    if (this.data.submitDisabled) {
+      // 绂佺敤鎬佺洿鎺ユ嫤鎴偣鍑�
+      wx.showToast({
+        title: this.data.submitText,
+        icon: 'none'
+      })
+      return
+    }
     
     // 琛ㄥ崟楠岃瘉
     if (!this.validateForm()) {
@@ -1349,6 +1440,57 @@
     }
   },
 
+  // 妫�鏌ュ綋鍓嶆椿鍔ㄧ殑鎶ュ悕鐘舵�侊紝杩涘叆椤甸潰鏃惰皟鐢�
+  async checkRegistrationStatus(activityId) {
+    try {
+      // GraphQL 鏌ヨ鏈�鏂版姤鍚嶇姸鎬侊紙鍚庣杩斿洖鏈�鏂颁竴鏉¤褰曪級
+      const query = `
+        query GetPlayerRegistrationState($activityId: ID!) {
+          getPlayerRegistrationState(activityId: $activityId) {
+            id
+            status
+            registrationTime
+            reviewStatus
+            reviewComment
+          }
+        }
+      `
+      const res = await app.graphqlRequest(query, { activityId: parseInt(activityId) })
+      console.log('馃煢 鎶ュ悕鐘舵�佹煡璇㈢粨鏋滃師濮�:', res)
+
+      // 鍏煎澶氱杩斿洖缁撴瀯
+      const dataRoot = res?.getPlayerRegistrationState
+        || res?.playerRegistration
+        || res?.data?.getPlayerRegistrationState
+        || res?.data?.playerRegistration
+
+      let submitDisabled = false
+      let submitText = '鎻愪氦鎶ュ悕'
+
+      if (dataRoot && dataRoot.status !== undefined && dataRoot.status !== null) {
+        const statusNum = Number(dataRoot.status)
+        console.log('馃煢 瑙f瀽鍒版姤鍚嶇姸鎬�:', statusNum)
+        if (statusNum === 1) {
+          submitDisabled = true
+          submitText = '宸茬粡鎶ュ悕'
+        } else if (statusNum === 0) {
+          submitDisabled = true
+          submitText = '绛夊緟瀹℃牳'
+        } else {
+          submitDisabled = false
+          submitText = '鎻愪氦鎶ュ悕'
+        }
+      } else {
+        console.log('馃煢 鏈壘鍒版姤鍚嶈褰曟垨鐘舵�侊紝鍏佽鎻愪氦')
+      }
+
+      this.setData({ submitDisabled, submitText })
+    } catch (err) {
+      console.warn('鈿狅笍 鎶ュ悕鐘舵�佹煡璇㈠け璐ワ紝鍏佽鐢ㄦ埛鎻愪氦:', err)
+      this.setData({ submitDisabled: false, submitText: '鎻愪氦鎶ュ悕' })
+    }
+  },
+
   // 鑾峰彇鏂囦欢鎵╁睍鍚�
   getFileExtension(fileName) {
     if (!fileName) return ''

--
Gitblit v1.8.0