From 926fd4d1b89e7e5e6338d8f292edc4f728049856 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Fri, 02 Aug 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