From 29d3ba66f8446866beceb00c80a1cee59c4b2ef0 Mon Sep 17 00:00:00 2001 From: ltx <1006158920@qq.com> Date: Tue, 28 Apr 2026 14:20:44 +0800 Subject: [PATCH] =?UTF-8?q?update=EF=BC=9A=E8=BF=90=E5=8A=A8=E9=A6=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/parent/report/report.js | 20 ++++++++++++++++--- .../parent/fitness-detail/fitness-detail.js | 9 ++++++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/pages/parent/report/report.js b/pages/parent/report/report.js index 12407d5..5ba7f52 100644 --- a/pages/parent/report/report.js +++ b/pages/parent/report/report.js @@ -100,12 +100,26 @@ Page({ const res = await getPhysicalFitnessReport() const rawList = (res.data && res.data.categoryScoreList) || [] const list = rawList.filter(item => !(item.name && item.name.includes('米') && item.name.includes('跑'))) + + // 雷达图根据 gradeId 过滤不适用的项目 + const gradeId = list.length > 0 ? list[0].gradeId : null + let radarList = list + if (gradeId !== null && gradeId !== undefined) { + if (gradeId <= 2) { + radarList = list.filter(item => item.name !== '一分钟仰卧起坐' && item.name !== '立定跳远') + } else if (gradeId > 2 && gradeId <= 6) { + radarList = list.filter(item => item.name !== '立定跳远') + } else if (gradeId > 6) { + radarList = list.filter(item => item.name !== '一分钟跳绳') + } + } + const fitnessItems = list.map(item => ({ ...item, unit: UNIT_MAP[item.name] || '', })) this.setData({ - fitnessReport: list, + fitnessReport: radarList, fitnessItems, }) } catch (e) { @@ -156,7 +170,7 @@ Page({ tapLegend:true, background: 'rgba(0,0,0,0)', color: ['#4A90E2', '#E74C3C'], - padding: [0, 0, 0, 10], + padding: [0, 0, 0, 15], legend: { show: true, position: 'bottom', @@ -168,7 +182,7 @@ Page({ }, extra: { radar: { - gridType: this.data.fitnessItems.length == 4 ? 'circle' : 'radar', + gridType: this.data.fitnessReport.length == 4 ? 'circle' : 'radar', gridColor: '#CCCCCC', gridCount: 4, opacity: 0.15, diff --git a/subpackage/parent/fitness-detail/fitness-detail.js b/subpackage/parent/fitness-detail/fitness-detail.js index c73e1b5..fe03784 100644 --- a/subpackage/parent/fitness-detail/fitness-detail.js +++ b/subpackage/parent/fitness-detail/fitness-detail.js @@ -17,7 +17,14 @@ Page({ onLoad() { const item = wx.getStorageSync('fitnessDetailItem') || null if (item) { - this.setData({ item, name: item.name, unit: item.unit || '' }) + const fmt = v => (v != null && !isNaN(v)) ? Number(v).toFixed(1) : v + const formattedItem = { + ...item, + lastScore: fmt(item.lastScore), + classAvgScore: fmt(item.classAvgScore), + schoolAvgScore: fmt(item.schoolAvgScore), + } + this.setData({ item: formattedItem, name: item.name, unit: item.unit || '' }) wx.setNavigationBarTitle({ title: item.name + '详情' }) } },