From d16d10d94fddff86bdfd87113e7fd2cebe8b7cd7 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 24 Jan 2024 18:15:06 +0800
Subject: [PATCH] 居民监管样式调整

---
 src/views/publicSecurity/bailReporting.vue |  932 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 468 insertions(+), 464 deletions(-)

diff --git a/src/views/publicSecurity/bailReporting.vue b/src/views/publicSecurity/bailReporting.vue
index e44659d..940b505 100644
--- a/src/views/publicSecurity/bailReporting.vue
+++ b/src/views/publicSecurity/bailReporting.vue
@@ -1,48 +1,47 @@
 <template>
-    <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-scope="{row, size, index}" slot="menu">
-                <el-button :size="size" type="text" icon="el-icon-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>
-                <el-button :size="size" type="text" icon="el-icon-delete" plain @click="rowDel(row)">删 除
-                </el-button>
-            </template>
+  <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-scope="{row, size, index}" slot="menu">
+        <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 && permission.bail_check" plain
+          @click="lookDetail(row, 1)">审 核
+        </el-button>
+        <el-button :size="size" type="text" icon="el-icon-delete" v-if="permission.bail_del"   plain @click="rowDel(row)">删 除
+        </el-button>
+      </template>
 
-            <template slot="status" slot-scope="{row, size}">
-                <el-tag :size="size" :type="showStatus(row.status).type">
-                    {{ showStatus(row.status).text }}
-                </el-tag>
-            </template>
-        </avue-crud>
+      <template slot="status" slot-scope="{row, size}">
+        <el-tag :size="size" :type="showStatus(row.status).type">
+          {{ showStatus(row.status).text }}
+        </el-tag>
+      </template>
+    </avue-crud>
 
-        <el-dialog class="place-info-box audit-info-box" title="" append-to-body :visible.sync="auditBasePopup" width="60%">
-            <bailReportingDetail @colseDetail="colseDetail" ref="bailReportingDetail"></bailReportingDetail>
-        </el-dialog>
-    </basic-container>
+    <el-dialog class="place-info-box audit-info-box" title="" append-to-body :visible.sync="auditBasePopup" width="60%">
+      <bailReportingDetail @colseDetail="colseDetail" ref="bailReportingDetail"></bailReportingDetail>
+    </el-dialog>
+  </basic-container>
 </template>
 
 <script>
 import {
-    getList,
-    removeTask,
-    update,
-    add,
+  getBailReportingPage,
+  removeTask,
+  update,
+  add,
 } from "@/api/task/task"
 
 import {
-    update as bailReportingUpdate,
-    getList as bailReportingGetList
+  update as bailReportingUpdate,
+  getList as bailReportingGetList
 } from "@/api/task/bailReporting"
 
 import {
-    mapGetters
+  mapGetters
 } from "vuex"
 
 import website from '@/config/website'
