|
|
@@ -68,7 +68,9 @@
|
|
|
<FamilyMemberStrip
|
|
|
:members="familyMembersVisible"
|
|
|
:selectedMemberId="selectedMemberId"
|
|
|
- @select="onFamilyMemberSelect" />
|
|
|
+ :isParent="isFamilyAdmin"
|
|
|
+ @select="onFamilyMemberSelect"
|
|
|
+ @switch="onFamilyMemberSwitch" />
|
|
|
|
|
|
<!-- 五维能量条 -->
|
|
|
<FamilyEnergyBar
|
|
|
@@ -351,7 +353,8 @@ import CircleCard from '../../components/CircleCard.vue'
|
|
|
import CircleDetail from '../../components/CircleDetail.vue'
|
|
|
import LoginGuideCard from '../../components/LoginGuideCard.vue'
|
|
|
import FamilyChallengeCard from '../../components/FamilyChallengeCard.vue'
|
|
|
-import { acceptParentInvite, productList, getActivityList, getFeaturedArticles, getFamilyEnergySandbox, getVisibleFamilyMembers, getTodayTasksByCategory, getChildren, getEnergyOverview, getProductsByDomain, getChallengeList, getMyCircles, discoverCircles, joinGeneralCircle, leaveGeneralCircle } from '../../utils/api.js'
|
|
|
+import { acceptParentInvite, productList, getActivityList, getFeaturedArticles, getFamilyEnergySandbox, getVisibleFamilyMembers, getTodayTasksByCategory, getChildren, getEnergyOverview, getProductsByDomain, getChallengeList, getMyCircles, discoverCircles, joinGeneralCircle, leaveGeneralCircle, switchToFamilyMember } from '../../utils/api.js'
|
|
|
+import store from '../../store/index.js'
|
|
|
import config from '@/config.js'
|
|
|
|
|
|
var DIMENSIONS = [
|
|
|
@@ -446,6 +449,10 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
+ isFamilyAdmin: function() {
|
|
|
+ if (!this.familyMembersVisible || this.familyMembersVisible.length === 0) return false
|
|
|
+ return this.familyMembersVisible[0].isAdmin === true
|
|
|
+ },
|
|
|
sandboxScores: function() {
|
|
|
var d = this.sandboxData || {}
|
|
|
return {
|
|
|
@@ -732,6 +739,26 @@ export default {
|
|
|
onFamilyMemberSelect: function(member) {
|
|
|
this.selectedMemberId = member.id
|
|
|
},
|
|
|
+ onFamilyMemberSwitch: function(member) {
|
|
|
+ var self = this
|
|
|
+ if (!member || !member.id) return
|
|
|
+ switchToFamilyMember(member.id, member.source || 'family_member').then(function(res) {
|
|
|
+ if (res.code === 200 && res.data) {
|
|
|
+ store.commit('switchToMember', {
|
|
|
+ memberId: res.data.memberId,
|
|
|
+ effectiveRole: res.data.effectiveRole
|
|
|
+ })
|
|
|
+ uni.showToast({ title: '已切换到' + (member.nickname || '该成员'), icon: 'success' })
|
|
|
+ setTimeout(function() {
|
|
|
+ uni.reLaunch({ url: '/pages/index-home/index' })
|
|
|
+ }, 1000)
|
|
|
+ } else {
|
|
|
+ uni.showToast({ title: res.message || '切换失败', icon: 'none' })
|
|
|
+ }
|
|
|
+ }).catch(function() {
|
|
|
+ uni.showToast({ title: '切换失败', icon: 'none' })
|
|
|
+ })
|
|
|
+ },
|
|
|
onTaskClick: function(task) {
|
|
|
uni.navigateTo({ url: '/pages/tasks/tasks' })
|
|
|
},
|