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