From e381544add9bb8c55a8cd0495a1ea449efd96ff6 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 06 Feb 2024 09:54:50 +0800
Subject: [PATCH] 隐患统计导出自定义多级表头

---
 src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue |  181 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 180 insertions(+), 1 deletions(-)

diff --git a/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue b/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue
index d8479eb..bb6261e 100644
--- a/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue
+++ b/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue
@@ -34,6 +34,8 @@
 import {
     getYHTJList
 } from "@/api/publicSecurity/ninePlaceManage"
+import { export_json_to_excels } from "@/util/Export2Excel"
+import { timestampToTime } from "@/util/timeStamp"
 
 export default {
     data () {
@@ -202,7 +204,184 @@
 
     methods: {
         exportAvue () {
-            this.$refs.crud.rowExcel()
+            this.$confirm("是否导出隐患统计数据?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning"
+            }).then(() => {
+                // this.$refs.crud.rowExcel() 
+                this.exportBtn()
+            })
+        },
+
+        //json格式化
+        formatJson (filterVal, tableData) {
+            return tableData.map((v) => {
+                return filterVal.map((j) => {
+                    return v[j]
+                })
+            })
+        },
+
+        // 导出
+        exportBtn () {
+            const multiHeader = ["序号", "地区", "小商店", "小旅馆", "小学校(幼儿园、校外培训机构)", "", "", "小医院(诊所、养老院)", "", "", "小网吧", "小餐饮场所", "小歌舞娱乐场所", "小美容洗浴场所", "小生产加工企业", "总数"]//第一行表头
+            const tHeader = ["", "", "", "", "学校", "幼儿园", "校外培训机构", "医院", "诊所", "养老院", "", "", "", "", "", "",]//最后一行的表头
+            const filterVal = [
+                "index",
+                "name",
+                "xsd",
+                "xlg",
+                "xxx",
+                "yey",
+                "xwpxjg",
+                "yy",
+                "zs",
+                "yly",
+                "xwb",
+                "xcycs",
+                "xgwylcs",
+                "xmrxycs",
+                "xscjgqy",
+                "count"
+            ]
+
+            var time = timestampToTime((new Date()).getTime())
+            var filename = '隐患统计' + time
+
+            this.data.forEach((item, index) => {
+                item.index = index + 1
+            })
+            var data = this.formatJson(filterVal, this.data)
+            const merges = [//合并单元格
+                {
+                    s: {//开始单元格
+                        r: 0,//纵轴坐标(1=0,以此类推)
+                        c: 0//横轴坐标(A=0,以此类推)
+                    },
+                    e: {//结束单元格
+                        r: 1,
+                        c: 0
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 1
+                    },
+                    e: {
+                        r: 1,
+                        c: 1
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 2
+                    },
+                    e: {
+                        r: 1,
+                        c: 2
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 3
+                    },
+                    e: {
+                        r: 1,
+                        c: 3
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 4
+                    },
+                    e: {
+                        r: 0,
+                        c: 6
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 7
+                    },
+                    e: {
+                        r: 0,
+                        c: 9
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 10
+                    },
+                    e: {
+                        r: 1,
+                        c: 10
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 11
+                    },
+                    e: {
+                        r: 1,
+                        c: 11
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 12
+                    },
+                    e: {
+                        r: 1,
+                        c: 12
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 13
+                    },
+                    e: {
+                        r: 1,
+                        c: 13
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 14
+                    },
+                    e: {
+                        r: 1,
+                        c: 14
+                    }
+                },
+                {
+                    s: {
+                        r: 0,
+                        c: 15
+                    },
+                    e: {
+                        r: 1,
+                        c: 15
+                    }
+                }
+            ]
+            export_json_to_excels({
+                headerOne: multiHeader,
+                headerTwo: tHeader,
+                merges,
+                data,
+                filename
+            })
         },
 
         getLastMouth (str = '-') {

--
Gitblit v1.9.3