linwei
2024-01-10 f89867e71936474a1afd1994e49a3f55d937ec33
取保候审优化
9 files modified
1 files added
1068 ■■■■ changed files
src/api/task/task.js 11 ●●●●● patch | view | raw | blame | history
src/api/userHouse/list/userHouseList.js 13 ●●●●● patch | view | raw | blame | history
src/views/publicSecurity/bailReporting.vue 181 ●●●●● patch | view | raw | blame | history
src/views/publicSecurity/components/bailReportingDetail.vue 26 ●●●● patch | view | raw | blame | history
src/views/publicSecurity/components/campusReporting.vue 6 ●●●● patch | view | raw | blame | history
src/views/publicSecurity/components/hotelReporting.vue 6 ●●●● patch | view | raw | blame | history
src/views/publicSecurity/components/labelReporting.vue 6 ●●●● patch | view | raw | blame | history
src/views/publicSecurity/keynotePersonnelManage.vue 551 ●●●●● patch | view | raw | blame | history
src/views/publicSecurity/keynotePlaceManage.vue 211 ●●●● patch | view | raw | blame | history
src/views/work/process/maintenanceFundApply/handle.vue 57 ●●●● patch | view | raw | blame | history
src/api/task/task.js
@@ -11,6 +11,17 @@
    }
  })
}
export const getBailReportingPage = (current, size, params) => {
  return request({
    url: '/api/blade-task/task/getBailReportingPage',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
}
export const removeTask = (row) => {
  return request({
src/api/userHouse/list/userHouseList.js
@@ -84,3 +84,16 @@
    data: row
  })
}
export const statisticalLabels = (current, size, params) => {
  return request({
    url: '/api/blade-houseLabel/userHouseLabel/statisticalLabels',
    method: 'get',
    params: {
      ...params,
      current,
      size,
    }
  })
}
src/views/publicSecurity/bailReporting.vue
@@ -24,7 +24,7 @@
<script>
  import {
    getList,
    getBailReportingPage,
    removeTask,
    update,
    add,
@@ -79,78 +79,36 @@
          selection: true,
          dialogClickModal: false,
          column: [{
              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",
              }, ],
            }, {
              // 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",
              }, ],
            }, {
              label: "小区",
              prop: "aoiCode",
              searchSpan: 4,
              type: 'tree',
              search: true,
              parent: false,
              dicUrl: `/api/blade-district/district/getDistrictTree`,
              props: {
                label: "name",
                value: "aoiCode"
              },
              // defaultExpandedKeys: ["361102003"],
              span: 12,
              labelWidth: 120,
              // width: 220,
              // overHidden: true,
              rules: [{
                required: true,
                message: "请选择小区",
                trigger: "blur",
              }, ],
              // disabled: true
              display: true,
              // hide: true,
              label: "社区",
              prop: "communityName",
              searchSpan: 4,
              search: true,
              hide: true,
            },
            {
              span: 12,
              label: "小区",
              prop: "districtName",
              searchSpan: 4,
              search: true,
              hide: true,
            }, {
              span: 12,
              label: "名称",
              prop: "name",
              prop: "realName",
              searchSpan: 4,
              search: true,
            }, {
              span: 12,
              label: "电话",
              prop: "phone",
              searchSpan: 4,
              search: true,
            }, {
              span: 12,
              label: "外出事由",
              prop: "applyName",
              searchSpan: 4,
              search: true,
            },
