|
@@ -128,6 +128,24 @@
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
|
|
+ <!-- 心13维雷达图(分组展示,登录后且选中成员时) -->
|
|
|
|
|
+ <view class="section" v-if="isLoggedIn && currentMemberEnergies">
|
|
|
|
|
+ <view class="section-header">
|
|
|
|
|
+ <text class="section-title">🧠 心理维度详解</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="radar-group" v-for="(group, gIdx) in mindRadarGroups" :key="gIdx">
|
|
|
|
|
+ <text class="radar-group-label">{{ group.label }}</text>
|
|
|
|
|
+ <RadarChart
|
|
|
|
|
+ :dimensions="group.dimensions"
|
|
|
|
|
+ :scores="getMindGroupScores(group)"
|
|
|
|
|
+ fillColor="#FF6B9D"
|
|
|
|
|
+ gridColor="#FCE7F3"
|
|
|
|
|
+ labelColor="#9D174D"
|
|
|
|
|
+ :width="540"
|
|
|
|
|
+ :height="540" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ </view>
|
|
|
|
|
+
|
|
|
<!-- 心维度介绍卡片(登录后显示) -->
|
|
<!-- 心维度介绍卡片(登录后显示) -->
|
|
|
<DimensionIntroCard dimCode="mind" v-if="isLoggedIn" learn-more-url="/pages/mind-detail/dimension-intro" />
|
|
<DimensionIntroCard dimCode="mind" v-if="isLoggedIn" learn-more-url="/pages/mind-detail/dimension-intro" />
|
|
|
|
|
|
|
@@ -222,6 +240,43 @@ components: { TabTransition, PageBanner, RadarChart, FamilyEnergyBar, PsychCrisi
|
|
|
milestones: [],
|
|
milestones: [],
|
|
|
danReports: [],
|
|
danReports: [],
|
|
|
|
|
|
|
|
|
|
+ // 心13维雷达图分组配置
|
|
|
|
|
+ mindRadarGroups: [
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '大五人格',
|
|
|
|
|
+ dimensions: [
|
|
|
|
|
+ { key: 'bigFiveOpenness', label: '开放性' },
|
|
|
|
|
+ { key: 'bigFiveConscientiousness', label: '尽责性' },
|
|
|
|
|
+ { key: 'bigFiveExtraversion', label: '外向性' },
|
|
|
|
|
+ { key: 'bigFiveAgreeableness', label: '宜人性' },
|
|
|
|
|
+ { key: 'bigFiveNeuroticism', label: '神经质' }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '情绪稳定',
|
|
|
|
|
+ dimensions: [
|
|
|
|
|
+ { key: 'emotionEmotion', label: '情绪商数' },
|
|
|
|
|
+ { key: 'emotionResilience', label: '心理韧性' },
|
|
|
|
|
+ { key: 'emotionStressCoping', label: '压力应对' },
|
|
|
|
|
+ { key: 'emotionSelfAwareness', label: '自我认知' }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '自驱力',
|
|
|
|
|
+ dimensions: [
|
|
|
|
|
+ { key: 'driveAutonomy', label: '自主性' },
|
|
|
|
|
+ { key: 'driveCompetence', label: '胜任感' },
|
|
|
|
|
+ { key: 'driveRelatedness', label: '归属感' }
|
|
|
|
|
+ ]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ label: '自我概念',
|
|
|
|
|
+ dimensions: [
|
|
|
|
|
+ { key: 'selfConceptOverall', label: '综合自我概念' }
|
|
|
|
|
+ ]
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+
|
|
|
// 家庭天盘 - 今日心情(占位数据)
|
|
// 家庭天盘 - 今日心情(占位数据)
|
|
|
todayMood: {
|
|
todayMood: {
|
|
|
emoji: '\u{1F60A}',
|
|
emoji: '\u{1F60A}',
|
|
@@ -404,8 +459,20 @@ components: { TabTransition, PageBanner, RadarChart, FamilyEnergyBar, PsychCrisi
|
|
|
metal: ['大吉:决策力强', '吉:思维清晰', '平:保持专注', '凶:注意言辞', '大凶:不宜强求'],
|
|
metal: ['大吉:决策力强', '吉:思维清晰', '平:保持专注', '凶:注意言辞', '大凶:不宜强求'],
|
|
|
water: ['大吉:灵感丰富', '吉:人际和谐', '平:安静内省', '凶:情绪波动', '大凶:宜藏不宜放']
|
|
water: ['大吉:灵感丰富', '吉:人际和谐', '平:安静内省', '凶:情绪波动', '大凶:宜藏不宜放']
|
|
|
}
|
|
}
|
|
|
- var descList = descMap[this.dominantElement] || descMap.wood
|
|
|
|
|
|
|
+var descList = descMap[this.dominantElement] || descMap.wood
|
|
|
return { level: level, text: levels[level], description: descList[level] }
|
|
return { level: level, text: levels[level], description: descList[level] }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /** 当前选中成员的能量数据(从 sandboxData.members 中按 selectedMemberId 查找) */
|
|
|
|
|
+ currentMemberEnergies: function() {
|
|
|
|
|
+ if (!this.sandboxData || !this.sandboxData.members) return null
|
|
|
|
|
+ var members = this.sandboxData.members
|
|
|
|
|
+ var targetId = this.selectedMemberId || this.currentChildId
|
|
|
|
|
+ for (var i = 0; i < members.length; i++) {
|
|
|
|
|
+ var m = members[i]
|
|
|
|
|
+ if (m && (m.memberId === targetId)) return m
|
|
|
|
|
+ }
|
|
|
|
|
+ return members[0] || null
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
onShow() {
|
|
onShow() {
|
|
@@ -438,6 +505,17 @@ components: { TabTransition, PageBanner, RadarChart, FamilyEnergyBar, PsychCrisi
|
|
|
this._watchPageReady()
|
|
this._watchPageReady()
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ /** 获取心维度分组雷达图的分值数组 */
|
|
|
|
|
+ getMindGroupScores: function(group) {
|
|
|
|
|
+ var member = this.currentMemberEnergies
|
|
|
|
|
+ if (!member) return []
|
|
|
|
|
+ var scores = []
|
|
|
|
|
+ var dims = group.dimensions
|
|
|
|
|
+ for (var i = 0; i < dims.length; i++) {
|
|
|
|
|
+ scores.push(member[dims[i].key] || 0)
|
|
|
|
|
+ }
|
|
|
|
|
+ return scores
|
|
|
|
|
+ },
|
|
|
// ===== 区块可见性 =====
|
|
// ===== 区块可见性 =====
|
|
|
loadSectionConfig: function() {
|
|
loadSectionConfig: function() {
|
|
|
var self = this
|
|
var self = this
|
|
@@ -1993,4 +2071,14 @@ components: { TabTransition, PageBanner, RadarChart, FamilyEnergyBar, PsychCrisi
|
|
|
color: #9D174D;
|
|
color: #9D174D;
|
|
|
font-weight: 500;
|
|
font-weight: 500;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+/* 雷达图分组 */
|
|
|
|
|
+.radar-group { margin-bottom: 30rpx; }
|
|
|
|
|
+.radar-group-label {
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ color: #9D174D;
|
|
|
|
|
+ margin-bottom: 16rpx;
|
|
|
|
|
+ padding-left: 10rpx;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|