From 66d92c9e500d674524b235b4a156ba8959e1cbbe Mon Sep 17 00:00:00 2001
From: ZhangXianQiang <1135831638@qq.com>
Date: 星期四, 20 六月 2024 15:38:49 +0800
Subject: [PATCH] feat:考试测试数据
---
src/components/ExamInfo/index.vue | 4
src/store/modules/exam.js | 272 ------------------
src/mock/exam.js | 521 ++++++++++++++++++------------------
src/views/exam-list/data-list/index.vue | 17 +
public/test_question.png | 0
src/api/modules/exam.js | 4
6 files changed, 296 insertions(+), 522 deletions(-)
diff --git a/src/assets/test.png b/public/test_question.png
similarity index 100%
rename from src/assets/test.png
rename to public/test_question.png
Binary files differ
diff --git a/src/api/modules/exam.js b/src/api/modules/exam.js
index 287e89a..2d4d7e4 100644
--- a/src/api/modules/exam.js
+++ b/src/api/modules/exam.js
@@ -3,4 +3,8 @@
export const getExamList = () => {
return service.get('/api/v1/getExamList');
+}
+
+export const getExamInfo = () => {
+ return service.get('/api/v1/getExamInfo');
}
\ No newline at end of file
diff --git a/src/components/ExamInfo/index.vue b/src/components/ExamInfo/index.vue
index 7adb980..c092215 100644
--- a/src/components/ExamInfo/index.vue
+++ b/src/components/ExamInfo/index.vue
@@ -8,9 +8,9 @@
<ExamAudio :audioSrc="activeQuestion.audioFile"></ExamAudio>
</div>
- <div class="img-container flex">
+ <div class="img-container flex" v-if="activeQuestion.img">
<div class="img-item">
- <img src="@/assets/test.png" class="info-img" alt="">
+ <img :src="activeQuestion.img" class="info-img" alt="">
</div>
</div>
</div>
diff --git a/src/mock/exam.js b/src/mock/exam.js
index d0cbc20..a032035 100644
--- a/src/mock/exam.js
+++ b/src/mock/exam.js
@@ -9,262 +9,269 @@
msg: 'Success',
data: {
examInfo: {
- id: 1,
- name: '鑰冭瘯1',
- startTime: '2019-01-01 00:00:00',
- endTime: '2019-01-01 00:00:00',
- examQuestionList: [
- {
- 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": "3",
- "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": "3",
- "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": "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
- },
- {
- "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
- }
- ]
- },
- {
- questionType: 3,
- questionList: [
- {
- "id": null,
- "questionType": 1,
- "gradeLevel": null,
- "subjectId": 2,
- "title": "娴嬭瘯闊抽1",
- "audioFile": '/test.mp3',
- "items": [
- {
- "prefix": "A",
- "content": "1"
- },
- {
- "prefix": "B",
- "content": "2"
- },
- {
- "prefix": "C",
- "content": "3"
- },
- {
- "prefix": "D",
- "content": "4"
- }
- ],
- "analyze": "闂皬鏈嬪弸",
- "correct": "",
- "score": "3",
- "difficult": 5
- },
- {
- "id": null,
- "questionType": 1,
- "gradeLevel": null,
- "subjectId": 2,
- "title": "娴嬭瘯闊抽2",
- "audioFile": '/test.mp3',
- "items": [
- {
- "prefix": "A",
- "content": "1"
- },
- {
- "prefix": "B",
- "content": "2"
- },
- {
- "prefix": "C",
- "content": "3"
- },
- {
- "prefix": "D",
- "content": "4"
- }
- ],
- "analyze": "闂皬鏈嬪弸",
- "correct": "",
- "score": "3",
- "difficult": 5
- }
- ]
- },
- ]
- }
+ examId: 1,
+ examName: '娴嬭瘯鍚嶇О',
+ examType: '鑰冭瘯绫诲瀷',
+ examStatus: '鑰冭瘯鐘舵��',
+ examStartTime: '2021-01-01',
+ examEndTime: '2021-01-01',
+ examTime: 30,
+ examGrade: 60,
+ },
+ examQuestionList: [
+ {
+ questionType: 1,
+ questionList: [
+ {
+ "id": null,
+ "questionType": 1,
+ "gradeLevel": null,
+ "subjectId": 2,
+ "title": "1+1=锛�123",
+ "img": '/test_question.png',
+ "items": [
+ {
+ "prefix": "A",
+ "content": "1"
+ },
+ {
+ "prefix": "B",
+ "content": "2"
+ },
+ {
+ "prefix": "C",
+ "content": "3"
+ },
+ {
+ "prefix": "D",
+ "content": "4"
+ }
+ ],
+ "analyze": "闂皬鏈嬪弸",
+ "correct": "",
+ "score": "3",
+ "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": "3",
+ "difficult": 5
+ }
+ ]
+ },
+ {
+ questionType: 2,
+ questionList: [
+ {
+ "id": null,
+ "questionType": 1,
+ "gradeLevel": null,
+ "subjectId": 2,
+ "title": "1+1=锛�",
+ "img": '/test_question.png',
+ "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
+ },
+ {
+ "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
+ }
+ ]
+ },
+ {
+ questionType: 3,
+ questionList: [
+ {
+ "id": null,
+ "questionType": 1,
+ "gradeLevel": null,
+ "subjectId": 2,
+ "title": "娴嬭瘯闊抽1",
+ "audioFile": '/test.mp3',
+ "img": '/test_question.png',
+ "items": [
+ {
+ "prefix": "A",
+ "content": "1"
+ },
+ {
+ "prefix": "B",
+ "content": "2"
+ },
+ {
+ "prefix": "C",
+ "content": "3"
+ },
+ {
+ "prefix": "D",
+ "content": "4"
+ }
+ ],
+ "analyze": "闂皬鏈嬪弸",
+ "correct": "",
+ "score": "3",
+ "difficult": 5
+ },
+ {
+ "id": null,
+ "questionType": 1,
+ "gradeLevel": null,
+ "subjectId": 2,
+ "title": "娴嬭瘯闊抽2",
+ "audioFile": '/test.mp3',
+ "items": [
+ {
+ "prefix": "A",
+ "content": "1"
+ },
+ {
+ "prefix": "B",
+ "content": "2"
+ },
+ {
+ "prefix": "C",
+ "content": "3"
+ },
+ {
+ "prefix": "D",
+ "content": "4"
+ }
+ ],
+ "analyze": "闂皬鏈嬪弸",
+ "correct": "",
+ "score": "3",
+ "difficult": 5
+ }
+ ]
+ },
+ ]
}
};
}
@@ -296,7 +303,7 @@
'examScore|60-100': 100
}
]
- }
+ };
}
}
];
\ No newline at end of file
diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js
index 6e90793..ca976a6 100644
--- a/src/store/modules/exam.js
+++ b/src/store/modules/exam.js
@@ -1,16 +1,9 @@
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',
- examTime: 30,
- });
-
+ const examInfo = ref(null);
+ const examDetail = ref([]);
+
const examType = ref({
1: '鍗曢�夐',
2: '澶氶�夐',
@@ -22,257 +15,6 @@
const answerProgress = 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": "3",
- "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": "3",
- "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": "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
- },
- {
- "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
- }
- ]
- },
- {
- questionType: 3,
- questionList: [
- {
- "id": null,
- "questionType": 1,
- "gradeLevel": null,
- "subjectId": 2,
- "title": "娴嬭瘯闊抽1",
- "audioFile": '/test.mp3',
- "items": [
- {
- "prefix": "A",
- "content": "1"
- },
- {
- "prefix": "B",
- "content": "2"
- },
- {
- "prefix": "C",
- "content": "3"
- },
- {
- "prefix": "D",
- "content": "4"
- }
- ],
- "analyze": "闂皬鏈嬪弸",
- "correct": "",
- "score": "3",
- "difficult": 5
- },
- {
- "id": null,
- "questionType": 1,
- "gradeLevel": null,
- "subjectId": 2,
- "title": "娴嬭瘯闊抽2",
- "audioFile": '/test.mp3',
- "items": [
- {
- "prefix": "A",
- "content": "1"
- },
- {
- "prefix": "B",
- "content": "2"
- },
- {
- "prefix": "C",
- "content": "3"
- },
- {
- "prefix": "D",
- "content": "4"
- }
- ],
- "analyze": "闂皬鏈嬪弸",
- "correct": "",
- "score": "3",
- "difficult": 5
- }
- ]
- },
- ]);
const getActiveQuestion = computed(() => {
const temp = examDetail.value.find(item => item.questionType === currentType.value);
@@ -316,6 +58,12 @@
answerProgress.value = progress;
};
+ const initExam = () => {
+ answerProgress.value = 0;
+ currentIndex.value = 0;
+ currentType.value = 1;
+ }
+
return {
examInfo,
@@ -329,6 +77,8 @@
getActiveQuestion,
getAnswerInfo,
+ initExam,
+
setExamInfo,
setExamDetail,
setQuestionAnswer,
diff --git a/src/views/exam-list/data-list/index.vue b/src/views/exam-list/data-list/index.vue
index 28a0d1d..47c3163 100644
--- a/src/views/exam-list/data-list/index.vue
+++ b/src/views/exam-list/data-list/index.vue
@@ -34,7 +34,8 @@
</div>
<div class="right-container">
<div class="button-container">
- <el-button type="primary" size="large" @click="examClick" :disabled="stateList[item.status].disabled">寮�濮嬭�冭瘯</el-button>
+ <el-button type="primary" size="large" @click="examClick"
+ :disabled="stateList[item.status].disabled">寮�濮嬭�冭瘯</el-button>
</div>
</div>
</div>
@@ -47,6 +48,11 @@
import { ref } from 'vue';
import { Timer } from '@element-plus/icons-vue';
import { useRouter } from 'vue-router';
+import { useExamStore } from '@/store/index.js';
+import { getExamInfo } from '@/api/modules/exam.js';
+const examStore = useExamStore();
+
+
const router = useRouter();
const props = defineProps({
@@ -75,7 +81,14 @@
};
const examClick = () => {
- router.push('/exam');
+ getExamInfo().then((res) => {
+ examStore.setExamInfo(res.data.examInfo);
+ examStore.setExamDetail(res.data.examQuestionList);
+ examStore.initExam();
+ router.push('/exam');
+ }).catch(err => {
+
+ });
}
</script>
--
Gitblit v1.8.0