Browse Source

各种校验

Michael Wang 4 years ago
parent
commit
8770ca5a19

+ 1 - 1
src/components/ExamRoomSelect.vue

@@ -53,7 +53,7 @@ export default {
           object2QueryString({ roomName: query })
       );
       // console.log(res.data);
-      this.optionList = res.data.data.records;
+      this.optionList = res.data.data;
     },
     select() {
       this.$emit("input", this.selected);

+ 1 - 1
src/components/OrgSelect.vue

@@ -34,7 +34,7 @@ export default {
   async created() {
     const res = await this.$http.post("/api/admin/sys/org/query");
     // console.log(res.data);
-    this.optionList = res.data.data.records;
+    this.optionList = res.data.data;
   },
   watch: {
     value: {

+ 1 - 1
src/components/RoleSelect.vue

@@ -36,7 +36,7 @@ export default {
   async created() {
     const res = await this.$http.post("/api/admin/sys/role/query");
     // console.log(res.data);
-    this.optionList = res.data.data.records;
+    this.optionList = res.data.data;
   },
   watch: {
     value: {

+ 1 - 0
src/features/examwork/ActivityManagement/ActivityManagementDialog.vue

@@ -120,6 +120,7 @@ export default {
     },
     async submitForm() {
       let data = this.form;
+      data = { ...data, examId: this.examId };
       if (this.isEdit) {
         data = { ...data, id: this.activity.id };
       }

+ 57 - 50
src/features/examwork/ExamManagement/ExamEdit.vue

@@ -95,11 +95,8 @@
           </el-row>
           <el-row>
             <el-form-item label="取分策略">
-              <el-radio
-                v-model="form.recordSelectStrategy"
-                label="HIGHEST_TOTAL_SCORE"
-              >
-                全部阅卷后取最高分
+              <el-radio v-model="form.recordSelectStrategy" label="LATEST">
+                最后一次提交
               </el-radio>
               <el-radio
                 v-model="form.recordSelectStrategy"
@@ -107,8 +104,11 @@
               >
                 客观分最高
               </el-radio>
-              <el-radio v-model="form.recordSelectStrategy" label="LATEST">
-                最后一次提交
+              <el-radio
+                v-model="form.recordSelectStrategy"
+                label="HIGHEST_TOTAL_SCORE"
+              >
+                总分最高
               </el-radio>
             </el-form-item>
           </el-row>
@@ -214,7 +214,7 @@
               </el-radio>
             </el-form-item>
           </el-row>
-          <el-row>
+          <el-row v-if="form.inProcessLivenessVerify">
             <el-form-item label="活体验证弹出时间段">
               <MinuteInput
                 v-model.trim="form.inProcessLivenessFixedRange[0]"
@@ -227,7 +227,7 @@
               />
             </el-form-item>
           </el-row>
-          <el-row>
+          <el-row v-if="form.inProcessLivenessVerify">
             <el-form-item label="活体验证结果的判定方案">
               <el-radio v-model="form.inProcessLivenessJudgePolicy" label="ANY">
                 单条成功则通过
@@ -241,48 +241,37 @@
               >
                 成功次数大于失败则通过
               </el-radio>
-              <h2>监考直播</h2>
-              <el-row>
-                <el-form-item label="是否开启考生端监考直播">
-                  <el-radio v-model="form.monitorProxy" :label="true"
-                    >是
-                  </el-radio>
-                  <el-radio v-model="form.monitorProxy" :label="false"
-                    >否
-                  </el-radio>
-                </el-form-item>
-              </el-row>
-              <el-row>
-                <el-form-item v-if="form.monitorProxy" label="是否需要视频转录">
-                  <el-radio v-model="form.monitorRecord" :label="1"
-                    >是
-                  </el-radio>
-                  <el-radio v-model="form.monitorRecord" :label="0"
-                    >否
-                  </el-radio>
-                </el-form-item>
-              </el-row>
-              <el-row>
-                <el-form-item
-                  v-if="form.monitorProxy"
-                  label="电脑&手机监控方案"
+            </el-form-item>
+          </el-row>
+          <h2>监考直播</h2>
+          <el-row>
+            <el-form-item label="是否开启考生端监考直播">
+              <el-radio v-model="form.monitorProxy" :label="true">是 </el-radio>
+              <el-radio v-model="form.monitorProxy" :label="false"
+                >否
+              </el-radio>
+            </el-form-item>
+          </el-row>
+          <el-row>
+            <el-form-item v-if="form.monitorProxy" label="是否需要视频转录">
+              <el-radio v-model="form.monitorRecord" :label="1">是 </el-radio>
+              <el-radio v-model="form.monitorRecord" :label="0">否 </el-radio>
+            </el-form-item>
+          </el-row>
+          <el-row>
+            <el-form-item v-if="form.monitorProxy" label="电脑&手机监控方案">
+              <el-checkbox-group v-model="form.monitorVideoSource">
+                <el-checkbox label="client_camera"
+                  >电脑摄像头为主机位</el-checkbox
                 >
-                  <el-checkbox-group v-model="form.monitorVideoSource">
-                    <el-checkbox label="client_camera"
-                      >电脑摄像头为主机位</el-checkbox
-                    >
-                    <el-checkbox label="client_screen"
-                      >电脑开启录频</el-checkbox
-                    >
-                    <el-checkbox label="mobile_first"
-                      >手机监考机位1</el-checkbox
-                    >
-                    <el-checkbox label="mobile_second"
-                      >手机监考机位2</el-checkbox
-                    >
-                  </el-checkbox-group>
-                </el-form-item>
-              </el-row>
+                <el-checkbox label="client_screen">电脑开启录频</el-checkbox>
+                <el-checkbox label="mobile_first">手机主机位</el-checkbox>
+                <el-checkbox
+                  :disabled="!form.monitorVideoSource.includes('mobile_first')"
+                  label="mobile_second"
+                  >手机辅机位</el-checkbox
+                >
+              </el-checkbox-group>
             </el-form-item>
           </el-row>
         </el-form>
@@ -363,6 +352,24 @@ export default {
         }
       },
     },
+    "form.monitorVideoSource": {
+      immediate: true,
+      handler(v, ov) {
+        if (!v) {
+          this.form.monitorVideoSource = [];
+        }
+        if (
+          // 没动静,不修改,避免死循环
+          (v || []).includes("mobile_first") !==
+            (ov || []).includes("mobile_first") &&
+          !this.form.monitorVideoSource.includes("mobile_first")
+        ) {
+          this.form.monitorVideoSource = this.form.monitorVideoSource.filter(
+            (v) => v !== "mobile_second"
+          );
+        }
+      },
+    },
   },
   async created() {
     if (this.isEdit) {

+ 1 - 0
src/features/examwork/ExamManagement/ExamManagement.vue

@@ -74,6 +74,7 @@
             type="primary"
             plain
             @click="editActivities(scope.row)"
+            v-if="scope.row.mode === 'TOGETHER'"
           >
             场次设置
           </el-button>