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