zhangjie 1 год назад
Родитель
Сommit
c4c145da73

+ 5 - 1
src/modules/base/components/SelectUserDialog.vue

@@ -2,7 +2,7 @@
   <el-dialog
     class="select-user-dialog"
     :visible.sync="modalIsShow"
-    title="添加用户"
+    :title="title"
     top="10px"
     width="600px"
     :close-on-click-modal="false"
@@ -119,6 +119,10 @@ export default {
         return [];
       },
     },
+    title: {
+      type: String,
+      default: "添加用户",
+    },
   },
   data() {
     return {

+ 1 - 1
src/modules/exam/views/StatisticsManage.vue

@@ -141,7 +141,7 @@
         ></el-table-column>
         <el-table-column
           prop="teachingRoom"
-          label="开课学院"
+          label="教研室"
           min-width="160"
         ></el-table-column>
         <el-table-column

+ 2 - 2
src/modules/mark/components/ScoreCheckDetail.vue

@@ -42,7 +42,7 @@
             <el-option :value="0" label="无"></el-option>
             <el-option :value="1" label="客观题0分"></el-option>
             <el-option :value="2" label="客观题0分,主观题有分"></el-option>
-            <el-option :value="3" label="主观题有分,客观题0分"></el-option>
+            <el-option :value="3" label="主观题0分,客观题有分"></el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="是否缺考">
@@ -170,7 +170,7 @@
         <el-table-column
           prop="className"
           label="班级"
-          min-width="100"
+          min-width="160"
         ></el-table-column>
         <el-table-column
           prop="objectiveScore"

+ 14 - 9
src/modules/mark/components/ScoreClassDetail.vue

@@ -88,7 +88,7 @@
           width="180"
         ></el-table-column>
         <el-table-column
-          prop="secretNumber"
+          prop="college"
           label="院系"
           width="180"
         ></el-table-column>
@@ -97,20 +97,17 @@
           label="班级"
           min-width="100"
         ></el-table-column>
-        <el-table-column prop="checkTime" label="考试时间" width="170">
-          <span slot-scope="scope">{{
-            scope.row.checkTime | timestampFilter
-          }}</span>
+        <el-table-column prop="checkTime" label="考试时间" width="180">
         </el-table-column>
         <el-table-column
-          prop="className"
+          prop="courseName"
           label="课程名称"
           min-width="100"
         ></el-table-column>
         <el-table-column
-          prop="className"
+          prop="totalScore"
           label="成绩"
-          min-width="100"
+          width="80"
         ></el-table-column>
         <el-table-column
           class-name="action-column"
@@ -166,6 +163,7 @@ import { scoreClassDetailListPage, scoreClassDetailScoreExport } from "../api";
 import SimpleImagePreview from "@/components/SimpleImagePreview";
 import { downloadByApi } from "@/plugins/download";
 import markMinxin from "../markMinxin";
+import { parseTimeRangeDateAndTime } from "@/plugins/utils";
 
 export default {
   name: "score-class-detail",
@@ -221,7 +219,14 @@ export default {
         datas.breach = !!datas.breach;
 
       const data = await scoreClassDetailListPage(datas);
-      this.dataList = data.records;
+      this.dataList = data.records.map((item) => {
+        const { date, time } = parseTimeRangeDateAndTime(
+          item.examStartTime,
+          item.examEndTime
+        );
+        item.checkTime = `${date || "--"} ${time || "--"}`;
+        return item;
+      });
       this.total = data.total;
     },
     toPage(page) {

+ 7 - 2
src/modules/mark/components/markDetail/MarkDetailArbitration.vue

@@ -21,7 +21,6 @@
             v-model="filter.type"
             type="MARK_ARBITRATE_STATUS"
             placeholder="状态"
-            clearable
           >
           </status-select>
         </el-form-item>
@@ -145,6 +144,7 @@ export default {
     return {
       filter: {
         groupNumber: "",
+        type: "WAITING",
         className: "",
       },
       current: 1,
@@ -204,7 +204,12 @@ export default {
       this.multipleSelection = val;
     },
     toDone(row) {
-      this.toMarkArbitrate({ arbitrateId: row.id });
+      this.toMarkArbitrate({
+        arbitrateId: row.id,
+        examId: row.examId,
+        paperNumber: row.paperNumber,
+        groupNumber: row.groupNumber,
+      });
     },
     toBatchDone() {
       if (!this.multipleSelection.length) return;

+ 22 - 9
src/modules/mark/components/markDetail/MarkDetailMarker.vue

@@ -93,6 +93,11 @@
           label="任务数"
           width="100"
         ></el-table-column>
+        <el-table-column
+          prop="topCount"
+          label="设置评卷数"
+          width="100"
+        ></el-table-column>
         <el-table-column
           class-name="action-column"
           label="操作"
@@ -151,12 +156,12 @@
       :ids="curIds"
       @modified="getList"
     ></modify-marker-task-count>
-    <!-- ModifyMarkerBind -->
-    <modify-marker-bind
-      ref="ModifyMarkerBind"
-      :data="curData"
-      @modified="getList"
-    ></modify-marker-bind>
+    <!-- SelectUserDialog -->
+    <select-user-dialog
+      ref="SelectUserDialog"
+      :userLimitCount="0"
+      @modified="markerSelected"
+    ></select-user-dialog>
   </div>
 </template>
 
@@ -167,9 +172,10 @@ import {
   markMarkerUnbind,
   markMarkerRecycle,
   markGroupQuestions,
+  markMarkerBind,
 } from "../../api";
 import ModifyMarkerTaskCount from "./ModifyMarkerTaskCount.vue";
-import ModifyMarkerBind from "./ModifyMarkerBind.vue";
+import SelectUserDialog from "../../../base/components/SelectUserDialog.vue";
 
 export default {
   name: "mark-detail-marker",
@@ -181,7 +187,7 @@ export default {
       },
     },
   },
-  components: { ModifyMarkerTaskCount, ModifyMarkerBind },
+  components: { ModifyMarkerTaskCount, SelectUserDialog },
   data() {
     return {
       filter: {
@@ -250,7 +256,14 @@ export default {
         paperNumber: this.baseInfo.paperNumber,
         groupNumber: this.filter.groupNumber,
       };
-      this.$refs.ModifyMarkerBind.open();
+      this.$refs.SelectUserDialog.open();
+    },
+    async markerSelected(users) {
+      if (!users.length) return;
+      const datas = { ...this.curData, userIds: users.map((item) => item.id) };
+      const res = await markMarkerBind(datas).catch(() => {});
+      if (!res) return;
+      this.$message.success("绑定成功!");
     },
     // reset marker
     async toReset(row) {

+ 4 - 4
src/modules/mark/components/markDetail/ModifyMarkerTaskCount.vue

@@ -10,10 +10,10 @@
     @opened="visibleChange"
   >
     <el-form ref="modalFormComp" :model="modalForm" :rules="rules">
-      <el-form-item prop="taskCount" label="任务数:">
+      <el-form-item prop="topCount" label="任务数:">
         <el-input-number
           style="width: 125px"
-          v-model="modalForm.taskCount"
+          v-model="modalForm.topCount"
           :min="1"
           :max="9999999"
           :step="1"
@@ -35,7 +35,7 @@
 import { markMarkerSetTaskCount } from "../../api";
 
 const initModalForm = {
-  taskCount: null,
+  topCount: null,
 };
 
 export default {
@@ -54,7 +54,7 @@ export default {
       isSubmit: false,
       modalForm: {},
       rules: {
-        taskCount: [
+        topCount: [
           {
             required: true,
             message: "请输入任务数量",

+ 2 - 2
src/modules/mark/components/report/ReportClass.vue

@@ -54,14 +54,14 @@ export default {
     };
   },
   computed: {
-    ...mapState("report", ["class"]),
+    ...mapState("report", ["classData"]),
   },
   mounted() {
     this.initData();
   },
   methods: {
     initData() {
-      const classes = this.class.map((item) => {
+      const classes = this.classData.map((item) => {
         return {
           ...item,
           name: item.className,

+ 2 - 2
src/modules/mark/components/report/store.js

@@ -3,7 +3,7 @@ const state = {
   overview: {},
   scoreRange: [],
   college: [],
-  class: [],
+  classData: [],
   teacher: [],
   teacherClass: [],
   objective: [],
@@ -21,7 +21,7 @@ const mutations = {
     state.overview = {};
     state.scoreRange = [];
     state.college = [];
-    state.class = [];
+    state.classData = [];
     state.teacher = [];
     state.teacherClass = [];
     state.objective = [];