From ab701df859cd79ae036f8cc86268137d2c8da8ee Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Thu, 22 Feb 2024 18:00:56 +0800
Subject: [PATCH] 消防自查导出、消防自查和场所检查增加场所类别字段

---
 src/views/publicSecurity/bailReporting.vue |  320 +++++++++++++++++++++++++++++------------------------
 1 files changed, 176 insertions(+), 144 deletions(-)

diff --git a/src/views/publicSecurity/bailReporting.vue b/src/views/publicSecurity/bailReporting.vue
index d640a38..ec7c919 100644
--- a/src/views/publicSecurity/bailReporting.vue
+++ b/src/views/publicSecurity/bailReporting.vue
@@ -6,12 +6,14 @@
             @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange"
             @refresh-change="refreshChange" @on-load="onLoad">
             <template slot-scope="{row, size, index}" slot="menu">
-                <el-button :size="size" type="text" icon="el-icon-view" plain @click="lookDetail(row, 0)">查 看
+                <el-button :size="size" type="text" icon="el-icon-view" v-if="permission.bail_view" plain
+                    @click="lookDetail(row, 0)">查 看
                 </el-button>
-                <el-button :size="size" type="text" icon="el-icon-s-check" v-if="row.status == 1" plain
-                    @click="lookDetail(row, 1)">审 核
+                <el-button :size="size" type="text" icon="el-icon-s-check" v-if="row.status == 1 && permission.bail_check"
+                    plain @click="lookDetail(row, 1)">审 核
                 </el-button>
-                <el-button :size="size" type="text" icon="el-icon-delete" plain @click="rowDel(row)">删 除
+                <el-button :size="size" type="text" icon="el-icon-delete" v-if="permission.bail_del" plain
+                    @click="rowDel(row)">删 除
                 </el-button>
             </template>
 
@@ -19,6 +21,11 @@
                 <el-tag :size="size" :type="showStatus(row.status).type">
                     {{ showStatus(row.status).text }}
                 </el-tag>
+            </template>
+            <template slot-scope="{row, size}" slot="phone">
+                <el-button :size="size" type="text" @click="showStringDispose(row, 'phoneflag')"
+                    v-text="textDispose(row, 'phoneflag', 'phone')">
+                </el-button>
             </template>
         </avue-crud>
 
@@ -86,7 +93,7 @@
                 searchShow: true,
                 searchMenuSpan: 3,
                 menuWidth: 210,
-
+                header: false,
                 height: "auto",
                 calcHeight: 54,
                 dialogWidth: 950,
@@ -100,28 +107,31 @@
                 editBtn: false,
                 selection: true,
                 dialogClickModal: false,
+                header: false,
                 column: [{
-                                       span: 12,
-                                       label: "社区",
-                                       prop: "communityName",
-                                       searchSpan: 4,
-                                       search: true,
-                                       hide: true,
-                                     },
-                                     {
-                                       span: 12,
-                                       label: "小区",
-                                       prop: "districtName",
-                                       searchSpan: 4,
-                                       search: true,
-                                       hide: true,
-                                     },
+                    span: 12,
+                    label: "社区",
+                    prop: "communityName",
+                    searchSpan: 4,
+                    searchLabelWidth: 46,
+                    search: true,
+                    hide: true,
+                },
+                {
+                    span: 12,
+                    label: "小区",
+                    prop: "districtName",
+                    searchSpan: 4,
+                    searchLabelWidth: 66,
+                    search: true,
+                    hide: true,
+                },
                 {
                     width: 100,
                     span: 12,
-                    label: "名称",
-                    prop: "name",
-                    searchSpan: 4,
+                    label: "姓名",
+                    prop: "realName",
+                    searchSpan: 3,
                     searchLabelWidth: 66,
                     search: true,
                 }, {
@@ -131,25 +141,89 @@
                     prop: "phone",
                     searchSpan: 4,
                     search: true,
-                    rules: [
-                        {
-                            validator: validatorPhone,
-                            trigger: 'blur'
-                        }
-                    ],
+                    slot: true,
+                    rules: [{
+                        validator: validatorPhone,
+                        trigger: 'blur'
+                    }],
                 }, {
-                               span: 12,
-                               label: "外出事由",
-                               prop: "applyName",
-                               searchSpan: 4,
-                               search: true,
-                             },
-                {
-                    width: 144,
-                    label: "创建时间",
-                    prop: "createTime",
+                    span: 12,
+                    label: "外出事由",
+                    prop: "applyName",
                     searchSpan: 4,
+                    search: true,
                 },
