From 6416b40cf242340eaa163c498bd49d8103e73610 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 29 Jul 2024 17:01:52 +0800
Subject: [PATCH] 代码优化

---
 src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue | 1321 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 663 insertions(+), 658 deletions(-)

diff --git a/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue b/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue
index eea0eca..00f2ee4 100644
--- a/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue
+++ b/src/views/publicSecurity/ninePlaceManage/hiddenDangerStatistics.vue
@@ -1,711 +1,716 @@
 <template>
-    <basic-container>
-        <div class="search-box">
-            <div class="date-box">
-                <div class="name">检查时间:</div>
-                <el-date-picker v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期"
-                    end-placeholder="结束日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd">
-                </el-date-picker>
-            </div>
-            <div class="btn-box">
-                <el-button type="primary" icon="el-icon-search" @click="searchChange">搜索</el-button>
-                <el-button icon="el-icon-refresh" @click="searchReset">重置</el-button>
-                <!-- <el-button type="primary" icon="el-icon-download" @click="exportAvue">导出</el-button> -->
-            </div>
-        </div>
+  <basic-container>
+    <div class="search-box">
+      <div class="date-box">
+        <div class="name">检查时间:</div>
+        <el-date-picker v-model="dateTime" type="daterange" range-separator="至" start-placeholder="开始日期"
+          end-placeholder="结束日期" value-format="yyyy-MM-dd" format="yyyy-MM-dd">
+        </el-date-picker>
+      </div>
+      <div class="btn-box">
+        <el-button type="primary" icon="el-icon-search" @click="searchChange">搜索</el-button>
+        <el-button icon="el-icon-refresh" @click="searchReset">重置</el-button>
+        <!-- <el-button type="primary" icon="el-icon-download" @click="exportAvue">导出</el-button> -->
+      </div>
+    </div>
 
-        <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
-            v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave"
-            :before-open="beforeOpen" @search-change="searchChange" @search-reset="searchReset"
-            @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
-            @refresh-change="refreshChange" @on-load="onLoad">
-            <template slot="menuLeft">
-                <el-button type="warning" size="small" plain icon="el-icon-download" @click="exportAvue">导出
-                </el-button>
-            </template>
-        </avue-crud>
-    </basic-container>
+    <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" ref="crud" @row-del="rowDel"
+      v-model="form" :permission="permissionList" @row-update="rowUpdate" @row-save="rowSave" :before-open="beforeOpen"
+      @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+      @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
+      <template slot="menuLeft">
+        <el-button type="warning" size="small" plain icon="el-icon-download" @click="exportAvue">导出
+        </el-button>
+      </template>
+    </avue-crud>
+  </basic-container>
 </template>
 
 <script>
-import {
+  import {
     mapGetters
-} from "vuex"
-import {
+  } from "vuex"
+  import {
     getYHTJList
-} from "@/api/publicSecurity/ninePlaceManage"
-import { export_json_to_excels } from "@/util/Export2Excel"
-import { timestampToTime } from "@/util/timeStamp"
+  } from "@/api/publicSecurity/ninePlaceManage"
+  import {
+    export_json_to_excels
+  } from "@/util/Export2Excel"
+  import {
+    timestampToTime
+  } from "@/util/timeStamp"
 
