feat: 将成长档案调整为近期实修回顾

This commit is contained in:
2026-08-03 12:25:51 +08:00
parent d2e08ab36c
commit 7747334ea4
29 changed files with 566 additions and 344 deletions

View File

@@ -1660,30 +1660,25 @@ function formatRecordDateTime(value: string, boundary: "start" | "end") {
<div><span>生成记录</span><strong>求助卡 {{ selectedUserDetail.metrics.helpCardCount }} / 分享稿 {{ selectedUserDetail.metrics.shareDraftCount }}</strong></div>
</section>
<h3 class="detail-title">成长档案摘要</h3>
<h3 class="detail-title">近期实修回顾</h3>
<section v-if="selectedUserDetail.growthProfile" class="topic-summary-card">
<pre>{{ selectedUserDetail.growthProfile.profileText || '暂无成长档案摘要' }}</pre>
<div class="topic-summary-fields">
<p v-if="selectedUserDetail.growthProfile.recurringTopics"><strong>反复议题</strong>{{ selectedUserDetail.growthProfile.recurringTopics }}</p>
<p v-if="selectedUserDetail.growthProfile.commonEmotions"><strong>常见情绪</strong>{{ selectedUserDetail.growthProfile.commonEmotions }}</p>
<p v-if="selectedUserDetail.growthProfile.bodyPatterns"><strong>身体模式</strong>{{ selectedUserDetail.growthProfile.bodyPatterns }}</p>
<p v-if="selectedUserDetail.growthProfile.homeworkDone"><strong>做过功课</strong>{{ selectedUserDetail.growthProfile.homeworkDone }}</p>
<p v-if="selectedUserDetail.growthProfile.effectiveHomework"><strong>有效功课</strong>{{ selectedUserDetail.growthProfile.effectiveHomework }}</p>
<p v-if="selectedUserDetail.growthProfile.recentProgress"><strong>近期变化</strong>{{ selectedUserDetail.growthProfile.recentProgress }}</p>
<pre>{{ selectedUserDetail.growthProfile.reviewText || '暂无近期回顾' }}</pre>
<div v-if="selectedUserDetail.growthProfile.currentFocus" class="topic-summary-fields">
<p><strong>近期关注</strong>{{ selectedUserDetail.growthProfile.currentFocus }}</p>
</div>
</section>
<el-empty v-else description="该用户暂无成长档案沉淀" :image-size="64" />
<el-empty v-else description="该用户暂无新版近期实修回顾,将在下一次主题沉淀后生成" :image-size="64" />
<section class="user-report-head">
<div>
<h3 class="detail-title">周期报告</h3>
<p>基于已沉淀的主题摘要生成不读取整段原始聊天同一周期重复生成会覆盖旧报告</p>
<h3 class="detail-title">周期实修回顾</h3>
<p>基于本周期主题摘要回顾近期关注不评价成长结果同一周期重复生成会覆盖旧版本</p>
</div>
<div class="user-report-actions">
<el-button size="small" @click="refreshSelectedUserDetail">刷新状态</el-button>
<el-button size="small" :loading="userReportGenerating === 'weekly'" @click="generateUserReport('weekly')">生成周报</el-button>
<el-button size="small" :loading="userReportGenerating === 'monthly'" @click="generateUserReport('monthly')">生成月报</el-button>
<el-button size="small" :loading="userReportGenerating === 'stage'" @click="generateUserReport('stage')">生成阶段总结</el-button>
<el-button size="small" :loading="userReportGenerating === 'stage'" @click="generateUserReport('stage')">生成阶段回顾</el-button>
</div>
</section>
<el-collapse v-if="selectedUserDetail.recentReports.length" class="topic-summary-collapse">
@@ -1738,12 +1733,10 @@ function formatRecordDateTime(value: string, boundary: "start" | "end") {
</div>
<p v-if="topic.summary.errorMessage" class="report-error">最近错误{{ topic.summary.errorMessage }}</p>
<pre v-if="topic.summary.status === 'success' || topic.summary.status === 'fallback'">{{ topic.summary.summary }}</pre>
<p v-else-if="topic.summary.status === 'pending' || topic.summary.status === 'running'" class="report-pending">主题已结束摘要和成长档案正在后台生成</p>
<p v-else-if="topic.summary.status === 'pending' || topic.summary.status === 'running'" class="report-pending">主题已结束摘要和近期实修回顾正在后台生成</p>
<div v-if="topic.summary.status === 'success' || topic.summary.status === 'fallback'" class="topic-summary-fields">
<p v-if="topic.summary.emotions"><strong>情绪</strong>{{ topic.summary.emotions }}</p>
<p v-if="topic.summary.bodyFeelings"><strong>身体感受</strong>{{ topic.summary.bodyFeelings }}</p>
<p v-if="topic.summary.recommendedHomework"><strong>推荐功课</strong>{{ topic.summary.recommendedHomework }}</p>
<p v-if="topic.summary.nextObservation"><strong>下一步观察</strong>{{ topic.summary.nextObservation }}</p>
<p v-if="topic.summary.currentFocus"><strong>本次关注</strong>{{ topic.summary.currentFocus }}</p>
<p v-if="topic.summary.nextObservation"><strong>可以继续留意</strong>{{ topic.summary.nextObservation }}</p>
</div>
<el-button
v-if="topic.summary.status === 'failed'"
@@ -1844,11 +1837,8 @@ function formatRecordDateTime(value: string, boundary: "start" | "end") {
<template v-if="topic.summary">
<pre>{{ topic.summary.summary }}</pre>
<div class="topic-summary-fields">
<p v-if="topic.summary.mainEvents"><strong>主要事件</strong>{{ topic.summary.mainEvents }}</p>
<p v-if="topic.summary.emotions"><strong>情绪</strong>{{ topic.summary.emotions }}</p>
<p v-if="topic.summary.bodyFeelings"><strong>身体感受</strong>{{ topic.summary.bodyFeelings }}</p>
<p v-if="topic.summary.recommendedHomework"><strong>推荐功课</strong>{{ topic.summary.recommendedHomework }}</p>
<p v-if="topic.summary.nextObservation"><strong>下一步观察</strong>{{ topic.summary.nextObservation }}</p>
<p v-if="topic.summary.currentFocus"><strong>本次关注</strong>{{ topic.summary.currentFocus }}</p>
<p v-if="topic.summary.nextObservation"><strong>可以继续留意</strong>{{ topic.summary.nextObservation }}</p>
</div>
</template>
<el-empty v-else description="该主题尚未沉淀摘要" :image-size="60" />