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