-export default {
-    data () {
-        return {
-            form: {},
-            query: {},
-            loading: true,
+  export default {
+    data() {
+      return {
+        form: {},
+        query: {},
+        loading: true,
 
-            page: {
-                pageSize: 10,
-                currentPage: 1,
-                total: 0,
+        page: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0,
+        },
+        dateTime: "",
+        selectionList: [],
+        option: {
+          height: "auto",
+          calcHeight: 54,
+          dialogWidth: 950,
+          tip: false,
+          searchShow: true,
+          searchMenuSpan: 3,
+          menu: false,
+          border: true,
+          index: true,
+          editBtn: false,
+          delBtn: false,
+          addBtn: false,
+          excelBtn: false,
+          columnBtn: false,
+          refreshBtn: false,
+          dialogClickModal: false,
+          column: [{
+              label: "地区",
+              prop: "name",
+              align: 'center',
+            }, {
+              label: "小商店",
+              prop: "xsd",
+              align: 'center',
             },
-            dateTime: "",
-            selectionList: [],
-            option: {
-                height: "auto",
-                calcHeight: 54,
-                dialogWidth: 950,
-                tip: false,
-                searchShow: true,
-                searchMenuSpan: 3,
-                menu: false,
-                border: true,
-                index: true,
-                editBtn: false,
-                delBtn: false,
-                addBtn: false,
-                excelBtn: false,
-                columnBtn: false,
-                refreshBtn: false,
-                dialogClickModal: false,
-                column: [
-                    {
-                        label: "地区",
-                        prop: "name",
-                        align: 'center',
-                    }, {
-                        label: "小商店",
-                        prop: "xsd",
-                        align: 'center',
-                    },
-                    {
-                        label: "小旅馆",
-                        prop: "xlg",
-                        align: 'center',
-                    },
-                    {
-                        label: "小学校(幼儿园、校外培训机构)",
-                        align: 'center',
-                        children: [
-                            {
-                                label: "学校",
-                                prop: "xxx",
-                                align: 'center',
-                            },
-                            {
-                                label: "幼儿园",
-                                prop: "yey",
-                                align: 'center',
-                            },
-                            {
-                                label: "校外培训机构",
-                                prop: "xwpxjg",
-                                align: 'center',
-                            }
-                        ]
-                    },
-                    {
-                        label: "小医院(诊所、养老院)",
-                        align: 'center',
-                        children: [
-                            {
-                                label: "医院",
-                                prop: "yy",
-                                align: 'center',
-                            },
-                            {
-                                label: "诊所",
-                                prop: "zs",
-                                align: 'center',
-                            },
-                            {
-                                label: "养老院",
-                                prop: "yly",
-                                align: 'center',
-                            }
-                        ]
-                    },
-                    {
-                        label: "小网吧",
-                        prop: "xwb",
-                        align: 'center',
-                    },
-                    {
-                        label: "小餐饮场所",
-                        prop: "xcycs",
-                        align: 'center',
-                    },
-                    {
-                        label: "小歌舞娱乐场所",
-                        prop: "xgwylcs",
-                        align: 'center',
-                    },
-                    {
-                        label: "小美容洗浴场所",
-                        prop: "xmrxycs",
-                        align: 'center',
-                    },
-                    {
-                        label: "小生产加工企业",
-                        prop: "xscjgqy",
-                        align: 'center',
-                    },
-                    {
-                        label: "总数",
-                        prop: "count",
-                        align: 'center',
-                    },
-                    // {
-                    //     label: "检查时间",
-                    //     prop: "dateTime",
-                    //     type: "daterange",
-                    //     format: 'yyyy-MM-DD',
-                    //     valueFormat: 'yyyy-MM-DD',
-                    //     isAdmin: true,//自定义属性
-                    //     startPlaceholder: '日期开始范围',
-                    //     endPlaceholder: '日期结束范围',
-                    //     hide: true,
-                    //     addDisplay: false,
-                    //     editDisplay: false,
-                    //     viewDisplay: false,
-                    //     search: true,
-                    //     searchSpan: 6,
-                    //     searchRange: true,
-                    // }
-                ],
+            {
+              label: "小旅馆",
+              prop: "xlg",
+              align: 'center',
             },
-            data: []
-        }
+            {
+              label: "小学校(幼儿园、校外培训机构)",
+              align: 'center',
+              children: [{
+                  label: "学校",
+                  prop: "xxx",
+                  align: 'center',
+                },
+                {
+                  label: "幼儿园",
+                  prop: "yey",
+                  align: 'center',
+                },
+                {
+                  label: "校外培训机构",
+                  prop: "xwpxjg",
+                  align: 'center',
+                }
+              ]
+            },
+            {
+              label: "小医院(诊所、养老院)",
+              align: 'center',
+              children: [{
+                  label: "医院",
+                  prop: "yy",
+                  align: 'center',
+                },
+                {
+                  label: "诊所",
+                  prop: "zs",
+                  align: 'center',
+                },
+                {
+                  label: "养老院",
+                  prop: "yly",
+                  align: 'center',
+                }
+              ]
+            },
+            {
+              label: "小网吧",
+              prop: "xwb",
+              align: 'center',
+            },
+            {
+              label: "小餐饮场所",
+              prop: "xcycs",
+              align: 'center',
+            },
+            {
+              width: 120,
+              label: "小歌舞娱乐场所",
+              prop: "xgwylcs",
+              align: 'center',
+            },
+            {
+              width: 120,
+              label: "小美容洗浴场所",
+              prop: "xmrxycs",
+              align: 'center',
+            },
+            {
+              width: 120,
+              label: "小生产加工企业",
+              prop: "xscjgqy",
+              align: 'center',
+            },
+            {
+              label: "总数",
+              prop: "count",
+              align: 'center',
+            },
+            // {
+            //     label: "检查时间",
+            //     prop: "dateTime",
+            //     type: "daterange",
+            //     format: 'yyyy-MM-DD',
+            //     valueFormat: 'yyyy-MM-DD',
+            //     isAdmin: true,//自定义属性
+            //     startPlaceholder: '日期开始范围',
+            //     endPlaceholder: '日期结束范围',
+            //     hide: true,
+            //     addDisplay: false,
+            //     editDisplay: false,
+            //     viewDisplay: false,
+            //     search: true,
+            //     searchSpan: 6,
+            //     searchRange: true,
+            // }
+          ],
+        },
+        data: []
+      }
     },
 
     computed: {
-        ...mapGetters(["permission", "userInfo"]),
-        permissionList () {
-            return {
-                addBtn: this.vaildData(this.permission.place_add, true),
-                viewBtn: this.vaildData(this.permission.place_view, true),
-                delBtn: this.vaildData(this.permission.place_delete, true),
-                editBtn: this.vaildData(this.permission.place_edit, true),
-            }
-        },
-        ids () {
-            let ids = []
-            this.selectionList.forEach((ele) => {
-                ids.push(ele.id)
-            })
-            return ids.join(",")
-        },
+      ...mapGetters(["permission", "userInfo"]),
+      permissionList() {
+        return {
+          addBtn: this.vaildData(this.permission.place_add, true),
+          viewBtn: this.vaildData(this.permission.place_view, true),
+          delBtn: this.vaildData(this.permission.place_delete, true),
+          editBtn: this.vaildData(this.permission.place_edit, true),
+        }
+      },
+      ids() {
+        let ids = []
+        this.selectionList.forEach((ele) => {
+          ids.push(ele.id)
+        })
+        return ids.join(",")
+      },
 
     },
 
-    created () {
-        this.dateTime = this.getLastMouth()
+    created() {
+      this.dateTime = this.getLastMouth()
     },
 
     methods: {
-        exportAvue () {
-            this.$confirm("是否导出隐患统计数据?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning"
-            }).then(() => {
-                // this.$refs.crud.rowExcel() 
-                this.exportBtn()
-            })
-        },
+      exportAvue() {
+        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]
-                })
-            })
-        },
+      //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"
-            ]
+      // 导出
+      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
+        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 = '-') {
-            let today = new Date()
-            let lastMouth = new Date()
-            let nowTime = today.getTime()
-            let ms = 24 * 3600 * 1000 * -30
-            today.setTime(parseInt(nowTime))
-            lastMouth.setTime(parseInt(nowTime + ms))
-            let oYear = today.getFullYear()
-            let oMoth = (today.getMonth() + 1).toString()
-            if (oMoth.length <= 1) oMoth = "0" + oMoth
-            let oDay = today.getDate().toString()
-            if (oDay.length <= 1) oDay = "0" + oDay
-            let mYear = lastMouth.getFullYear()
-            let mMoth = (lastMouth.getMonth() + 1).toString()
-            if (mMoth.length <= 1) mMoth = "0" + mMoth
-            let mDay = lastMouth.getDate().toString()
-            if (mDay.length <= 1) mDay = "0" + mDay
-            let todayDate = oYear + str + oMoth + str + oDay
-            let lastMouthDate = mYear + str + mMoth + str + mDay//暂时改成2024-01-01
-            return ['2024-01-01', todayDate]
-        },
-
-        rowSave (row, done, loading) {
-            if (row.imageUrls.length > 0) {
-                var urls = []
-                var split = row.imageUrls.split(",").filter(item => item != '')
-                split.forEach(url => {
-                    var names = url.split("jczz/")
-                    urls.push(names[1])
-                })
-                row.imageUrls = urls.join(",")
+        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
             }
-
-            let label = row.label
-
-            if (row.smallLabel != '') {
-                label = label + ',' + row.smallLabel
+          },
+          {
+            s: {
+              r: 0,
+              c: 1
+            },
+            e: {
+              r: 1,
+              c: 1
             }
-
-            delete row.smallLabel
-
-            add({
-                ...row,
-                label
-            }).then(
-                () => {
-                    this.onLoad()
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                    done()
-                },
-                (error) => {
-                    window.console.log(error)
-                    loading()
-                }
-            )
-        },
-
-        rowUpdate (row, index, done, loading) {
-            if (row.imageUrls.length > 0) {
-                var urls = []
-                var split = row.imageUrls.split(",").filter(item => item != '')
-                split.forEach(url => {
-                    var names = url.split("jczz/")
-                    urls.push(names[1])
-                })
-                row.imageUrls = urls.join(",")
+          },
+          {
+            s: {
+              r: 0,
+              c: 2
+            },
+            e: {
+              r: 1,
+              c: 2
             }
-
-            let label = row.label
-
-            if (row.smallLabel != '') {
-                label = label + ',' + row.smallLabel
+          },
+          {
+            s: {
+              r: 0,
+              c: 3
+            },
+            e: {
+              r: 1,
+              c: 3
             }
-
-            delete row.smallLabel
-
-            update({
-                ...row,
-                label
-            }).then(
-                () => {
-                    this.onLoad()
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                    done()
-                },
-                (error) => {
-                    window.console.log(error)
-                    loading()
-                }
-            )
-        },
-
-        rowDel (row) {
-            this.$confirm("确定将选择数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    row.isDeleted = 1
-                    return removeTask(row)
-                })
-                .then(() => {
-                    this.onLoad()
-
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                })
-        },
-
-        searchReset () {
-            this.query = {}
-            this.dateTime = this.getLastMouth()
-            this.onLoad()
-        },
-
-        searchChange (params) {
-            this.query = this.dateTime ? {
-                startTime: this.dateTime[0],
-                endTime: this.dateTime[1],
-            } : {}
-            this.page.currentPage = 1
-            this.onLoad()
-        },
-
-        selectionChange (list) {
-            this.selectionList = list
-        },
-
-        selectionClear () {
-            this.selectionList = []
-            this.$nextTick(() => {
-                this.$refs.crud && this.$refs.crud.toggleSelection()
-            })
-        },
-
-        handleDelete () {
-            if (this.selectionList.length === 0) {
-                this.$message.warning("请选择至少一条数据")
-                return
+          },
+          {
+            s: {
+              r: 0,
+              c: 4
+            },
+            e: {
+              r: 0,
+              c: 6
             }
-            this.$confirm("确定将选择数据删除?", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            })
-                .then(() => {
-                    return remove(this.ids)
-                })
-                .then(() => {
-                    this.onLoad()
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                    this.$refs.crud.toggleSelection()
-                })
-        },
-
-        beforeOpen (done, type) {
-            // if (["edit", "view"].includes(type)) {
-
-            // } else {
-            //     done()
-            // }
-        },
-
-        currentChange (currentPage) {
-            this.page.currentPage = currentPage
-        },
-
-        sizeChange (pageSize) {
-            this.page.pageSize = pageSize
-        },
-
-        refreshChange () {
-            // this.onLoad(this.page, this.query)
-        },
-
-        onLoad () {
-            this.loading = true
-            if (!this.query.startTime) {
-                this.query = {
-                    startTime: this.getLastMouth()[0],
-                    endTime: this.getLastMouth()[1],
-                }
+          },
+          {
+            s: {
+              r: 0,
+              c: 7
+            },
+            e: {
+              r: 0,
+              c: 9
             }
-            if ('startTime' in this.query) {
-                this.query.startTime += ' 00:00:00'
+          },
+          {
+            s: {
+              r: 0,
+              c: 10
+            },
+            e: {
+              r: 1,
+              c: 10
             }
-            if ('endTime' in this.query) {
-                this.query.endTime += ' 23:59:59'
+          },
+          {
+            s: {
+              r: 0,
+              c: 11
+            },
+            e: {
+              r: 1,
+              c: 11
             }
-            getYHTJList(this.query).then(res => {
-                console.log('getZGQKList', res.data.data)
-                const data = res.data.data
-                // 总合计行
-                let countItem = {
-                    name: '信州区',
-                    xscjgqy: 0,
-                    xmrxycs: 0,
-                    xgwylcs: 0,
-                    xcycs: 0,
-                    xwb: 0,
-                    xlg: 0,
-                    xsd: 0,
-                    yey: 0,
-                    yly: 0,
-                    xwpxjg: 0,
-                    xxx: 0,
-                    zs: 0,
-                    xxx: 0,
-                    yy: 0,
-                    count: 0
-                }
-                data.forEach(item => {
-                    // 统计总数
-                    item.count = 0
-                    // 检查时间
-                    item.dateTime = ''
+          },
+          {
+            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
+        })
+      },
 
-                    item.nineTypeStatistics.forEach(element => {
-                        item.count += Number(element.number)
-                        if (element.dict_value == '小生产加工企业') {
-                            item.xscjgqy = element.number
-                            countItem.xscjgqy += Number(item.xscjgqy)
-                        } else if (element.dict_value == '小美容洗浴场所') {
-                            item.xmrxycs = element.number
-                            countItem.xmrxycs += Number(item.xmrxycs)
-                        } else if (element.dict_value == '小歌舞娱乐场所') {
-                            item.xgwylcs = element.number
-                            countItem.xgwylcs += Number(item.xgwylcs)
-                        } else if (element.dict_value == '小餐饮场所') {
-                            item.xcycs = element.number
-                            countItem.xcycs += Number(item.xcycs)
-                        } else if (element.dict_value == '小网吧') {
-                            item.xwb = element.number
-                            countItem.xwb += Number(item.xwb)
-                        } else if (element.dict_value == '小旅馆') {
-                            item.xlg = element.number
-                            countItem.xlg += Number(item.xlg)
-                        } else if (element.dict_value == '小商店') {
-                            item.xsd = element.number
-                            countItem.xsd += Number(item.xsd)
-                        } else if (element.dict_value == '幼儿园') {
-                            item.yey = element.number
-                            countItem.yey += Number(item.yey)
-                        } else if (element.dict_value == '养老院') {
-                            item.yly = element.number
-                            countItem.yly += Number(item.yly)
-                        } else if (element.dict_value == '校外培训机构') {
-                            item.xwpxjg = element.number
-                            countItem.xwpxjg += Number(item.xwpxjg)
-                        } else if (element.dict_value == '学校') {
-                            item.xxx = element.number
-                            countItem.xxx += Number(item.xxx)
-                        } else if (element.dict_value == '诊所') {
-                            item.zs = element.number
-                            countItem.zs += Number(item.zs)
-                        } else if (element.dict_value == '医院') {
-                            item.yy = element.number
-                            countItem.yy += Number(item.yy)
-                        }
-                    })
-                    countItem.count += Number(item.count)
-                })
-                data.push(countItem)
-                this.data = data
-                this.loading = false
-                this.selectionClear()
-            })
+      getLastMouth(str = '-') {
+        let today = new Date()
+        let lastMouth = new Date()
+        let nowTime = today.getTime()
+        let ms = 24 * 3600 * 1000 * -30
+        today.setTime(parseInt(nowTime))
+        lastMouth.setTime(parseInt(nowTime + ms))
+        let oYear = today.getFullYear()
+        let oMoth = (today.getMonth() + 1).toString()
+        if (oMoth.length <= 1) oMoth = "0" + oMoth
+        let oDay = today.getDate().toString()
+        if (oDay.length <= 1) oDay = "0" + oDay
+        let mYear = lastMouth.getFullYear()
+        let mMoth = (lastMouth.getMonth() + 1).toString()
+        if (mMoth.length <= 1) mMoth = "0" + mMoth
+        let mDay = lastMouth.getDate().toString()
+        if (mDay.length <= 1) mDay = "0" + mDay
+        let todayDate = oYear + str + oMoth + str + oDay
+        let lastMouthDate = mYear + str + mMoth + str + mDay //暂时改成2024-01-01
+        return ['2024-01-01', todayDate]
+      },
+
+      rowSave(row, done, loading) {
+        if (row.imageUrls.length > 0) {
+          var urls = []
+          var split = row.imageUrls.split(",").filter(item => item != '')
+          split.forEach(url => {
+            var names = url.split("jczz/")
+            urls.push(names[1])
+          })
+          row.imageUrls = urls.join(",")
         }
+
+        let label = row.label
+
+        if (row.smallLabel != '') {
+          label = label + ',' + row.smallLabel
+        }
+
+        delete row.smallLabel
+
+        add({
+          ...row,
+          label
+        }).then(
+          () => {
+            this.onLoad()
+            this.$message({
+              type: "success",
+              message: "操作成功!",
+            })
+            done()
+          },
+          (error) => {
+            window.console.log(error)
+            loading()
+          }
+        )
+      },
+
+      rowUpdate(row, index, done, loading) {
+        if (row.imageUrls.length > 0) {
+          var urls = []
+          var split = row.imageUrls.split(",").filter(item => item != '')
+          split.forEach(url => {
+            var names = url.split("jczz/")
+            urls.push(names[1])
+          })
+          row.imageUrls = urls.join(",")
+        }
+
+        let label = row.label
+
+        if (row.smallLabel != '') {
+          label = label + ',' + row.smallLabel
+        }
+
+        delete row.smallLabel
+
+        update({
+          ...row,
+          label
+        }).then(
+          () => {
+            this.onLoad()
+            this.$message({
+              type: "success",
+              message: "操作成功!",
+            })
+            done()
+          },
+          (error) => {
+            window.console.log(error)
+            loading()
+          }
+        )
+      },
+
+      rowDel(row) {
+        this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          })
+          .then(() => {
+            row.isDeleted = 1
+            return removeTask(row)
+          })
+          .then(() => {
+            this.onLoad()
+
+            this.$message({
+              type: "success",
+              message: "操作成功!",
+            })
+          })
+      },
+
+      searchReset() {
+        this.query = {}
+        this.dateTime = this.getLastMouth()
+        this.onLoad()
+      },
+
+      searchChange(params) {
+        this.query = this.dateTime ? {
+          startTime: this.dateTime[0],
+          endTime: this.dateTime[1],
+        } : {}
+        this.page.currentPage = 1
+        this.onLoad()
+      },
+
+      selectionChange(list) {
+        this.selectionList = list
+      },
+
+      selectionClear() {
+        this.selectionList = []
+        this.$nextTick(() => {
+          this.$refs.crud && this.$refs.crud.toggleSelection()
+        })
+      },
+
+      handleDelete() {
+        if (this.selectionList.length === 0) {
+          this.$message.warning("请选择至少一条数据")
+          return
+        }
+        this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          })
+          .then(() => {
+            return remove(this.ids)
+          })
+          .then(() => {
+            this.onLoad()
+            this.$message({
+              type: "success",
+              message: "操作成功!",
+            })
+            this.$refs.crud.toggleSelection()
+          })
+      },
+
+      beforeOpen(done, type) {
+        // if (["edit", "view"].includes(type)) {
+
+        // } else {
+        //     done()
+        // }
+      },
+
+      currentChange(currentPage) {
+        this.page.currentPage = currentPage
+      },
+
+      sizeChange(pageSize) {
+        this.page.pageSize = pageSize
+      },
+
+      refreshChange() {
+        // this.onLoad(this.page, this.query)
+      },
+
+      onLoad() {
+        this.loading = true
+        if (!this.query.startTime) {
+          this.query = {
+            startTime: this.getLastMouth()[0],
+            endTime: this.getLastMouth()[1],
+          }
+        }
+        if ('startTime' in this.query) {
+          this.query.startTime += ' 00:00:00'
+        }
+        if ('endTime' in this.query) {
+          this.query.endTime += ' 23:59:59'
+        }
+        getYHTJList(this.query).then(res => {
+          console.log('getZGQKList', res.data.data)
+          const data = res.data.data
+          // 总合计行
+          let countItem = {
+            name: '信州区',
+            xscjgqy: 0,
+            xmrxycs: 0,
+            xgwylcs: 0,
+            xcycs: 0,
+            xwb: 0,
+            xlg: 0,
+            xsd: 0,
+            yey: 0,
+            yly: 0,
+            xwpxjg: 0,
+            xxx: 0,
+            zs: 0,
+            xxx: 0,
+            yy: 0,
+            count: 0
+          }
+          data.forEach(item => {
+            // 统计总数
+            item.count = 0
+            // 检查时间
+            item.dateTime = ''
+
+            item.nineTypeStatistics.forEach(element => {
+              item.count += Number(element.number)
+              if (element.dict_value == '小生产加工企业') {
+                item.xscjgqy = element.number
+                countItem.xscjgqy += Number(item.xscjgqy)
+              } else if (element.dict_value == '小美容洗浴场所') {
+                item.xmrxycs = element.number
+                countItem.xmrxycs += Number(item.xmrxycs)
+              } else if (element.dict_value == '小歌舞娱乐场所') {
+                item.xgwylcs = element.number
+                countItem.xgwylcs += Number(item.xgwylcs)
+              } else if (element.dict_value == '小餐饮场所') {
+                item.xcycs = element.number
+                countItem.xcycs += Number(item.xcycs)
+              } else if (element.dict_value == '小网吧') {
+                item.xwb = element.number
+                countItem.xwb += Number(item.xwb)
+              } else if (element.dict_value == '小旅馆') {
+                item.xlg = element.number
+                countItem.xlg += Number(item.xlg)
+              } else if (element.dict_value == '小商店') {
+                item.xsd = element.number
+                countItem.xsd += Number(item.xsd)
+              } else if (element.dict_value == '幼儿园') {
+                item.yey = element.number
+                countItem.yey += Number(item.yey)
+              } else if (element.dict_value == '养老院') {
+                item.yly = element.number
+                countItem.yly += Number(item.yly)
+              } else if (element.dict_value == '校外培训机构') {
+                item.xwpxjg = element.number
+                countItem.xwpxjg += Number(item.xwpxjg)
+              } else if (element.dict_value == '学校') {
+                item.xxx = element.number
+                countItem.xxx += Number(item.xxx)
+              } else if (element.dict_value == '诊所') {
+                item.zs = element.number
+                countItem.zs += Number(item.zs)
+              } else if (element.dict_value == '医院') {
+                item.yy = element.number
+                countItem.yy += Number(item.yy)
+              }
+            })
+            countItem.count += Number(item.count)
+          })
+          data.push(countItem)
+          this.data = data
+          this.loading = false
+          this.selectionClear()
+        })
+      }
     }
