|
|
@@ -8,6 +8,13 @@
|
|
|
tagline="科学管理全家健康"
|
|
|
quote="身体健康是幸福的基础" />
|
|
|
|
|
|
+ <!-- 家庭成员选择条 -->
|
|
|
+ <FamilyMemberStrip
|
|
|
+ v-if="isLoggedIn"
|
|
|
+ :members="familyMembersVisible"
|
|
|
+ :selectedMemberId="selectedMemberId"
|
|
|
+ @select="onFamilyMemberSelect" />
|
|
|
+
|
|
|
<!-- 游客专属区块 -->
|
|
|
<template v-if="!isLoggedIn">
|
|
|
<LoginGuideCard
|
|
|
@@ -165,13 +172,14 @@ import AIFloatingAvatar from '../../components/AIFloatingAvatar.vue'
|
|
|
import { getVisibleSections, getEnergyOverview, getChildren, getTodayTasksByCategory, getActivityList, getProductsByDomain, getFamilyEnergySandbox, getVisibleFamilyMembers, getDimensionOverview, getFeaturedArticles } from '../../utils/api.js'
|
|
|
|
|
|
export default {
|
|
|
- components: { TabTransition, PageBanner, LoginGuideCard, FamilyEnergyBar, DimensionTasks, DimensionActivities, DimensionProducts, DimensionProductList, DimensionArticles, FamilyRelationGraph, RadarChart, HealthDimensionsSection, HealthCheckinCard, AIFloatingAvatar },
|
|
|
+ components: { TabTransition, PageBanner, LoginGuideCard, FamilyEnergyBar, DimensionTasks, DimensionActivities, DimensionProducts, DimensionProductList, DimensionArticles, FamilyRelationGraph, RadarChart, HealthDimensionsSection, HealthCheckinCard, AIFloatingAvatar, FamilyMemberStrip },
|
|
|
data() {
|
|
|
return {
|
|
|
isLoggedIn: false,
|
|
|
role: null,
|
|
|
showTabTransition: true,
|
|
|
activeChildId: null,
|
|
|
+ selectedMemberId: null,
|
|
|
activeChildName: '',
|
|
|
userName: '',
|
|
|
children: [],
|
|
|
@@ -418,6 +426,9 @@ export default {
|
|
|
}
|
|
|
}.bind(this)).catch(function() {})
|
|
|
},
|
|
|
+ onFamilyMemberSelect: function(member) {
|
|
|
+ this.selectedMemberId = member.id
|
|
|
+ },
|
|
|
onChildChanged: function(child) {
|
|
|
this.activeChildId = child.childId
|
|
|
this.activeChildName = child.name || child.nickname || '孩子'
|