|
@@ -300,19 +300,21 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="mt-3">
|
|
|
+ <div
|
|
|
+ class="mt-3"
|
|
|
+ v-if="son.wrongQuestionTypes?.length > 0"
|
|
|
+ >
|
|
|
<div class="mb-1 text-xs text-gray-500">
|
|
|
错题类型:
|
|
|
</div>
|
|
|
<div class="flex flex-wrap gap-2">
|
|
|
- <span
|
|
|
- class="mistake-tag rounded-full bg-red-100 px-2 py-0.5 text-xs text-red-800"
|
|
|
- >xxx(xxx)</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="mistake-tag rounded-full bg-red-100 px-2 py-0.5 text-xs text-red-800"
|
|
|
- >xxx(xxx)</span
|
|
|
- >
|
|
|
+ <template v-for="w in son.wrongQuestionTypes">
|
|
|
+ <span
|
|
|
+ class="mistake-tag rounded-full bg-red-100 px-2 py-0.5 text-xs text-red-800"
|
|
|
+ >
|
|
|
+ {{ w.typeName }}({{ w.count }}题)
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mt-3 flex justify-end">
|
|
@@ -376,7 +378,7 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="text-sm text-gray-500">本学科总做题数</div>
|
|
|
- <div class="text-lg font-bold">246题</div>
|
|
|
+ <div class="text-lg font-bold">{{ state.error.total }}题</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="flex flex-1 items-center rounded-lg bg-gray-50 p-3">
|
|
@@ -387,7 +389,9 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="text-sm text-gray-500">错题数</div>
|
|
|
- <div class="text-lg font-bold">59题</div>
|
|
|
+ <div class="text-lg font-bold">
|
|
|
+ {{ state.error.errorCount }}题
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="flex flex-1 items-center rounded-lg bg-gray-50 p-3">
|
|
@@ -398,25 +402,25 @@
|
|
|
</div>
|
|
|
<div>
|
|
|
<div class="text-sm text-gray-500">错误率</div>
|
|
|
- <div class="text-lg font-bold">23%</div>
|
|
|
+ <div class="text-lg font-bold">
|
|
|
+ {{ state.error.errorPercent }}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="mt-4 border-t border-gray-100 pt-4">
|
|
|
+ <div
|
|
|
+ class="mt-4 border-t border-gray-100 pt-4"
|
|
|
+ v-if="state.error.errorList.length > 0"
|
|
|
+ >
|
|
|
<div class="mb-3 text-sm font-medium">错题最多的知识点</div>
|
|
|
<div class="flex flex-wrap gap-2">
|
|
|
- <span
|
|
|
- class="mistake-tag rounded-full bg-red-100 px-2 py-1 text-xs text-red-800"
|
|
|
- >文言文虚词 (12题)</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="mistake-tag rounded-full bg-red-100 px-2 py-1 text-xs text-red-800"
|
|
|
- >现代文阅读理解 (9题)</span
|
|
|
- >
|
|
|
- <span
|
|
|
- class="mistake-tag rounded-full bg-red-100 px-2 py-1 text-xs text-red-800"
|
|
|
- >诗歌鉴赏 (7题)</span
|
|
|
- >
|
|
|
+ <template v-for="item in state.error.errorList">
|
|
|
+ <span
|
|
|
+ class="mistake-tag rounded-full bg-red-100 px-2 py-1 text-xs text-red-800"
|
|
|
+ >
|
|
|
+ {{ item.typeName }}({{ item.count }}题)
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -619,7 +623,10 @@ const initError = () => {
|
|
|
route.meta.subjectId,
|
|
|
)
|
|
|
.then(({ data }: any) => {
|
|
|
- // state.error.total =
|
|
|
+ state.error.total = data.totalQuestions
|
|
|
+ state.error.errorCount = data.wrongQuestions
|
|
|
+ state.error.errorPercent = data.errorRatePercent
|
|
|
+ state.error.errorList = data.wrongQuestionTypes || []
|
|
|
})
|
|
|
.finally(() => {
|
|
|
state.error.loading = false
|