zhangjie 4 жил өмнө
parent
commit
1e2b5fbc05

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

@@ -240,6 +240,22 @@
   }
   &-actions {
     margin-top: 20px;
+    height: 32px;
+    position: relative;
+    .ivu-btn {
+      position: absolute;
+      top: 0;
+      left: 50%;
+    }
+    .view-action-save {
+      margin-left: -78px;
+    }
+    .view-action-rotate {
+      margin-left: -16px;
+    }
+    .view-action-absent {
+      margin-left: 26px;
+    }
   }
   &-multibar {
     width: 30%;

+ 17 - 6
src/modules/grading/GradingDetail.vue

@@ -125,7 +125,7 @@
             <div
               :class="[
                 'image-view',
-                { 'image-view-act': curPaperIndex === index }
+                { 'image-view-act': curPaperIndex === index || image.selected }
               ]"
               v-for="(image, index) in papers"
               :key="index"
@@ -138,7 +138,7 @@
                   @click="toReview(index)"
                 />
               </div>
-              <div class="image-view-actions">
+              <div class="image-view-actions" v-if="ACTION_CAN_BATCH">
                 <div
                   :class="[
                     'image-view-multibar',
@@ -220,7 +220,8 @@ import {
   workLevelList,
   taskSnSearch,
   subjectDetail,
-  markHistoryList
+  markHistoryList,
+  getParamsSet
 } from "@/api";
 import SimpleImagePreview from "@/components/SimpleImagePreview";
 import GradeStep from "./components/GradeStep";
@@ -283,6 +284,7 @@ export default {
       papers: [],
       curPaper: {},
       curPaperIndex: 0,
+      paramsSet: {},
       // leader-grade
       levelInfo: {},
       markers: [],
@@ -321,7 +323,11 @@ export default {
       return this.curSubject.test === 2;
     },
     ACTION_CAN_BATCH() {
-      return this.curStep.type === "done" && this.IS_MARK_LEADER;
+      return (
+        this.curStep.type === "done" &&
+        this.IS_MARK_LEADER &&
+        !this.paramsSet.paperStage
+      );
     },
     imagePreviewClasses() {
       return this.IS_ADMIN
@@ -336,6 +342,7 @@ export default {
   },
   methods: {
     async initData() {
+      this.getParamsSetInfo();
       await this.getSubjectDetail();
       // 获取档位列表
       this.getWorkLevels();
@@ -345,6 +352,9 @@ export default {
       // 获取顶部档位导航
       this.getStepLevels();
     },
+    async getParamsSetInfo() {
+      this.paramsSet = await getParamsSet(this.workId);
+    },
     async getList() {
       this.multipleGradingList = [];
       const datas = {
@@ -364,9 +374,10 @@ export default {
       this.total = data.totalCount;
       this.totalPage = data.pageCount;
     },
-    toPage(page) {
+    async toPage(page) {
       this.current = page;
-      this.getList();
+      await this.getList();
+      this.selectPaper(this.curPaperIndex);
     },
     async getSubjectDetail() {
       this.curSubject = await subjectDetail(this.subjectId);

+ 7 - 3
src/modules/grading/GradingOperation.vue

@@ -117,7 +117,10 @@
                 <div
                   :class="[
                     'image-view',
-                    { 'image-view-act': curPaperIndex === index }
+                    {
+                      'image-view-act':
+                        curPaperIndex === index || image.selected
+                    }
                   ]"
                   v-for="(image, index) in papers"
                   :key="index"
@@ -313,9 +316,10 @@ export default {
       this.total = data.totalCount;
       this.totalPage = data.pageCount;
     },
-    toPage(page) {
+    async toPage(page) {
       this.current = page;
-      this.getList();
+      await this.getList();
+      this.selectPaper(this.curPaperIndex);
     },
     async getStepLevels() {
       const data = await markerLevelStatData(

+ 3 - 0
src/modules/main/components/ImageActionList.vue

@@ -12,6 +12,7 @@
         </div>
         <div class="image-view-actions" v-if="actions.length">
           <Button
+            class="view-action-save"
             size="small"
             type="primary"
             @click="toSaveRotate(image)"
@@ -20,12 +21,14 @@
             >保存</Button
           >
           <Button
+            class="view-action-rotate"
             size="small"
             icon="md-refresh"
             @click="toRotate(image)"
             v-if="canRotate"
           ></Button>
           <Button
+            class="view-action-absent"
             :type="image.missing ? 'error' : 'default'"
             size="small"
             @click="toSignAbsent(image)"

+ 3 - 2
src/modules/mark/MarkDetail.vue

@@ -265,9 +265,10 @@ export default {
       this.total = data.totalCount;
       this.totalPage = data.pageCount;
     },
-    toPage(page) {
+    async toPage(page) {
       this.current = page;
-      this.getList();
+      await this.getList();
+      this.selectPaper(this.curPaperIndex);
     },
     async getStepLevels() {
       const data = await scoreStatData(this.subjectId, this.filter.questionId);

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

@@ -272,9 +272,10 @@ export default {
       this.total = data.totalCount;
       this.totalPage = data.pageCount;
     },
-    toPage(page) {
+    async toPage(page) {
       this.current = page;
-      this.getList();
+      await this.getList();
+      this.selectPaper(this.curPaperIndex);
     },
     async getStepLevels() {
       const data = await markerScoreStatData(

+ 1 - 1
src/modules/mark/MarkTaskManage.vue

@@ -64,7 +64,7 @@
           </Select>
         </td>
         <td>
-          <Select v-model="task.displayNumber">
+          <Select v-model="task.displayNumber" :disabled="!task.sortRule">
             <Option
               v-for="(val, key) in BOOLEAN_TYPE"
               :key="key"