Kaynağa Gözat

fix(health-main): 恢复健康方案组件原貌,移除远程误加的FamilyMemberStrip成员条

远程211ccf49误将FamilyMemberStrip植入plan-card,导致健康方案卡片直接显示成员选择条,与制定方案页的成员选择逻辑冲突。还原为简洁卡片(lastPlan提示+生成新方案按钮)。

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
E2E Test Bot 3 hafta önce
ebeveyn
işleme
f0c364bc83
1 değiştirilmiş dosya ile 15 ekleme ve 94 silme
  1. 15 94
      cfc-frontend/pages/health-main/index.vue

+ 15 - 94
cfc-frontend/pages/health-main/index.vue

@@ -251,15 +251,8 @@
             <text class="plan-title">📋 健康方案</text>
             <button class="plan-btn" @click="goPlanSummary">{{ lastPlan ? '查看方案' : '生成新方案' }}</button>
           </view>
-          <FamilyMemberStrip
-            v-if="familyMembers.length > 0"
-            :members="familyMembers"
-            :selectedMemberId="planMemberId"
-            :isParent="true"
-            @select="onPlanMemberSelect"
-          />
           <text v-if="lastPlan" class="plan-goal">{{ lastPlan }}</text>
-          <text v-else class="plan-hint">{{ planEmptyHint }}</text>
+          <text v-else class="plan-hint">选维度 + 选成员 + 设定目标 → 生成</text>
         </view>
       </view>
 
@@ -273,20 +266,16 @@ import LoginGuideCard from '../../components/LoginGuideCard.vue'
 import RadarChart from '../../components/RadarChart.vue'
 import ArticleBookshelf from '../../components/ArticleBookshelf.vue'
 import ReportUploadCard from '../../components/report-upload-card.vue'
-import FamilyMemberStrip from '../../components/FamilyMemberStrip.vue'
 import { parseDate } from '../../utils/format.js'
 
 export default {
-  components: { LoginGuideCard, RadarChart, ArticleBookshelf, ReportUploadCard, FamilyMemberStrip },
+  components: { LoginGuideCard, RadarChart, ArticleBookshelf, ReportUploadCard },
   data() {
     return {
       isLoggedIn: false,
       currentTab: 'body',
       selectedMemberName: '',
       selectedMemberId: '',
-      planMemberId: null,
-      familyMembers: [],
-      allPlans: [],
       reports: [],
       lastPlan: '',
       lastPlanId: null,
@@ -336,12 +325,6 @@ export default {
     }
   },
   computed: {
-    planEmptyHint: function() {
-      if (this.planMemberId) {
-        return '该成员暂无健康方案,点击「生成新方案」开始'
-      }
-      return '选维度 + 选成员 + 设定目标 → 生成'
-    },
     currentTabLabel: function() {
       var tab = this.tabs.filter(function(t) { return t.code === this.currentTab }.bind(this))[0]
       return tab ? tab.label : ''
@@ -480,12 +463,8 @@ export default {
         var n = parseInt(stored, 10)
         this.selectedMemberId = isNaN(n) ? stored : n
         this.selectedMemberName = uni.getStorageSync('currentChildName') || '成员'
-        if (this.planMemberId == null) {
-          this.planMemberId = isNaN(n) ? null : n
-        }
       }
       this.loadHealthData()
-      this.loadFamilyMembersForPlan()
       this.loadPlanList()
       this.loadPendingSurveys()
     } else {
@@ -493,71 +472,6 @@ export default {
     }
   },
   methods: {
-    onPlanMemberSelect: function(member) {
-      if (!member || member.id == null) return
-      var id = typeof member.id === 'number' ? member.id : parseInt(member.id, 10)
-      if (isNaN(id)) id = member.id
-      if (this.planMemberId === id) return
-      this.planMemberId = id
-      this.selectedMemberId = id
-      this.selectedMemberName = member.nickname || '成员'
-      uni.setStorageSync('currentMemberId', id)
-      uni.setStorageSync('currentChildId', id)
-      this.applyPlanForMember()
-    },
-    loadFamilyMembersForPlan: function() {
-      var self = this
-      var api = require('../../utils/api.js')
-      api.getFamilyMemberList({ visibleOnly: true }).then(function(res) {
-        var list = (res && res.code === 200 && res.data) ? res.data : []
-        self.familyMembers = Array.isArray(list) ? list : []
-        if (self.planMemberId == null && self.familyMembers.length > 0) {
-          var first = self.familyMembers[0]
-          var fid = first && first.id != null ? first.id : null
-          if (fid != null) {
-            var pn = parseInt(fid, 10)
-            self.planMemberId = isNaN(pn) ? fid : pn
-          }
-        }
-        self.applyPlanForMember()
-      }).catch(function() {
-        self.familyMembers = []
-      })
-    },
-    /** memberIds 可能是 "1020" 或 "1020,1021",按成员匹配方案 */
-    planMatchesMember: function(plan, memberId) {
-      if (!plan || memberId == null) return false
-      var ids = String(plan.memberIds || '')
-      if (!ids) return false
-      var target = String(memberId)
-      var parts = ids.split(',')
-      for (var i = 0; i < parts.length; i++) {
-        if (String(parts[i]).trim() === target) return true
-      }
-      return false
-    },
-    applyPlanForMember: function() {
-      var list = this.allPlans || []
-      var memberId = this.planMemberId
-      var matched = null
-      if (memberId != null) {
-        for (var i = 0; i < list.length; i++) {
-          if (this.planMatchesMember(list[i], memberId)) {
-            matched = list[i]
-            break
-          }
-        }
-      } else if (list.length > 0) {
-        matched = list[0]
-      }
-      if (matched) {
-        this.lastPlan = matched.goal || matched.memberName || '已有健康方案'
-        this.lastPlanId = matched.id || null
-      } else {
-        this.lastPlan = ''
-        this.lastPlanId = null
-      }
-    },
     _cognitiveScore: function(key) {
       if (!this.cognitiveData) return 0
       var v = this.cognitiveData[key]
@@ -655,7 +569,7 @@ export default {
       if (this.lastPlanId) {
         url += '?planId=' + this.lastPlanId
       }
-      var mid = this.planMemberId || this.selectedMemberId
+      var mid = this.selectedMemberId
       if (mid) {
         url += (url.indexOf('?') >= 0 ? '&' : '?') + 'memberId=' + mid
       }
@@ -727,14 +641,21 @@ export default {
       api.getHealthPlanList({}).then(function(res) {
         if (res && res.code === 200 && res.data) {
           var list = res.data.list || res.data
-          self.allPlans = Array.isArray(list) ? list : []
+          var plans = Array.isArray(list) ? list : []
+          if (plans.length > 0) {
+            self.lastPlan = plans[0].goal || plans[0].memberName || '已有健康方案'
+            self.lastPlanId = plans[0].id || null
+          } else {
+            self.lastPlan = ''
+            self.lastPlanId = null
+          }
         } else {
-          self.allPlans = []
+          self.lastPlan = ''
+          self.lastPlanId = null
         }
-        self.applyPlanForMember()
       }).catch(function() {
-        self.allPlans = []
-        self.applyPlanForMember()
+        self.lastPlan = ''
+        self.lastPlanId = null
       })
     },
     goArticleDetail: function(article) {