feat(复习): 支持会话维度复习 + 标准导图按会话过滤
- MindMapNode 新增 sessionNum 字段,追踪节点来源会话
- BuiltinMindMapGenerator 生成节点时填充 sessionNum
- MindMapTreeTool.filterBySession() 按会话过滤标准导图
- recallCompare 接受 sessionNum 参数,筛选后对比
- 新增 review_recall_records.session_num 字段(Flyway V20260705_1)
- 新增 GET /study-sessions/tasks/{taskNum}/sessions 端点
- 前端 ReviewRecall.vue 增加复习范围选择器(全部/指定会话)
- 历史报告条目展示学习预期目标
This commit is contained in:
@@ -677,7 +677,10 @@ onUnmounted(() => {
|
||||
<el-tab-pane label="学习报告" name="reports">
|
||||
<div v-loading="loadingHistory" class="history-list">
|
||||
<div v-for="item in historyReports" :key="item.id" class="history-item report-item">
|
||||
<span class="session-tag">{{ item.sessionNum }}</span>
|
||||
<div class="report-header">
|
||||
<span class="session-tag">{{ item.sessionNum }}</span>
|
||||
<span v-if="item.sessionExpectation" class="expectation-hint">{{ item.sessionExpectation }}</span>
|
||||
</div>
|
||||
<MarkdownRenderer :content="item.content" />
|
||||
</div>
|
||||
<el-empty v-if="!loadingHistory && historyReports.length === 0" description="暂未找到匹配的报告" :image-size="48" />
|
||||
@@ -1098,6 +1101,26 @@ onUnmounted(() => {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.report-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-bottom: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.expectation-hint {
|
||||
font-size: 12px;
|
||||
color: var(--text-secondary, #666);
|
||||
background: #f5f7f5;
|
||||
padding: 1px 8px;
|
||||
border-radius: 4px;
|
||||
white-space: nowrap;
|
||||
max-width: 300px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.history-content {
|
||||
flex: 1;
|
||||
font-size: 14px;
|
||||
|
||||
Reference in New Issue
Block a user