cqf
2022-05-26 a90cf43e7a1f41dcde401ed1fd118b0f90d7c3f5
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;
        }
    }