@@ -179,25 +137,88 @@
              }]
            },
            {
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              label: '类型',
              prop: 'reportType',
              type: 'radio',
              slot: true,
              // search: true,
              dicData: [{
                label: '取保候审',
                value: 1
              }, ]
            },
            {
              span: 12,
              label: "地址",
              prop: "addressName",
              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",
              }, ],
            }, {
              // 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",
              }, ],
            }, {
              label: "小区",
              prop: "aoiCode",
              searchSpan: 4,
              type: 'tree',
              // search: true,
              parent: false,
              dicUrl: `/api/blade-district/district/getDistrictTree`,
              props: {
                label: "name",
                value: "aoiCode"
              },
              // defaultExpandedKeys: ["361102003"],
              span: 12,
              labelWidth: 120,
              // width: 220,
              // overHidden: true,
              rules: [{
                required: true,
                message: "请选择小区",
                trigger: "blur",
              }, ],
              // disabled: true
              display: true,
              // hide: true,
            },
            // {
            //   addDisplay: false,
            //   editDisplay: false,
            //   viewDisplay: false,
            //   label: '类型',
            //   prop: 'reportType',
            //   type: 'radio',
            //   slot: true,
            //   // search: true,
            //   dicData: [{
            //     label: '取保候审',
            //     value: 1
            //   }, ]
            // },
            // {
            //   span: 12,
            //   label: "地址",
            //   prop: "addressName",
            //   searchSpan: 4,
            // },
          ],
        },
        data: [],
