From bfa061edf56598f05b5817565bf181c64b149f99 Mon Sep 17 00:00:00 2001 From: zhouwx <1175765986@qq.com> Date: 星期二, 23 七月 2024 16:47:42 +0800 Subject: [PATCH] 提交 --- src/views/homePage.vue | 2 src/views/onlineEducation/courseManage/courseChapters/index.vue | 30 +++++++--- src/views/onlineEducation/groupExams/components/examDialog.vue | 26 +++++++- src/views/onlineEducation/classHourBatch/index.vue | 14 ++++ src/views/onlineEducation/classHourBatch/components/handleStudent.vue | 10 +++ src/views/onlineEducation/courseManage/components/courseManageDialog.vue | 3 + src/views/onlineEducation/groupExams/components/student.vue | 12 +++ src/views/onlineEducation/courseManage/index.vue | 24 ++++++- src/views/onlineEducation/groupExams/index.vue | 18 +++++ src/views/onlineEducation/offlineEducation/index.vue | 16 ++++- 10 files changed, 126 insertions(+), 29 deletions(-) diff --git a/src/views/homePage.vue b/src/views/homePage.vue index bc56f08..9958de5 100644 --- a/src/views/homePage.vue +++ b/src/views/homePage.vue @@ -458,7 +458,7 @@ padding-left: 7px; } -@media screen and (max-width: 980px) { +@media screen and (max-width: 1050px) { .imG { display: none; } diff --git a/src/views/onlineEducation/classHourBatch/components/handleStudent.vue b/src/views/onlineEducation/classHourBatch/components/handleStudent.vue index b02d810..1881b56 100644 --- a/src/views/onlineEducation/classHourBatch/components/handleStudent.vue +++ b/src/views/onlineEducation/classHourBatch/components/handleStudent.vue @@ -101,6 +101,7 @@ const { queryParams, total, dataList } = toRefs(data); +const backValue = ref() onMounted(async ()=>{ const userInfo = JSON.parse(Cookies.get('userInfo')) console.log("userInfo",userInfo) @@ -110,6 +111,7 @@ data.isAdmin = false; } const val = JSON.parse(route.query.val) + backValue.value = val // data.queryParams.pageId = val.id data.queryParams.phaseId = val.id await getList() @@ -201,7 +203,13 @@ }) } const back = () => { - router.push("/class"); + + const obj = { + pageNum: backValue.value.pageNum, + pageSize: backValue.value.pageSize, + } + const v = JSON.stringify(obj) + router.push({ path: "/class", query: { val: v } }); } diff --git a/src/views/onlineEducation/classHourBatch/index.vue b/src/views/onlineEducation/classHourBatch/index.vue index 8de4403..a8fb7bd 100644 --- a/src/views/onlineEducation/classHourBatch/index.vue +++ b/src/views/onlineEducation/classHourBatch/index.vue @@ -84,11 +84,11 @@ import batchDialog from './components/batchDialog.vue' import classHourChange from './components/classHourChange.vue' import Cookies from "js-cookie"; -import {useRouter} from 'vue-router' +import {useRoute, useRouter} from 'vue-router' const router = useRouter() import {delQuestionBank, getQuestionBank} from "@/api/onlineEducation/questionBank"; import {delBatch, getBatch} from "@/api/onlineEducation/batch"; - +const route = useRoute() const { proxy } = getCurrentInstance(); const loading = ref(false); @@ -131,6 +131,14 @@ const { queryParams, total, dataList } = toRefs(data); onMounted(async ()=>{ + if(route.query.val){ + const val = JSON.parse(route.query.val) + if(val){ + data.queryParams.pageNum = val.pageNum; + data.queryParams.pageSize = val.pageSize; + } + } + const userInfo = JSON.parse(Cookies.get('userInfo')) console.log("userInfo",userInfo) if(userInfo.userType === 0){ @@ -199,6 +207,8 @@ }) } const toStuChoose = (val) => { + val.pageNum = data.queryParams.pageNum; + val.pageSize = data.queryParams.pageSize const v = JSON.stringify(val) router.push({ path: "/chooseStu", query: { val: v } }); } diff --git a/src/views/onlineEducation/courseManage/components/courseManageDialog.vue b/src/views/onlineEducation/courseManage/components/courseManageDialog.vue index b679102..eedc1f9 100644 --- a/src/views/onlineEducation/courseManage/components/courseManageDialog.vue +++ b/src/views/onlineEducation/courseManage/components/courseManageDialog.vue @@ -212,6 +212,9 @@ console.log("label====",classifyRef.value.getCheckedNodes()[0].value) state.form.categoryId = classifyRef.value.getCheckedNodes()[0].value // 我这里只是打印了一下label的值哦,需要赋值的话自己去赋值哦 + if (classifyRef.value.popperVisible) { + classifyRef.value.togglePopperVisible() + } } diff --git a/src/views/onlineEducation/courseManage/courseChapters/index.vue b/src/views/onlineEducation/courseManage/courseChapters/index.vue index e9b499e..a5a54d8 100644 --- a/src/views/onlineEducation/courseManage/courseChapters/index.vue +++ b/src/views/onlineEducation/courseManage/courseChapters/index.vue @@ -1,7 +1,7 @@ <template> <div class="app-container"> - <div style="margin-bottom: 10px"> - <el-button type="success" plain @click="openDialog('addFirst',{courseId: data.courseId})">章添加</el-button> + <div style="margin-bottom: 10px;display:flex;justify-content: space-between;align-items: center"> + <el-button type="success" plain @click="openDialog('addFirst',{courseId: data.courseId})" :disabled="disabled">章添加</el-button> <el-button type="primary" plain @click="back">返回</el-button> </div> <!-- 表格数据 --> @@ -16,9 +16,9 @@ <el-table-column label="排序" prop="sort" align="center" width="80" /> <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="250" > <template #default="scope"> - <el-button type="success" plain @click="openDialog('add',scope.row)" v-if="!scope.row.chapterId">节添加</el-button> - <el-button type="primary" plain @click="openDialog('edit',scope.row)">编辑</el-button> - <el-button type="danger" plain @click="handleDelete(scope.row)">删除</el-button> + <el-button type="success" plain @click="openDialog('add',scope.row)" v-if="!scope.row.chapterId" :disabled="disabled">节添加</el-button> + <el-button type="primary" plain @click="openDialog('edit',scope.row)" :disabled="disabled">编辑</el-button> + <el-button type="danger" plain @click="handleDelete(scope.row)" :disabled="disabled">删除</el-button> </template> </el-table-column> </el-table> @@ -36,6 +36,7 @@ import {useRoute,useRouter} from 'vue-router' import {delClassification, getClassification} from "@/api/onlineEducation/courseClass"; import {delChapter, delPeriod, getChapters} from "@/api/onlineEducation/chapters"; +import Cookies from "js-cookie"; const { proxy } = getCurrentInstance(); const route = useRoute() const router = useRouter(); @@ -53,11 +54,16 @@ }); const { queryParams, total, dataList } = toRefs(data); - +const backValue = ref() +const disabled = ref(false) //页面加载 onMounted(() => { - - data.courseId = route.query.courseId + backValue.value = JSON.parse(route.query.val) + const userInfo = JSON.parse(Cookies.get('userInfo')) + if((backValue.value.state === 2 || backValue.value.state === 1 ) && userInfo.userType == 1){ + disabled.value = true; + } + data.courseId = backValue.value.id console.log("rou",data.courseId) getList(); }); @@ -147,7 +153,13 @@ }) } const back = () => { - router.push("/courseManage/course"); + + const obj = { + pageNum: backValue.value.pageNum, + pageSize: backValue.value.pageSize, + } + const v = JSON.stringify(obj) + router.push({ path: "/courseManage/course", query: { val: v } }); } diff --git a/src/views/onlineEducation/courseManage/index.vue b/src/views/onlineEducation/courseManage/index.vue index 67c8f8e..e1c2f91 100644 --- a/src/views/onlineEducation/courseManage/index.vue +++ b/src/views/onlineEducation/courseManage/index.vue @@ -89,17 +89,19 @@ <el-button link type="primary" @click="toChapters(scope.row)">章节</el-button> <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button> </div> - <div v-else>--</div> + <div v-else><el-button link type="primary" @click="toChapters(scope.row)">章节</el-button></div> </div> <div v-else-if="!data.isAdmin"> <div v-if="scope.row.state !== 2"> <el-button link type="primary" v-if="scope.row.state == 0 || scope.row.state == 3" @click="submitApprove(scope.row)">提交审核</el-button> <el-button link type="primary" v-if="scope.row.state == 1" @click="submitApprove(scope.row)">取消审核</el-button> <el-button link type="primary" v-if="scope.row.state !== 1" @click="openDialog('edit',scope.row)" >编辑</el-button> - <el-button link type="primary" v-if="scope.row.state !== 1" @click="toChapters(scope.row)">章节</el-button> + <el-button link type="primary" @click="toChapters(scope.row)">章节</el-button> <el-button link type="danger" v-if="scope.row.state !== 1" @click="handleDelete(scope.row)">删除</el-button> </div> - <div v-else>--</div> + <div v-else> + <el-button link type="primary" @click="toChapters(scope.row)">章节</el-button> + </div> </div> <!-- <div v-if="scope.row.state == 2">--> @@ -154,17 +156,19 @@ <script setup> import {getCurrentInstance, onMounted, onUnmounted, reactive, ref, toRefs} from "vue"; + import {ElMessage, ElMessageBox} from "element-plus"; import {delCompany, getCompany} from "@/api/onlineEducation/company"; import courseManageDialog from './components/courseManageDialog.vue' import {delBanner, getBanner} from "@/api/onlineEducation/banner"; -import {useRouter} from 'vue-router' +import {useRoute, useRouter} from 'vue-router' import Cookies from "js-cookie"; import {changeCourseStatus, delCourse, doCourse, getCourse} from "@/api/onlineEducation/courseManage"; const { proxy } = getCurrentInstance(); const router = useRouter() const loading = ref(false); const dialogRef = ref(); +const route = useRoute() const data = reactive({ queryParams: { pageNum: 1, @@ -184,6 +188,13 @@ const { queryParams, total, dataList } = toRefs(data); onMounted(async ()=>{ + if(route.query.val){ + const val = JSON.parse(route.query.val) + if(val){ + data.queryParams.pageNum = val.pageNum; + data.queryParams.pageSize = val.pageSize; + } + } const userInfo = JSON.parse(Cookies.get('userInfo')) console.log("userInfo",userInfo) if(userInfo.userType === 0){ @@ -312,7 +323,10 @@ } } const toChapters = (val) => { - router.push({ path: "/chapters", query: { courseId: val.id } }); + val.pageNum = data.queryParams.pageNum; + val.pageSize = data.queryParams.pageSize + const v = JSON.stringify(val) + router.push({ path: "/chapters", query: { val: v } }); } </script> diff --git a/src/views/onlineEducation/groupExams/components/examDialog.vue b/src/views/onlineEducation/groupExams/components/examDialog.vue index 06298ef..ba9aa9c 100644 --- a/src/views/onlineEducation/groupExams/components/examDialog.vue +++ b/src/views/onlineEducation/groupExams/components/examDialog.vue @@ -282,9 +282,9 @@ formRules: { name: [{required: true, trigger: "blur", validator: validateName}], categoryId: [{required: true, message: '请选择课程分类', trigger: 'blur'}], - limited: [{required: true, message: '请选择课程分类', trigger: 'blur'}], - limitTime: [{required: true, message: '请选择课程分类', trigger: 'blur'}], - passScore: [{required: true, message: '请选择课程分类', trigger: 'blur'}], + limited: [{required: true, message: '请选择是否限制考试时长', trigger: 'blur'}], + limitTime: [{required: true, message: '请输入考试限制时长', trigger: 'blur'}], + passScore: [{required: true, message: '请输入合格分数', trigger: 'blur'}], deadline: [{required: true, message: '请选择考试截止时间', trigger: 'blur'}] }, classifyList: [], @@ -330,6 +330,21 @@ // }); // return; // } + const total = state.form.judgeNum * state.form.judgeScore+state.form.multiNum * state.form.multiScore+state.form.singleNum * state.form.singleScore + if(state.form.passScore > total){ + ElMessage({ + type: 'warning', + message: '合格分数不能大于总分' + }); + return; + } + if(!(state.form.judgeBankId || state.form.multiBankId || state.form.singleBankId)){ + ElMessage({ + type: 'warning', + message: '请选择题库' + }); + return; + } const valid = await busRef.value.validate(); if(valid){ if(title.value === '新增'){ @@ -429,7 +444,7 @@ singleMethod: 1, singleNum: null, singleScore: null, - limited: 0, + limited: 1, limitTime: null, passScore: null, judgeRebuild: 0, @@ -437,6 +452,9 @@ singleRebuild: 0, deadline: '' } + state.bankListSingle = []; + state.bankSinglePageNum = 1; + state.bankSinglePageSize = 10; } const handleScroll = () => { if(state.bankSinglePageNum >= state.hasMoreItemsSingle) return diff --git a/src/views/onlineEducation/groupExams/components/student.vue b/src/views/onlineEducation/groupExams/components/student.vue index 261f621..6489d7f 100644 --- a/src/views/onlineEducation/groupExams/components/student.vue +++ b/src/views/onlineEducation/groupExams/components/student.vue @@ -147,7 +147,9 @@ const { queryParams, total, dataList } = toRefs(data); +const backValue = ref() onMounted(async ()=>{ + const userInfo = JSON.parse(Cookies.get('userInfo')) console.log("userInfo",userInfo) if(userInfo.userType === 0){ @@ -156,6 +158,7 @@ data.isAdmin = false; } const val = JSON.parse(route.query.val) + backValue.value = val // data.queryParams.pageId = val.id data.queryParams.paperId = val.id await getList() @@ -169,7 +172,14 @@ } const back = () => { - router.push("/group"); + // router.push("/group"); + + const obj = { + pageNum: backValue.value.pageNum, + pageSize: backValue.value.pageSize, + } + const v = JSON.stringify(obj) + router.push({ path: "/group", query: { val: v } }); } const getList = async () => { loading.value = true diff --git a/src/views/onlineEducation/groupExams/index.vue b/src/views/onlineEducation/groupExams/index.vue index 6fa05ec..72c3032 100644 --- a/src/views/onlineEducation/groupExams/index.vue +++ b/src/views/onlineEducation/groupExams/index.vue @@ -59,6 +59,11 @@ <span>{{scope.row.paperStudentInfoVO.avgScore}}</span> </template> </el-table-column> + <el-table-column label="合格分/总分" prop="" align="center" width="120" > + <template #default="scope"> + <span>{{scope.row.passScore}}/{{scope.row.judgeNum * scope.row.judgeScore + scope.row.multiNum * scope.row.multiScore + scope.row.singleNum * scope.row.singleScore}}</span> + </template> + </el-table-column> <el-table-column label="合格率" prop="passRate" align="center" /> <el-table-column label="限制时长/分钟" prop="limitTime" align="center" width="120" > <template #default="scope"> @@ -97,13 +102,13 @@ import examDialog from './components/examDialog.vue' import examQuestion from './components/viewExamQuestion.vue' import Cookies from "js-cookie"; -import {useRouter} from 'vue-router' +import {useRoute, useRouter} from 'vue-router' const router = useRouter() import {delQuestionBank, getQuestionBank} from "@/api/onlineEducation/questionBank"; import {delBatch, getBatch} from "@/api/onlineEducation/batch"; import {delExam, getExam} from "@/api/onlineEducation/exam"; import {getClassification} from "@/api/onlineEducation/courseClass"; - +const route = useRoute() const { proxy } = getCurrentInstance(); const loading = ref(false); @@ -132,6 +137,13 @@ const { queryParams, total, dataList } = toRefs(data); onMounted(async ()=>{ + if(route.query.val){ + const val = JSON.parse(route.query.val) + if(val){ + data.queryParams.pageNum = val.pageNum; + data.queryParams.pageSize = val.pageSize; + } + } const userInfo = JSON.parse(Cookies.get('userInfo')) console.log("userInfo",userInfo) if(userInfo.userType === 0){ @@ -200,6 +212,8 @@ }) } const toStuChoose = (val) => { + val.pageNum = data.queryParams.pageNum; + val.pageSize = data.queryParams.pageSize const v = JSON.stringify(val) router.push({ path: "/examStu", query: { val: v } }); } diff --git a/src/views/onlineEducation/offlineEducation/index.vue b/src/views/onlineEducation/offlineEducation/index.vue index 3e7836d..89abc80 100644 --- a/src/views/onlineEducation/offlineEducation/index.vue +++ b/src/views/onlineEducation/offlineEducation/index.vue @@ -44,13 +44,21 @@ <el-table-column label="序号" type="index" align="center" width="80" /> <el-table-column label="企业名称" prop="companyName" align="center" /> <el-table-column label="计划名称" prop="planName" align="center" /> - <el-table-column label="学员姓名" prop="studentName" align="center" /> - <el-table-column label="性别" prop="sex" align="center" > + <el-table-column label="学员姓名" prop="studentName" align="center"> <template #default="scope"> - <span>{{scope.row.sex == 0 ? '男':'女'}}</span> + <span>{{scope.row.student.name}}</span> </template> </el-table-column> - <el-table-column label="身份证号" prop="idNo" align="center" width="200" :show-overflow-tooltip="true"/> +<!-- <el-table-column label="性别" prop="sex" align="center" >--> +<!-- <template #default="scope">--> +<!-- <span>{{scope.row.sex == 0 ? '男':'女'}}</span>--> +<!-- </template>--> +<!-- </el-table-column>--> + <el-table-column label="身份证号" prop="idNo" align="center" width="200" :show-overflow-tooltip="true"> + <template #default="scope"> + <span>{{scope.row.student.idNo}}</span> + </template> + </el-table-column> <el-table-column label="课程名称" prop="courseName" align="center"/> <el-table-column label="培训等级" prop="level" align="center"> <template #default="scope"> -- Gitblit v1.9.2