فهرست منبع

科组长分档页面新增全选

zhangjie 3 سال پیش
والد
کامیت
fa508a770c

+ 28 - 0
src/assets/styles/marker.less

@@ -35,6 +35,34 @@
   .header-step {
     color: @color-text-act;
   }
+  .header-selection {
+    padding: 0;
+    background-color: transparent;
+
+    &:hover {
+      background-color: transparent;
+    }
+
+    .image-checkbox {
+      display: inline-block;
+      vertical-align: middle;
+      height: 20px;
+      width: 20px;
+      margin-right: 2px;
+      border-radius: 5px;
+      background-color: @color-background;
+      color: @color-text-act;
+      font-size: 14px;
+      text-align: center;
+      line-height: 20px;
+      cursor: pointer;
+
+      &:hover,
+      &.image-selected {
+        box-shadow: 0 0 3px inset @color-background-light;
+      }
+    }
+  }
   .header-history {
     margin-right: 10px;
   }

+ 2 - 2
src/modules/grading-set/GradingLevelSet.vue

@@ -36,7 +36,7 @@
             <InputNumber
               v-model="level.minScore"
               :min="0"
-              :max="200"
+              :max="1000"
               @on-blur="checkLevelValidate(level)"
               v-if="level.canEdit && workDetail.modifyOtherVal"
             ></InputNumber>
@@ -46,7 +46,7 @@
             <InputNumber
               v-model="level.maxScore"
               :min="1"
-              :max="200"
+              :max="1000"
               @on-blur="checkLevelValidate(level)"
               v-if="level.canEdit && workDetail.modifyOtherVal"
             ></InputNumber>

+ 8 - 0
src/modules/grading/leader/LeaderGrading.vue

@@ -2,10 +2,12 @@
   <div class="marker-grading">
     <marker-header
       v-if="curSubject.id"
+      show-select-all
       @area-change="areaChange"
       @step-change="stepChange"
       @page-set-change="pageSetChange"
       @to-progress="toProgress"
+      @to-select-all="toSelectAll"
       @to-history="toHistory"
       @to-standard="toStandard"
       @to-statistics="toStatistics"
@@ -75,6 +77,7 @@
         >
           <div class="marker-image-content">
             <marker-image-view
+              ref="MarkerImageView"
               :data="paper"
               :can-select="ACTION_CAN_BATCH"
               @to-review="toReview(index)"
@@ -585,6 +588,11 @@ export default {
     toProgress() {
       this.$refs.LeaderProgress.open();
     },
+    toSelectAll(allSelected) {
+      this.$refs.MarkerImageView.forEach(item => {
+        item.changeSelect(allSelected);
+      });
+    },
     toStatistics() {
       this.$refs.LeaderStatistics.open();
     }

+ 27 - 1
src/modules/grading/marker/MarkerHeader.vue

@@ -98,6 +98,23 @@
       </div>
     </div>
     <div class="header-group">
+      <div
+        v-if="showSelectAll"
+        class="header-part header-selection"
+        @click="toSelectAll"
+      >
+        <div
+          :class="[
+            'image-checkbox',
+            {
+              'image-selected': allSelected
+            }
+          ]"
+        >
+          <Icon v-if="allSelected" type="md-checkmark" />
+        </div>
+        全选
+      </div>
       <div class="header-part header-step">
         <Dropdown
           placement="bottom"
@@ -196,6 +213,10 @@ export default {
     showStatistics: {
       type: Boolean,
       default: true
+    },
+    showSelectAll: {
+      type: Boolean,
+      default: false
     }
   },
   data() {
@@ -207,7 +228,8 @@ export default {
       username: this.$ls.get("user", { loginName: "" }).loginName,
       pageVisible: false,
       pageSizeList: [2, 3, 4, 6, 8, 9, 10, 12, 15, 16, 20, 24],
-      pageNo: 1
+      pageNo: 1,
+      allSelected: false
     };
   },
   computed: {
@@ -265,6 +287,10 @@ export default {
       );
       this.$emit("step-change", curStep);
     },
+    toSelectAll() {
+      this.allSelected = !this.allSelected;
+      this.$emit("to-select-all", this.allSelected);
+    },
     toProgress() {
       this.$emit("to-progress");
     },

+ 5 - 0
src/modules/grading/marker/MarkerImageView.vue

@@ -98,6 +98,11 @@ export default {
       if (this.image.sample) return;
       this.image.selected = !this.image.selected;
       this.$emit("to-select", this.image);
+    },
+    changeSelect(selected) {
+      if (this.image.sample) return;
+      this.image.selected = selected;
+      this.$emit("to-select", this.image);
     }
   }
 };