+                {
+                    width: 110,
+                    label: "所属街道",
+                    // hide: true,
+                    searchSpan: 4,
+                    // search: true,
+                    parent: false,
+                    prop: "streetCode",
+                    type: "tree",
+                    dicUrl: "/api/blade-system/region/getTownTree",
+                    props: {
+                        label: "name",
+                        value: "id"
+                    },
+                    rules: [{
+                        required: true,
+                        message: "请选择所属街道",
+                        trigger: "blur",
+                    },],
+                }, {
+                    width: 156,
+                    // hide: true,
+                    parent: false,
+                    searchSpan: 4,
+                    label: "所属社区",
+                    prop: "neiCode",
+                    // search: true,
+                    type: "tree",
+                    dicUrl: "/api/blade-system/region/tree",
+                    props: {
+                        label: "name",
+                        value: "id",
+                    },
+                    cascader: ["gridId"],
+                    rules: [{
+                        required: true,
+                        message: "请选择所属社区",
+                        trigger: "blur",
+                    },],
+                }, {
+                    width: 220,
+                    overHidden: true,
+                    label: "小区",
+                    prop: "aoiCode",
+                    searchSpan: 4,
+                    type: 'tree',
+                    searchLabelWidth: 66,
+                    // search: true,
+                    parent: false,
+                    dicUrl: `/api/blade-district/district/getDistrictTree`,
+                    props: {
+                        label: "name",
+                        value: "aoiCode"
+                    },
+                    // defaultExpandedKeys: ["361102003"],
+                    span: 12,
+                    rules: [{
+                        required: true,
+                        message: "请选择小区",
+                        trigger: "blur",
+                    },],
+                    // disabled: true
+                    display: true,
+                    // hide: true,
+                },
+                // {
+                //   width: 144,
+                //   label: "创建时间",
+                //   prop: "createTime",
+                //   searchSpan: 4,
+                // },
                 {
                     width: 100,
                     addDisplay: false,
@@ -170,71 +244,7 @@
                         value: 3
                     }]
                 },
-                {
-                                      width: 110,
-                                      label: "所属街道",
-                                      // hide: true,
-                                      searchSpan: 4,
-                                      search: true,
-                                      parent: false,
-                                      prop: "streetCode",
-                                      type: "tree",
-                                      dicUrl: "/api/blade-system/region/getTownTree",
-                                      props: {
-                                          label: "name",
-                                          value: "id"
-                                      },
-                                      rules: [{
-                                          required: true,
-                                          message: "请选择所属街道",
-                                          trigger: "blur",
-                                      },],
-                                  }, {
-                                      width: 156,
-                                      // hide: true,
-                                      parent: false,
-                                      searchSpan: 4,
-                                      label: "所属社区",
-                                      prop: "neiCode",
-                                      search: true,
-                                      type: "tree",
-                                      dicUrl: "/api/blade-system/region/tree",
-                                      props: {
-                                          label: "name",
-                                          value: "id",
-                                      },
-                                      cascader: ["gridId"],
-                                      rules: [{
-                                          required: true,
-                                          message: "请选择所属社区",
-                                          trigger: "blur",
-                                      },],
-                                  }, {
-                                      width: 220,
-                                      overHidden: true,
-                                      label: "小区",
-                                      prop: "aoiCode",
-                                      searchSpan: 4,
-                                      type: 'tree',
-                                      searchLabelWidth: 66,
-                                      search: true,
-                                      parent: false,
-                                      dicUrl: `/api/blade-district/district/getDistrictTree`,
-                                      props: {
-                                          label: "name",
-                                          value: "aoiCode"
-                                      },
-                                      // defaultExpandedKeys: ["361102003"],
-                                      span: 12,
-                                      rules: [{
-                                          required: true,
-                                          message: "请选择小区",
-                                          trigger: "blur",
-                                      },],
-                                      // disabled: true
-                                      display: true,
-                                      // hide: true,
-                                  },
+
 
                 ],
             },
