From b4698317fb97d89e389f131e8fd9dcf8d7108c77 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期一, 29 七月 2024 17:17:21 +0800
Subject: [PATCH] 修改

---
 src/views/onlineEducation/groupExams/components/examDialog.vue |   72 ++++++++++++++++++++++++++---------
 1 files changed, 53 insertions(+), 19 deletions(-)

diff --git a/src/views/onlineEducation/groupExams/components/examDialog.vue b/src/views/onlineEducation/groupExams/components/examDialog.vue
index ee5269f..ba9aa9c 100644
--- a/src/views/onlineEducation/groupExams/components/examDialog.vue
+++ b/src/views/onlineEducation/groupExams/components/examDialog.vue
@@ -65,7 +65,7 @@
             <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 :label="1" v-if="title === '编辑'" style="max-width: 30px">重新出题</el-radio>
             </el-radio-group>
           </div>
         </div>
@@ -106,7 +106,7 @@
               <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 :label="1" v-if="title === '编辑'" style="max-width: 30px">重新出题</el-radio>
             </el-radio-group>
           </div>
         </div>
@@ -147,7 +147,7 @@
               <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 :label="1" v-if="title === '编辑'" style="max-width: 30px">重新出题</el-radio>
             </el-radio-group>
           </div>
         </div>
@@ -162,15 +162,28 @@
             <el-input v-model="state.form.limitTime" style="max-width: 200px"  :disabled="state.form.limited === 0">
               <template #append>分钟</template>
             </el-input>
+
           </el-form-item>
 
         </div>
-        <el-form-item label="是否限制考试时长:" prop="limited" style="margin-left: 60px">
-          <el-radio-group v-model="state.form.limited" @change="changeLimit" >
-            <el-radio :label="0" style="max-width: 30px">否</el-radio>
-            <el-radio :label="1">是</el-radio>
-          </el-radio-group>
-        </el-form-item>
+        <div style="display: flex;justify-content: space-between;align-items: center">
+          <el-form-item label="是否限制考试时长:" prop="limited" style="margin-left: 60px">
+            <el-radio-group v-model="state.form.limited" @change="changeLimit" >
+              <el-radio :label="0" style="max-width: 30px">否</el-radio>
+              <el-radio :label="1">是</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="考试截止时间:" prop="deadline" style="margin-left: 60px">
+            <el-date-picker
+                v-model="state.form.deadline"
+                type="date"
+                placeholder="请选择截止时间"
+                format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD 23:59:59"
+            />
+          </el-form-item>
+        </div>
+
       </el-form>
       <template #footer>
         <span class="dialog-footer">
@@ -260,17 +273,19 @@
     limited: 1,
     limitTime: null,
     passScore: null,
-    judgeRebuild: null,
-    multiRebuild: null,
-    singleRebuild: null,
+    judgeRebuild: 0,
+    multiRebuild: 0,
+    singleRebuild: 0,
+    deadline: ''
 
   },
   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: [],
   isAdmin: false,
@@ -315,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 === '新增'){
@@ -414,13 +444,17 @@
     singleMethod: 1,
     singleNum: null,
     singleScore: null,
-    limited: 0,
+    limited: 1,
     limitTime: null,
     passScore: null,
-    judgeRebuild: null,
-    multiRebuild: null,
-    singleRebuild: null,
+    judgeRebuild: 0,
+    multiRebuild: 0,
+    singleRebuild: 0,
+    deadline: ''
   }
+  state.bankListSingle = [];
+  state.bankSinglePageNum = 1;
+  state.bankSinglePageSize = 10;
 }
 const handleScroll = () => {
   if(state.bankSinglePageNum >= state.hasMoreItemsSingle) return

--
Gitblit v1.9.2