|
|
@@ -100,15 +100,6 @@
|
|
|
<template v-if="data.sentenceEvaluationList?.length == 0">
|
|
|
<div class="no-evaluation">暂无逐句评价</div>
|
|
|
</template>
|
|
|
- <template v-else-if="data.sentenceEvaluationList?.length > 0 && !data.sentenceEvaluationList[0].evaluation">
|
|
|
- <div class="no-evaluation">
|
|
|
- <div style="margin-bottom: 10px;">⚠️ 后端返回的逐句评价数据不完整</div>
|
|
|
- <div style="font-size: 12px; color: #666;">
|
|
|
- 已收到 {{ data.sentenceEvaluationList.length }} 条评价记录,但缺少评价内容(evaluation)和分类(category)字段。<br/>
|
|
|
- 请联系后端检查 AI 评价生成逻辑。
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
<el-card v-for="sentenceEvaluation in data.sentenceEvaluationList"
|
|
|
v-else
|
|
|
:key="sentenceEvaluation.id"
|
|
|
@@ -438,6 +429,15 @@ export default {
|
|
|
flex: 1;
|
|
|
position: relative;
|
|
|
overflow: hidden;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+}
|
|
|
+
|
|
|
+.essay-card :deep(.el-card__body) {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
|
|
|
|
.original-text-label {
|
|
|
@@ -466,18 +466,31 @@ export default {
|
|
|
line-height: 30px;
|
|
|
flex: 1; /* 自动填充剩余空间 */
|
|
|
overflow: hidden;
|
|
|
+ min-height: 0; /* 关键:允许flex子元素收缩并显示滚动条 */
|
|
|
}
|
|
|
|
|
|
.essay-scrollbar {
|
|
|
- height: 100% !important;
|
|
|
+ height: 100%;
|
|
|
padding-right: 10px; /* 滚动条右移 */
|
|
|
}
|
|
|
|
|
|
+/* 确保 el-scrollbar 内部元素正确显示 */
|
|
|
+.essay-scrollbar :deep(.el-scrollbar__wrap) {
|
|
|
+ max-height: 100%;
|
|
|
+}
|
|
|
+
|
|
|
+.essay-scrollbar :deep(.el-scrollbar__view) {
|
|
|
+ display: block;
|
|
|
+}
|
|
|
+
|
|
|
.essay-content {
|
|
|
position: relative;
|
|
|
display: block;
|
|
|
padding-right: 15px; /* 确保内容不被滚动条遮挡 */
|
|
|
padding-bottom: 20px; /* 确保最后一行不被截断 */
|
|
|
+ white-space: pre-wrap; /* 保留换行符并自动换行 */
|
|
|
+ word-wrap: break-word; /* 长单词换行 */
|
|
|
+ overflow-wrap: break-word; /* 确保内容不会溢出 */
|
|
|
}
|
|
|
|
|
|
/* AI评价区域 */
|