Jelajahi Sumber

fix: 身首页七维雷达图无数据时也显示人群平均值

E2E Test Bot 1 bulan lalu
induk
melakukan
21570864f9
1 mengubah file dengan 24 tambahan dan 16 penghapusan
  1. 24 16
      cfc-frontend/pages/body/index.vue

+ 24 - 16
cfc-frontend/pages/body/index.vue

@@ -8,14 +8,11 @@
       tagline="科学管理全家健康"
       quote="身体健康是幸福的基础" />
 
-    <!-- 雷达图 -->
-    <view class="section" v-if="dimensionData">
-      <view class="section-header" v-if="dimensionData.isAverage">
-        <text class="section-title">七维健康图</text>
-        <text class="avg-badge">同龄同性平均值 · 上传报告后显示个人数据</text>
-      </view>
-      <view class="section-header" v-else>
+    <!-- 雷达图(始终显示,无用户数据时仅显示人群平均值) -->
+    <view class="section">
+      <view class="section-header">
         <text class="section-title">七维健康图</text>
+        <text class="avg-badge" v-if="!dimensionData">同龄同性平均值 · 上传报告后显示个人数据</text>
       </view>
       <RadarChart
         v-if="radarDimensions && radarDimensions.length >= 3"
@@ -183,19 +180,30 @@ export default {
     }
   },
   computed: {
-    /** 七维雷达图:维度标签(遵守 AGENTS.md 禁止模板内方法调用,使用 computed 缓存) */
+    /** 七维雷达图:维度标签(API无数据时使用默认标签) */
     radarDimensions: function() {
       var dims = this.dimensionData && this.dimensionData.dimensions
-      if (!dims) return []
-      var result = []
-      for (var i = 0; i < dims.length; i++) {
-        var d = dims[i]
-        if (!d) continue
-        result.push({ label: d.label || '', key: d.dimension || '' })
+      if (dims && dims.length > 0) {
+        var result = []
+        for (var i = 0; i < dims.length; i++) {
+          var d = dims[i]
+          if (!d) continue
+          result.push({ label: d.label || '', key: d.dimension || '' })
+        }
+        return result
       }
-      return result
+      // 无数据时使用默认七维标签
+      return [
+        { label: '生长发育', key: 'growth' },
+        { label: '睡眠质量', key: 'sleep' },
+        { label: '视力健康', key: 'vision' },
+        { label: '免疫力', key: 'immunity' },
+        { label: '营养均衡', key: 'nutrition' },
+        { label: '肠胃健康', key: 'gut' },
+        { label: '运动活力', key: 'exercise' }
+      ]
     },
-    /** 七维雷达图:分值(对 null/NaN 做归一化,避免 Canvas 计算 NaN 静默失败) */
+    /** 七维雷达图:分值(无数据时返回空数组,仅显示平均值) */
     radarScores: function() {
       var dims = this.dimensionData && this.dimensionData.dimensions
       if (!dims) return []