From 6ab6b35fe3ac1ce90711e3555b19dde8ce1e21dc Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期三, 26 六月 2024 17:43:12 +0800 Subject: [PATCH] feat:对接考试 --- src/views/exam/components/answer-main/answer-multiple/index.vue | 2 src/store/modules/exam.js | 7 +++ src/views/exam-list/data-list/index.vue | 25 +++++++----- src/views/exam-list/index.vue | 6 +- src/views/exam/components/answer-main/answer-single/index.vue | 2 vite.config.js | 4 +- src/api/modules/exam.js | 15 ++----- src/views/exam/index.vue | 2 8 files changed, 34 insertions(+), 29 deletions(-) diff --git a/src/api/modules/exam.js b/src/api/modules/exam.js index 1df7671..ce76409 100644 --- a/src/api/modules/exam.js +++ b/src/api/modules/exam.js @@ -1,14 +1,9 @@ import service from "@/api"; - -export const getExamList = () => { - return service.get('/api/v1/getExamList'); -} - -export const getExamInfo = () => { - return service.get('/api/v1/getExamInfo'); -} - -export const getExamListV2 = (postData = {examName: ''}) => { +export const getExamList = (postData = {examName: ''}) => { return service.post('/api/student/exam/page',postData); +} + +export const getExamInfo = (id) => { + return service.post('/api/student/exam/start/' + id); } \ No newline at end of file diff --git a/src/store/modules/exam.js b/src/store/modules/exam.js index ca976a6..b54d2ad 100644 --- a/src/store/modules/exam.js +++ b/src/store/modules/exam.js @@ -7,7 +7,12 @@ const examType = ref({ 1: '鍗曢�夐', 2: '澶氶�夐', - 3: '闊抽棰�' + 3: '鍒ゆ柇棰�', + 4: '濉┖棰�', + 5: '绠�绛旈', + 6: '璇煶棰�', + 7: '璁$畻棰�', + 8: '鍒嗘瀽棰�', }); const currentType = ref(1); diff --git a/src/views/exam-list/data-list/index.vue b/src/views/exam-list/data-list/index.vue index 47c3163..12feff2 100644 --- a/src/views/exam-list/data-list/index.vue +++ b/src/views/exam-list/data-list/index.vue @@ -5,7 +5,7 @@ <div class="item flex justify-between items-center"> <div class="left-container flex flex-col justify-between"> <div class="top-container flex items-center"> - <div class="title mr-5 text-xl font-bold">{{ item.name }}</div> + <div class="title mr-5 text-xl font-bold">{{ item.examName }}</div> <div class="tag"> <el-tag :type="stateList[item.status].type" effect="light" round> {{ stateList[item.status].text }} @@ -20,7 +20,7 @@ 鑰冭瘯鏃堕棿: {{ item.startTime }} ~ {{ item.endTime }} </div> </div> - <div class="bottom-container flex text-sm text-gray-400"> + <!-- <div class="bottom-container flex text-sm text-gray-400"> <div class="bottom-item"> 鎬诲垎: {{ item.examScore }} </div> @@ -30,11 +30,11 @@ <div class="bottom-item"> 绛旈鏃堕棿: {{ item.examTime }}鍒嗛挓 </div> - </div> + </div> --> </div> <div class="right-container"> <div class="button-container"> - <el-button type="primary" size="large" @click="examClick" + <el-button type="primary" size="large" @click="examClick(item)" :disabled="stateList[item.status].disabled">寮�濮嬭�冭瘯</el-button> </div> </div> @@ -68,7 +68,7 @@ type: 'primary', disabled: true }, - 2: { + 'ing': { text: '杩涜涓�', type: 'success', disabled: false @@ -80,11 +80,16 @@ } }; -const examClick = () => { - getExamInfo().then((res) => { - examStore.setExamInfo(res.data.examInfo); - examStore.setExamDetail(res.data.examQuestionList); - examStore.initExam(); +const examClick = (exam) => { + console.log(exam); + getExamInfo(exam.id).then((res) => { + examStore.setExamInfo({ + examName: exam.examName + }); + examStore.setExamDetail(res.data); + // examStore.setExamInfo(res.data.examInfo); + // examStore.setExamDetail(res.data.examQuestionList); + // examStore.initExam(); router.push('/exam'); }).catch(err => { diff --git a/src/views/exam-list/index.vue b/src/views/exam-list/index.vue index b7a0e42..289ae0f 100644 --- a/src/views/exam-list/index.vue +++ b/src/views/exam-list/index.vue @@ -48,7 +48,7 @@ import { Search } from '@element-plus/icons-vue'; -import { getExamList,getExamListV2 } from '@/api/modules/exam.js'; +import { getExamList } from '@/api/modules/exam.js'; const activeName = ref('1'); @@ -60,8 +60,8 @@ const getData = () => { loading.value = true; - getExamListV2().then(res => { - // dataList.value = res.data; + getExamList().then(res => { + dataList.value = res.data; loading.value = false; }).catch(err => { loading.value = false; diff --git a/src/views/exam/components/answer-main/answer-multiple/index.vue b/src/views/exam/components/answer-main/answer-multiple/index.vue index b127aff..530e87d 100644 --- a/src/views/exam/components/answer-main/answer-multiple/index.vue +++ b/src/views/exam/components/answer-main/answer-multiple/index.vue @@ -4,7 +4,7 @@ <ExamInfo class="mb-5" :questionIndex="currentIndex" :activeQuestion="activeQuestion"></ExamInfo> <div class="answer-content"> - <div class="answer-item flex" v-for="item, index in activeQuestion.items" @click="answerClick(item)" + <div class="answer-item flex" v-for="item, index in activeQuestion.questionItemList" @click="answerClick(item)" :class="answerState(item)"> <div class="answer-icon flex flex-col justify-center items-center flex-shrink-0">{{ item.prefix }}</div> <div class="answer-text text-gray-700">{{ item.content }}</div> diff --git a/src/views/exam/components/answer-main/answer-single/index.vue b/src/views/exam/components/answer-main/answer-single/index.vue index 705d1d0..87ee164 100644 --- a/src/views/exam/components/answer-main/answer-single/index.vue +++ b/src/views/exam/components/answer-main/answer-single/index.vue @@ -4,7 +4,7 @@ <ExamInfo class="mb-5" :questionIndex="currentIndex" :activeQuestion="activeQuestion"></ExamInfo> <div class="answer-content"> - <div class="answer-item flex" v-for="item, index in activeQuestion.items" @click="answerClick(item)" + <div class="answer-item flex" v-for="item, index in activeQuestion.questionItemList" @click="answerClick(item)" :class="answerState(item)"> <div class="answer-icon flex flex-col justify-center items-center flex-shrink-0">{{ item.prefix }}</div> <div class="answer-text text-gray-700">{{ item.content }}</div> diff --git a/src/views/exam/index.vue b/src/views/exam/index.vue index ce873c5..68a463e 100644 --- a/src/views/exam/index.vue +++ b/src/views/exam/index.vue @@ -156,7 +156,7 @@ const typeComponent = { 1: AnswerSingle, 2: AnswerMultiple, - 3: AnswerAudio, + 6: AnswerAudio, }; const quitDialog = ref(false); diff --git a/vite.config.js b/vite.config.js index 84001a6..5686722 100644 --- a/vite.config.js +++ b/vite.config.js @@ -34,8 +34,8 @@ port: 3000, proxy: { '/api': { - // target: 'http://192.168.3.88:8000', - target: 'http://192.168.3.64:8000', + target: 'http://192.168.3.88:8000', + // target: 'http://192.168.3.64:8000', changeOrigin: true, } } -- Gitblit v1.8.0