|
|
@@ -51,6 +51,7 @@
|
|
|
:subjectCode="portraitData.subjectCode"
|
|
|
:knowledgeId="knowledgeId"
|
|
|
/>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -75,38 +76,66 @@ export default {
|
|
|
portraitData() {
|
|
|
return this.$store.state.report.filterObject;
|
|
|
},
|
|
|
- // 动态生成知识统计文本,使用repeatKnowledgeNum
|
|
|
+ // 动态生成知识统计文本
|
|
|
knowledgeStats() {
|
|
|
const stats = [];
|
|
|
const prefix = ''; // 定义prefix变量
|
|
|
- // 当repeatKnowledgeNum不等于0时,显示第二行文本
|
|
|
- if (this.knowledgeMapData.repeatKnowledgeNum > 0) {
|
|
|
+
|
|
|
+ // 当有知识点数据时,生成统计文本
|
|
|
+ if (this.knowledgeMapData.konwLenght > 0 || this.knowledgeMapData.knowledgeList) {
|
|
|
// 获取得分率变化的文本部分
|
|
|
let changeText = '';
|
|
|
- const hasRaise = this.knowledgeMapData.raiseKnowledgeList;
|
|
|
- const hasDrop = this.knowledgeMapData.dropKnowledgeList;
|
|
|
- // 只有当raiseKnowledgeList不为空时,添加得分率提升的部分
|
|
|
- if (hasRaise) {
|
|
|
- changeText += `共包含<span style='color:#2E64FA'>${this.knowledgeMapData.konwLenght}</span>个知识点,其中<span style="color:#333333;font-weight:600;">${this.knowledgeMapData.raiseKnowledgeList}</span>${prefix}得分率<span style="color:#3BA272;font-weight:600;">提升</span>`;
|
|
|
+ const hasRaise = this.knowledgeMapData.raiseKnowledgeList; // 提升部分
|
|
|
+ const hasDrop = this.knowledgeMapData.dropKnowledgeList; // 下降部分
|
|
|
+ const hasKnowledgeList = this.knowledgeMapData.knowledgeList; // 知识点列表
|
|
|
+ const knowledgeNum = this.knowledgeMapData.konwLenght; // 知识点数量
|
|
|
+
|
|
|
+ // 基础文本:包含的知识点数量
|
|
|
+ if (knowledgeNum > 0) {
|
|
|
+ changeText += `共包含<span style='color:#2E64FA'>${knowledgeNum}</span>个知识点`;
|
|
|
}
|
|
|
- // 当下降部分不为空时,添加得分率下降的部分
|
|
|
- if (hasDrop) {
|
|
|
- // 当提升部分不为空时,添加逗号
|
|
|
+
|
|
|
+ // 添加知识点列表(可选)
|
|
|
+ if (hasKnowledgeList) {
|
|
|
+ changeText += `,包括<span style="color:#333333;font-weight:600;">${this.knowledgeMapData.knowledgeList}</span>`;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 当repeatKnowledgeNum大于0时,添加得分率变化信息
|
|
|
+ if (this.knowledgeMapData.repeatKnowledgeNum > 0) {
|
|
|
+ // 只有当raiseKnowledgeList不为空时,添加得分率提升的部分
|
|
|
if (hasRaise) {
|
|
|
- changeText += `,`;
|
|
|
- changeText += `<span style="color:#333333;font-weight:600;">${this.knowledgeMapData.dropKnowledgeList}</span>${prefix}得分率<span style="color:#F56C6C;font-weight:600;">下降</span>,希望针对下降的知识点进行总结和反思。`;
|
|
|
- }else{
|
|
|
- changeText += `共包含<span style='color:#2E64FA'>${this.knowledgeMapData.konwLenght}</span>个知识点,其中<span style="color:#333333;font-weight:600;">${this.knowledgeMapData.dropKnowledgeList}</span>${prefix}得分率<span style="color:#F56C6C;font-weight:600;">下降</span>,希望针对下降的知识点进行总结和反思。`;
|
|
|
+ changeText += `,其中<span style="color:#333333;font-weight:600;">${hasRaise}</span>${prefix}得分率<span style="color:#3BA272;font-weight:600;">提升</span>`;
|
|
|
+ }
|
|
|
+ // 当下降部分不为空时,添加得分率下降的部分
|
|
|
+ if (hasDrop) {
|
|
|
+ // 当提升部分不为空时,添加逗号
|
|
|
+ if (hasRaise) {
|
|
|
+ changeText += `,`;
|
|
|
+ } else {
|
|
|
+ changeText += `,其中`;
|
|
|
+ }
|
|
|
+ changeText += `<span style="color:#333333;font-weight:600;">${hasDrop}</span>${prefix}得分率<span style="color:#F56C6C;font-weight:600;">下降</span>,希望针对下降的知识点进行总结和反思。`;
|
|
|
+ } else if (!hasRaise) {
|
|
|
+ // 如果没有提升和下降,添加完整句号
|
|
|
+ changeText += `。`;
|
|
|
+ } else {
|
|
|
+ // 如果只有提升,添加句号
|
|
|
+ changeText += `。`;
|
|
|
}
|
|
|
} else {
|
|
|
- // 如果只有提升,添加句号
|
|
|
+ // 如果repeatKnowledgeNum为0,添加完整句号
|
|
|
changeText += `。`;
|
|
|
}
|
|
|
+
|
|
|
// 确保始终返回数组
|
|
|
if (changeText) {
|
|
|
stats.push(changeText);
|
|
|
}
|
|
|
+ } else if (this.knowledgeMapData.examRange) {
|
|
|
+ // 如果只有考试范围数据,添加说明文本
|
|
|
+ stats.push(`本次考试涵盖<span style="color:#333333;font-weight:600;">${this.knowledgeMapData.examRange}</span>,暂无详细知识点追踪数据。`);
|
|
|
}
|
|
|
+
|
|
|
return stats;
|
|
|
},
|
|
|
|
|
|
@@ -197,7 +226,7 @@ export default {
|
|
|
if (res.code === 200) {
|
|
|
let data = res.data || [];
|
|
|
if (data) {
|
|
|
- this.gradeHistoryData = res.data;
|
|
|
+ this.gradeHistoryData = res.data.records || [];
|
|
|
let examIds = this.gradeHistoryData.map(item => item.examId || '');
|
|
|
this.portraitData.examIds = examIds;
|
|
|
// 加载状态
|
|
|
@@ -244,23 +273,23 @@ export default {
|
|
|
this.knowledgeloading = false;
|
|
|
// 考试名称列表
|
|
|
if (data.examNameList) {
|
|
|
- this.knowledgeMapData.examRange = data.examNameList.join('、');
|
|
|
+ this.knowledgeMapData.examRange = data.examNameList.join('、') || '';
|
|
|
}
|
|
|
// 知识点列表
|
|
|
if (data.knowledgeList) {
|
|
|
this.knowledgeMapData.konwLenght = data.knowledgeList.length || 0; //知识点列表长度
|
|
|
- this.knowledgeMapData.knowledgeList = data.knowledgeList.join('、');
|
|
|
+ this.knowledgeMapData.knowledgeList = data.knowledgeList.join('、') || '';
|
|
|
}
|
|
|
this.knowledgeMapData.repeatKnowledgeNum = data.repeatKnowledgeNum || 0; //重复知识点数
|
|
|
// 提升知识点
|
|
|
if (data.raiseKnowledgeList) {
|
|
|
- this.knowledgeMapData.raiseKnowledgeList = data.raiseKnowledgeList.join('、');
|
|
|
+ this.knowledgeMapData.raiseKnowledgeList = data.raiseKnowledgeList.join('、') || '';
|
|
|
}
|
|
|
// 下降知识点
|
|
|
if (data.dropKnowledgeList) {
|
|
|
- this.knowledgeMapData.dropKnowledgeList = data.dropKnowledgeList.join('、');
|
|
|
+ this.knowledgeMapData.dropKnowledgeList = data.dropKnowledgeList.join('、') || '';
|
|
|
}
|
|
|
-
|
|
|
+ console.log(this.knowledgeMapData.knowledgeList);
|
|
|
}else{
|
|
|
// 加载状态
|
|
|
this.knowledgeloading = false;
|