浏览代码

接口调整

zhangjie 1 年之前
父节点
当前提交
b05376d041

二进制
public/temps/studentTemplate.xlsx


+ 1 - 0
src/assets/styles/element-ui-costom.scss

@@ -21,6 +21,7 @@
     }
     .el-dialog__body {
       padding-top: 90px;
+      min-height: 100%;
     }
   }
 }

+ 3 - 3
src/components/base/ClassSelect.vue

@@ -19,7 +19,7 @@
 </template>
 
 <script>
-import { studentCascadeQuery } from "../../modules/base/api";
+import { commonCollegeMajorClassQuery } from "../../modules/base/api";
 
 export default {
   name: "class-select",
@@ -59,7 +59,7 @@ export default {
     async search() {
       this.optionList = [];
       if (this.cascader && !this.majorName) return;
-      const res = await studentCascadeQuery({
+      const res = await commonCollegeMajorClassQuery({
         majorName: this.majorName,
         dictionaryEnum: "CLAZZ",
       });
@@ -69,7 +69,7 @@ export default {
       this.$emit("input", this.selected);
       this.$emit(
         "change",
-        this.optionList.find((item) => item.id === this.selected)
+        this.optionList.find((item) => item.name === this.selected)
       );
     },
   },

+ 5 - 5
src/components/base/CollegeSelect.vue

@@ -10,8 +10,8 @@
   >
     <el-option
       v-for="item in optionList"
-      :key="item.id"
-      :value="item.id"
+      :key="item.name"
+      :value="item.name"
       :label="item.name"
     >
     </el-option>
@@ -19,7 +19,7 @@
 </template>
 
 <script>
-import { studentCascadeQuery } from "../../modules/base/api";
+import { commonCollegeMajorClassQuery } from "../../modules/base/api";
 
 export default {
   name: "college-select",
@@ -49,7 +49,7 @@ export default {
   methods: {
     async search() {
       this.optionList = [];
-      const res = await studentCascadeQuery({
+      const res = await commonCollegeMajorClassQuery({
         dictionaryEnum: "COLLEGE",
       });
       this.optionList = res;
@@ -58,7 +58,7 @@ export default {
       this.$emit("input", this.selected);
       this.$emit(
         "change",
-        this.optionList.find((item) => item.id === this.selected)
+        this.optionList.find((item) => item.name === this.selected)
       );
     },
   },

+ 8 - 7
src/components/base/MajorSelect.vue

@@ -19,7 +19,7 @@
 </template>
 
 <script>
-import { studentCascadeQuery } from "../../modules/base/api";
+import { commonCollegeMajorClassQuery } from "../../modules/base/api";
 
 export default {
   name: "major-select",
@@ -28,7 +28,7 @@ export default {
     placeholder: { type: String, default: "请选择" },
     value: { type: [Number, String], default: "" },
     clearable: { type: Boolean, default: true },
-    collegeId: { type: String, default: "" },
+    collegeName: { type: String, default: "" },
     cascader: { type: Boolean, default: false },
   },
   data() {
@@ -44,7 +44,7 @@ export default {
         this.selected = val;
       },
     },
-    collegeId(val, oldval) {
+    collegeName(val, oldval) {
       if (val !== oldval) {
         this.search("");
         this.$emit("input", "");
@@ -58,9 +58,10 @@ export default {
   methods: {
     async search() {
       this.optionList = [];
-      if (this.cascader && !this.collegeId) return;
-      const res = await studentCascadeQuery({
-        collegeId: this.collegeId,
+      if (this.cascader && !this.collegeName) return;
+
+      const res = await commonCollegeMajorClassQuery({
+        collegeName: this.collegeName,
         dictionaryEnum: "MAJOR",
       });
       this.optionList = res;
@@ -69,7 +70,7 @@ export default {
       this.$emit("input", this.selected);
       this.$emit(
         "change",
-        this.optionList.find((item) => item.id === this.selected)
+        this.optionList.find((item) => item.name === this.selected)
       );
     },
   },

+ 9 - 5
src/components/base/SemesterSelect.vue

@@ -28,7 +28,8 @@ export default {
     placeholder: { type: String, default: "请选择学期" },
     value: { type: [Number, String], default: "" },
     clearable: { type: Boolean, default: true },
-    defaultSelectInUsed: { type: Boolean, default: false },
+    defaultSelect: { type: Boolean, default: false },
+    enable: { type: Boolean, default: null },
   },
   data() {
     return {
@@ -51,10 +52,12 @@ export default {
     async search() {
       this.optionList = [];
 
-      const res = await commonSemesterQuery({}, "SEMESTER");
+      let data = {};
+      if (this.enable !== null) data.enable = this.enable;
+      const res = await commonSemesterQuery(data);
       this.optionList = res;
 
-      if (this.defaultSelectInUsed) this.selectDefault();
+      if (this.defaultSelect && !this.value) this.selectDefault();
     },
     select() {
       this.$emit("input", this.selected);
@@ -64,10 +67,11 @@ export default {
       );
     },
     selectDefault() {
-      const defaultCollege = this.optionList.find((item) => item.inUsed);
+      const defaultCollege = this.optionList[0];
       if (defaultCollege) {
         this.selected = defaultCollege.id;
-        this.select();
+        this.$emit("input", this.selected);
+        this.$emit("default-selected", defaultCollege);
       }
     },
   },

+ 16 - 19
src/modules/base/api.js

@@ -1,15 +1,5 @@
 import { $postParam, $post } from "@/plugins/axios";
 
-// 课程
-export const commonCourseQuery = ({
-  paperArchivesId = "",
-  semesterId = "",
-}) => {
-  return $postParam("/api/admin/common/course/query", {
-    paperArchivesId,
-    semesterId,
-  });
-};
 // 教学班
 export const commonTeachClazzQuery = ({
   paperArchivesId = "",
@@ -42,6 +32,16 @@ export const commonSemesterQuery = () => {
 export const commonExamQuery = (data) => {
   return $postParam("/api/admin/common/exam/query", data);
 };
+// 课程
+export const commonCourseQuery = (datas) => {
+  return $postParam("/api/admin/common/course/query", datas);
+};
+// 课程
+export const commonCollegeMajorClassQuery = (datas) => {
+  // examId,collegeName,majorName
+  // dictionaryEnum:COLLEGE("学院"),MAJOR("专业"),CLAZZ("班级")
+  return $postParam("/api/admin/common/college_major_class/query", datas);
+};
 // 扫描任务
 export const commonScanTaskQuery = (data) => {
   return $postParam("/api/admin/common/scan_task/query", data);
@@ -144,18 +144,15 @@ export const teachCollegeList = (examId) => {
 // dict --------------------------------->
 // student-manage
 export const studentListQuery = (datas) => {
-  return $postParam("/api/admin/basic/student/query", datas);
+  return $postParam("/api/admin/exam/student/page", datas);
 };
 export const deleteStudent = (ids) => {
-  return $postParam("/api/admin/basic/student/delete_batch", {
+  return $postParam("/api/admin/exam/student/delete", {
     ids: ids.join(),
   });
 };
-export const deleteFilterStudent = (datas) => {
-  return $postParam("/api/admin/basic/student/delete_by_condition", datas);
-};
 export const updateStudent = (datas) => {
-  return $post("/api/admin/basic/student/save", datas);
+  return $post("/api/admin/exam/student/save", datas);
 };
 export const studentCascadeQuery = (datas) => {
   return $postParam("/api/admin/common/basic_student/condition", datas);
@@ -173,15 +170,15 @@ export const updateSemester = (datas) => {
 };
 // exam-manage
 export const examListQuery = (datas) => {
-  return $postParam("/api/admin/paper/archives_type/page", datas);
+  return $postParam("/api/admin/basic/exam/page", datas);
 };
 export const deleteExam = (ids) => {
-  return $postParam("/api/admin/paper/archives_type/delete", {
+  return $postParam("/api/admin/basic/exam/delete", {
     ids: ids.join(),
   });
 };
 export const updateExam = (datas) => {
-  return $post("/api/admin/paper/archives_type/save", datas);
+  return $post("/api/admin/basic/exam/save", datas);
 };
 
 // import systemset from "./systemset.json";

+ 20 - 10
src/modules/base/views/ExamManage.vue

@@ -1,14 +1,24 @@
 <template>
   <div class="record-type-manage">
     <div class="part-box part-box-filter part-box-flex">
-      <div>
-        <el-button
-          v-if="checkPrivilege('button', 'select')"
-          type="primary"
-          @click="toPage(1)"
-          >查询</el-button
-        >
-      </div>
+      <el-form ref="FilterForm" label-position="left" label-width="90px" inline>
+        <template v-if="checkPrivilege('condition', 'condition')">
+          <el-form-item>
+            <semester-select
+              v-model.trim="filter.semesterId"
+              placeholder="学期"
+            ></semester-select>
+          </el-form-item>
+        </template>
+        <el-form-item label-width="0px">
+          <el-button
+            v-if="checkPrivilege('button', 'select')"
+            type="primary"
+            @click="toPage(1)"
+            >查询</el-button
+          >
+        </el-form-item>
+      </el-form>
       <div class="part-box-action">
         <el-button
           v-if="checkPrivilege('button', 'add')"
@@ -78,7 +88,7 @@ export default {
   components: { ModifyExam },
   data() {
     return {
-      filter: {},
+      filter: { semesterId: "" },
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
@@ -87,7 +97,7 @@ export default {
     };
   },
   mounted() {
-    this.getList();
+    this.toPage(1);
   },
   methods: {
     async getList() {

+ 27 - 24
src/modules/base/views/StudentManage.vue

@@ -4,7 +4,7 @@
       <el-form ref="FilterForm" label-position="left" label-width="90px" inline>
         <sec-select
           v-model="filter"
-          defaultSelectExam
+          default-select-exam
           @exam-default="toPage(1)"
         ></sec-select>
         <el-form-item label="姓名/学号:">
@@ -29,7 +29,6 @@
           v-if="checkPrivilege('button', 'delete')"
           type="danger"
           icon="el-icon-delete"
-          :disabled="!filterHasQuery"
           @click="toBatchDelete"
           >批量删除</el-button
         >
@@ -56,12 +55,15 @@
       </div>
     </div>
     <div class="part-box part-box-pad">
-      <el-table ref="TableList" :data="dataList">
+      <el-table
+        ref="TableList"
+        :data="dataList"
+        @selection-change="handleSelectionChange"
+      >
         <el-table-column
-          type="index"
-          label="序号"
-          width="70"
-          :index="indexMethod"
+          type="selection"
+          width="55"
+          align="center"
         ></el-table-column>
         <el-table-column prop="courseName" label="课程名称"></el-table-column>
         <el-table-column prop="courseCode" label="课程代码"></el-table-column>
@@ -128,6 +130,10 @@
       ref="ImportFile"
       title="导入考生"
       :upload-url="uploadUrl"
+      :upload-data="{
+        semesterId: filter.semesterId,
+        examId: filter.examId,
+      }"
       :format="['xls', 'xlsx']"
       :download-url="downloadUrl"
       :download-filename="dfilename"
@@ -144,7 +150,7 @@
 </template>
 
 <script>
-import { studentListQuery, deleteStudent, deleteFilterStudent } from "../api";
+import { studentListQuery, deleteStudent } from "../api";
 import ModifyStudent from "../components/ModifyStudent";
 import ImportFile from "../../../components/ImportFile.vue";
 import DataTaskDialog from "../components/DataTaskDialog.vue";
@@ -160,28 +166,18 @@ export default {
         examId: "",
         courseCode: "",
       },
-      queriedFilter: {},
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
       dataList: [],
       curRow: {},
+      multipleSelection: [],
       // import
-      uploadUrl: "/api/admin/basic/student/data_import",
+      uploadUrl: "/api/admin/exam/student/import",
       downloadUrl: "/temps/studentTemplate.xlsx",
       dfilename: "考生导入模板.xlsx",
     };
   },
-  computed: {
-    filterHasQuery() {
-      return !Object.keys(this.filter).some(
-        (k) => this.filter[k] !== this.queriedFilter[k]
-      );
-    },
-  },
-  mounted() {
-    this.getList();
-  },
   methods: {
     async getList() {
       if (!this.checkPrivilege("list", "list")) return;
@@ -194,12 +190,14 @@ export default {
       const data = await studentListQuery(datas);
       this.dataList = data.records;
       this.total = data.total;
-      this.queriedFilter = { ...this.filter };
     },
     toPage(page) {
       this.current = page;
       this.getList();
     },
+    handleSelectionChange(val) {
+      this.multipleSelection = val.map((item) => item.id);
+    },
     toImportStudent() {
       this.$refs.ImportFile.open();
     },
@@ -212,13 +210,18 @@ export default {
       this.$refs.ModifyStudent.open();
     },
     toBatchDelete() {
-      this.$confirm(`确定要根据设置的筛选条件删除所有数据吗?`, "提示", {
+      if (!this.multipleSelection.length) {
+        this.$message.error("请选择要删除的数据");
+        return;
+      }
+
+      this.$confirm(`确定要删除选择的考生吗?`, "提示", {
         type: "warning",
       })
         .then(async () => {
-          await deleteFilterStudent(this.filter);
+          await deleteStudent(this.multipleSelection);
           this.$message.success("删除成功!");
-          this.toPage(1);
+          this.deletePageLastItem();
         })
         .catch(() => {});
     },

+ 3 - 13
src/modules/base/views/SystemSetting.vue

@@ -18,14 +18,14 @@
                 :label="`${field.name}:`"
               >
                 <el-radio-group
-                  v-if="checkValueIsBoolean(field.value)"
+                  v-if="field.options"
                   v-model="modalForm[field.code]"
                 >
                   <el-radio
-                    v-for="item in BOOLEAN_STATUS"
+                    v-for="item in field.options"
                     :key="item.value"
                     :label="item.value"
-                    >{{ item.label }}</el-radio
+                    >{{ item.name }}</el-radio
                   >
                 </el-radio-group>
                 <el-input
@@ -58,16 +58,6 @@ export default {
     return {
       modalForm: {},
       isSubmit: false,
-      BOOLEAN_STATUS: [
-        {
-          label: "开启",
-          value: "true",
-        },
-        {
-          label: "关闭",
-          value: "false",
-        },
-      ],
       rules: {},
       setList: [],
     };

+ 11 - 19
src/modules/record/api.js

@@ -2,21 +2,13 @@ import { $postParam, $post } from "@/plugins/axios";
 
 // scan-task-manage
 export const scanTaskListPage = (datas) => {
-  return $postParam("/api/admin/paper/scan_task/query", datas);
+  return $postParam("/api/admin/paper/scan_task/page", datas);
 };
 export const scanTaskDetailPage = (datas) => {
-  return $postParam("/api/admin/paper/scan_task/task_detail_page", datas);
-};
-export const updateScanTask = (datas) => {
-  return $post("/api/admin/paper/scan_task/save", datas);
-};
-export const deleteScanTask = (ids) => {
-  return $postParam("/api/admin/paper/scan_task/delete_batch", {
-    ids: ids.join(),
-  });
+  return $postParam("/api/admin/paper/scan_task/detail", datas);
 };
 export const clearScanTaskData = (paperScanTaskId) => {
-  return $postParam("/api/admin/paper/scan_task/clear_scan_data", {
+  return $postParam("/api/admin/paper/scan_task/clear_data", {
     paperScanTaskId,
   });
 };
@@ -63,10 +55,8 @@ export const dataCheckDoneListPage = (datas) => {
 export const dataCheckAbnormalListPage = (datas) => {
   return $postParam("/api/admin/paper/library/page_abnormal", datas);
 };
-export const studentPictureList = (paperScanTaskDetailId) => {
-  return $postParam("/api/admin/paper/library/list_student_picture", {
-    paperScanTaskDetailId,
-  });
+export const studentPictureList = (datas) => {
+  return $postParam("/api/admin/paper/document/list_student_picture", datas);
 };
 export const studentUnbindTaskListPage = (datas) => {
   return $postParam("/api/admin/paper/library/get_bind_data", datas);
@@ -91,16 +81,18 @@ export const getPaperdetail = (paperLibraryId) => {
 
 // document-manage
 export const documentListPage = (datas) => {
-  return $postParam("/api/admin/paper/archives/page", datas);
+  return $postParam("/api/admin/paper/document/page", datas);
 };
 export const documentDetialListPage = (datas) => {
-  return $postParam("/api/admin/paper/archives/page", datas);
+  return $postParam("/api/admin/paper/document/detail", datas);
 };
 export const documentDetialDownload = (datas) => {
-  return $postParam("/api/admin/paper/archives/page", datas);
+  return $postParam("/api/admin/paper/document/download", datas, {
+    responseType: "blob",
+  });
 };
 export const documentOtherDetialListPage = (datas) => {
-  return $postParam("/api/admin/paper/archives/page", datas);
+  return $postParam("/api/admin/paper/other/detail", datas);
 };
 // export const archivesDetailListPage = (datas) => {
 //   return $postParam("/api/admin/paper/archives/page_detail", datas);

+ 9 - 8
src/modules/record/components/ArchivesDetailStudentDialog.vue

@@ -32,22 +32,22 @@
               <span>学号:</span><span>{{ student.studentCode }}</span>
             </p>
             <p>
-              <span>学院:</span><span>{{ student.belongOrgName }}</span>
+              <span>学院:</span><span>{{ student.collegeName }}</span>
             </p>
             <p>
               <span>专业:</span><span>{{ student.majorName }}</span>
             </p>
             <p>
-              <span>班级:</span><span>{{ student.clazzName }}</span>
+              <span>班级:</span><span>{{ student.className }}</span>
             </p>
             <p>
               <span>课程:</span><span>{{ student.courseName }}</span>
             </p>
             <p>
-              <span>任课老师:</span><span>{{ student.teacherName }}</span>
+              <span>任课老师:</span><span>{{ student.teacher }}</span>
             </p>
             <p>
-              <span>教学班:</span><span>{{ student.teachClazzName }}</span>
+              <span>教学班:</span><span>{{ student.teachClass }}</span>
             </p>
           </div>
           <el-divider></el-divider>
@@ -106,10 +106,11 @@ export default {
       this.modalIsShow = true;
     },
     async getImageList() {
-      const resData = await studentPictureList(
-        this.student.paperScanTaskDetailId
-      );
-      this.pageList = resData || [];
+      const resData = await studentPictureList({
+        paperScanTaskId: this.student.paperScanTaskId,
+        studentId: this.student.studentId,
+      });
+      this.pageList = resData.fileUrls || [];
       let imageList = [];
       this.pageList.forEach((item) => {
         imageList.push(...item.fileUrls);

+ 49 - 48
src/modules/record/components/DocumentDetailDialog.vue

@@ -17,9 +17,9 @@
           label-width="90px"
           inline
         >
-          <el-form-item prop="collegeId" label="学院:">
+          <el-form-item prop="collegeName" label="学院:">
             <college-select
-              v-model="filter.collegeId"
+              v-model="filter.collegeName"
               placeholder="学院"
               style="width: 100%"
             ></college-select>
@@ -27,7 +27,7 @@
           <el-form-item prop="majorName" label="专业:">
             <major-select
               v-model="filter.majorName"
-              :college-id="filter.collegeId"
+              :college-name="filter.collegeName"
               cascader
               placeholder="请选择专业"
               style="width: 100%"
@@ -54,14 +54,14 @@
           </el-form-item>
           <el-form-item label="任课老师:">
             <el-input
-              v-model.trim="filter.teacherName"
+              v-model.trim="filter.teacher"
               placeholder="任课老师"
               clearable
             ></el-input>
           </el-form-item>
           <el-form-item label="教学班:">
             <teach-clazz-select
-              v-model="filter.teachClazzName"
+              v-model="filter.teachClass"
               placeholder="教学班"
             >
             </teach-clazz-select>
@@ -77,7 +77,7 @@
           <el-form-item label="起止成绩:">
             <el-input-number
               style="width: 40px"
-              v-model="modalForm.startScore"
+              v-model="modalForm.minScore"
               :min="0"
               :max="999"
               :step="1"
@@ -87,7 +87,7 @@
             <span class="el-input-split"></span>
             <el-input-number
               style="width: 40px"
-              v-model="modalForm.endScore"
+              v-model="modalForm.maxScore"
               :min="0"
               :max="999"
               :step="1"
@@ -98,7 +98,7 @@
           <el-form-item label="起止图片张数:">
             <el-input-number
               style="width: 40px"
-              v-model="modalForm.startNumber"
+              v-model="modalForm.minBindCount"
               :min="0"
               :max="999"
               :step="1"
@@ -108,7 +108,7 @@
             <span class="el-input-split"></span>
             <el-input-number
               style="width: 40px"
-              v-model="modalForm.endNumber"
+              v-model="modalForm.maxBindCount"
               :min="0"
               :max="999"
               :step="1"
@@ -129,7 +129,6 @@
             @click="toDownload"
             >批量下载</el-button
           >
-          <el-button type="primary" @click="viewResult">下载结果</el-button>
         </div>
       </div>
 
@@ -144,28 +143,29 @@
             width="55"
             align="center"
           ></el-table-column>
-          <el-table-column prop="bindUserName" label="姓名"></el-table-column>
+          <el-table-column prop="studentName" label="姓名"></el-table-column>
           <el-table-column
-            prop="bindUserName"
+            prop="studentCode"
             label="学号"
             width="120"
           ></el-table-column>
+          <el-table-column prop="courseCodeName" label="课程名称(代码)">
+            <template slot-scope="scope">
+              {{ scope.row.courseName }}({{ scope.row.courseCode }})
+            </template>
+          </el-table-column>
+          <el-table-column prop="teacher" label="任课老师"></el-table-column>
+          <el-table-column prop="teachClass" label="教学班"></el-table-column>
+          <el-table-column prop="collegeName" label="学院"></el-table-column>
+          <el-table-column prop="majorName" label="专业"></el-table-column>
+          <el-table-column prop="className" label="班级"></el-table-column>
           <el-table-column
-            prop="courseNameCode"
-            label="课程名称(代码)"
-          ></el-table-column>
-          <el-table-column prop="boundCount" label="任课老师"></el-table-column>
-          <el-table-column prop="bindingCount" label="教学班"></el-table-column>
-          <el-table-column prop="bindingCount" label="学院"></el-table-column>
-          <el-table-column prop="bindingCount" label="专业"></el-table-column>
-          <el-table-column prop="bindingCount" label="班级"></el-table-column>
-          <el-table-column
-            prop="bindingCount"
+            prop="score"
             label="成绩"
             width="80"
           ></el-table-column>
           <el-table-column
-            prop="bindingCount"
+            prop="remark"
             label="备注"
             width="120"
           ></el-table-column>
@@ -176,7 +176,7 @@
                 type="text"
                 @click="toDetail(scope.row)"
               >
-                <span class="cont-link">{{ scope.row.pictureCount }}</span>
+                <span class="cont-link">{{ scope.row.bindCount }}</span>
               </el-button>
             </template>
           </el-table-column>
@@ -202,6 +202,7 @@ import { documentDetialListPage, documentDetialDownload } from "../api";
 import { BOUND_TYPE } from "@/constants/enumerate";
 import ArchivesDetailStudentDialog from "./ArchivesDetailStudentDialog.vue";
 import DataTaskDialog from "../../base/components/DataTaskDialog.vue";
+import { downloadByApi } from "@/plugins/download";
 
 export default {
   name: "document-detail-dialog",
@@ -218,17 +219,18 @@ export default {
     return {
       modalIsShow: false,
       filter: {
-        collegeId: "",
+        paperScanTaskId: "",
+        collegeName: "",
         majorName: "",
         clazzName: "",
         isBind: "",
-        teacherName: "",
-        teachClazzName: "",
+        teacher: "",
+        teachClass: "",
         param: "",
-        startScore: null,
-        endScore: null,
-        startNumber: null,
-        endNumber: null,
+        minScore: null,
+        maxScore: null,
+        minBindCount: null,
+        maxBindCount: null,
       },
       current: 1,
       size: this.GLOBAL.pageSize,
@@ -242,6 +244,7 @@ export default {
   },
   methods: {
     visibleChange() {
+      this.filter.paperScanTaskId = this.task.paperScanTaskId;
       this.dataList = [];
       this.toPage(1);
     },
@@ -266,31 +269,29 @@ export default {
       this.getList();
     },
     handleSelectionChange(val) {
-      this.multipleSelection = val.map((item) => item.paperScanTaskDetailId);
+      this.multipleSelection = val.map((item) => item.studentId);
     },
     async toDownload() {
-      if (!this.multipleSelection.length) {
-        this.$message.error("请选择要下载的数据!");
-        return;
-      }
-
       if (this.loading) return;
       this.loading = true;
-      const res = await documentDetialDownload(this.multipleSelection).catch(
-        () => {}
-      );
+
+      const res = await downloadByApi(() => {
+        return documentDetialDownload(this.filter);
+      }).catch((e) => {
+        this.$message.error(e || "下载失败,请重新尝试!");
+      });
       this.loading = false;
+
       if (!res) return;
-      this.$message.error("下载任务已经提交");
-    },
-    viewResult() {
-      this.$refs.DataTaskDialog.open();
+      this.$message.success("下载成功!");
     },
     toDetail(row) {
-      if (!row.bindCount) {
-        return;
-      }
-      this.curRow = row;
+      if (!row.bindCount) return;
+
+      this.curRow = {
+        ...row,
+        paperScanTaskId: this.task.paperScanTaskId,
+      };
       this.$refs.ArchivesDetailStudentDialog.open();
     },
   },

+ 2 - 2
src/modules/record/components/OtherDocumentDetailDialog.vue

@@ -18,7 +18,7 @@
             width="70"
             :index="indexMethod"
           ></el-table-column>
-          <el-table-column prop="name" label="文件名称"></el-table-column>
+          <el-table-column prop="fileName" label="文件名称"></el-table-column>
           <el-table-column class-name="action-column" label="操作" width="110">
             <template slot-scope="scope">
               <el-button
@@ -91,7 +91,7 @@ export default {
     },
     async getList() {
       const datas = {
-        taskId: this.task.id,
+        paperScanTaskId: this.task.paperScanTaskId,
         pageNumber: this.current,
         pageSize: this.size,
       };

+ 7 - 3
src/modules/record/components/ScanTaskDetailDialog.vue

@@ -19,9 +19,13 @@
         ></el-table-column>
         <el-table-column prop="studentName" label="姓名"></el-table-column>
         <el-table-column prop="studentCode" label="学号"></el-table-column>
-        <el-table-column prop="courseName" label="课程"></el-table-column>
-        <el-table-column prop="teacherName" label="任课老师"></el-table-column>
-        <el-table-column prop="teachClazzName" label="教学班"></el-table-column>
+        <el-table-column prop="courseCodeName" label="课程名称(代码)">
+          <template slot-scope="scope">
+            {{ scope.row.courseName }}({{ scope.row.courseCode }})
+          </template>
+        </el-table-column>
+        <el-table-column prop="teacher" label="任课老师"></el-table-column>
+        <el-table-column prop="teachClass" label="教学班"></el-table-column>
         <el-table-column
           prop="bindCount"
           label="绑定张数"

+ 5 - 7
src/modules/record/views/DocumentManage.vue

@@ -30,10 +30,11 @@
         ></el-table-column>
         <el-table-column prop="semesterName" label="学期"></el-table-column>
         <el-table-column prop="examName" label="考试"></el-table-column>
-        <el-table-column
-          prop="courseNameCode"
-          label="课程名称(代码)"
-        ></el-table-column>
+        <el-table-column prop="courseCodeName" label="课程名称(代码)">
+          <template slot-scope="scope">
+            {{ scope.row.courseName }}({{ scope.row.courseCode }})
+          </template>
+        </el-table-column>
         <el-table-column
           prop="studentCount"
           label="学生数量"
@@ -116,9 +117,6 @@ export default {
       curRow: {},
     };
   },
-  mounted() {
-    this.toPage(1);
-  },
   methods: {
     async getList() {
       if (!this.checkPrivilege("list", "list")) return;

+ 12 - 8
src/modules/record/views/ScanTaskManage.vue

@@ -9,7 +9,10 @@
             @exam-default="toPage(1)"
           ></sec-select>
           <el-form-item label="班级:">
-            <teach-clazz-select v-model="filter.clazz" placeholder="请选择班级">
+            <teach-clazz-select
+              v-model="filter.className"
+              placeholder="请选择班级"
+            >
             </teach-clazz-select>
           </el-form-item>
         </template>
@@ -61,16 +64,17 @@
         ></el-table-column>
         <el-table-column prop="semesterName" label="学期"></el-table-column>
         <el-table-column prop="examName" label="考试"></el-table-column>
-        <el-table-column
-          prop="courseCodeName"
-          label="课程名称(代码)"
-        ></el-table-column>
+        <el-table-column prop="courseCodeName" label="课程名称(代码)">
+          <template slot-scope="scope">
+            {{ scope.row.courseName }}({{ scope.row.courseCode }})
+          </template>
+        </el-table-column>
 
         <el-table-column prop="studentCount" label="考生总数" width="110">
         </el-table-column>
-        <el-table-column prop="scanCount" label="已扫人数" width="110">
+        <el-table-column prop="scanStudentCount" label="已扫人数" width="110">
         </el-table-column>
-        <el-table-column prop="bindCount" label="已扫张数" width="110">
+        <el-table-column prop="scanCount" label="已扫张数" width="110">
         </el-table-column>
         <el-table-column
           class-name="action-column"
@@ -132,7 +136,7 @@ export default {
         semesterId: "",
         examId: "",
         courseCode: "",
-        clazz: "",
+        className: "",
       },
       current: 1,
       size: this.GLOBAL.pageSize,