zhangjie пре 1 година
родитељ
комит
045a947bfe

+ 68 - 0
src/components/base/StatusSelect.vue

@@ -0,0 +1,68 @@
+<template>
+  <el-select
+    v-model="selected"
+    class="status-select"
+    :placeholder="placeholder"
+    filterable
+    :clearable="clearable"
+    :disabled="disabled"
+    @change="select"
+  >
+    <el-option
+      v-for="item in optionList"
+      :key="item.id"
+      :value="item.id"
+      :label="item.name"
+    >
+    </el-option>
+  </el-select>
+</template>
+
+<script>
+import { enumsByType } from "../../modules/base/api";
+
+export default {
+  name: "status-select",
+  props: {
+    disabled: { type: Boolean, default: false },
+    placeholder: { type: String, default: "请选择状态" },
+    value: { type: [Number, String], default: "" },
+    clearable: { type: Boolean, default: true },
+    type: {
+      type: String,
+      default: "",
+    },
+  },
+  data() {
+    return {
+      optionList: [],
+      selected: "",
+    };
+  },
+  watch: {
+    value: {
+      immediate: true,
+      handler(val) {
+        this.selected = val;
+      },
+    },
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    async search() {
+      if (!this.type) return;
+      const res = await enumsByType(this.type);
+      this.optionList = res;
+    },
+    select() {
+      this.$emit("input", this.selected);
+      this.$emit(
+        "change",
+        this.optionList.find((item) => item.id === this.selected)
+      );
+    },
+  },
+};
+</script>

+ 2 - 0
src/modules/mark/components/ModifyMarkSetting.vue

@@ -172,6 +172,8 @@ export default {
         this.modalForm.markStartTime,
         this.modalForm.markEndTime,
       ];
+      this.modalForm.passScore = this.modalForm.passScore || 60;
+      this.modalForm.excellentScore = this.modalForm.excellentScore || 80;
     },
     visibleChange() {
       this.initData(this.instance);

+ 9 - 0
src/modules/mark/components/markDetail/MarkDetailArbitration.vue

@@ -16,6 +16,15 @@
             ></el-option>
           </el-select>
         </el-form-item>
+        <el-form-item label="状态">
+          <status-select
+            v-model="filter.type"
+            type="MARK_ARBITRATE_STATUS"
+            placeholder="状态"
+            clearable
+          >
+          </status-select>
+        </el-form-item>
         <el-form-item label-width="0px">
           <el-button type="primary" @click="search">查询</el-button>
         </el-form-item>

+ 7 - 3
src/modules/mark/components/markDetail/MarkDetailIssue.vue

@@ -3,9 +3,13 @@
     <div class="part-box part-box-filter part-box-flex">
       <el-form ref="FilterForm" label-position="left" label-width="85px" inline>
         <el-form-item label="类型">
-          <el-select v-model="filter.problemType" placeholder="类型" clearable>
-            <el-option :value="1">班级1</el-option>
-          </el-select>
+          <status-select
+            v-model="filter.problemType"
+            type="MARK_PROBLEM_TYPE"
+            placeholder="类型"
+            clearable
+          >
+          </status-select>
         </el-form-item>
         <el-form-item label="评阅题目">
           <el-select

+ 1 - 0
src/modules/mark/components/markDetail/MarkDetailProgress.vue

@@ -16,6 +16,7 @@
         >
       </el-breadcrumb>
       <div>
+        <el-button type="primary" @click="toPage(1)">查询</el-button>
         <el-button type="primary" :loading="downloading" @click="toExport"
           >导出评卷员工作量</el-button
         >

+ 5 - 1
src/modules/mark/components/markDetail/MarkDetailQuality.vue

@@ -191,10 +191,14 @@ export default {
       this.getList();
     },
     toViewLine() {
+      if (!this.filter.groupNumber) {
+        this.$$message.error("请先选择评阅题目");
+        return;
+      }
       this.chartData = {
         examId: this.baseInfo.examId,
         paperNumber: this.baseInfo.paperNumber,
-        groupNumber: this.filter.groupNumber || undefined,
+        groupNumber: this.filter.groupNumber,
       };
       this.$refs.QualityChartDialog.open();
     },

+ 2 - 2
src/modules/mark/markMinxin.js

@@ -26,8 +26,8 @@ export default {
       this.openPage("/mark/check/subjective-answer");
     },
     openPage(url) {
-      window.location.href = url;
-      // window.open(url);
+      // window.location.href = url;
+      window.open(url);
     },
   },
 };

+ 0 - 1
src/modules/print/components/PreviewBusinessDetail.vue

@@ -79,7 +79,6 @@
           ></el-table-column>
           <el-table-column prop="examPlace" label="考点"> </el-table-column>
           <el-table-column prop="examRoom" label="考场"> </el-table-column>
-          <el-table-column prop="ticketNumber" label="考号"> </el-table-column>
           <el-table-column prop="studentCode" label="学号"> </el-table-column>
           <el-table-column prop="studentName" label="姓名"> </el-table-column>
           <el-table-column class-name="action-column" label="操作" width="80">

+ 0 - 3
src/modules/print/components/PreviewBusinessStudentDetail.vue

@@ -16,9 +16,6 @@
       <el-form-item label="学号:">
         <span>{{ student.studentCode }}</span>
       </el-form-item>
-      <el-form-item label="考号:">
-        <span>{{ student.ticketNumber }}</span>
-      </el-form-item>
       <el-form-item label="课程(代码):">
         <span>{{ student.courseName }}({{ student.courseCode }})</span>
       </el-form-item>

+ 0 - 2
src/modules/print/views/BusinessDataDetail.vue

@@ -130,8 +130,6 @@
         </el-table-column>
         <el-table-column prop="examRoom" label="考场" min-width="100">
         </el-table-column>
-        <el-table-column prop="ticketNumber" label="考号" width="120">
-        </el-table-column>
         <el-table-column prop="studentCode" label="学号" width="120">
         </el-table-column>
         <el-table-column prop="studentName" label="姓名" min-width="100">

+ 2 - 0
src/plugins/globalVuePlugins.js

@@ -26,6 +26,7 @@ import MajorClassSelect from "../components/base/MajorClassSelect.vue";
 import ExamSelect from "../components/base/ExamSelect.vue";
 import OrgSelect from "../components/base/OrgSelect.vue";
 import DataTaskDialog from "../components/base/DataTaskDialog.vue";
+import StatusSelect from "../components/base/StatusSelect.vue";
 // base
 import BaseCourseSelect from "../components/base/BaseCourseSelect.vue";
 // other
@@ -55,6 +56,7 @@ const components = {
   ExamSelect,
   OrgSelect,
   DataTaskDialog,
+  StatusSelect,
   // base
   BaseCourseSelect,
   // other