From c1823a7f91775fd157d4e4683b597d7e426cd2ed Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: Wed, 17 Jul 2024 17:23:37 +0800
Subject: [PATCH] bug修改
---
src/views/onlineEducation/courseManage/courseChapters/index.vue | 16 ++++-
src/views/onlineEducation/groupExams/components/examDialog.vue | 30 +++++++--
src/views/onlineEducation/classHourBatch/index.vue | 7 +-
src/views/onlineEducation/classHourBatch/components/handleStudent.vue | 26 ++++++--
src/views/onlineEducation/groupExams/components/student.vue | 40 ++++++++++---
src/views/onlineEducation/classHourBatch/components/classHourChange.vue | 4
6 files changed, 91 insertions(+), 32 deletions(-)
diff --git a/src/views/onlineEducation/classHourBatch/components/classHourChange.vue b/src/views/onlineEducation/classHourBatch/components/classHourChange.vue
index dacbaa9..37c0b64 100644
--- a/src/views/onlineEducation/classHourBatch/components/classHourChange.vue
+++ b/src/views/onlineEducation/classHourBatch/components/classHourChange.vue
@@ -11,7 +11,7 @@
<el-table v-loading="state.loading" :data="state.dataList" :border="true">
<el-table-column label="创建时间" prop="createTime" align="center" width="180" />
<el-table-column label="变动来源" prop="origin" align="center" />
- <el-table-column label="变动情况" prop="modifyPeriodMin" align="center" />
+ <el-table-column label="变动情况" prop="modifyPeriodMin" align="center" />
<el-table-column label="变动后剩余" prop="remainPeriodMin" align="center" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">-->
<!-- <template #default="scope">-->
@@ -76,7 +76,7 @@
state.dataList = res.data.list.map(item => {
return {
...item,
- modifyPeriodMin: item.modifyPeriod ? (item.modifyPeriod /60).toFixed(2).replace(/\.00$/, '')+'分钟' : '',
+ modifyPeriodMin: item.modifyPeriod ? item.modifyPeriod >0 ?'新增 '+(item.modifyPeriod /60).toFixed(2).replace(/\.00$/, '')+'分钟':'减少 '+ (Math.abs(item.modifyPeriod /60)).toFixed(2).replace(/\.00$/, '')+'分钟' : '',
remainPeriodMin: item.remainPeriod ? (item.remainPeriod /60).toFixed(2).replace(/\.00$/, '')+'分钟' : ''
}
})
diff --git a/src/views/onlineEducation/classHourBatch/components/handleStudent.vue b/src/views/onlineEducation/classHourBatch/components/handleStudent.vue
index a937f6b..c9cd42e 100644
--- a/src/views/onlineEducation/classHourBatch/components/handleStudent.vue
+++ b/src/views/onlineEducation/classHourBatch/components/handleStudent.vue
@@ -1,12 +1,19 @@
<template>
<div class="app-container">
<div style="margin-bottom: 10px;display: flex;align-items: center;justify-content: space-between">
- <el-button
- type="primary"
- plain
- icon="Plus"
- @click="openDialog()"
- >选择学员</el-button>
+ <div>
+ <el-button
+ type="primary"
+ plain
+ icon="Plus"
+ @click="openDialog()"
+ >选择学员</el-button>
+ <el-button
+ type="primary"
+ plain
+ @click="back"
+ >返回</el-button>
+ </div>
<el-button
type="danger"
plain
@@ -49,7 +56,7 @@
import Cookies from "js-cookie";
import {delQuestionBank, getQuestionBank} from "@/api/onlineEducation/questionBank";
import {batchDelStudent, delBatchStu, getBatchStudent} from "@/api/onlineEducation/batch";
-import {useRoute} from 'vue-router'
+import {useRoute, useRouter} from 'vue-router'
const route = useRoute()
@@ -57,6 +64,7 @@
const loading = ref(false);
const dialogRef = ref();
const tableRef = ref();
+const router = useRouter();
const data = reactive({
queryParams: {
pageId: null,
@@ -164,5 +172,9 @@
}
})
}
+const back = () => {
+ router.push("/class");
+}
+
</script>
diff --git a/src/views/onlineEducation/classHourBatch/index.vue b/src/views/onlineEducation/classHourBatch/index.vue
index 13380d4..71bcabd 100644
--- a/src/views/onlineEducation/classHourBatch/index.vue
+++ b/src/views/onlineEducation/classHourBatch/index.vue
@@ -26,8 +26,8 @@
<el-table-column label="课程" prop="courseName" align="center" />
<el-table-column label="学习人数" prop="studentCount" align="center" />
<el-table-column label="总课时" prop="coursePeriodNum" align="center" />
- <el-table-column label="已完成人数" prop="" align="center" />
- <el-table-column label="完成率" prop="" align="center" />
+ <el-table-column label="已完成人数" prop="finishCount" align="center" />
+ <el-table-column label="完成率" prop="finishRate" align="center" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
<template #default="scope">
<el-button link type="primary" @click="toStuChoose(scope.row)">学生数据</el-button>
@@ -105,7 +105,8 @@
data.dataList = res.data.list.map(item => {
return {
...item,
- coursePeriodNum: item.coursePeriod ? (item.coursePeriod /60).toFixed(2).replace(/\.00$/, '') + '分钟':''
+ coursePeriodNum: item.coursePeriod ? (item.coursePeriod /60).toFixed(2).replace(/\.00$/, '') + '分钟':'',
+ finishRate: item.finishCount ? item.finishCount ===0 && item.studentCount ===0 ? '0%': (item.finishCount / item.studentCount).toFixed(2) *100 + '%' : ''
}
})
data.total = res.data.total
diff --git a/src/views/onlineEducation/courseManage/courseChapters/index.vue b/src/views/onlineEducation/courseManage/courseChapters/index.vue
index b938ed8..e9b499e 100644
--- a/src/views/onlineEducation/courseManage/courseChapters/index.vue
+++ b/src/views/onlineEducation/courseManage/courseChapters/index.vue
@@ -2,7 +2,7 @@
<div class="app-container">
<div style="margin-bottom: 10px">
<el-button type="success" plain @click="openDialog('addFirst',{courseId: data.courseId})">章添加</el-button>
-
+ <el-button type="primary" plain @click="back">返回</el-button>
</div>
<!-- 表格数据 -->
<el-table v-loading="loading" :data="dataList" :border="true" row-key="id" :tree-props="{ children: 'chapterPeriods' }">
@@ -33,11 +33,12 @@
import {delArea, getArea} from "@/api/backManage/area";
import {getDictList} from "@/api/backManage/evaluate";
import {delMonitor} from "@/api/sysUsers";
-import {useRoute} from 'vue-router'
+import {useRoute,useRouter} from 'vue-router'
import {delClassification, getClassification} from "@/api/onlineEducation/courseClass";
import {delChapter, delPeriod, getChapters} from "@/api/onlineEducation/chapters";
const { proxy } = getCurrentInstance();
const route = useRoute()
+const router = useRouter();
const loading = ref(false);
const areaRef = ref();
const cityList = ref([])
@@ -70,7 +71,13 @@
dataList.value = res.data.map(item => {
return {
...item,
- timeFormat: item.resourceType === 1 || item.resourceType === 2 ? secondsToTime(item.resourceLength) : item.docPage + '页'
+ chapterPeriods: item.chapterPeriods.map(r => {
+ return {
+ ...r,
+ timeFormat: r.resource.resourceType === 1 || r.resource.resourceType === 2 ? secondsToTime(r.resource.resourceLength) : r.resource.docPage + '页'
+ }
+ })
+
}
})
}else{
@@ -139,6 +146,9 @@
})
}
+const back = () => {
+ router.push("/courseManage/course");
+}
</script>
diff --git a/src/views/onlineEducation/groupExams/components/examDialog.vue b/src/views/onlineEducation/groupExams/components/examDialog.vue
index 6a49a22..ee5269f 100644
--- a/src/views/onlineEducation/groupExams/components/examDialog.vue
+++ b/src/views/onlineEducation/groupExams/components/examDialog.vue
@@ -62,8 +62,11 @@
</el-select>
<el-radio-group v-model="state.form.singleMethod" >
<el-radio :label="1" style="max-width: 30px">随机</el-radio>
- <el-radio :label="2">顺序</el-radio>
- </el-radio-group>
+ <el-radio :label="2" style="max-width: 30px">顺序</el-radio>
+ </el-radio-group >
+ <el-radio-group v-model="state.form.singleRebuild" style="margin-left: 30px" >
+ <el-radio :label="3" v-if="title === '编辑'" style="max-width: 30px">重新出题</el-radio>
+ </el-radio-group>
</div>
</div>
<div style="display: flex">
@@ -100,7 +103,10 @@
</el-select>
<el-radio-group v-model="state.form.multiMethod" >
<el-radio :label="1" style="max-width: 30px">随机</el-radio>
- <el-radio :label="2">顺序</el-radio>
+ <el-radio :label="2" style="max-width: 30px">顺序</el-radio>
+ </el-radio-group>
+ <el-radio-group v-model="state.form.multiRebuild" style="margin-left: 30px" >
+ <el-radio :label="3" v-if="title === '编辑'" style="max-width: 30px">重新出题</el-radio>
</el-radio-group>
</div>
</div>
@@ -138,7 +144,10 @@
</el-select>
<el-radio-group v-model="state.form.judgeMethod" >
<el-radio :label="1" style="max-width: 30px">随机</el-radio>
- <el-radio :label="2">顺序</el-radio>
+ <el-radio :label="2" style="max-width: 30px">顺序</el-radio>
+ </el-radio-group>
+ <el-radio-group v-model="state.form.judgeRebuild" style="margin-left: 30px" >
+ <el-radio :label="3" v-if="title === '编辑'" style="max-width: 30px">重新出题</el-radio>
</el-radio-group>
</div>
</div>
@@ -190,6 +199,7 @@
getQuestionBank
} from "@/api/onlineEducation/questionBank";
import {addExam, checkExamName, editExam} from "@/api/onlineEducation/exam";
+import Student from "@/views/onlineEducation/groupExams/components/student.vue";
const dialogVisible = ref(false);
const title = ref("");
@@ -249,7 +259,10 @@
singleScore: null,
limited: 1,
limitTime: null,
- passScore: null
+ passScore: null,
+ judgeRebuild: null,
+ multiRebuild: null,
+ singleRebuild: null,
},
formRules: {
@@ -403,7 +416,10 @@
singleScore: null,
limited: 0,
limitTime: null,
- passScore: null
+ passScore: null,
+ judgeRebuild: null,
+ multiRebuild: null,
+ singleRebuild: null,
}
}
const handleScroll = () => {
@@ -456,7 +472,7 @@
align-items:center;
font-size: 15px;
font-weight: 700;
- margin: 20px 0 0 70px;
+ margin: 20px 0 0 35px;
}
}
diff --git a/src/views/onlineEducation/groupExams/components/student.vue b/src/views/onlineEducation/groupExams/components/student.vue
index 63b6e46..ba9af7d 100644
--- a/src/views/onlineEducation/groupExams/components/student.vue
+++ b/src/views/onlineEducation/groupExams/components/student.vue
@@ -1,12 +1,19 @@
<template>
<div class="app-container">
<div style="margin-bottom: 10px;display: flex;align-items: center;justify-content: space-between">
- <el-button
- type="primary"
- plain
- icon="Plus"
- @click="openDialog()"
- >选择学员</el-button>
+ <div>
+ <el-button
+ type="primary"
+ plain
+ icon="Plus"
+ @click="openDialog()"
+ >选择学员</el-button>
+ <el-button
+ type="primary"
+ plain
+ @click="back"
+ >返回</el-button>
+ </div>
<el-button
type="danger"
plain
@@ -33,10 +40,19 @@
<span>{{scope.row.student.phone}}</span>
</template>
</el-table-column>
- <el-table-column label="成绩" prop="score" align="center" />
+ <el-table-column label="考试是否完成" prop="completed" align="center" >
+ <template #default="scope">
+ <span>{{scope.row.completed ===0 ? '未完成' : '已完成'}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="成绩" prop="score" align="center" >
+ <template #default="scope">
+ <span>{{scope.row.completed ===0 ? '--' : scope.row.score}}</span>
+ </template>
+ </el-table-column>
<el-table-column label="是否合格" prop="passed" align="center" >
<template #default="scope">
- <span>{{scope.row.passed === 0 ? '不合格' : '合格'}}</span>
+ <span>{{scope.row.completed ===0 ? '--' : scope.row.passed === 0 ? '不合格' : '合格'}}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="180">
@@ -64,11 +80,11 @@
import Cookies from "js-cookie";
import {delQuestionBank, getQuestionBank} from "@/api/onlineEducation/questionBank";
import {batchDelStudent, delBatchStu, getBatchStudent} from "@/api/onlineEducation/batch";
-import {useRoute} from 'vue-router'
+import {useRoute, useRouter} from 'vue-router'
import {delExamStu, examDelStudent, getExamStudent} from "@/api/onlineEducation/exam";
import ExamChooseStudent from "@/views/onlineEducation/groupExams/components/examChooseStudent.vue";
const route = useRoute()
-
+const router = useRouter();
const { proxy } = getCurrentInstance();
const loading = ref(false);
@@ -109,6 +125,10 @@
const getRowKey = (row) => {
return row.id
}
+
+const back = () => {
+ router.push("/group");
+}
const getList = async () => {
loading.value = true
const res = await getExamStudent(data.queryParams)
--
Gitblit v1.9.2