From 385480120bcda041fe1f43f8a3c63563cff4ebf2 Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 04 七月 2024 16:38:03 +0800
Subject: [PATCH] feat:学生上课
---
src/store/modules/exam.js | 206 ++++++++++++++-------------------------------------
1 files changed, 56 insertions(+), 150 deletions(-)
diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js
index 4622a95..854eb4b 100644
--- a/src/store/modules/exam.js
+++ b/src/store/modules/exam.js
@@ -1,161 +1,47 @@
import { ref, computed } from 'vue';
import { defineStore } from 'pinia';
export const useExamStore = defineStore('exam', () => {
- const examInfo = ref({
- examId: 1,
- examName: '鑰冭瘯鍚嶇О',
- examType: '鑰冭瘯绫诲瀷',
- examStatus: '鑰冭瘯鐘舵��',
- examStartTime: '2021-01-01',
- examEndTime: '2021-01-01',
- });
-
+ const examInfo = ref(null);
+ const examDetail = ref([]);
+
const examType = ref({
1: '鍗曢�夐',
2: '澶氶�夐',
+ 3: '鍒ゆ柇棰�',
+ 4: '濉┖棰�',
+ 5: '绠�绛旈',
+ 6: '璇煶棰�',
+ 7: '璁$畻棰�',
+ 8: '鍒嗘瀽棰�',
});
const currentType = ref(1);
const currentIndex = ref(0);
- const examDetail = ref([
- {
- questionType: 1,
- questionList: [
- {
- "id": null,
- "questionType": 1,
- "gradeLevel": null,
- "subjectId": 2,
- "title": "1+1=锛�123",
- "items": [
- {
- "prefix": "A",
- "content": "1"
- },
- {
- "prefix": "B",
- "content": "2"
- },
- {
- "prefix": "C",
- "content": "3"
- },
- {
- "prefix": "D",
- "content": "4"
- }
- ],
- "analyze": "闂皬鏈嬪弸",
- "correct": "",
- "score": "",
- "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": "",
- "difficult": 5
- }
- ]
- },
- {
- questionType: 2,
- questionList: [
- {
- "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": "",
- "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": "",
- "difficult": 5
- }
- ]
- }
- ]);
-
- const activeQuestion = ref(null);
+ const answerProgress = ref(0);
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.questionScore);
+ });
+ });
+ return {
+ total,
+ grade,
+ };
+ });
const setExamInfo = (info) => {
examInfo.value = info;
@@ -165,29 +51,49 @@
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) {
- temp.questionList[index].correct = answer;
+ if (temp) {
+ temp.questionList[index].answer = answer;
}
};
+
+ const setQuestionAnswerList = (type, index, answer) => {
+ const temp = examDetail.value.find(item => item.questionType === type);
+ if (temp) {
+ temp.questionList[index].answerList = answer;
+ }
+ }
+
+ const setProgress = (progress) => {
+ answerProgress.value = progress;
+ };
+
+ const initExam = () => {
+ answerProgress.value = 0;
+ currentIndex.value = 0;
+ currentType.value = 1;
+ }
return {
examInfo,
examDetail,
examType,
- activeQuestion,
+
currentType,
currentIndex,
+ answerProgress,
+
getActiveQuestion,
+ getAnswerInfo,
+
+ initExam,
+
setExamInfo,
setExamDetail,
- setActiveQuestion,
- setQuestionAnswer
+ setQuestionAnswer,
+ setQuestionAnswerList,
+ setProgress
};
});
--
Gitblit v1.8.0