wjt
2024-06-25 244d89b41c0e0e995d38f635a126a0959b9ba25b
policy/reportDetails/reportDetails.vue
@@ -1,22 +1,149 @@
<template>
   <view>
   <view class="page-box">
      <view class="box">
         <view class="form">
            <view class="form-item">
               <view class="label">执法主题</view>
               <view class="input">{{details.enforceReason}}</view>
            </view>
            <view class="form-item">
               <view class="label">执法对象</view>
               <view class="input">{{details.companyName}}</view>
            </view>
            <view class="form-item">
               <view class="label">执法时间</view>
               <view class="input">{{details.planTime}}</view>
            </view>
            <view class="form-item">
               <view class="label">执法类型</view>
               <view class="input">{{enforceType}}</view>
            </view>
            <view class="form-item">
               <view class="label">执法人员</view>
               <view class="input">{{details.executeUser}}</view>
            </view>
            <view class="form-item">
               <view class="label">执法部门</view>
               <view class="input">{{details.executeDeptName}}</view>
            </view>
         </view>
      </view>
      <view class="box">
         <view class="form-input">
            <view class="form-input-item" style="margin-bottom: 40rpx;">
               <view class="form-label require" style="margin-bottom: 40rpx;">执法结果</view>
               <view>
                  <u-radio-group v-model="form.regionStatus">
                     <u-radio shape="circle" label="正常" name="0"></u-radio>
                     <u-radio shape="circle" label="待整改" name="1"></u-radio>
                  </u-radio-group>
               </view>
            </view>
            <view class="form-input-item">
               <view class="form-label require">执法结果说明</view>
               <u-textarea placeholder="请输入..." count v-model="form.regionReason" maxlength="500"></u-textarea>
            </view>
            <view class="form-input-item">
               <view class="form-label require">执法照片</view>
               <view>
                  <view class="show-hint">可上传9张图,单张不得超过10M</view>
               </view>
               <view>
                  <uploadImage ref="uploadImage"></uploadImage>
               </view>
            </view>
         </view>
      </view>
      <view class="down">
         <view class="button" @click="startReport">
            上报结果
         </view>
      </view>
   </view>
</template>
<script>
   import uploadImage from '@/policy/components/upload.vue'
   import { orderDetails,orderUpd } from '@/api/policy.js'
   import { getDicts } from '@/api/data.js'
   export default {
      components: {
         uploadImage
      },
      data() {
         return {
            form: {
               regionReason: '',
               regionStatus: '0'
            },
            fileList1: [],
            details: {},
            enforceType: ""
         }
      },
      onLoad(options) {
         this.orderDetails(options.id)
      },
      methods: {
         // 获取执法类型枚举
         getDicts() {
            getDicts('enforce_type').then(val => {
               if(val.data.data) {
                  this.enforceType = val.data.data.find(item => item.dictCode == this.details.enforceType).dictLabel
               }
            })
         },
         // 获取执法单详情
         orderDetails(id) {
            orderDetails({orderId: id}).then(val => {
               this.details = val.data.data
               this.getDicts()
            })
         },
         // 上报执行结果
         startReport() {
            if(!this.form.regionReason){
               uni.showToast({
                  title: '请填写执法结果',
                  icon: 'none'
               })
               return
            }
            const image = this.$refs.uploadImage.imageList
            if(!image.length){
               uni.showToast({
                  title: '请上传执法图片',
                  icon: 'none'
               })
               return
            }
            this.details.regionReason = this.form.regionReason
            this.form.regionImgs = image.join()
            this.form.orderId = this.details.orderId
            orderUpd(this.form).then(val  =>{
               if(val.data.code == 200) {
                  uni.showToast({
                     title: '上报成功',
                     icon: 'none'
                  })
                  setTimeout(() => {
                     uni.navigateBack()
                  }, 500)
               }
            })
         }
      }
   }
</script>
<style>
   page {
      background-color: #F4F4F4;
   }
</style>
<style lang="scss" scoped>
   @import "./reportDetails.scss";
   /deep/ .u-radio{
      margin-right: 80rpx;
   }
</style>