Forráskód Böngészése

价格目录加全部导出

黄梓星 1 éve
szülő
commit
80b909eaec

+ 9 - 0
src/api/business/purchase/catalogue.js

@@ -55,3 +55,12 @@ export function EXPORT(data) {
     data: data,
   });
 }
+// 采购需求单导出
+export function exportAll(data) {
+  return request({
+    url: `/pu/price/catalogue/export`,
+    method: 'post',
+    data: data,
+    responseType: 'blob'
+  })
+}

+ 4 - 0
src/views/purchase/PurchaseDemandList/index.vue

@@ -592,6 +592,8 @@ export default {
             downloadElement.click(); // 点击下载
             document.body.removeChild(downloadElement); // 下载完成移除元素
             window.URL.revokeObjectURL(href); // 释放blob对象
+          }).catch(err => {
+            this.$modal.closeLoading();
           })
         }
       } else {
@@ -613,6 +615,8 @@ export default {
           downloadElement.click(); // 点击下载
           document.body.removeChild(downloadElement); // 下载完成移除元素
           window.URL.revokeObjectURL(href); // 释放blob对象
+        }).catch(err => {
+          this.$modal.closeLoading();
         })
       }
     },

+ 27 - 1
src/views/purchase/catalogue/index.vue

@@ -1,7 +1,7 @@
 <script>
 import { dicts } from "./dicts";
 import useColumns from "./columns";
-import { LIST } from "@/api/business/purchase/catalogue";
+import { LIST, exportAll } from "@/api/business/purchase/catalogue";
 
 export default {
   name: "PuchaseCatalogue",
@@ -90,6 +90,29 @@ export default {
       const { open } = this.$refs.SeeButton;
       await open([prop]);
     },
+    // 导出全部
+    exportAll() {
+      this.$modal.loading("正在导出数据,请稍后...");
+      exportAll().then(res => {
+        this.$modal.closeLoading();
+        const blob = new Blob([res], {
+          type: "application/vnd.ms-excel;charset=UTF-8",
+        });// 创建一个类文件对象:Blob对象表示一个不可变的、原始数据的类文件对象
+        const downloadElement = document.createElement("a"); //创建a标签
+        const href = window.URL.createObjectURL(blob); // 创建下载的链接
+        // var temp = res.headers["content-disposition"]; 
+        // var fileName = decodeURIComponent(temp.split("filename=")[1]); // 中文需要转码 (前端乱码)
+        // var name = fileName.split(";")[0]; //切割成文件名
+        downloadElement.href = href;  //下载地址
+        downloadElement.download = '价格目录全部导出' + this.parseTime(new Date().getTime()) + ".xlsx"; 
+        document.body.appendChild(downloadElement);
+        downloadElement.click(); // 点击下载
+        document.body.removeChild(downloadElement); // 下载完成移除元素
+        window.URL.revokeObjectURL(href); // 释放blob对象
+      }).catch(err => {
+        this.$modal.closeLoading();
+      })
+    },
   },
 };
 </script>
@@ -150,6 +173,9 @@ export default {
           @success="useQuery(params, page)"
         ></exp-button>
       </el-button-group>
+      <el-button-group>
+        <el-button size="mini" @click="exportAll">全部导出</el-button>
+      </el-button-group>
     </div>
     <el-super-table
       v-model="tableData"