Ver código fonte

dialog 保存loading优化

刘洋 2 anos atrás
pai
commit
1c2f6e4ee4

+ 36 - 2
src/modules/marking/views/MarkWorkOverview.vue

@@ -128,7 +128,7 @@
                 </div>
               </template>
             </el-table-column>
-            <el-table-column :context="_self" label="操作">
+            <el-table-column :context="_self" label="操作" width="160">
               <template slot-scope="scope">
                 <el-button
                   type="primary"
@@ -137,6 +137,13 @@
                   @click="courseDetail(scope.row)"
                   >详情</el-button
                 >
+                <el-button
+                  size="mini"
+                  type="primary"
+                  plain
+                  @click="releasePaper(scope.row)"
+                  >释放</el-button
+                >
               </template>
             </el-table-column>
           </el-table>
@@ -159,7 +166,11 @@
 </template>
 
 <script>
-import { MARKING_API, DATA_PROCESS_API } from "@/constants/constants";
+import {
+  MARKING_API,
+  DATA_PROCESS_API,
+  QUESTION_API,
+} from "@/constants/constants";
 import { mapState } from "vuex";
 import ECharts from "vue-echarts/components/ECharts";
 import "echarts/lib/chart/pie";
@@ -315,6 +326,29 @@ export default {
     this.backFill();
   },
   methods: {
+    releasePaper(row) {
+      this.$confirm("确认释放试卷吗?", "提示", {
+        type: "warning",
+      }).then(() => {
+        this.loading = true;
+        this.$http.put(QUESTION_API + "/paper_storage/release/" + row.id).then(
+          () => {
+            this.$notify({
+              message: "操作成功",
+              type: "success",
+            });
+            this.searchBtnFn();
+          },
+          (response) => {
+            this.$notify({
+              message: response.response.data.desc,
+              type: "error",
+            });
+            this.loading = false;
+          }
+        );
+      });
+    },
     cleanMarkWork() {
       //代表清空所有数据列表信息
       this.pie.series = [

+ 2 - 1
src/modules/questions/styles/EditPaper.css

@@ -100,7 +100,8 @@ textarea {
   width: 200px;
 }
 .paperName {
-  margin-top: 30px;
+  /* margin-top: 30px; */
+  padding-top:50px;
   text-align: center;
 }
 .showContentBtn {

+ 11 - 3
src/modules/questions/views/EditPaper.vue

@@ -375,10 +375,11 @@
     <div class="text-left">
       <!-- 编辑大题弹框 -->
       <el-dialog
-        v-loading.body="detailLoading"
+        v-loading="detailLoading"
         width="360px"
         title="大题名称编辑"
         element-loading-text="保存中。。。"
+        append-to-body
         :visible.sync="paperDatailDialog"
         @close="closeQuesDialog"
       >
@@ -401,6 +402,7 @@
             <el-form-item>
               <el-button
                 type="primary"
+                :loading="detailLoading"
                 @click="savePaperDatail(editpaperDetail)"
                 >保存</el-button
               >
@@ -411,10 +413,11 @@
       </el-dialog>
       <!-- 编辑试题弹框 -->
       <el-dialog
-        v-loading.body="dialogLoading"
+        v-loading="dialogLoading"
         title="试题编辑"
         element-loading-text="保存中。。。"
         :visible.sync="quesDialog"
+        append-to-body
         @close="closeQuesDialog"
       >
         <el-form :model="quesModel" label-position="right" label-width="80px">
@@ -725,7 +728,10 @@
               @click="addQuesOption"
               ><i class="el-icon-plus"></i> 新增选项
             </el-button>
-            <el-button type="primary" @click="savePaperDetailUnit()"
+            <el-button
+              type="primary"
+              :loading="dialogLoading"
+              @click="savePaperDetailUnit()"
               >保存</el-button
             >
             <el-button @click="closeQuesDialog">取消</el-button>
@@ -2079,9 +2085,11 @@ export default {
 .property_with {
   width: 100px;
 }
+
 .ck-toolbar {
   z-index: 9999;
 }
+
 #app {
   background-color: white !important;
 }

+ 21 - 0
src/modules/questions/views/ExtractPaperTemplate.vue

@@ -71,6 +71,18 @@
         </template>
       </el-table-column>
     </el-table>
+    <div class="page pull-right">
+      <el-pagination
+        :current-page="pageNumber"
+        :page-size="pageSize"
+        :page-sizes="[10, 20, 50, 100, 200, 300]"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="total"
+        @current-change="handleCurrentChange"
+        @size-change="handleSizeChange"
+      >
+      </el-pagination>
+    </div>
   </div>
 </template>
 <script>
@@ -85,6 +97,7 @@ export default {
       },
       pageNumber: 1,
       pageSize: 10,
+      total: 0,
       tableData: [],
       columns: [
         { label: "ID", prop: "id", width: 178 },
@@ -143,6 +156,13 @@ export default {
           this.allCourseList = response.data;
         });
     },
+    handleCurrentChange(val) {
+      this.search(val);
+    },
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.search(1);
+    },
     search(pageNumber) {
       this.pageNumber = pageNumber;
       this.$http
@@ -155,6 +175,7 @@ export default {
         })
         .then((res) => {
           this.tableData = res.data.content || [];
+          this.total = res.data.totalElements;
         });
     },
   },