@@ -51,445 +50,450 @@
 // import baseAllInfo from './components/baseAllInfo'
 
 export default {
-    data () {
+  data() {
 
-        //手机号格式校验
-        let validatorPhone = function (rule, value, callback) {
-            if (value) {
-                if (!/^1[3456789]\d{9}$/.test(value)) {
-                    callback(new Error('手机号格式有误!'))
-                } else {
-                    callback()
-                }
-            }
-            callback()
+    //手机号格式校验
+    let validatorPhone = function (rule, value, callback) {
+      if (value) {
+        if (!/^1[3456789]\d{9}$/.test(value)) {
+          callback(new Error('手机号格式有误!'))
+        } else {
+          callback()
         }
-
-        return {
-            curRow: {},
-            roleBox: false,
-
-            form: {},
-            query: {},
-            loading: true,
-
-            page: {
-                pageSize: 10,
-                currentPage: 1,
-                total: 0,
-            },
-            datetime: "",
-            selectionList: [],
-            option: {
-                labelWidth: 96,
-                searchLabelWidth: 96,
-                searchShow: true,
-                searchMenuSpan: 3,
-                menuWidth: 210,
-
-                height: "auto",
-                calcHeight: 54,
-                dialogWidth: 950,
-                tip: false,
-                border: true,
-                // menu: false,
-                //stripe:true,
-                index: true,
-                // viewBtn: true,
-                delBtn: false,
-                editBtn: false,
-                selection: true,
-                dialogClickModal: false,
-                column: [{
-                    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: 100,
-                    span: 12,
-                    label: "名称",
-                    prop: "name",
-                    searchSpan: 4,
-                    searchLabelWidth: 66,
-                    search: true,
-                }, {
-                    width: 120,
-                    span: 12,
-                    label: "联系方式",
-                    prop: "phone",
-                    searchSpan: 4,
-                    search: true,
-                    rules: [
-                        {
-                            validator: validatorPhone,
-                            trigger: 'blur'
-                        }
-                    ],
-                },
-                {
-                    width: 144,
-                    label: "创建时间",
-                    prop: "createTime",
-                    searchSpan: 4,
-                },
-                {
-                    width: 100,
-                    addDisplay: false,
-                    editDisplay: false,
-                    viewDisplay: false,
-                    label: '审核状态',
-                    prop: 'status',
-                    type: 'radio',
-                    slot: true,
-                    dicData: [{
-                        label: '待审核',
-                        value: 1
-                    }, {
-                        label: '已审核',
-                        value: 2
-                    }, {
-                        label: '未通过',
-                        value: 3
-                    }]
-                },
-                {
-                    width: 100,
-                    addDisplay: false,
-                    editDisplay: false,
-                    viewDisplay: false,
-                    label: '类型',
-                    prop: 'reportType',
-                    type: 'radio',
-                    slot: true,
-                    // search: true,
-                    dicData: [{
-                        label: '取保候审',
-                        value: 1
-                    },]
-                },
-                {
-                    overHidden: true,
-                    span: 12,
-                    label: "地址",
-                    prop: "addressName",
-                    searchSpan: 4,
-                },
-                ],
-            },
-            data: [],
-
-            auditBasePopup: false,
-        }
-    },
-
-    provide () {
-        return {
-            placeElement: this,
-        }
-    },
-
-    components: {
-        bailReportingDetail,
-    },
-
-    watch: {},
-
-    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(",")
-        },
-
-        showStatus () {
-            return (data) => {
-                let tags = {}
-
-                if (data == 1) {
-                    tags = {
-                        type: 'warning',
-                        text: '待审核'
-                    }
-                } else if (data == 2) {
-                    tags = {
-                        type: 'success',
-                        text: '已审核'
-                    }
-                } else if (data == 3) {
-                    tags = {
-                        type: 'danger',
-                        text: '未通过'
-                    }
-                }
-
-                return tags
-            }
-        }
-    },
-    methods: {
-        colseDetail () {
-            this.auditBasePopup = false
-            this.onLoad(this.page)
-        },
-        lookDetail (row, applyType) {
-            this.auditBasePopup = true
-            var that = this
-            this.$nextTick(() => {
-                that.$refs.bailReportingDetail.init(row, applyType)
-            })
-        },
-        auditCur (row) {
-            this.curAuditRow = row
-            this.auditBasePopup = true
-        },
-
-        roleBoxClose () {
-            this.curRow = {}
-        },
-
-        ManageTenants (item) {
-            this.curRow = item
-            this.roleBox = true
-        },
-
-        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.page)
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                    done()
-                },
-                (error) => {
-                    window.console.log(error)
-                    loading()
-                }
-            )
-        },
-
-        rowUpdate (row, index, done, loading) {
-            bailReportingUpdate({
-                ...row
-            }).then(
-                () => {
-                    this.onLoad(this.page)
-                    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.page)
-
-                    this.$message({
-                        type: "success",
-                        message: "操作成功!",
-                    })
-                })
-        },
-        searchReset () {
-            this.query = {}
-            this.onLoad(this.page)
-        },
-        searchChange (params, done) {
-            this.query = params
-            this.page.currentPage = 1
-            this.onLoad(this.page, params)
-            done()
-        },
-        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.page)
-                    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 (page, params = {}) {
-            const {
-                dateTime
-            } = this.query
-            let values = {
-                ...params,
-            }
-            values.reportType = 1
-            this.loading = true
-            getList(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(",")
-                    }
-                })
-                this.loading = false
-                this.selectionClear()
-            })
-        }
+      }
+      callback()
     }
