zhangjie 4 years ago
parent
commit
3fe7ca8424

+ 3 - 0
src/assets/styles/main.less

@@ -457,6 +457,9 @@
       margin-bottom: 26px;
     }
   }
+  .ivu-radio-wrapper {
+    margin-right: 50px;
+  }
 }
 
 // student-score

+ 10 - 5
src/assets/styles/mark.less

@@ -506,12 +506,17 @@
   .action-paper-state {
     display: inline-block;
     color: @dark-color-light;
-    background: @background-color;
-    border-radius: @box-border-radius-small;
-    font-size: 20px;
-    line-height: 32px;
-    padding: 6px 12px;
     margin-bottom: 32px;
+    .paper-state-cont {
+      background: @background-color;
+      border-radius: @box-border-radius-small;
+      font-size: 20px;
+      line-height: 32px;
+      padding: 6px 12px;
+    }
+    .paper-state-intro {
+      margin-top: 5px;
+    }
   }
 
   .action-paper-info {

+ 9 - 1
src/modules/grading/components/GradeAction.vue

@@ -28,7 +28,15 @@
     <!-- 头部信息 ------ -->
     <!-- 试卷状态 -->
     <!-- 状态:已评,待评,打回,仲裁 -->
-    <div class="action-paper-state">
+    <div class="action-paper-state" v-if="stepType === 'reject'">
+      <p class="paper-state-cont">
+        {{ curPaperOrTask.isRejectedByLeader ? "科组长打回" : "自动打回" }}
+      </p>
+      <p class="paper-state-intro" v-if="curPaperOrTask.rejectedCount">
+        共打回{{ curPaperOrTask.rejectedCount }}次
+      </p>
+    </div>
+    <div class="action-paper-state" v-else>
       <p class="paper-state-cont">{{ stepLabel }}</p>
     </div>
     <!-- 试卷信息 -->

+ 56 - 87
src/modules/mark-set/ExportPaper.vue

@@ -6,87 +6,52 @@
           <div class="part-title">
             <h2>分数图片导出</h2>
           </div>
-          <Form
-            :rules="scoreRules"
-            :model="scoreFilter"
-            label-position="left"
-            inline
-            ref="scoreForm"
-          >
-            <FormItem prop="imageType">
-              <Select v-model="scoreFilter.imageType" placeholder="图片类型">
-                <Option
+          <Form :model="scoreFilter" ref="scoreForm" :label-width="120">
+            <FormItem prop="imageType" label="图片类型:">
+              <RadioGroup v-model="scoreFilter.imageType">
+                <Radio
+                  size="large"
                   v-for="(val, key) in IMAGE_TYPE"
                   :key="key"
-                  :value="key * 1"
-                  >{{ val }}</Option
+                  :label="key * 1"
+                  >{{ val }}</Radio
                 >
-              </Select>
+              </RadioGroup>
             </FormItem>
-            <FormItem prop="areaId">
-              <Select
-                v-model="scoreFilter.areaId"
-                @on-change="areaChange"
-                placeholder="考点"
-              >
-                <Option
-                  v-for="area in cascadeList"
-                  :key="area.areaCode"
-                  :value="area.areaCode"
-                  :label="area.areaName"
-                ></Option>
-              </Select>
-            </FormItem>
-            <FormItem>
-              <Select
-                v-model="scoreFilter.school"
-                @on-change="schoolChange"
-                placeholder="学校"
-                clearable
-              >
-                <Option
-                  v-for="(item, index) in schools"
-                  :key="index"
-                  :value="item.school"
-                  :label="item.school"
-                ></Option>
-              </Select>
-            </FormItem>
-            <FormItem>
-              <Select
-                v-model="scoreFilter.examRoom"
-                placeholder="考场"
-                clearable
-              >
-                <Option
-                  v-for="(room, index) in rooms"
-                  :key="index"
-                  :value="room"
-                  :label="room"
-                ></Option>
-              </Select>
+            <FormItem prop="isWatermark" label="是否分数水印:">
+              <RadioGroup v-model="scoreFilter.isWatermark">
+                <Radio
+                  size="large"
+                  v-for="(val, key) in BOOLEAN_TYPE"
+                  :key="key"
+                  :label="key * 1"
+                  >{{ val }}</Radio
+                >
+              </RadioGroup>
             </FormItem>
-            <FormItem prop="subject">
-              <Select v-model="scoreFilter.subject" placeholder="科目">
-                <Option
-                  v-for="(subject, index) in subjects"
-                  :key="index"
-                  :value="subject.subject"
-                  :label="subject.name"
-                ></Option>
-              </Select>
+            <FormItem prop="isResume" label="是否续传:">
+              <RadioGroup v-model="scoreFilter.isResume">
+                <Radio
+                  size="large"
+                  v-for="(val, key) in BOOLEAN_TYPE"
+                  :key="key"
+                  :label="key * 1"
+                  >{{ val }}</Radio
+                >
+              </RadioGroup>
             </FormItem>
-            <FormItem prop="nameRule">
-              <Select v-model="scoreFilter.nameRule" placeholder="命名规则">
-                <Option
+            <FormItem prop="nameRule" label="图片命名规则:">
+              <RadioGroup v-model="scoreFilter.nameRule">
+                <Radio
+                  size="large"
                   v-for="(val, key) in EXPORT_IMAGE_NAME_TYPE"
                   :key="key"
-                  :value="key * 1"
-                  >{{ val }}</Option
+                  :label="key * 1"
+                  >{{ val }}</Radio
                 >
-              </Select>
+              </RadioGroup>
             </FormItem>
-            <FormItem>
+            <FormItem label="分数段:">
               <InputNumber
                 v-model="scoreFilter.startScore"
                 :min="1"
@@ -95,8 +60,7 @@
                 placeholder="输入起始分数"
                 clearable
               ></InputNumber>
-            </FormItem>
-            <FormItem>
+              <span style="margin: 0 10px;"></span>
               <InputNumber
                 v-model="scoreFilter.endScore"
                 :min="scoreFilter.startScore"
@@ -107,6 +71,13 @@
                 clearable
               ></InputNumber>
             </FormItem>
+            <FormItem label="文档路径:">
+              <Input
+                v-model="scoreFilter.savePath"
+                placeholder="自定义文档名称及路径:例如\\考区代码\\学校\\科目\\分数段"
+                clearable
+              ></Input>
+            </FormItem>
           </Form>
 
           <Button
@@ -182,7 +153,11 @@ import {
   exportScorePictures,
   exportDecryptPictures
 } from "@/api";
-import { IMAGE_TYPE, EXPORT_IMAGE_NAME_TYPE } from "@/constants/enumerate";
+import {
+  IMAGE_TYPE,
+  EXPORT_IMAGE_NAME_TYPE,
+  BOOLEAN_TYPE
+} from "@/constants/enumerate";
 import { requiredValid } from "@/plugins/formRules";
 
 export default {
@@ -191,26 +166,19 @@ export default {
     return {
       workId: this.$route.params.workId,
       scoreFilter: {
-        imageType: "",
-        areaId: "",
-        examRoom: "",
-        school: "",
-        subject: "",
-        nameRule: "",
+        imageType: 1,
+        isWatermark: 1,
+        isResume: 1,
+        nameRule: 1,
         startScore: null,
-        endScore: null
+        endScore: null,
+        savePath: ""
       },
       decryptFilter: {
         imageType: "",
         areaId: "",
         subject: ""
       },
-      scoreRules: {
-        imageType: requiredValid("请选择图片类型"),
-        areaId: requiredValid("请选择考区"),
-        subject: requiredValid("请选择科目"),
-        nameRule: requiredValid("请选择命名规则")
-      },
       decryptRules: {
         imageType: requiredValid("请选择图片类型"),
         areaId: requiredValid("请选择考区"),
@@ -218,6 +186,7 @@ export default {
       },
       IMAGE_TYPE,
       EXPORT_IMAGE_NAME_TYPE,
+      BOOLEAN_TYPE,
       subjects: [],
       cascadeList: [],
       schools: [],

+ 2 - 4
src/modules/mark/MarkOperation.vue

@@ -334,10 +334,8 @@ export default {
       const data = await workLevelList(this.workId);
       this.levels = data.map(item => {
         return {
-          id: item.id,
-          name: item.code,
-          minScore: item.minScore,
-          maxScore: item.maxScore
+          ...item,
+          name: item.code
         };
       });
     },

+ 8 - 3
src/modules/mark/components/MarkAction.vue

@@ -381,10 +381,15 @@ export default {
     },
     updateScoreList() {
       let scores = [];
-      const { minScore, maxScore } = this.curLevel;
-      for (let i = minScore; i <= maxScore; i++) {
-        scores.push(i);
+      if (this.curLevel.levelType === "ADMITED") {
+        const { minScore, maxScore } = this.curLevel;
+        for (let i = minScore; i <= maxScore; i++) {
+          scores.push(i);
+        }
+      } else {
+        scores = this.curLevel.scoreList.split(",").map(item => item * 1);
       }
+
       this.scores = scores;
     },
     async getMarkHistory() {