Przeglądaj źródła

feat: 考生管理开课学院查课程

zhangjie 1 rok temu
rodzic
commit
3e33f8a751

+ 1 - 1
src/components/base/OrgSelect.vue

@@ -213,7 +213,7 @@ export default {
         }
       }
       this.updateSelectOrgIds();
-      this.emitChange();
+      // this.emitChange();
     },
     nodeClick(data) {
       if (!this.multiple) {

+ 44 - 17
src/modules/base/components/ModifyExamStudent.vue

@@ -54,16 +54,37 @@
           clearable
         ></el-input>
       </el-form-item>
+      <el-form-item
+        v-if="checkRequiredFieldValid('teachingRoomName')"
+        prop="teachingRoomId"
+        label="开课学院:"
+      >
+        <org-select
+          v-model="modalForm.teachingRoomId"
+          placeholder="开课学院"
+          @change="teachingRoomChange"
+        ></org-select>
+      </el-form-item>
       <el-form-item
         v-if="checkRequiredFieldValid('courseCode')"
         prop="courseId"
         label="课程:"
       >
-        <course-common-select
+        <el-select
           v-model="modalForm.courseId"
+          class="course-select"
           placeholder="课程"
-          clearable
-        ></course-common-select>
+          filterable
+        >
+          <el-option
+            v-for="(item, index) in courseList"
+            :key="index"
+            :value="item.id"
+            :label="`${item.name}(${item.code})`"
+          >
+            <span>{{ `${item.name}(${item.code})` }}</span>
+          </el-option>
+        </el-select>
       </el-form-item>
       <el-form-item
         v-if="checkRequiredFieldValid('examDate')"
@@ -131,17 +152,6 @@
           clearable
         ></el-input>
       </el-form-item>
-      <el-form-item
-        v-if="checkRequiredFieldValid('teachingRoomName')"
-        prop="teachingRoomName"
-        label="开课学院:"
-      >
-        <el-input
-          v-model.trim="modalForm.teachingRoomName"
-          placeholder="请输入开课学院"
-          clearable
-        ></el-input>
-      </el-form-item>
 
       <!-- 选填信息 -->
       <el-form-item
@@ -181,7 +191,7 @@
 </template>
 
 <script>
-import { updateExamStudent, examRuleDetail } from "../api";
+import { updateExamStudent, examRuleDetail, courseQuery } from "../api";
 import { getTimeDatestamp } from "@/plugins/utils";
 
 const requiredModalForm = {
@@ -196,7 +206,7 @@ const requiredModalForm = {
   collegeName: "",
   examRoom: "",
   teachClassName: "",
-  teachingRoomName: "",
+  teachingRoomId: "",
 };
 
 export default {
@@ -317,7 +327,7 @@ export default {
             trigger: "change",
           },
         ],
-        teachingRoomName: [
+        teachingRoomId: [
           {
             required: true,
             message: "请输入开课学院",
@@ -343,6 +353,7 @@ export default {
       ],
       optionalFields: [],
       extendFields: [],
+      courseList: [],
       // date-picker
       defaultTime: "",
       examSetDate: "",
@@ -372,9 +383,11 @@ export default {
         extendFieldData.forEach((item) => {
           this.modalForm[item.code] = item.value;
         });
+        await this.getCourses();
       } else {
         this.modalForm = { ...this.initModalForm };
         this.getInitCreateTime();
+        this.courseList = [];
       }
 
       this.defaultTime = getTimeDatestamp(Date.now());
@@ -421,6 +434,20 @@ export default {
     visibleChange() {
       this.initData(this.instance);
     },
+    async teachingRoomChange() {
+      this.modalForm.courseId = "";
+      this.courseList = [];
+      await this.getCourses();
+    },
+    async getCourses() {
+      if (!this.modalForm.teachingRoomId) return;
+
+      const res = await courseQuery({
+        teachingRoomId: this.modalForm.teachingRoomId,
+      });
+
+      this.courseList = res.basicCourseList || [];
+    },
     updateRules() {
       // const paperNumberRequired = this.curExam.examModel === "MODEL4";
       const rules = { ...this.requiredRules };

+ 6 - 1
src/modules/mark/views/MarkSetting.vue

@@ -99,7 +99,12 @@
           label="试卷编号"
           min-width="140"
         ></el-table-column>
-        <el-table-column prop="groupStatus" label="状态" width="120">
+        <el-table-column prop="questionStatus" label="试卷结构" width="100">
+          <span slot-scope="scope">{{
+            scope.row.questionStatus ? "已提交" : "未提交"
+          }}</span>
+        </el-table-column>
+        <el-table-column prop="groupStatus" label="评卷任务" width="100">
           <span slot-scope="scope">{{
             scope.row.groupStatus ? "已提交" : "未提交"
           }}</span>