From a90cf43e7a1f41dcde401ed1fd118b0f90d7c3f5 Mon Sep 17 00:00:00 2001 From: cqf Date: 星期四, 26 五月 2022 11:41:49 +0800 Subject: [PATCH] 举一反三隐患-存在 --- src/views/summaryPotentialSafetyHzards/index.vue | 50 +++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 43 insertions(+), 7 deletions(-) diff --git a/src/views/summaryPotentialSafetyHzards/index.vue b/src/views/summaryPotentialSafetyHzards/index.vue index a647499..ee4a106 100644 --- a/src/views/summaryPotentialSafetyHzards/index.vue +++ b/src/views/summaryPotentialSafetyHzards/index.vue @@ -106,16 +106,16 @@ <el-button class="btn" size="small" type="primary" @click="queryData" >汇总 </el-button> - <el-button class="btn" size="small" type="primary" @click="close()" + <el-button class="btn" size="small" type="primary" @click="exportData()" >导出Excel </el-button> </el-form-item> </div> </el-form> - <el-table - :data="tableData" - v-loading="loading" - style="width: 100%"> + <el-table id="out-table" + :data="tableData" + v-loading="loading" + style="width: 100%"> <el-table-column align="center" label="众泰煤焦化-安全隐患台帐"> <el-table-column prop="y_label" @@ -125,6 +125,7 @@ </el-table-column> <el-table-column v-for="item in tableData[0].items" + :key="item.x_label" :label="item.x_label" align="center"> <template slot-scope="scope"> @@ -157,6 +158,8 @@ } from "@/api/sgyhpczl/initSelect"; import {danger_summary} from "@/api/sgyhpczl/summaryPotentialSafetyHzards"; +import FileSaver from "file-saver"; +import XLSX from "xlsx"; export default { name: "index", @@ -379,8 +382,13 @@ showYHList(row, item) { var searchData = {}; - searchData[this.form.x_axis] = item.x_label; - searchData[this.form.y_axis] = row.y_label; + console.log(item) + if (item.x_label != null && item.x_label != "合计") { + searchData[this.form.x_axis] = item.x_label; + } + if (row.y_label != null && row.y_label != "合计") { + searchData[this.form.y_axis] = row.y_label; + } let requestData = {}; let selectData = [] for (const queryElement in this.form) { @@ -402,6 +410,34 @@ path: "/summaryList", query: {"searchData": searchData} }) + }, + exportData() { + var xlsxParam = {raw: true}; + /* 从表生成工作簿对象 */ + var wb = XLSX.utils.table_to_book( + document.querySelector("#out-table"), + xlsxParam + ); + /* 获取二进制字符串作为输出 */ + var wbout = XLSX.write(wb, { + bookType: "xlsx", + bookSST: true, + type: "array", + }); + try { + FileSaver.saveAs( + //Blob 对象表示一个不可变、原始数据的类文件对象。 + //Blob 表示的不一定是JavaScript原生格式的数据。 + //File 接口基于Blob,继承了 blob 的功能并将其扩展使其支持用户系统上的文件。 + //返回一个新创建的 Blob 对象,其内容由参数中给定的数组串联组成。 + new Blob([wbout], {type: "application/octet-stream"}), + //设置导出文件名称 + "安全隐患汇总.xlsx" + ); + } catch (e) { + if (typeof console !== "undefined") console.log(e, wbout); + } + return wbout; } } -- Gitblit v1.9.2