yuanmingze 4 місяців тому
батько
коміт
38ed86b8ac

+ 9 - 0
src/api/serviceManagement/servicesToBeReviewed/index.js

@@ -121,3 +121,12 @@ export function pretreatmentClearApi(data) {
     data: data
   });
 }
+
+export function pkgCheckExportApi(data) {
+  return request({
+    url: ' /admin/pkg/check/export',
+    method: 'get',
+    params: data,
+    responseType: 'arraybuffer'
+  });
+}

+ 31 - 1
src/views/serviceManagement/serviceReviewed/index.vue

@@ -86,6 +86,11 @@
         </el-row>
       </el-form>
     </div>
+    <div class="table-btns">
+      <el-tooltip class="item" effect="dark" content="导出需要大量计算,请耐心等候,不要频繁点击" placement="top">
+        <el-button type="primary" size="small" @click="exportBtnFn">导 出</el-button>
+      </el-tooltip>
+    </div>
 
     <div class="table">
       <vxe-table
@@ -166,7 +171,8 @@ import {
   getUserV2Avail,
   getPkgV2Api,
   getTaskV2PageCheckedApi,
-  getTaskV2CheckHisApi
+  getTaskV2CheckHisApi,
+  pkgCheckExportApi
 } from '@/api/serviceManagement/servicesToBeReviewed/index.js';
 import { tableOptin } from './index.js';
 import { getDictType } from '@/api/common';
@@ -357,6 +363,27 @@ export default {
     hide() {
       this.infoContent = '';
       this.infoLoading = false;
+    },
+    async exportBtnFn() {
+      if (!this.searchFrom.year || !this.searchFrom.quarter) {
+        return this.$message.error('请选择年和季度');
+      }
+
+      try {
+        const obj = {
+          year: this.searchFrom.year,
+          quarter: this.searchFrom.quarter
+        };
+        const res = await pkgCheckExportApi(obj);
+        let url = window.URL.createObjectURL(new Blob([res.data]));
+        let link = document.createElement('a');
+        link.style.display = 'none';
+        link.href = url;
+        link.setAttribute('download', '执行包信息.xlsx');
+        document.body.appendChild(link);
+        link.click();
+        document.body.removeChild(link);
+      } catch (err) {}
     }
   }
 };
@@ -414,4 +441,7 @@ export default {
   color: #6e6e6e;
   cursor: pointer;
 }
+.table-btns {
+  margin: 10px 0;
+}
 </style>