Просмотр исходного кода

Merge branch 'master' of http://git.qmth.com.cn/themis/frontend-admin

zhangjie 4 лет назад
Родитель
Сommit
c008b8f330

+ 16 - 2
src/features/examwork/CourseManagement/CoursePaperDialog.vue

@@ -43,10 +43,14 @@
               <el-input-number
                 v-model.trim="scope.row.weight"
                 :min="0"
+                :step="1"
+                step-strictly
                 :max="100"
+                style="width: 50px;"
+                :controls="false"
               >
-                <template slot="append">%</template></el-input-number
-              >
+              </el-input-number>
+              %
             </span>
           </el-table-column>
           <el-table-column width="170" label="音频播放次数">
@@ -151,6 +155,16 @@ export default {
     },
     async submitForm() {
       try {
+        const totalWieght = this.papers
+          .map((v) => v.weight)
+          .reduce((p, c) => p + c);
+        if (totalWieght !== 100) {
+          this.$notify({
+            type: "warning",
+            title: `抽卷几率之和必须等于100,当前之和为${totalWieght}`,
+          });
+          return;
+        }
         this.loading = true;
         await saveCourse({
           examId: this.refreshCourse.examId,

+ 26 - 10
src/features/examwork/ExamManagement/ExamManagement.vue

@@ -68,9 +68,15 @@
         }}</span>
       </el-table-column>
       <el-table-column width="100" label="算分进度">
-        <span slot-scope="scope">{{
-          scope.row.scoreStatus | scoreStatusFilter
-        }}</span>
+        <span slot-scope="scope">
+          <div class="text-center">{{ scope.row.progress }}%</div>
+          <el-progress
+            type="line"
+            :show-text="false"
+            :stroke-width="12"
+            :percentage="scope.row.progress"
+          ></el-progress
+        ></span>
       </el-table-column>
       <el-table-column width="120" label="更新人">
         <span slot-scope="scope">{{ scope.row.updateName }}</span>
@@ -103,14 +109,24 @@
           >
             场次设置
           </el-button>
-          <el-button
-            size="mini"
-            type="primary"
-            @click="reCalcBtn(scope.row)"
-            plain
+          <span v-if="scope.row.mode === 'TOGETHER'" class="ml-2"></span>
+          <el-badge
+            :value="scope.row.scoreStatus === 'NEED_CALCULATE' ? 'new' : ''"
           >
-            重新算分
-          </el-button>
+            <el-button
+              size="mini"
+              type="primary"
+              @click="reCalcBtn(scope.row)"
+              plain
+              :loading="scope.row.scoreStatus === 'CALCULATING'"
+            >
+              {{
+                scope.row.scoreStatus === "CALCULATING"
+                  ? "正在算分"
+                  : "重新算分"
+              }}
+            </el-button>
+          </el-badge>
         </div>
       </el-table-column>
     </el-table>