zhangjie 1 anno fa
parent
commit
6d750ab3c3

+ 1 - 1
src/modules/course/api.js

@@ -115,7 +115,7 @@ export const documentDownload = (id) => {
 };
 // 文档管理-文档新建
 export const documentSave = (datas) => {
-  return $postParam("/api/admin/mark/archive/document/save", datas);
+  return $post("/api/admin/mark/archive/document/save", datas);
 };
 // 文档管理-文档删除
 export const documentDelete = (id) => {

+ 38 - 10
src/modules/course/components/CourseDocumentDetail.vue

@@ -5,19 +5,22 @@
       :visible.sync="modalIsShow"
       :close-on-click-modal="false"
       :close-on-press-escape="false"
+      top="20px"
       append-to-body
       width="900px"
+      @opened="getList"
     >
       <div slot="title">
-        文档<span class="color-gray ml-2"
+        文档详情
+        <span class="color-gray ml-2"
           >{{ course.courseName }}({{ course.courseCode }})</span
         >
       </div>
+      <div v-if="checkPrivilege('button', 'add')" class="box-justify mb-2">
+        <div></div>
+        <el-button type="primary" @click="toAdd">新建文档</el-button>
+      </div>
       <div class="part-box part-box-pad">
-        <div class="box-justify">
-          <div></div>
-          <el-button type="primary" @click="toAdd">新建文档</el-button>
-        </div>
         <el-table :data="dataList">
           <el-table-column
             type="index"
@@ -33,7 +36,7 @@
           <el-table-column
             class-name="action-column"
             label="操作"
-            width="140px"
+            width="120px"
             fixed="right"
           >
             <template slot-scope="scope">
@@ -92,6 +95,22 @@ import { downloadByApi } from "@/plugins/download";
 import { documentListPage, documentDownload, documentDelete } from "../api";
 import AddDocumentDialog from "./AddDocumentDialog.vue";
 
+/*
+SYLLABUS("课程教学大纲", 1),
+PROCESS_SCORE("过程考核成绩", 2),
+PAPER("试卷样卷", 3),
+ANSWER("试卷评阅标准", 4),
+PAPER_REPORT("试卷分析报告", 5),
+APPROVE_RECORD("试卷审批记录", 6),
+SCORE("学生期末考试成绩单", 7),
+SCORE_REPORT("学生期末考试成绩分析", 8),
+SHEET("学生答卷原图", 9),
+TRACK("学生答卷轨迹图", 10),
+SIGN("期末考试签到表", 11),
+CHECK_IN("期考考试考场记录单", 12),
+CUSTOM("自定义", 13),
+*/
+
 export default {
   name: "course-document-detail",
   components: { AddDocumentDialog },
@@ -120,17 +139,26 @@ export default {
       this.modalIsShow = true;
     },
     checkView(row) {
-      return ["paper"].includes(row.code);
+      return [
+        "PAPER",
+        "ANSWER",
+        "PAPER_REPORT",
+        "APPROVE_RECORD",
+        "SCORE_REPORT",
+        "SIGN",
+        "CHECK_IN",
+      ].includes(row.code);
     },
     checkDelete(row) {
-      return ["custom"].includes(row.code);
+      return ["CUSTOM"].includes(row.code);
     },
     checkUpload(row) {
-      return ["dag"].includes(row.code);
+      return ["SYLLABUS", "PROCESS_SCORE"].includes(row.code);
     },
     async getList() {
       const datas = {
-        courseCode: this.course.courseCode,
+        examId: this.course.examId,
+        paperNumber: this.course.paperNumber,
       };
       const res = await documentListPage(datas);
       this.dataList = res || [];

+ 2 - 2
src/modules/course/views/CourseDocumentManage.vue

@@ -44,7 +44,7 @@
         >
           <template slot-scope="scope">
             <el-button
-              v-if="checkPrivilege('link', 'preview')"
+              v-if="checkPrivilege('link', 'Detail')"
               class="btn-primary"
               type="text"
               @click="toDetail(scope.row)"
@@ -114,7 +114,7 @@ export default {
       this.getList();
     },
     search() {
-      // this.toPage(1);
+      this.toPage(1);
     },
     toDetail(row) {
       this.curRow = row;

+ 1 - 1
src/modules/exam/components/createExamAndPrintTask/InfoExamTask.vue

@@ -148,7 +148,7 @@
               <el-select
                 v-model="attachment.cardId"
                 placeholder="请选择"
-                style="width: 260px"
+                style="width: 260px; margin-right: 10px"
               >
                 <el-option
                   v-if="attachment.cardId"

+ 1 - 0
src/modules/login/views/Login.vue

@@ -196,6 +196,7 @@ export default {
     };
   },
   mounted() {
+    window.sessionStorage.removeItem("routeDomainCode");
     window.sessionStorage.removeItem("paramDomainCode");
     this.$ls.clear();
     this.setWaitingTime();

+ 10 - 11
src/modules/mark/components/markParam/MarkParamClass.vue

@@ -7,14 +7,14 @@
         <el-table-column label="评卷员" width="200">
           <template slot-scope="scope">
             <el-tag size="medium">
-              {{ scope.row.name }}({{ scope.row.loginName }})
+              {{ scope.row.marker.name }}({{ scope.row.marker.loginName }})
             </el-tag>
           </template>
         </el-table-column>
         <el-table-column label="评卷班级">
           <template slot-scope="scope">
             <el-tag
-              v-for="item in scope.row.className"
+              v-for="item in scope.row.markerClassList"
               :key="item"
               size="medium"
               type="info"
@@ -40,10 +40,6 @@
     <!-- SelectClassByCourse -->
     <select-class-by-course
       ref="SelectClassByCourse"
-      :filter-data="{
-        examId: datas.basicInfo.examId,
-        paperNumber: datas.basicInfo.paperNumber,
-      }"
       :selected-ids="selectedClassIds"
       required
       @confirm="classSelected"
@@ -63,6 +59,7 @@ export default {
     return {
       dataList: [],
       curRow: {},
+      classList: [],
       selectedClassIds: [],
     };
   },
@@ -79,23 +76,25 @@ export default {
         paperNumber: this.basicInfo.paperNumber,
       };
       const res = await markClassMarkerList(params);
-      this.dataList = res || [];
+      this.dataList = res.markerClass || [];
+      this.classList = res.classNames || [];
     },
     toSelectClass(row) {
       this.curRow = row;
-      this.selectedClassIds = row.className;
+      this.selectedClassIds = row.markerClassList;
       this.$refs.SelectClassByCourse.open();
     },
-    async classSelected(className) {
+    async classSelected(markerClassList) {
       const res = await markClassMarkerSave({
         examId: this.basicInfo.examId,
         paperNumber: this.basicInfo.paperNumber,
         groupNumber: this.curRow.groupNumber,
-        className,
+        markerId: this.curRow.marker.userId,
+        markerClassList,
       }).catch(() => {});
       if (!res) return;
       this.$message.success("操作成功!");
-      this.curRow.className = className;
+      this.curRow.markerClassList = markerClassList;
     },
   },
 };

+ 8 - 25
src/modules/mark/components/markParam/SelectClassByCourse.vue

@@ -1,10 +1,9 @@
 <template>
   <el-dialog
-    class="select-class-dialog"
     :visible.sync="modalIsShow"
     append-to-body
     top="20px"
-    width="650px"
+    width="700px"
     title="选择班级"
     :close-on-click-modal="false"
     :close-on-press-escape="false"
@@ -13,7 +12,7 @@
   >
     <el-transfer
       v-model="classIds"
-      :data="dataList"
+      :data="classList"
       :titles="['班级列表', '已选班级']"
       filterable
     ></el-transfer>
@@ -26,14 +25,14 @@
 </template>
 
 <script>
-import { examStructureClassListPage } from "../../api";
-
 export default {
-  name: "select-class-dialog",
+  name: "select-class-by-course",
   props: {
-    filterData: {
-      type: Object,
-      default: null,
+    classList: {
+      type: Array,
+      default() {
+        return [];
+      },
     },
     selectedIds: {
       type: Array,
@@ -59,9 +58,6 @@ export default {
       classIds: [],
     };
   },
-  mounted() {
-    this.getClassData();
-  },
   methods: {
     visibleChange() {
       this.classIds = [...this.selectedIds];
@@ -75,19 +71,6 @@ export default {
     open() {
       this.modalIsShow = true;
     },
-    // user
-    async getClassData() {
-      if (!this.filterData) return;
-      const data = await examStructureClassListPage(this.filterData);
-      this.dataList = data.map((item) => {
-        return {
-          id: item,
-          key: item,
-          label: item,
-          disabled: false,
-        };
-      });
-    },
     // confirm
     confirm() {
       if (this.required && !this.classIds.length) {