-}
+  }
 </script>
 
 <style lang="scss" scoped>
-.avue-upload__icon {
+  .avue-upload__icon {
     line-height: 6;
-}
+  }
 
-.search-box {
+  .search-box {
     display: flex;
     margin-bottom: 20px;
 
     .date-box {
+      display: flex;
+
+      .name {
+        margin-right: 10px;
         display: flex;
+        align-items: center;
+        font-size: 14px;
+      }
 
-        .name {
-            margin-right: 10px;
-            display: flex;
-            align-items: center;
-            font-size: 14px;
-        }
+      :deep(.el-input__inner) {
+        height: 32px;
+      }
 
-        :deep(.el-input__inner) {
-            height: 32px;
-        }
-
-        :deep(.el-date-editor .el-range__icon),
-        :deep(.el-date-editor .el-range__close-icon) {
-            line-height: 26px;
-        }
+      :deep(.el-date-editor .el-range__icon),
+      :deep(.el-date-editor .el-range__close-icon) {
+        line-height: 26px;
+      }
     }
 
 
     .btn-box {
-        margin-left: 20px;
+      margin-left: 20px;
 
-        :deep(.el-button) {
-            width: 76px;
-            height: 32px;
-            padding: 0;
-        }
+      :deep(.el-button) {
+        width: 76px;
+        height: 32px;
+        padding: 0;
+      }
     }
-}
-</style>
+  }
+</style>
\ No newline at end of file

--
Gitblit v1.9.3