linwei
2024-01-10 f89867e71936474a1afd1994e49a3f55d937ec33
src/views/publicSecurity/components/campusReporting.vue
@@ -1,251 +1,247 @@
<template>
    <div class="cur-container-box">
        <div v-if="applyType == 1">
            <div class="content-box">
                审核当前项
            </div>
            <div class="footer-btn-box">
                <el-button type="primary" size="small" @click="auditPass(2)">通 过</el-button>
                <el-button size="small" @click="auditPass(3)">驳 回</el-button>
            </div>
        </div>
        <avue-form v-else :option="option" v-model="form"></avue-form>
  <div class="cur-container-box">
    <div v-if="applyType == 1">
      <div class="content-box">
        审核当前项
      </div>
      <div class="footer-btn-box">
        <el-button type="primary" size="small" @click="auditPass(2)">通 过</el-button>
        <el-button size="small" @click="auditPass(3)">驳 回</el-button>
      </div>
    </div>
    <avue-form v-else :option="option" v-model="form"></avue-form>
  </div>
</template>
<script>
import {
  import {
    getDetail,
    update
} from "@/api/task/campusReporting"
import website from '@/config/website'
export default {
    data () {
        return {
            form: {},
            applyType: '',
            option: {
                submitBtn: false,
                emptyBtn: false,
                column: [{
                    label: '申请人',
                    prop: 'checkUserName',
                    disabled: true,
                }, {
                    label: '申请人手机',
                    prop: 'checkTelephone',
                    disabled: true,
                }, {
                    label: '申请位置',
                    prop: 'location',
                    disabled: true,
                }, {
                    label: '申请时间',
                    prop: 'checkTime',
                    disabled: true,
                }, {
                    label: '安全通道',
                    prop: 'scStatus',
                    disabled: true,
                }, {
                    width: 110,
                    label: '安全通道图片',
                    prop: 'scImageUrls',
                    fileType: 'img',
                    type: "upload",
                    listType: "picture-card",
                    dataType: "string",
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '未成年人入住登记本照片',
                    prop: 'uanImageUrls',
                    fileType: 'img',
                    type: "upload",
                    listType: "picture-card",
                    dataType: "string",
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '审核时间',
                    prop: 'confirmTime',
                    disabled: true,
                }, {
                    label: '审核人',
                    prop: 'confirmUserName',
                    disabled: true,
                }, {
                    label: '审核意见',
                    prop: 'confirmNotion',
                    disabled: true,
                }, {
                    label: '审核状态',
                    prop: 'confirmFlag',
                    type: 'select',
                    dicData: [{
                        label: '待审核',
                        value: '1'
                    }, {
                        label: '审核通过',
                        value: '2'
                    }, {
                        label: '审核不通过',
                        value: '3'
                    }],
                    disabled: true,
                }, {
                    label: '校园名称',
                    prop: 'campusName',
                    disabled: true,
                }, {
                    label: '消费器材数量',
                    prop: 'fireFacsNums',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '消费器材状态',
                    prop: 'fireFacsStatus',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    width: 110,
                    label: '消费器材图片',
                    prop: 'fireFacsImageUrls',
                    fileType: 'img',
                    type: "upload",
                    listType: "picture-card",
                    dataType: "string",
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '消防器材种类',
                    prop: 'fireFacsType',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '校园周边安全巡查照片',
                    prop: 'patrolImageUrls',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '学校大门是否配备防撞装置',
                    prop: 'antiCollision',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '校园防撞装置照片',
                    prop: 'antiCollisionImageUrls',
                    fileType: 'img',
                    type: "upload",
                    listType: "picture-card",
                    dataType: "string",
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '专职保安人数',
                    prop: 'fullSoNums',
                    labelWidth: 120,
                    disabled: true,
                }, {
                    label: '兼职保安人数',
                    prop: 'partSoNums',
                    labelWidth: 120,
                    disabled: true,
                }, {
                    label: '学校监控总数',
                    prop: 'monitorNums',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '监控是否全覆盖',
                    prop: 'monitorOver',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '高空抛物监控',
                    prop: 'highAltitudeMonitor',
                    disabled: true,
                    labelWidth: 120,
                }, {
                    label: '高空抛物监控照片',
                    prop: 'haImageUrls',
                    fileType: 'img',
                    type: "upload",
                    listType: "picture-card",
                    dataType: "string",
                    disabled: true,
                    labelWidth: 120,
                },]
            }
  } from "@/api/task/campusReporting"
  import website from '@/config/website'
  export default {
    data() {
      return {
        form: {},
        applyType: '',
        option: {
          submitBtn: false,
          emptyBtn: false,
          column: [{
            label: '申请人',
            prop: 'checkUserName',
            disabled: true,
          }, {
            label: '申请人手机',
            prop: 'checkTelephone',
            disabled: true,
          }, {
            label: '申请位置',
            prop: 'location',
            disabled: true,
          }, {
            label: '申请时间',
            prop: 'checkTime',
            disabled: true,
          }, {
            label: '安全通道',
            prop: 'scStatus',
            disabled: true,
          }, {
            width: 110,
            label: '安全通道图片',
            prop: 'scImageUrls',
            fileType: 'img',
            type: "upload",
            listType: "picture-card",
            dataType: "string",
            disabled: true,
            labelWidth: 120,
          }, {
            label: '未成年人入住登记本照片',
            prop: 'uanImageUrls',
            fileType: 'img',
            type: "upload",
            listType: "picture-card",
            dataType: "string",
            disabled: true,
            labelWidth: 120,
          }, {
            label: '审核时间',
            prop: 'confirmTime',
            disabled: true,
          }, {
            label: '审核人',
            prop: 'confirmUserName',
            disabled: true,
          }, {
            label: '审核意见',
            prop: 'confirmNotion',
            disabled: true,
          }, {
            label: '审核状态',
            prop: 'confirmFlag',
            type: 'select',
            dicData: [{
              label: '待审核',
              value: '1'
            }, {
              label: '审核通过',
              value: '2'
            }, {
              label: '审核不通过',
              value: '3'
            }],
            disabled: true,
          }, {
            label: '校园名称',
            prop: 'campusName',
            disabled: true,
          }, {
            label: '消费器材数量',
            prop: 'fireFacsNums',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '消费器材状态',
            prop: 'fireFacsStatus',
            disabled: true,
            labelWidth: 120,
          }, {
            width: 110,
            label: '消费器材图片',
            prop: 'fireFacsImageUrls',
            fileType: 'img',
            type: "upload",
            listType: "picture-card",
            dataType: "string",
            disabled: true,
            labelWidth: 120,
          }, {
            label: '消防器材种类',
            prop: 'fireFacsType',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '校园周边安全巡查照片',
            prop: 'patrolImageUrls',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '学校大门是否配备防撞装置',
            prop: 'antiCollision',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '校园防撞装置照片',
            prop: 'antiCollisionImageUrls',
            fileType: 'img',
            type: "upload",
            listType: "picture-card",
            dataType: "string",
            disabled: true,
            labelWidth: 120,
          }, {
            label: '专职保安人数',
            prop: 'fullSoNums',
            labelWidth: 120,
            disabled: true,
          }, {
            label: '兼职保安人数',
            prop: 'partSoNums',
            labelWidth: 120,
            disabled: true,
          }, {
            label: '学校监控总数',
            prop: 'monitorNums',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '监控是否全覆盖',
            prop: 'monitorOver',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '高空抛物监控',
            prop: 'highAltitudeMonitor',
            disabled: true,
            labelWidth: 120,
          }, {
            label: '高空抛物监控照片',
            prop: 'haImageUrls',
            fileType: 'img',
            type: "upload",
            listType: "picture-card",
            dataType: "string",
            disabled: true,
            labelWidth: 120,
          }, ]
        }
      }
    },
    methods: {
        auditPass (type) {
            update({
                status: type,
                taskId: this.form.taskId,
                id: this.form.id
            }).then(() => {
                this.$message({
                    type: "success",
                    message: "操作成功!",
                })
                this.$emit('colseDetail')
            })
        },
        init (data, applyType) {
            this.applyType = applyType
            this.getTaskDetail(data.id)
        },
      auditPass(type) {
        update({
          status: type,
          taskId: this.form.taskId,
          id: this.form.id
        }).then(() => {
          this.$message({
            type: "success",
            message: "操作成功!",
          })
          this.$emit('colseDetail')
        })
      },
      init(data, applyType) {
        this.applyType = applyType
        this.getTaskDetail(data.id)
      },
        getTaskDetail (taskId) {
            getDetail({
                taskId: taskId
            }).then((res) => {
                this.form = res.data.data
                if (this.form.haImageUrls) {
                    this.form.haImageUrls = website.minioUrl + this.form.haImageUrls
                }
                if (this.form.scImageUrls) {
                    this.form.scImageUrls = website.minioUrl + this.form.scImageUrls
                }
                if (this.form.antiCollisionImageUrls) {
                    this.form.antiCollisionImageUrls = website.minioUrl + this.form.antiCollisionImageUrls
                }
                if (this.form.patrolImageUrls) {
                    this.form.patrolImageUrls = website.minioUrl + this.form.patrolImageUrls
                }
                if (this.form.fireFacsImageUrls) {
                    this.form.fireFacsImageUrls = website.minioUrl + this.form.fireFacsImageUrls
                }
            })
        }
      getTaskDetail(taskId) {
        getDetail({
          taskId: taskId
        }).then((res) => {
          this.form = res.data.data
          if (this.form.haImageUrls) {
            this.form.haImageUrls = website.minioUrl + this.form.haImageUrls
          }
          if (this.form.scImageUrls) {
            this.form.scImageUrls = website.minioUrl + this.form.scImageUrls
          }
          if (this.form.antiCollisionImageUrls) {
            this.form.antiCollisionImageUrls = website.minioUrl + this.form.antiCollisionImageUrls
          }
          if (this.form.patrolImageUrls) {
            this.form.patrolImageUrls = website.minioUrl + this.form.patrolImageUrls
          }
          if (this.form.fireFacsImageUrls) {
            this.form.fireFacsImageUrls = website.minioUrl + this.form.fireFacsImageUrls
          }
        })
      }
    }
}
  }
</script>
<style lang="scss" scoped>
.cur-container-box {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    overflow: hidden;
  .cur-container-box {
    padding: 50px;
    .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 {
        margin-top: 10px;
        display: flex;
        justify-content: center;
      margin-top: 10px;
      display: flex;
      justify-content: center;
    }
}
  }
</style>