소스 검색

阅卷格式优化

nikang 6 년 전
부모
커밋
b3e048121b

+ 6 - 6
src/modules/marking/routes/routes.js

@@ -6,7 +6,6 @@ import MarkWork from "../views/MarkWork.vue";
 import MarkPaperCheck from "../views/MarkPaperCheck.vue";
 import MarkSettingWork from "../views/MarkSettingWork.vue";
 import MarkSettingFast from "../views/MarkSettingFast.vue";
-import MarkGradeMain from "../views/MarkGradeMain.vue";
 import ViewPaper from "../views/ViewPaper.vue";
 import MarkWorkOverview from "../views/MarkWorkOverview.vue";
 import Marker from "../views/Marker.vue";
@@ -24,7 +23,8 @@ export default [
         component: Tips
       },
       {
-        path: "mark_work_overview", //评卷总览
+        path: "mark_work_overview", //评卷进度
+        meta: { privilegeCodes: "mark_process" },
         component: MarkWorkOverview
       },
       {
@@ -34,6 +34,7 @@ export default [
       },
       {
         path: "marker", //评卷员一览
+        meta: { privilegeCodes: "mark_people" },
         component: Marker
       },
       {
@@ -50,20 +51,19 @@ export default [
       },
       {
         path: "mark_work", //评卷工作
+        meta: { privilegeCodes: "create_marking_task" },
         component: MarkWork
       },
       {
         path: "mark_paper_check", //试卷检查
+        meta: { privilegeCodes: "marking_check_menu2" },
         component: MarkPaperCheck
       },
       {
         path: "mark_setting_work/:type", //选择评卷工作
+        meta: { privilegeCodes: "marking" },
         component: MarkSettingWork
       },
-      {
-        path: "mark_grade_main/:examId", //成绩查询
-        component: MarkGradeMain
-      },
       {
         path: "view_paper/:workId/:examId/:studentPaperId/:examType", //查看原卷
         component: ViewPaper

+ 26 - 5
src/modules/marking/views/CourseDetail.vue

@@ -42,7 +42,7 @@
               >
             </el-form-item>
           </el-form>
-
+          <div class="block-seperator"></div>
           <!-- 页面列表 -->
           <el-table
             stripe
@@ -67,11 +67,32 @@
               label="完成数量"
               min-width="100"
               prop="markedCount"
+              sortable
+            />
+            <el-table-column
+              label="最低分"
+              min-width="100"
+              prop="minScore"
+              sortable
+            />
+            <el-table-column
+              label="最高分"
+              min-width="100"
+              prop="maxScore"
+              sortable
+            />
+            <el-table-column
+              label="平均分"
+              min-width="100"
+              prop="avgScore"
+              sortable
+            />
+            <el-table-column
+              label="标准方差"
+              min-width="100"
+              prop="stdDev"
+              sortable
             />
-            <el-table-column label="最低分" min-width="100" prop="minScore" />
-            <el-table-column label="最高分" min-width="100" prop="maxScore" />
-            <el-table-column label="平均分" min-width="100" prop="avgScore" />
-            <el-table-column label="标准方差" min-width="100" prop="stdDev" />
           </el-table>
           <div class="page pull-right">
             <el-pagination

+ 0 - 364
src/modules/marking/views/MarkGradeMain.vue

@@ -1,364 +0,0 @@
-<template>
-  <div>
-    <section class="content">
-      <div class="box box-info">
-        <div class="box-body">
-          <el-form
-            :inline="true"
-            :model="formSearch"
-            label-position="right"
-            label-width="90px"
-          >
-            <el-row :gutter="10">
-              <el-col :xs="7" :sm="7" :md="7" :lg="7"></el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="7">
-                <el-form-item label="姓名" class="pull-left">
-                  <el-input
-                    placeholder="姓名"
-                    v-model="formSearch.studentName"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="7">
-                <el-form-item label="学号" class="pull-left">
-                  <el-input
-                    placeholder="学号"
-                    v-model="formSearch.studentCode"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="7">
-                <el-form-item label="课程" class="pull-left" style>
-                  <el-select
-                    :remote-method="getCourses"
-                    remote
-                    :loading="getCoursesSearchLoading"
-                    filterable
-                    class="input"
-                    v-model="formSearch.courseCode"
-                    placeholder="请选择"
-                  >
-                    <el-option value>请选择</el-option>
-                    <el-option
-                      v-for="item in courseAllListSelect"
-                      :label="item.courseInfo"
-                      :value="item.code"
-                      :key="item.code"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-            </el-row>
-
-            <el-row :gutter="10">
-              <el-col :xs="7" :sm="7" :md="7" :lg="7">
-                <el-form-item label="层次" class="pull-left">
-                  <el-select
-                    class="input"
-                    v-model="formSearch.specialtyLevel"
-                    placeholder="层次"
-                  >
-                    <el-option value>请选择</el-option>
-                    <el-option
-                      v-for="item in specialtyLevels"
-                      :label="item.label"
-                      :value="item.value"
-                      :key="item.value"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="7">
-                <el-form-item label="学习中心" class="pull-left">
-                  <el-select
-                    :remote-method="getOrgs"
-                    remote
-                    :loading="getOrgsSearchLoading"
-                    filterable
-                    class="input"
-                    v-model="formSearch.campusId"
-                    placeholder="请选择"
-                  >
-                    <el-option value>请选择</el-option>
-                    <el-option
-                      v-for="item in orgList"
-                      :id="item.id"
-                      :label="item.name"
-                      :value="item.id"
-                      :key="item.id"
-                    ></el-option>
-                  </el-select>
-                </el-form-item>
-              </el-col>
-              <el-col :xs="7" :sm="7" :md="7" :lg="7">
-                <el-form-item label="采集人" class="pull-left">
-                  <el-input
-                    placeholder="采集人"
-                    v-model="formSearch.info_collector"
-                  ></el-input>
-                </el-form-item>
-              </el-col>
-            </el-row>
-
-            <el-form-item>
-              <span>
-                <el-button
-                  size="small"
-                  type="primary"
-                  icon="search"
-                  @click="searchMarkGrade"
-                  >查询</el-button
-                >
-                <el-button
-                  size="small"
-                  type="success"
-                  icon="caret-left"
-                  @click="back"
-                  >返回</el-button
-                >
-              </span>
-            </el-form-item>
-          </el-form>
-          <el-table
-            stripe
-            v-loading="loading"
-            element-loading-text="拼命加载中"
-            :data="tableData"
-            border
-            style="width: 100%"
-          >
-            <el-table-column label="姓名" width="100" prop="studentName" />
-            <el-table-column label="学号" width="100" prop="studentCode" />
-            <el-table-column label="课程" width="200" prop="courseName" />
-            <el-table-column label="层次" width="80" prop="specialtyLevel" />
-            <el-table-column label="专业" width="200" prop="specialtyName" />
-            <el-table-column label="年级" width="80" prop="grade" />
-            <el-table-column label="采集人" width="80" prop="infoCollector" />
-            <el-table-column
-              label="客观总分"
-              width="100"
-              prop="objectiveScore"
-            />
-            <el-table-column
-              label="主观总分"
-              width="100"
-              prop="subjectiveScore"
-            />
-            <el-table-column label="试卷总分" width="100" prop="totalScore" />
-            <el-table-column label="备注" width="120">
-              <template slot-scope="scope">
-                <el-popover trigger="hover" name="text" placement="top">
-                  <div style="width:200px;">
-                    {{ updateRemarkValue(scope.row.studentpaperPk) }}
-                  </div>
-                  <div slot="reference">
-                    <span>
-                      {{
-                        interceptStr(
-                          updateRemarkValue(scope.row.studentpaperPk)
-                        )
-                      }}
-                    </span>
-                  </div>
-                </el-popover>
-              </template>
-            </el-table-column>
-          </el-table>
-          <div class="page pull-right">
-            <el-pagination
-              background
-              @current-change="handleCurrentChange"
-              @size-change="handleSizeChange"
-              :current-page="currentPage"
-              :page-size="pageSize"
-              :page-sizes="[10, 20, 50, 100]"
-              layout="total, sizes, prev, pager, next, jumper"
-              :total="total"
-            ></el-pagination>
-          </div>
-        </div>
-      </div>
-    </section>
-  </div>
-</template>
-
-<script>
-import { mapState } from "vuex";
-import { CORE_API, DATA_PROCESS_API } from "@/constants/constants";
-import { LEVEL_TYPE } from "../constants/constants";
-export default {
-  data() {
-    return {
-      formSearch: {
-        batchId: "",
-        examRecordId: "",
-        studentName: "",
-        studentCode: "",
-        courseCode: "",
-        specialtyLevel: "",
-        specialtyCode: "",
-        remark: "",
-        studentPaperPk: "",
-        campusId: ""
-      },
-      specialtyLevels: LEVEL_TYPE,
-      tableData: [],
-      courseList: [],
-      orgList: [],
-      examList: [],
-      specialtyList: [],
-      remarkList: [],
-      currentPage: 1,
-      pageSize: 10,
-      total: 0,
-      loading: false,
-      getOrgsSearchLoading: false,
-      getCoursesSearchLoading: false
-    };
-  },
-  computed: {
-    ...mapState({ user: state => state.user }),
-    courseAllListSelect() {
-      let courseSelect = [];
-      for (let course of this.courseList) {
-        let courseInfo = course.name + "(" + course.code + ")";
-        courseSelect.push({ code: course.code, courseInfo: courseInfo });
-      }
-      return courseSelect;
-    },
-    getRemarkList() {
-      let remarks = [];
-      for (let item of this.remarkList) {
-        remarks.push({ id: item.studentPaper.studentId, value: item.remark });
-      }
-      return remarks;
-    }
-  },
-  methods: {
-    //查询所有课程
-    getCourses(name) {
-      this.getCoursesSearchLoading = true;
-      this.$http.get(CORE_API + "/course/query?name=" + name).then(response => {
-        this.getCoursesSearchLoading = false;
-        this.courseList = response.data;
-      });
-    },
-    getOrgs(name) {
-      this.getOrgsSearchLoading = true;
-      this.$http.get(CORE_API + "/org/query?name=" + name).then(response => {
-        this.getOrgsSearchLoading = false;
-        this.orgList = response.data;
-      });
-    },
-    getCourseName(code) {
-      for (let course of this.courseList) {
-        if (course.code == code) {
-          return course.name;
-        }
-      }
-    },
-    getOrgName(id) {
-      for (let org of this.orgList) {
-        if (org.id == id) {
-          return org.name;
-        }
-      }
-    },
-    updateRemarkValue(studentpaperPk) {
-      let rList = this.getRemarkList;
-      if (rList != []) {
-        for (let item of rList) {
-          if (item.id == studentpaperPk) {
-            return item.value;
-          }
-        }
-      }
-    },
-    //字符串截取
-    interceptStr(str) {
-      if (str) {
-        let l = str.length;
-        if (l > 5) {
-          return str.substring(0, 5) + "...";
-        } else {
-          return str;
-        }
-      }
-    },
-    searchMarkGrade() {
-      //查询从考务提供接口
-      this.loading = true;
-      var url =
-        DATA_PROCESS_API +
-        "/markGrade/all/" +
-        (this.currentPage - 1) +
-        "/" +
-        this.pageSize;
-      this.$http
-        .get(url, { params: this.formSearch })
-        .then(response => {
-          console.log("查询的列表集合", response);
-          this.tableData = response.data.list;
-          this.total = response.data.total;
-          this.loading = false;
-        })
-        .catch(function(response) {
-          if (response.status == 500) {
-            this.$notify({
-              showClose: true,
-              message: response.data.desc,
-              type: "error"
-            });
-          }
-          this.loading = false;
-        });
-    },
-    levelFormatter(specialtyLevel) {
-      var level = "";
-      for (let tempLevel of this.specialtyLevels) {
-        if (tempLevel.value == specialtyLevel) {
-          level = tempLevel.label;
-        }
-      }
-      return level;
-    },
-    handleCurrentChange(val) {
-      this.currentPage = val;
-      this.searchMarkGrade();
-    },
-    handleSizeChange(val) {
-      this.pageSize = val;
-      this.searchMarkGrade();
-    },
-    back() {
-      this.$router.push({
-        path: "/marking/mark_setting_work/grade"
-      });
-    }
-  },
-  created() {
-    this.formSearch.batchId = parseInt(this.$route.params.examId);
-    this.formSearch.rootOrgId = this.user.rootOrgId;
-    this.searchMarkGrade();
-  }
-};
-</script>
-<style lang="css" scoped>
-
-li {
-    list-style-type: none;
-}
-
-.searchFrame {
-    margin-right: 10px;
-    margin-bottom: 10px;
-}
-
-.page{
-  margin-top: 10px;
-}
-
-.el-select{
-  width: 165px;
-}
-</style>

+ 87 - 52
src/modules/marking/views/MarkPaperCheck.vue

@@ -154,9 +154,19 @@
             style="width: 100%"
           >
             <el-table-column label="学习中心" width="150" prop="orgName" />
-            <el-table-column label="学号" width="120" prop="studentCode" />
+            <el-table-column
+              label="学号"
+              width="120"
+              prop="studentCode"
+              sortable
+            />
             <el-table-column label="姓名" width="120" prop="studentName" />
-            <el-table-column label="课程代码" width="120" prop="courseCode" />
+            <el-table-column
+              label="课程代码"
+              width="120"
+              prop="courseCode"
+              sortable
+            />
             <el-table-column label="课程" width="120" prop="courseName" />
             <el-table-column label="试卷类型" width="120" prop="paperType" />
             <el-table-column label="评卷员" width="120" prop="userName" />
@@ -165,8 +175,14 @@
               label="客观总分"
               width="120"
               prop="objectiveScore"
+              sortable
+            />
+            <el-table-column
+              label="卷面总分"
+              width="120"
+              prop="totalScore"
+              sortable
             />
-            <el-table-column label="卷面总分" width="120" prop="totalScore" />
             <el-table-column label="标记卷" width="120">
               <template slot-scope="scope">
                 <div>
@@ -272,18 +288,6 @@ export default {
       }
       return markWorkNames;
     },
-    isAdmin() {
-      if (sessionStorage.getItem("AdminButtonShow")) {
-        return true;
-      }
-      return false;
-    },
-    isMarker() {
-      if (sessionStorage.getItem("MarkButtonShow")) {
-        return true;
-      }
-      return false;
-    },
     courseAllListSelect() {
       let courseSelect = [];
       for (let course of this.courseList) {
@@ -308,13 +312,13 @@ export default {
       });
     },
     //查询课程
-    getCourses() {
+    getCourses(markId) {
+      let workId = this.formSearch.markId;
+      if (markId) {
+        workId = markId;
+      }
       this.$http
-        .get(
-          MARKING_API +
-            "/markResults/queryExamCourseList?workId=" +
-            this.formSearch.markId
-        )
+        .get(MARKING_API + "/markResults/queryExamCourseList?workId=" + workId)
         .then(response => {
           this.courseList = response.data;
         });
@@ -358,40 +362,50 @@ export default {
     },
     //查询方法
     searchMarkPaperCheck() {
-      if (this.formSearch.markId) {
-        let obj = {};
-        for (let item of this.markWorkList) {
-          if (item.id === this.formSearch.markId) {
-            obj = item;
-            break;
-          }
+      if (!this.formSearch.markId) {
+        this.$notify({
+          title: "警告",
+          message: "请选择评卷名称",
+          type: "warning",
+          duration: 1000
+        });
+        return false;
+      }
+      let obj = {};
+      for (let item of this.markWorkList) {
+        if (item.id === this.formSearch.markId) {
+          obj = item;
+          break;
         }
-        this.examId = obj.examId;
-        this.formSearch.workId = this.formSearch.markId;
-        this.examType = obj.examType;
-        this.formSearch.examType = this.examType;
-        this.loading = true;
-        var url =
-          DATA_PROCESS_API +
-          "/markResults/all/" +
-          (this.currentPage - 1) +
-          "/" +
-          this.pageSize;
-        this.$http
-          .get(url, { params: this.formSearch })
-          .then(response => {
-            console.log("查询的列表集合", response);
-            this.tableData = response.data.list;
-            this.total = response.data.total;
-            this.loading = false;
-          })
-          .catch(function(response) {
-            console.log(response);
-          });
       }
+      this.examId = obj.examId;
+      this.formSearch.workId = this.formSearch.markId;
+      this.examType = obj.examType;
+      this.formSearch.examType = this.examType;
+      this.loading = true;
+      var url =
+        DATA_PROCESS_API +
+        "/markResults/all/" +
+        (this.currentPage - 1) +
+        "/" +
+        this.pageSize;
+      this.$http
+        .get(url, { params: this.formSearch })
+        .then(response => {
+          console.log("查询的列表集合", response);
+          this.tableData = response.data.list;
+          this.total = response.data.total;
+          this.loading = false;
+          this.$router.push({
+            path:
+              "/marking/mark_paper_check?" +
+              new URLSearchParams(JSON.parse(JSON.stringify(this.formSearch)))
+          });
+        })
+        .catch(function(response) {
+          console.log(response);
+        });
     },
-    //导出
-    exp() {},
     resetForm(formName) {
       this.$refs[formName].resetFields();
     },
@@ -445,12 +459,33 @@ export default {
           return str;
         }
       }
+    },
+    backFill() {
+      var formData = this.$route.query;
+      if (formData && formData.markId) {
+        for (var attr in formData) {
+          var value = formData[attr];
+          if (value && value != "null") {
+            if (!isNaN(value)) {
+              if (~~value == value) {
+                value = parseInt(value);
+              } else {
+                value = parseFloat(value);
+              }
+            }
+            this.formSearch[attr] = value;
+          }
+        }
+        this.getCourses();
+        this.searchMarkPaperCheck();
+      }
     }
   },
   created() {
     //查询标记卷
     this.getMarkWorks();
     this.getTags();
+    this.backFill();
   }
 };
 </script>

+ 32 - 32
src/modules/marking/views/MarkSettingFast.vue

@@ -60,38 +60,35 @@
                 >
               </el-form-item>
             </el-form>
-            <el-table
-              stripe
-              v-loading="loading"
-              element-loading-text="拼命加载中"
-              :data="markerData"
-              border
-              style="width: 100%"
-              @selection-change="selectChange"
-            >
-              <el-table-column type="selection" width="55"></el-table-column>
-              <el-table-column
-                label="姓名"
-                width="250"
-                prop="name"
-              ></el-table-column>
-              <el-table-column
-                label="登录名"
-                width="250"
-                prop="loginName"
-              ></el-table-column>
-            </el-table>
-            <div class="page pull-right">
-              <el-pagination
-                background
-                @current-change="handleMarkerCurrentChange"
-                @size-change="handleSizeChange"
-                :current-page="curMarker"
-                :page-size="pageSize"
-                :page-sizes="[10, 20, 50, 100]"
-                layout="total, sizes, prev, pager, next, jumper"
-                :total="totalMarker"
-              ></el-pagination>
+            <div class="block-seperator"></div>
+            <div class="table-native">
+              <el-table
+                stripe
+                v-loading="loading"
+                element-loading-text="拼命加载中"
+                :data="markerData"
+                border
+                @selection-change="selectChange"
+              >
+                <el-table-column type="selection" width="55"></el-table-column>
+                <el-table-column label="姓名" prop="name"></el-table-column>
+                <el-table-column
+                  label="登录名"
+                  prop="loginName"
+                ></el-table-column>
+              </el-table>
+              <div class="page pull-right">
+                <el-pagination
+                  background
+                  @current-change="handleMarkerCurrentChange"
+                  @size-change="handleSizeChange"
+                  :current-page="curMarker"
+                  :page-size="pageSize"
+                  :page-sizes="[10, 20, 50, 100]"
+                  layout="total, sizes, prev, pager, next, jumper"
+                  :total="totalMarker"
+                ></el-pagination>
+              </div>
             </div>
           </div>
         </div>
@@ -367,4 +364,7 @@ li {
 .el-tag{
   margin-right: 10px;
 }
+.table-native{
+  width: 700px;
+}
 </style>

+ 1 - 0
src/modules/marking/views/MarkSettingMain.vue

@@ -140,6 +140,7 @@
               <el-button @click="errDialog = false">确定</el-button>
             </span>
           </el-dialog>
+          <div class="block-seperator"></div>
           <!-- 页面列表 -->
           <el-table
             stripe

+ 11 - 123
src/modules/marking/views/MarkSettingWork.vue

@@ -16,11 +16,6 @@
                 @keyup.native="searchMarkWork"
               ></el-input>
             </el-form-item>
-            <!-- <el-form-item class="pull-right"> -->
-            <!--
-              <el-button type="primary" icon="search" @click="searchMarkWork">查询</el-button>
-            -->
-            <!-- </el-form-item> -->
           </el-form>
           <el-table
             stripe
@@ -53,62 +48,13 @@
             <el-table-column :context="_self" label="操作">
               <template slot-scope="scope">
                 <div class="pull-left">
-                  <span v-if="isAdmin">
-                    <span v-if="routeType == 'overview'">
-                      <el-button
-                        @click="markWorkOverview(scope.row)"
-                        type="primary"
-                        size="mini"
-                        plain
-                        >评卷进度</el-button
-                      >
-                    </span>
-                    <span v-if="routeType == 'marker'">
-                      <el-button
-                        @click="marker(scope.row)"
-                        type="primary"
-                        size="mini"
-                        plain
-                        >评卷员一览</el-button
-                      >
-                    </span>
-                    <span v-if="routeType == 'setting'">
-                      <el-button
-                        @click="settingMarkWork(scope.row)"
-                        type="primary"
-                        size="mini"
-                        plain
-                        >评卷设置</el-button
-                      >
-                    </span>
-                    <span v-if="routeType == 'checking'">
-                      <el-button
-                        @click="paperCheck(scope.row)"
-                        type="primary"
-                        size="mini"
-                        plain
-                        >试卷检查</el-button
-                      >
-                    </span>
-                    <span v-if="routeType == 'grade'">
-                      <el-button
-                        @click="viewGrade(scope.row)"
-                        type="primary"
-                        size="mini"
-                        plain
-                        >成绩查询</el-button
-                      >
-                    </span>
-                  </span>
-                  <span v-if="isMarker && routeType == 'marking'">
-                    <el-button
-                      @click="marking(scope.row)"
-                      type="primary"
-                      size="mini"
-                      plain
-                      >评阅试卷</el-button
-                    >
-                  </span>
+                  <el-button
+                    @click="marking(scope.row)"
+                    type="primary"
+                    size="mini"
+                    plain
+                    >阅卷</el-button
+                  >
                 </div>
               </template>
             </el-table-column>
@@ -154,25 +100,15 @@ export default {
   methods: {
     initMarkWork() {
       this.loading = true;
-      if (this.isAdmin) {
-        this.$http.get(DATA_PROCESS_API + "/markWorks").then(response => {
+      this.$http
+        .get(DATA_PROCESS_API + "/markWorks?userId=" + this.user.userId)
+        .then(response => {
           this.totalTableData = response.data;
           this.total = response.data.length;
           this.filterMarkWork();
           this.paging();
           this.loading = false;
         });
-      } else {
-        this.$http
-          .get(DATA_PROCESS_API + "/markWorks?userId=" + this.user.userId)
-          .then(response => {
-            this.totalTableData = response.data;
-            this.total = response.data.length;
-            this.filterMarkWork();
-            this.paging();
-            this.loading = false;
-          });
-      }
     },
     searchMarkWork() {
       this.filterMarkWork();
@@ -227,42 +163,6 @@ export default {
         path: url
       });
     },
-    markWorkOverview(row) {
-      var url =
-        "/marking/mark_work_overview/" +
-        row.id +
-        "/" +
-        row.examId +
-        "/" +
-        row.name;
-      this.$router.push({
-        path: url
-      });
-    },
-    marker(row) {
-      var url = "/marking/marker/" + row.id + "/" + row.examId + "/" + row.name;
-      this.$router.push({
-        path: url
-      });
-    },
-    paperCheck(row) {
-      var url =
-        "/marking/mark_paper_check/" +
-        row.id +
-        "/" +
-        row.examId +
-        "/" +
-        row.examType;
-      this.$router.push({
-        path: url
-      });
-    },
-    viewGrade(row) {
-      var url = "/marking/mark_grade_main/" + row.examId;
-      this.$router.push({
-        path: url
-      });
-    },
     marking(row) {
       var userId = this.user.userId;
       var self = this;
@@ -290,19 +190,7 @@ export default {
     routeType() {
       return this.$route.params.type;
     },
-    ...mapState({ user: state => state.user }),
-    isAdmin() {
-      if (sessionStorage.getItem("AdminButtonShow")) {
-        return true;
-      }
-      return false;
-    },
-    isMarker() {
-      if (sessionStorage.getItem("MarkButtonShow")) {
-        return true;
-      }
-      return false;
-    }
+    ...mapState({ user: state => state.user })
   },
   created() {
     this.initMarkWork();

+ 1 - 0
src/modules/marking/views/MarkWork.vue

@@ -28,6 +28,7 @@
               </span>
             </el-form-item>
           </el-form>
+          <div class="block-seperator"></div>
           <el-table
             stripe
             v-loading="loading"

+ 46 - 1
src/modules/marking/views/MarkWorkOverview.vue

@@ -100,16 +100,19 @@
               label="任务总数"
               min-width="100"
               prop="totalCount"
+              sortable
             ></el-table-column>
             <el-table-column
               label="完成数"
               min-width="100"
               prop="markedCount"
+              sortable
             ></el-table-column>
             <el-table-column
               label="待完成"
               min-width="100"
               prop="leftCount"
+              sortable
             ></el-table-column>
             <el-table-column label="进度" min-width="100">
               <template slot-scope="scope">
@@ -176,6 +179,7 @@ export default {
       markWorkName: "",
       courseList: [],
       markWorkList: [],
+      quertTemp: {},
       pie: {
         title: {
           text: "试卷进度情况",
@@ -408,6 +412,17 @@ export default {
         });
     },
     searchSetting() {
+      if (!this.markWorkSearchForm.markId) {
+        this.$notify({
+          title: "警告",
+          message: "请选择评卷名称",
+          type: "warning",
+          duration: 1000
+        });
+        return false;
+      }
+      this.quertTemp["markId"] = this.markWorkSearchForm.markId;
+      this.quertTemp["courseCode"] = this.formSearch.courseCode;
       this.loading = true;
       this.$http
         .get(
@@ -424,6 +439,11 @@ export default {
           this.tableData = response.data.content;
           this.total = response.data.totalElements;
           this.loading = false;
+          this.$router.push({
+            path:
+              "/marking/mark_work_overview?" +
+              new URLSearchParams(JSON.parse(JSON.stringify(this.quertTemp)))
+          });
         });
     },
     courseDetail(row) {
@@ -566,6 +586,31 @@ export default {
         this.initSetting();
         this.getCourses();
       }
+    },
+    backFill() {
+      var formData = this.$route.query;
+      if (formData && formData.markId) {
+        this.workId = formData.markId;
+        for (var attr in formData) {
+          var value = formData[attr];
+          if (value && value != "null") {
+            if (!isNaN(value)) {
+              if (~~value == value) {
+                value = parseInt(value);
+              } else {
+                value = parseFloat(value);
+              }
+            }
+            if (attr === "markId") {
+              this.markWorkSearchForm[attr] = value;
+            } else {
+              console.log("formSearch", this.formSearch);
+              this.formSearch[attr] = value;
+            }
+          }
+        }
+        this.searchSetting();
+      }
     }
   },
   computed: {
@@ -592,6 +637,7 @@ export default {
   },
   created() {
     this.getMarkWorks();
+    this.backFill();
   }
 };
 </script>
@@ -621,7 +667,6 @@ li {
     display: flex;
 }
 .pie{
-    width: 450px;
     height: 350px;
     margin-top: 10px;
     margin-left: 10px

+ 62 - 8
src/modules/marking/views/Marker.vue

@@ -48,7 +48,7 @@
               >
             </el-form-item>
           </el-form>
-
+          <div class="block-seperator"></div>
           <!-- 页面列表 -->
           <el-table
             stripe
@@ -68,21 +68,44 @@
               label="分配课程"
               min-width="200"
               prop="courseCount"
+              sortable
             />
             <el-table-column
               label="完成课程"
-              min-width="100"
+              min-width="120"
               prop="finishedCount"
+              sortable
             />
             <el-table-column
               label="完成数量"
-              min-width="100"
+              min-width="120"
               prop="markedCount"
+              sortable
+            />
+            <el-table-column
+              label="最低分"
+              min-width="100"
+              prop="minScore"
+              sortable
+            />
+            <el-table-column
+              label="最高分"
+              min-width="100"
+              prop="maxScore"
+              sortable
+            />
+            <el-table-column
+              label="平均分"
+              min-width="100"
+              prop="avgScore"
+              sortable
+            />
+            <el-table-column
+              label="标准方差"
+              min-width="120"
+              prop="stdDev"
+              sortable
             />
-            <el-table-column label="最低分" min-width="100" prop="minScore" />
-            <el-table-column label="最高分" min-width="100" prop="maxScore" />
-            <el-table-column label="平均分" min-width="100" prop="avgScore" />
-            <el-table-column label="标准方差" min-width="100" prop="stdDev" />
             <el-table-column :context="_self" label="操作" fixed="right">
               <template slot-scope="scope">
                 <el-button
@@ -159,7 +182,13 @@ export default {
     },
     searchSetting() {
       if (!this.formSearch.markId) {
-        return;
+        this.$notify({
+          title: "警告",
+          message: "请选择评卷名称",
+          type: "warning",
+          duration: 1000
+        });
+        return false;
       }
       let obj = {};
       for (let item of this.markWorkList) {
@@ -188,6 +217,11 @@ export default {
           this.tableData = response.data.content;
           this.total = response.data.totalElements;
           this.loading = false;
+          this.$router.push({
+            path:
+              "/marking/marker?" +
+              new URLSearchParams(JSON.parse(JSON.stringify(this.formSearch)))
+          });
         });
     },
     markerDetail(row) {
@@ -210,6 +244,25 @@ export default {
       this.$http.get(DATA_PROCESS_API + "/markWorks").then(response => {
         this.markWorkList = response.data;
       });
+    },
+    backFill() {
+      var formData = this.$route.query;
+      if (formData && formData.markId) {
+        for (var attr in formData) {
+          var value = formData[attr];
+          if (value && value != "null") {
+            if (!isNaN(value)) {
+              if (~~value == value) {
+                value = parseInt(value);
+              } else {
+                value = parseFloat(value);
+              }
+            }
+            this.formSearch[attr] = value;
+          }
+        }
+        this.searchSetting();
+      }
     }
   },
   computed: {
@@ -228,6 +281,7 @@ export default {
   },
   created() {
     this.getMarkWorks();
+    this.backFill();
   }
 };
 </script>

+ 4 - 4
src/modules/marking/views/MarkerDetail.vue

@@ -45,7 +45,7 @@
               >
             </el-form-item>
           </el-form>
-
+          <div class="block-seperator"></div>
           <!-- 页面列表 -->
           <el-table
             stripe
@@ -61,11 +61,13 @@
               label="已评数量"
               min-width="200"
               prop="markedCount"
+              sortable
             />
             <el-table-column
               label="打回数量"
               min-width="100"
               prop="rejectCount"
+              sortable
             />
             <el-table-column label="完成状态" min-width="100">
               <template slot-scope="scope">
@@ -184,9 +186,7 @@ export default {
         });
     },
     back() {
-      this.$router.push({
-        path: "/marking/marker"
-      });
+      this.$router.back();
     }
   },
   computed: {

+ 1 - 4
src/modules/marking/views/ViewPaper.vue

@@ -37,10 +37,7 @@ export default {
   },
   methods: {
     back() {
-      var url = "/marking/mark_paper_check/";
-      this.$router.push({
-        path: url
-      });
+      this.$router.back();
     },
     getStudentPaper() {
       var url =

+ 10 - 0
src/modules/portal/views/tips/Tips.vue

@@ -208,6 +208,16 @@ const ALL_INSTRUCTIONS = {
             "可以查看所有已评卷的结果,并对有疑问的试卷进行打回,让评卷员进行重新给分。"
         }
       ]
+    },
+    {
+      menu1Name: "试卷评分",
+      menu2: [
+        {
+          name: "试卷评阅-阅卷",
+          link: "/marking/mark_setting_work/marking",
+          detail: "评卷员可以对已分配的试卷进行打。"
+        }
+      ]
     }
   ]
 };