From 706fc58eea8b31ecd2e5003615a4874bf0200d76 Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期三, 19 六月 2024 10:58:50 +0800 Subject: [PATCH] feat:答题进度 --- src/views/exam/index.vue | 22 +++++++++++++++++----- 1 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue index 62b56d5..d921218 100644 --- a/src/views/exam/index.vue +++ b/src/views/exam/index.vue @@ -78,7 +78,7 @@ </div> - <!-- 鎻愮ず寮圭獥 --> + <!-- 閫�鍑鸿�冭瘯鎻愮ず寮圭獥 --> <el-dialog v-model="dialogVisible" title="娉ㄦ剰" width="500"> <div class="dialog-container"> <p>璇风‘璁ゆ槸鍚﹂��鍑哄綋鍓嶈�冭瘯</p> @@ -97,7 +97,7 @@ </template> <script setup> -import { ref } from 'vue'; +import { ref, watchEffect } from 'vue'; import { storeToRefs } from 'pinia'; import { Close } from '@element-plus/icons-vue'; import AnswerTag from './components/answer-tag/index.vue'; @@ -144,17 +144,17 @@ if (typeQuestion) { if (currentIndex.value >= typeQuestion.questionList.length) { tempIndex++; - if(examDetail.value[tempIndex]) { + if (examDetail.value[tempIndex]) { currentType.value = examDetail.value[tempIndex].questionType; currentIndex.value = 0; } else { currentType.value = typeQuestion.questionType; currentIndex.value = typeQuestion.questionList.length - 1; } - + } else if (currentIndex.value < 0) { tempIndex--; - if(examDetail.value[tempIndex]) { + if (examDetail.value[tempIndex]) { currentType.value = examDetail.value[tempIndex].questionType; currentIndex.value = examDetail.value[tempIndex].questionList.length - 1; } else { @@ -185,6 +185,18 @@ dialogVisible.value = false; router.back(); }; + +watchEffect(() => { + let progress = 0; + examDetail.value.forEach(item => { + item.questionList.forEach(question => { + if(question.correct) { + progress += 1; + } + }); + }); + examStore.setProgress(progress); +}); </script> <style lang="scss" scoped> -- Gitblit v1.8.0