From cd1dd3fbf1d19c4a54b954975591408b1317190e Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期三, 19 六月 2024 11:45:22 +0800
Subject: [PATCH] feat:动态答题类型
---
src/store/modules/exam.js | 112 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 95 insertions(+), 17 deletions(-)
diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js
index 4622a95..edafdef 100644
--- a/src/store/modules/exam.js
+++ b/src/store/modules/exam.js
@@ -8,6 +8,7 @@
examStatus: '鑰冭瘯鐘舵��',
examStartTime: '2021-01-01',
examEndTime: '2021-01-01',
+ examTime: 60,
});
const examType = ref({
@@ -17,6 +18,8 @@
const currentType = ref(1);
const currentIndex = ref(0);
+
+ const answerProgress = ref(0);
const examDetail = ref([
{
@@ -48,7 +51,7 @@
],
"analyze": "闂皬鏈嬪弸",
"correct": "",
- "score": "",
+ "score": "3",
"difficult": 5
},
{
@@ -77,7 +80,7 @@
],
"analyze": "闂皬鏈嬪弸",
"correct": "",
- "score": "",
+ "score": "3",
"difficult": 5
}
]
@@ -111,7 +114,7 @@
],
"analyze": "闂皬鏈嬪弸",
"correct": "",
- "score": "",
+ "score": "5",
"difficult": 5
},
{
@@ -140,22 +143,93 @@
],
"analyze": "闂皬鏈嬪弸",
"correct": "",
- "score": "",
+ "score": "5",
+ "difficult": 5
+ },
+ {
+ "id": null,
+ "questionType": 1,
+ "gradeLevel": null,
+ "subjectId": 2,
+ "title": "1+1=锛�",
+ "items": [
+ {
+ "prefix": "A",
+ "content": "1"
+ },
+ {
+ "prefix": "B",
+ "content": "2"
+ },
+ {
+ "prefix": "C",
+ "content": "3"
+ },
+ {
+ "prefix": "D",
+ "content": "4"
+ }
+ ],
+ "analyze": "闂皬鏈嬪弸",
+ "correct": "",
+ "score": "5",
+ "difficult": 5
+ },
+ {
+ "id": null,
+ "questionType": 1,
+ "gradeLevel": null,
+ "subjectId": 2,
+ "title": "1+1=锛�",
+ "items": [
+ {
+ "prefix": "A",
+ "content": "1"
+ },
+ {
+ "prefix": "B",
+ "content": "2"
+ },
+ {
+ "prefix": "C",
+ "content": "3"
+ },
+ {
+ "prefix": "D",
+ "content": "4"
+ }
+ ],
+ "analyze": "闂皬鏈嬪弸",
+ "correct": "",
+ "score": "5",
"difficult": 5
}
]
}
]);
- const activeQuestion = ref(null);
-
-
const getActiveQuestion = computed(() => {
const temp = examDetail.value.find(item => item.questionType === currentType.value);
- if(temp) {
+ 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;
@@ -165,29 +239,33 @@
examDetail.value = detail;
};
- const setActiveQuestion = (detail) => {
- activeQuestion.value = detail;
- };
-
const setQuestionAnswer = (type, index, answer) => {
const temp = examDetail.value.find(item => item.questionType === type);
- if(temp) {
+ if (temp) {
temp.questionList[index].correct = answer;
}
};
+
+ const setProgress = (progress) => {
+ answerProgress.value = progress;
+ }
return {
examInfo,
examDetail,
examType,
- activeQuestion,
+
currentType,
currentIndex,
+ answerProgress,
+
getActiveQuestion,
+ getAnswerInfo,
+
setExamInfo,
setExamDetail,
- setActiveQuestion,
- setQuestionAnswer
+ setQuestionAnswer,
+ setProgress
};
});
--
Gitblit v1.8.0