From 926fd4d1b89e7e5e6338d8f292edc4f728049856 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期五, 02 八月 2024 17:33:05 +0800 Subject: [PATCH] 试卷批改 --- src/views/onlineEducation/groupExams/components/viewExamQuestion.vue | 111 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 75 insertions(+), 36 deletions(-) diff --git a/src/views/onlineEducation/groupExams/components/viewExamQuestion.vue b/src/views/onlineEducation/groupExams/components/viewExamQuestion.vue index d8f6051..36d6a69 100644 --- a/src/views/onlineEducation/groupExams/components/viewExamQuestion.vue +++ b/src/views/onlineEducation/groupExams/components/viewExamQuestion.vue @@ -69,6 +69,20 @@ </div> </div> </div> + <div style="display: flex;flex-direction: column;margin: 0 30px" > + <div v-if="state.easyList && state.easyList.length >0"> + <span style="font-size: 18px;font-weight: 600">简答</span> + <div v-for="(item,index) in state.easyList" :key="index" style="margin-left: 15px;margin-top: 10px"> + <div style="display: flex;flex-direction: column;"> + <div style="margin-top: 10px;display: flex"> + <span style="font-size: 15px">题目{{index+1}}:</span> + <span style="margin-left: 10px;font-size: 16px">{{item.title}}</span> + </div> + <el-divider /> + </div> + </div> + </div> + </div> </el-card> </el-dialog> </div> @@ -76,6 +90,7 @@ <script setup> import {reactive, ref, toRefs} from 'vue' import {ElMessage} from "element-plus"; +import {getPaper} from "@/api/onlineEducation/exam"; const dialogVisible = ref(false); const title = ref(""); const busRef = ref(); @@ -94,55 +109,79 @@ questionList: [], singleList:[], judgeList: [], - multiList:[] + multiList:[], + easyList: [] }) const openDialog = async (value) => { -console.log('111',value) + console.log('111',value) dialogVisible.value = true; - let result = value.questions.reduce((a, b) => { - if (a[b.questionType]) { - a[b.questionType].push(b); - } else { - a[b.questionType] = [b]; - } - return a; - }, {}); - for (const resultKey in result) { - if(resultKey == 1){ - state.singleList.push(result[resultKey]) + const res = await getPaper(value.id) + if(res.code == 200){ + let result = res.data.questions.reduce((a, b) => { + if (a[b.questionType]) { + a[b.questionType].push(b); + } else { + a[b.questionType] = [b]; + } + return a; + }, {}); + for (const resultKey in result) { + if(resultKey == 1){ + state.singleList.push(result[resultKey]) - }else if(resultKey == 2){ - state.multiList.push(result[resultKey]) - }else { - state.judgeList.push(result[resultKey]) + }else if(resultKey == 2){ + state.multiList.push(result[resultKey]) + }else if(resultKey == 3){ + state.judgeList.push(result[resultKey]) + }else { + state.easyList.push(result[resultKey]) + } } + if(state.singleList && state.singleList.length>0){ + state.singleList = JSON.parse(JSON.stringify(state.singleList[0])).map(item => { + return { + ...item, + content: JSON.parse(item.content) + } + }) + } + if(state.judgeList && state.judgeList.length>0){ + state.judgeList = JSON.parse(JSON.stringify(state.judgeList[0])).map(item => { + return { + ...item, + content: JSON.parse(item.content) + } + }) + } + if(state.multiList && state.multiList.length>0){ + state.multiList = JSON.parse(JSON.stringify(state.multiList[0])).map(item => { + return { + ...item, + content: JSON.parse(item.content) + } + }) + } + if(state.easyList && state.easyList.length>0){ + state.easyList = JSON.parse(JSON.stringify(state.easyList[0])).map(item => { + return { + ...item, + content: JSON.parse(item.content) + } + }) + } + }else{ + ElMessage.warning(res.message) } - state.singleList = JSON.parse(JSON.stringify(state.singleList[0])).map(item => { - return { - ...item, - content: JSON.parse(item.content) - } - }) - state.judgeList = JSON.parse(JSON.stringify(state.judgeList[0])).map(item => { - return { - ...item, - content: JSON.parse(item.content) - } - }) - state.multiList = JSON.parse(JSON.stringify(state.multiList[0])).map(item => { - return { - ...item, - content: JSON.parse(item.content) - } - }) - console.log('state.singleList',state.singleList) + + console.log('state.singleList',state.multiList) } const handleClose = () => { state.singleList = []; state.multiList = []; state.judgeList = []; + state.easyList = []; dialogVisible.value = false; emit("getList") -- Gitblit v1.9.2