+
+    return {
+      curRow: {},
+      roleBox: false,
+
+      form: {},
+      query: {},
+      loading: true,
+
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      datetime: "",
+      selectionList: [],
+      option: {
+        labelWidth: 96,
+        searchLabelWidth: 96,
+        searchShow: true,
+        searchMenuSpan: 3,
+        menuWidth: 210,
+
+        height: "auto",
+        calcHeight: 54,
+        dialogWidth: 950,
+        tip: false,
+        border: true,
+        // menu: false,
+        //stripe:true,
+        index: true,
+        // viewBtn: true,
+        delBtn: false,
+        editBtn: false,
+        selection: true,
+        dialogClickModal: false,
+        column: [{
+          span: 12,
+          label: "社区",
+          prop: "communityName",
+          searchSpan: 4,
+          searchLabelWidth: 66,
+          search: true,
+          hide: true,
+        },
+        {
+          span: 12,
+          label: "小区",
+          prop: "districtName",
+          searchSpan: 4,
+          searchLabelWidth: 66,
+          search: true,
+          hide: true,
+        },
+        {
+          width: 100,
+          span: 12,
+          label: "姓名",
+          prop: "realName",
+          searchSpan: 3,
+          searchLabelWidth: 66,
+          search: true,
+        }, {
+          width: 120,
+          span: 12,
+          label: "联系方式",
+          prop: "phone",
+          searchSpan: 4,
+          search: true,
+          rules: [{
+            validator: validatorPhone,
+            trigger: 'blur'
+          }],
+        }, {
+          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,
+          editDisplay: false,
+          viewDisplay: false,
+          label: '审核状态',
+          prop: 'status',
+          type: 'radio',
+          slot: true,
+          dicData: [{
+            label: '待审核',
+            value: 1
+          }, {
+            label: '已审核',
+            value: 2
+          }, {
+            label: '未通过',
+            value: 3
+          }]
+        },
+
+
+        ],
+      },
+      data: [],
+
+      auditBasePopup: false,
+    }
+  },
+
+  provide() {
+    return {
+      placeElement: this,
+    }
+  },
+
+  components: {
+    bailReportingDetail,
+  },
+
+  watch: {},
+
+  computed: {
+    ...mapGetters(["permission", "userInfo"]),
+    permissionList() {
+
+         console.log("permission===>",this.permission);
+
+      return {
+        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() {
+      let ids = []
+      this.selectionList.forEach((ele) => {
+        ids.push(ele.id)
+      })
+      return ids.join(",")
+    },
+
+    showStatus() {
+      return (data) => {
+        let tags = {}
+
+        if (data == 1) {
+          tags = {
+            type: 'warning',
+            text: '待审核'
+          }
+        } else if (data == 2) {
+          tags = {
+            type: 'success',
+            text: '已审核'
+          }
+        } else if (data == 3) {
+          tags = {
+            type: 'danger',
+            text: '未通过'
+          }
+        }
+
+        return tags
+      }
+    }
+  },
+  methods: {
+    colseDetail() {
+      this.auditBasePopup = false
+      this.onLoad(this.page)
+    },
+    lookDetail(row, applyType) {
+      this.auditBasePopup = true
+      var that = this
+      this.$nextTick(() => {
+        that.$refs.bailReportingDetail.init(row, applyType)
+      })
+    },
+    auditCur(row) {
+      this.curAuditRow = row
+      this.auditBasePopup = true
+    },
+
+    roleBoxClose() {
+      this.curRow = {}
+    },
+
+    ManageTenants(item) {
+      this.curRow = item
+      this.roleBox = true
+    },
+
+    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.page)
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+          done()
+        },
+        (error) => {
+          window.console.log(error)
+          loading()
+        }
+      )
+    },
+
+    rowUpdate(row, index, done, loading) {
+      bailReportingUpdate({
+        ...row
+      }).then(
+        () => {
+          this.onLoad(this.page)
+          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.page)
+
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          })
+        })
+    },
+    searchReset() {
+      this.query = {}
+      this.onLoad(this.page)
+    },
+    searchChange(params, done) {
+      this.query = params
+      this.page.currentPage = 1
+      this.onLoad(this.page, params)
+      done()
+    },
+    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.page)
+          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(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(",")
+          }
+        })
+        this.loading = false
+        this.selectionClear()
+      })
+    }
+  }
 }
 </script>
 
 <style>
 .avue-upload__icon {
-    line-height: 6;
+  line-height: 6;
 }
 </style>
\ No newline at end of file

--
Gitblit v1.9.3