|
|
@@ -9,8 +9,8 @@
|
|
|
</view>
|
|
|
</slot>
|
|
|
|
|
|
- <!-- 个人/全家切换开关(有 2+ 成员时显示) -->
|
|
|
- <view class="sandbox-toggle" v-if="hasMultipleMembers && mode !== 'preview'">
|
|
|
+ <!-- 个人/全家切换开关(始终显示,成员 <2 时点全家会提示) -->
|
|
|
+ <view class="sandbox-toggle" v-if="mode !== 'preview'">
|
|
|
<view class="toggle-item" :class="activeClassName" @click="onToggle('personal')">
|
|
|
<text class="toggle-icon">👤</text>
|
|
|
<text class="toggle-text">个人</text>
|
|
|
@@ -165,6 +165,11 @@ export default {
|
|
|
type: Boolean,
|
|
|
default: false
|
|
|
},
|
|
|
+ /** 家庭真实成员数(来自 /api/family/member/list,用于全家切换判断;缺省时用 members 长度) */
|
|
|
+ memberCount: {
|
|
|
+ type: Number,
|
|
|
+ default: 0
|
|
|
+ },
|
|
|
/** 当前视角模式(由父组件控制) */
|
|
|
currentView: {
|
|
|
type: String,
|
|
|
@@ -427,6 +432,23 @@ export default {
|
|
|
|
|
|
/** 个人/全家切换(由父组件控制数据源) */
|
|
|
onToggle: function(view) {
|
|
|
+ if (view === 'family') {
|
|
|
+ var total = this.memberCount > 0 ? this.memberCount : (this.members ? this.members.length : 0)
|
|
|
+ if (total < 2) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '需要更多家庭成员',
|
|
|
+ content: '至少需要 2 位家庭成员才能查看全家能量,快去添加吧!',
|
|
|
+ confirmText: '去添加',
|
|
|
+ cancelText: '取消',
|
|
|
+ success: function(res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ uni.navigateTo({ url: '/pages/profile-extra/family-members' })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
this.viewMode = view
|
|
|
if (view === this.currentView) return
|
|
|
this.$emit('view-change', view)
|