From 5dfecfeae08069e1debd637a8b02e3c1616af2da Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 20 六月 2024 16:08:17 +0800
Subject: [PATCH] fix:修改成绩单页面问题
---
src/store/modules/exam.js | 88 +++++++++++++++++++++++++++++++++++++++++---
1 files changed, 82 insertions(+), 6 deletions(-)
diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js
index 96a55e9..ca976a6 100644
--- a/src/store/modules/exam.js
+++ b/src/store/modules/exam.js
@@ -1,11 +1,87 @@
-import { ref } from 'vue';
+import { ref, computed } from 'vue';
import { defineStore } from 'pinia';
-const useExamStore = defineStore('exam', () => {
+export const useExamStore = defineStore('exam', () => {
const examInfo = ref(null);
+ const examDetail = ref([]);
+
+ const examType = ref({
+ 1: '鍗曢�夐',
+ 2: '澶氶�夐',
+ 3: '闊抽棰�'
+ });
+
+ const currentType = ref(1);
+ const currentIndex = ref(0);
+
+ const answerProgress = ref(0);
+
+
+ const getActiveQuestion = computed(() => {
+ const temp = examDetail.value.find(item => item.questionType === currentType.value);
+ if (temp) {
+ return temp.questionList[currentIndex.value];
+ }
+ });
+
+ const getAnswerInfo = computed(() => {
+ let total = 0;
+ let grade = 0;
+ examDetail.value.forEach(item => {
+ total += item.questionList.length;
+ item.questionList.forEach(question => {
+ grade += Number(question.score);
+ });
+ });
+ return {
+ total,
+ grade,
+ };
+ });
+
+
+ const setExamInfo = (info) => {
+ examInfo.value = info;
+ };
+
+ const setExamDetail = (detail) => {
+ examDetail.value = detail;
+ };
+
+ const setQuestionAnswer = (type, index, answer) => {
+ const temp = examDetail.value.find(item => item.questionType === type);
+ if (temp) {
+ temp.questionList[index].correct = answer;
+ }
+ };
+
+ const setProgress = (progress) => {
+ answerProgress.value = progress;
+ };
+
+ const initExam = () => {
+ answerProgress.value = 0;
+ currentIndex.value = 0;
+ currentType.value = 1;
+ }
+
return {
- examInfo
- }
-});
+ examInfo,
+ examDetail,
+ examType,
-export default useExamStore;
\ No newline at end of file
+ currentType,
+ currentIndex,
+ answerProgress,
+
+ getActiveQuestion,
+ getAnswerInfo,
+
+ initExam,
+
+ setExamInfo,
+ setExamDetail,
+ setQuestionAnswer,
+ setProgress
+ };
+});
--
Gitblit v1.8.0