@@ -404,7 +425,7 @@
        }
        values.reportType = 1
        this.loading = true
        getList(page.currentPage, page.pageSize, values).then((res) => {
        getBailReportingPage(page.currentPage, page.pageSize, values).then((res) => {
          const data = res.data.data
          this.page.total = data.total
          this.data = data.records
src/views/publicSecurity/components/bailReportingDetail.vue
@@ -29,8 +29,7 @@
            option: {
                submitBtn: false,
                emptyBtn: false,
                column: [
                    {
          column: [{
                        // span: 10,
                        label: '申请人',
                        prop: 'checkUserName',
@@ -224,19 +223,20 @@
<style lang="scss" scoped>
.cur-container-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 50px;
    // display: flex;
    // flex-direction: column;
    // width: 100%;
    // // height: 100%;
    // overflow: hidden;
    .content-box {
        // margin: 0 4px;
        // padding: 0 16px;
        // height: 0;
        // flex: 1;
        // overflow: hidden;
        // overflow-y: auto;
      margin: 0 4px;
      padding: 0 16px;
      height: 0;
      flex: 1;
      overflow: hidden;
      overflow-y: auto;
    }
    .footer-btn-box {
src/views/publicSecurity/components/campusReporting.vue
@@ -227,11 +227,7 @@
<style lang="scss" scoped>
.cur-container-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 50px;
    .content-box {
        margin: 0 4px;
src/views/publicSecurity/components/hotelReporting.vue
@@ -279,11 +279,7 @@
<style lang="scss" scoped>
.cur-container-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 50px;
    .content-box {
        margin: 0 4px;
src/views/publicSecurity/components/labelReporting.vue
@@ -181,11 +181,7 @@
<style lang="scss" scoped>
.cur-container-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    padding: 50px;
    .content-box {
        margin: 0 4px;
src/views/publicSecurity/keynotePersonnelManage.vue
New file
@@ -0,0 +1,551 @@
<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="scope" slot="menu">
        <el-button type="text" size="small" icon="el-icon-view" plain @click="lookDetail(scope.row,0)">查 看
        </el-button>
        <el-button type="text" size="small" icon="el-icon-s-check" v-if="scope.row.status == 1" plain
          @click="lookDetail(scope.row,1)">审 核
        </el-button>
        <el-button type="text" size="small" icon="el-icon-delete" plain @click="rowDel(scope.row)">删 除
        </el-button>
      </template>
    </avue-crud>
    <el-dialog title="" append-to-body :visible.sync="auditBasePopup" width="60%">
      <campusReporting @colseDetail="colseDetail" v-if="taskType == 6" ref="campusReporting"></campusReporting>
      <hotelReporting @colseDetail="colseDetail" v-if="taskType == 2" ref="hotelReporting"></hotelReporting>
      <labelReporting @colseDetail="colseDetail" v-if="taskType == 3" ref="labelReporting"></labelReporting>
    </el-dialog>
  </basic-container>
</template>
<script>
  import {
    statisticalLabels
  } from "/src/api/userHouse/list/userHouseList"
  // import {
  //   getList,
  //   removeTask,
  //   update,
  //   add,
  // } from "@/api/task/task"
  import {
    mapGetters
  } from "vuex"
  import website from '@/config/website'
  import campusReporting from './components/campusReporting'
  import hotelReporting from './components/hotelReporting'
  import labelReporting from './components/labelReporting'
  export default {
    data() {
      return {
        taskType: 0,
        curRow: {},
        roleBox: false,
        form: {},
        query: {},
        loading: true,
        page: {
          pageSize: 10,
          currentPage: 1,
          total: 0,
        },
        datetime: "",
        selectionList: [],
        option: {
          height: "auto",
          calcHeight: 54,
          dialogWidth: 950,
          tip: false,
          searchShow: true,
          searchMenuSpan: 3,
          menuWidth: 280,
          // menu: false,
          border: true,
          //stripe:true,
          index: true,
          // viewBtn: true,
          editBtn: false,
          delBtn: false,
          selection: true,
          dialogClickModal: false,
          column: [
            // {
            //   span: 12,
            //   label: "场所名称",
            //   prop: "name",
            //   searchSpan: 4,
            //   search: true,
            // },
            {
              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: "realName",
              searchSpan: 4,
              search: true,
            }, {
              span: 12,
              label: "电话",
              prop: "phone",
              searchSpan: 4,
              search: true,
            }, {
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              label: '类型',
              prop: 'reportType',
              type: 'radio',
              slot: true,
              search: true,
              searchSpan: 3,
              dicData: [{
                label: '旅馆安全',
                value: 2
              }, {
                label: '打金店',
                value: 3
              }, {
                label: '二手手机维修',
                value: 4
              }, {
                label: '二手车交易',
                value: 5
              }, {
                label: '校园安全',
                value: 6
              }]
            },
            {
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              label: '审核状态',
              prop: 'status',
              type: 'radio',
              slot: true,
              dicData: [{
                label: '待审核',
                value: 1
              }, {
                label: '已审核',
                value: 2
              }, {
                label: '未通过',
                value: 3
              }]
            }, {
              label: "创建时间",
              prop: "createTime",
              searchSpan: 4,
            }, {
              label: "所属街道",
              // hide: true,
              // search: true,
              parent: false,
              searchSpan: 4,
              prop: "streetCode",
              type: "tree",
              dicUrl: "/api/blade-system/region/getTownTree",
              props: {
                label: "name",
                value: "id"
              },
              rules: [{
                required: true,
                message: "请选择所属街道",
                trigger: "blur",
              }, ],
            }, {
              // hide: true,
              // search: true,
              parent: false,
              searchSpan: 4,
              label: "所属社区",
              prop: "neiCode",
              // search: false,
              type: "tree",
              dicUrl: "/api/blade-system/region/tree",
              props: {
                label: "name",
                value: "id",
              },
              rules: [{
                required: true,
                message: "请选择所属社区",
                trigger: "blur",
              }, ],
            }, {
              // hide: true,
              // search: true,
              parent: false,
              searchSpan: 4,
              label: "小区",
              prop: "aoiCode",
              // search: false,
              type: "tree",
              dicUrl: "/api/blade-district/district/getDistrictTree",
              props: {
                label: "name",
                value: "aoiCode"
              },
              rules: [{
                required: true,
                message: "请选择小区",
                trigger: "blur",
              }, ],
            }, {
              span: 12,
              label: "地址",
              prop: "addressName",
              searchSpan: 4,
              // search: true,
              rules: [{
                required: true,
                message: "请输入场所名称",
                trigger: "blur",
              }, ],
            },
          ],
        },
        data: [],
        auditBasePopup: false,
      }
    },
    provide() {
      return {
        placeElement: this,
      }
    },
    components: {
      campusReporting,
      hotelReporting,
      labelReporting,
    },
    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(",")
      },
    },
    methods: {
      colseDetail() {
        this.auditBasePopup = false
        this.onLoad(this.page)
      },
      lookDetail(row, applyType) {
        this.auditBasePopup = true
        var that = this
        if (row.reportType == 6) {
          this.taskType = 6
          this.$nextTick(() => {
            that.$refs.campusReporting.init(row, applyType)
          })
        }
        if (row.reportType == 2) {
          this.taskType = 2
          this.$nextTick(() => {
            that.$refs.hotelReporting.init(row, applyType)
          })
        }
        if (row.reportType == 3 || row.reportType == 4 || row.reportType == 5) {
          this.taskType = 3
          this.$nextTick(() => {
            that.$refs.labelReporting.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) {
        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.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)) {
          // getPlace(this.form.id).then((res) => {
          //   this.form = res.data.data
          //   if (this.form.imageUrls.length) {
          //     this.form.imageUrls = this.form.imageUrls.split(",").filter(item => item != '').map(item => website
          //       .minioUrl + item).join(',')
          //   }
          //   if (this.form.placePoiLabelVOList.length) {
          //     let lebelTwo = this.form.placePoiLabelVOList.find(item => {
          //       return item.type == 2
          //     })
          //     if (lebelTwo) this.form.label = String(lebelTwo.poiCode)
          //     let lebelThree = this.form.placePoiLabelVOList.find(item => {
          //       return item.type == 3
          //     })
          //     if (lebelThree) this.form.smallLabel = String(lebelThree.poiCode)
          //   }
          //   done()
          // })
        } 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,
        }
        this.loading = true
        statisticalLabels(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 lang="scss" scoped>
  .avue-upload__icon {
    line-height: 6;
  }
  .cur-container-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
    .content-box {
      margin: 0 4px;
      padding: 0 16px;
      height: 0;
      flex: 1;
      overflow: hidden;
      overflow-y: auto;
    }
    .footer-btn-box {
      margin-top: 10px;
      display: flex;
      justify-content: center;
    }
  }
</style>
src/views/publicSecurity/keynotePlaceManage.vue
@@ -78,63 +78,7 @@
          delBtn: false,
          selection: true,
          dialogClickModal: false,
          column: [{
              label: "所属街道",
              // hide: true,
              search: true,
              parent: false,
              searchSpan: 4,
              prop: "streetCode",
              type: "tree",
              dicUrl: "/api/blade-system/region/getTownTree",
              props: {
                label: "name",
                value: "id"
              },
              rules: [{
                required: true,
                message: "请选择所属街道",
                trigger: "blur",
              }, ],
            }, {
              // hide: true,
              search: true,
              parent: false,
              searchSpan: 4,
              label: "所属社区",
              prop: "neiCode",
              // search: false,
              type: "tree",
              dicUrl: "/api/blade-system/region/tree",
              props: {
                label: "name",
                value: "id",
              },
              rules: [{
                required: true,
                message: "请选择所属社区",
                trigger: "blur",
              }, ],
            }, {
              // hide: true,
              search: true,
              parent: false,
              searchSpan: 4,
              label: "小区",
              prop: "aoiCode",
              // search: false,
              type: "tree",
              dicUrl: "/api/blade-district/district/getDistrictTree",
              props: {
                label: "name",
                value: "aoiCode"
              },
              rules: [{
                required: true,
                message: "请选择小区",
                trigger: "blur",
              }, ],
            },
          column: [
            // {
            //   span: 12,
            //   label: "场所名称",
@@ -142,6 +86,22 @@
            //   searchSpan: 4,
            //   search: true,
            // },
            {
              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: "名称",
@@ -154,52 +114,6 @@
              prop: "phone",
              searchSpan: 4,
              search: true,
            }, {
              span: 12,
              label: "地址",
              prop: "addressName",
              searchSpan: 4,
            }, {
              label: "创建时间",
              prop: "createTime",
              searchSpan: 4,
            }, {
              span: 12,
              label: "地址",
              prop: "addressName",
              searchSpan: 4,
              // search: true,
              rules: [{
                required: true,
                message: "请输入场所名称",
                trigger: "blur",
              }, ],
            }, {
              label: "创建时间",
              prop: "createTime",
              searchSpan: 4,
            },
            {
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              label: '审核状态',
              prop: 'status',
              type: 'radio',
              slot: true,
              dicData: [{
                label: '待审核',
                value: 1
              }, {
                label: '已审核',
                value: 2
              }, {
                label: '未通过',
                value: 3
              }]
            }, {
              addDisplay: false,
              editDisplay: false,
@@ -227,6 +141,97 @@
                value: 6
              }]
            },
            {
              addDisplay: false,
              editDisplay: false,
              viewDisplay: false,
              label: '审核状态',
              prop: 'status',
              type: 'radio',
              slot: true,
              dicData: [{
                label: '待审核',
                value: 1
              }, {
                label: '已审核',
                value: 2
              }, {
                label: '未通过',
                value: 3
              }]
            }, {
              label: "创建时间",
              prop: "createTime",
              searchSpan: 4,
            }, {
              label: "所属街道",
              // hide: true,
              // search: true,
              parent: false,
              searchSpan: 4,
              prop: "streetCode",
              type: "tree",
              dicUrl: "/api/blade-system/region/getTownTree",
              props: {
                label: "name",
                value: "id"
              },
              rules: [{
                required: true,
                message: "请选择所属街道",
                trigger: "blur",
              }, ],
            }, {
              // hide: true,
              // search: true,
              parent: false,
              searchSpan: 4,
              label: "所属社区",
              prop: "neiCode",
              // search: false,
              type: "tree",
              dicUrl: "/api/blade-system/region/tree",
              props: {
                label: "name",
                value: "id",
              },
              rules: [{
                required: true,
                message: "请选择所属社区",
                trigger: "blur",
              }, ],
            }, {
              // hide: true,
              // search: true,
              parent: false,
              searchSpan: 4,
              label: "小区",
              prop: "aoiCode",
              // search: false,
              type: "tree",
              dicUrl: "/api/blade-district/district/getDistrictTree",
              props: {
                label: "name",
                value: "aoiCode"
              },
              rules: [{
                required: true,
                message: "请选择小区",
                trigger: "blur",
              }, ],
            }, {
              span: 12,
              label: "地址",
              prop: "addressName",
              searchSpan: 4,
              // search: true,
              rules: [{
                required: true,
                message: "请输入场所名称",
                trigger: "blur",
              }, ],
            },
          ],
        },
        data: [],
src/views/work/process/maintenanceFundApply/handle.vue
@@ -3,44 +3,16 @@
    <el-form ref="form" :model="form" :rules="rules" label-width="80px">
      <el-row type="flex" class="row-bg" justify="end">
        <el-form-item>
          <el-button type="primary" @click="handleAgree">同意</el-button>
          <el-button type="danger" @click="handleDisagree">驳回</el-button>
          <el-button @click="handleCancel">关闭</el-button>
        </el-form-item>
      </el-row>
      <el-card shadow="hover">
        <div slot="header">
          <span>审批信息</span>
        </div>
        <avue-form :option="option" v-model="form"></avue-form>
        <!-- <el-form-item label="申请人">
          <el-input :disabled="true" v-model="form.flow.assigneeName" />
        </el-form-item>
        <el-row>
          <el-col :span="12">
            <el-form-item label="开始时间">
              <el-input :disabled="true" v-model="form.startTime" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="结束时间">
              <el-input :disabled="true" v-model="form.endTime" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-form-item label="请假理由">
          <el-input :disabled="true" type="textarea" v-model="form.reason" />
        </el-form-item>
        <el-form-item label="批复意见">
          <el-input type="textarea" v-model="form.comment" />
        </el-form-item> -->
      </el-card>
      <el-card shadow="hover">
        <div slot="header">
@@ -68,6 +40,21 @@
        </el-row>
      </el-card>
    </el-form>
    <!-- <div style="">
      <el-button type="primary" @click="handleAgree">同意</el-button>
      <el-button type="danger" @click="handleDisagree">驳回</el-button>
    </div> -->
    <div style="text-align: center;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 10px;">
      <el-button type="primary" @click="handleAgree">同意</el-button>
      <el-button type="danger" @click="handleDisagree">驳回</el-button>
    </div>
  </basic-container>
</template>
@@ -410,3 +397,17 @@
    }
  }
</script>
<style scoped>
  .container {
    position: relative;
    /* 确保按钮相对于该元素定位 */
  }
  #myButton {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
</style>