lin
2024-03-22 ebfc739bdbbc0dd0fccd0bf47b7d2d5397c3c511
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,23 +141,99 @@
                    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,
                             },
                    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",
                    label: "出发时间",
                    prop: "startTimes",
                    searchSpan: 4,
                },
                {
                    width: 144,
                    label: "到达时间",
                    prop: "reachTime",
                    searchSpan: 4,
                },
                {
                    width: 144,
                    label: "返程时间",
                    prop: "returnTime",
                    searchSpan: 4,
                },
                {
@@ -170,71 +256,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 +281,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 +322,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 +492,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 +537,4 @@
.avue-upload__icon {
    line-height: 6;
}
</style>
</style>