Jelajahi Sumber

导出报告

zhangjie 1 tahun lalu
induk
melakukan
dee1a14ef3

+ 0 - 6
src/assets/styles/element-ui-costom.scss

@@ -666,9 +666,3 @@
     min-height: 26px;
   }
 }
-// el-breadcrumb el-space
-.el-breadcrumb {
-  &.el-space {
-    // TODO:
-  }
-}

+ 3 - 0
src/modules/mark/api.js

@@ -162,3 +162,6 @@ export const scoreClassDetailScoreExport = (datas) => {
 export const scoreReport = (datas) => {
   return $postParam("/api/admin/mark/archive/score/report", datas);
 };
+export const scoreReportExport = (datas) => {
+  return $post("/api/admin/mark/archive/score/report/download", datas);
+};

+ 1 - 1
src/modules/mark/components/ScoreClassDetail.vue

@@ -239,7 +239,7 @@ export default {
         return scoreClassDetailScoreExport({
           ...this.filter,
           examId: this.instance.examId,
-          paperNumber: this.instance.pageNumber,
+          paperNumber: this.instance.paperNumber,
         });
       }).catch((e) => {
         this.$message.error(e || "下载失败,请重新尝试!");

+ 23 - 3
src/modules/mark/components/ScoreReportPreview.vue

@@ -12,7 +12,9 @@
     <div class="box-justify" slot="title">
       <h2 class="el-dialog__title">成绩报告</h2>
       <div>
-        <el-button type="primary" @click="toExportScore">下载报告</el-button>
+        <el-button type="primary" :loading="downloading" @click="toExportScore"
+          >下载报告</el-button
+        >
         <el-button type="primary" @click="cancel">取消</el-button>
       </div>
     </div>
@@ -25,6 +27,8 @@
 
 <script>
 import Report from "./report/Report.vue";
+import { downloadByApi } from "@/plugins/download";
+import { scoreReportExport } from "../api";
 
 export default {
   name: "score-report-preview",
@@ -40,6 +44,7 @@ export default {
   data() {
     return {
       modalIsShow: false,
+      downloading: false,
     };
   },
   methods: {
@@ -49,8 +54,23 @@ export default {
     open() {
       this.modalIsShow = true;
     },
-    toExportScore() {
-      // TODO:
+    async toExportScore() {
+      if (this.downloading) return;
+      this.downloading = true;
+
+      const res = await downloadByApi(() => {
+        return scoreReportExport({
+          examId: this.instance.examId,
+          paperNumber: this.instance.paperNumber,
+          htmlContent: this.$refs.reportRef.getTemp(),
+        });
+      }).catch((e) => {
+        this.$message.error(e || "下载失败,请重新尝试!");
+      });
+      this.downloading = false;
+
+      if (!res) return;
+      this.$message.success("下载成功!");
     },
   },
 };