@@ -259,11 +269,14 @@
     computed: {
         ...mapGetters(["permission", "userInfo"]),
         permissionList () {
+
+            console.log("permission===>", this.permission)
+
             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),
+                addBtn: this.vaildData(this.permission.bail_add, false),
+                viewBtn: this.vaildData(this.permission.bail_view, true),
+                delBtn: this.vaildData(this.permission.bail_del, true),
+                // editBtn: this.vaildData(this.permission.place_edit, true),
             }
         },
         ids () {
@@ -297,9 +310,27 @@
 
                 return tags
             }
+        },
+
+        textDispose () {
+            return (row, flag, type) => {
+                if (row[flag] || row[type] == null) {
+                    return row[type]
+                } else {
+                    if (type == 'principalIdCard') {
+                        return row[type].replace(/^(.{6})(?:\d+)(.{4})$/, "$1******$2")
+                    } else {
+                        return row[type].replace(/^(.{3})(?:\d+)(.{4})$/, "$1****$2")
+                    }
+                }
+            }
         }
     },
     methods: {
+        showStringDispose (row, type) {
+            row[type] = !row[type]
+        },
+
         colseDetail () {
             this.auditBasePopup = false
             this.onLoad(this.page)
@@ -449,42 +480,43 @@
             }
         },
 
-      currentChange(currentPage) {
-        this.page.currentPage = currentPage
-      },
-      sizeChange(pageSize) {
-        this.page.pageSize = pageSize
-      },
-      refreshChange() {
-        this.onLoad(this.page, this.query)
-      },
-      onLoad(page, params = {}) {
-        const {
-          dateTime
-        } = this.query
-        let values = {
-          ...params,
-        }
-        values.reportType = 1
-        this.loading = true
-        getBailReportingPage(page.currentPage, page.pageSize, values).then((res) => {
-          const data = res.data.data
-          this.page.total = data.total
-          this.data = data.records
-          this.data.forEach(item => {
-            if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
-              var urls = []
-              var names = item.imageUrls.split(",").filter(item => item != '')
-              names.forEach(name => {
-                urls.push(website.minioUrl + name)
-              })
-              item.imageUrls = urls.join(",")
+        currentChange (currentPage) {
+            this.page.currentPage = currentPage
+        },
+        sizeChange (pageSize) {
+            this.page.pageSize = pageSize
+        },
+        refreshChange () {
+            this.onLoad(this.page, this.query)
+        },
+        onLoad (page, params = {}) {
+            const {
+                dateTime
+            } = this.query
+            let values = {
+                ...params,
             }
-          })
-          this.loading = false
-          this.selectionClear()
-        })
-      }
+            values.reportType = 1
+            this.loading = true
+            getBailReportingPage(page.currentPage, page.pageSize, values).then((res) => {
+                const data = res.data.data
+                this.page.total = data.total
+                this.data = data.records
+                this.data.forEach(item => {
+                    this.$set(item, 'phoneflag', false)
+                    if (item.imageUrls && item.imageUrls != '' && item.imageUrls != null && item.imageUrls.length) {
+                        var urls = []
+                        var names = item.imageUrls.split(",").filter(item => item != '')
+                        names.forEach(name => {
+                            urls.push(website.minioUrl + name)
+                        })
+                        item.imageUrls = urls.join(",")
+                    }
+                })
+                this.loading = false
+                this.selectionClear()
+            })
+        }
     }
 }
 </script>
@@ -493,4 +525,4 @@
 .avue-upload__icon {
     line-height: 6;
 }
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.3