caseOfflineInfo.vue 6.77 KB
<template>

      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
        <el-form-item label="案卷类型" prop="type">
          <el-input v-model="form.type" type="textarea"  :rows="3" disabled />
        </el-form-item>
        <el-form-item label="所属区域" prop="place">
          <el-select v-model="form.place" placeholder="请输入所属区域"  size="small" disabled>
              <el-option v-for="item in areas" :label="item.name" :value="item.code" />
            </el-select>
        </el-form-item>
        <el-form-item label="类型" prop="siteType">
          <el-select v-model="form.siteType" placeholder="请选择类型" disabled>
              <el-option label="工地" value="0" />
              <el-option label="消纳场" value="1" />
          </el-select>
        </el-form-item>
        <el-form-item :label="form.siteType==0?'工地名称':'消纳场名称'" prop="siteName">
          <el-select v-model="form.siteName" placeholder="请选择类型" disabled>
              <el-option v-for="item in data[form.siteType]" :label="item.name" :value="item.name" @native.click="getSite(item)" disabled/>
          </el-select>
        </el-form-item>
        <el-form-item label="问题描述" prop="caseDec">
          <el-input v-model="form.caseDec"  type="textarea" maxlength="200" :rows="3" disabled/>
        </el-form-item>
        <el-form-item label="位置描述" prop="locationDec">
          <el-input v-model="form.locationDec"  type="textarea" maxlength="100" :rows="3" disabled/>
        </el-form-item>
        <el-form-item label="审批意见" prop="advice1">
          <el-input v-model="form.advice1"  type="textarea" :rows="3" disabled/>
        </el-form-item>

        <el-form-item label="案卷编号" prop="number">
          <el-input v-model="form.number"  disabled/>
        </el-form-item>

        <el-form-item label="附件" prop="attach">
            <el-input v-model="form.attach" type="hidden"></el-input>
            <a @click="downloadFile(img);" style="color: blue;" v-for="img,index in form.attach">附件 - {{index+1}}</a>
        </el-form-item>


        <el-table :data="adviceList" v-if="adviceList != null">
          <el-table-column label="用户" width="55" align="center" prop="name"/>
          <el-table-column label="审批内容" align="center" prop="text" />
          <el-table-column label="时间" align="center" prop="time" />
        </el-table>


      </el-form>
</template>

<script>
import { listCaseOffline, getCaseOffline,getAdviceList } from "@/api/caseOffline/caseOffline";
  import {
    getArea,
    earthsitesList,
    constructionsitesList,
    getDict,

  } from "@/api/dict";
  import {
    getThreestep,
  } from "@/api/business/threestep";



  import {
    getToken
  } from "@/utils/auth";
export default {
  name: "CaseOffline",
  props: {
    businessKey: {
      type: String
    }
  },
  data() {
    return {
      // 遮罩层
      loading: true,
      // 选中数组
      ids: [],
      // 非单个禁用
      single: true,
      // 非多个禁用
      multiple: true,
      // 显示搜索条件
      showSearch: true,
      // 总条数
      total: 0,
      // 线下交办案卷表格数据
      caseOfflineList: [],
      // 弹出层标题
      title: "",
      // 是否显示弹出层
      open: false,
      open2:false,
      // 查询参数
      queryParams: {
        pageNum: 1,
        pageSize: 10,
        type: null,
        place: null,
        createTime: null,
      },
      uploadImageDialog:false,
      // 表单参数
      form: {},
      // 表单校验
      rules: {
      },
      caseType:[
        {code:1,name:"渣土处置工地(含消纳场)的渣土运输车辆出场车身不洁,车轮带泥"},
        {code:2,name:"未洗车出场或者出场清洁不彻底"},
        {code:3,name:"渣土运输车辆货箱顶盖未按规定关闭到位或未按规定和标准装载渣土出场"},
        {code:4,name:"非核准车辆进入渣土处置工地运输渣土"},
        {code:5,name:"渣土处置工地未按规定时间开停工"},
        {code:6,name:"渣土处置工地洗车设施等破损、未正常使用及措施不到位的"},
        {code:7,name:"渣土处置工地、消纳场(含回填场)出入口两侧50米范围内出现渣土污染、污水外排等现象"}
      ],
      areas:null,
      fileList:[],
      areas: [],
      upload: {
        // 是否显示弹出层(用户导入)
        open: false,
        // 弹出层标题(用户导入)
        title: "",
        // 是否禁用上传
        isUploading: false,
        // 设置上传的请求头部
        headers: {
          Authorization: "Bearer " + getToken()
        },
        // 上传的地址
        url: process.env.VUE_APP_BASE_API + "/business/threestep/upload",

      },
      workflow:"workflow_caseoffline",
      data:{},
      adviceList:[],
    };
  },
  created() {
    this.handleUpdate();
  },
  methods: {
    getSite(item){
      this.form.objectId = item.id;
    },
   getAreaName(code){
     for(let i =0;i<this.areas.length;i++){
       if(Number(code) == this.areas[i].code){
         return this.areas[i].name;
         break;
       }
     }
     return code;
   },
    getCaseType(type){
      for(let i in this.caseType){


        if(this.caseType[i].code==type)
          return this.caseType[i].name
      }
    },
    /** 修改按钮操作 */
    handleUpdate() {
      let id;
      if(this.businessKey.split(":").length == 2){
        id = this.businessKey.split(":")[1];
      }else{
        id = this.businessKey;
      }

      getCaseOffline(id).then(response => {
        this.form = response.data;
        if(this.form.attach && this.form.attach != "")
          this.form.attach  = this.form.attach.split(",");

        this.form.siteType = this.form.siteType + "";
        this.form.type = this.getCaseType(this.form.type);
        this.form.place = this.getAreaName(this.form.place);

        getAdviceList(this.workflow+":"+id).then(res=>{
            if(res.data){
              if(res.data.advice1){
                this.adviceList.push({name: res.data.advice1.create_by ,time:res.data.advice1.create_time,text:this.form.advice1})
              }
              if(res.data.advice2){
                this.adviceList.push({name: res.data.advice2.create_by ,time:res.data.advice2.create_time,text:this.form.advice2})
              }
              if(res.data.advice3){
                this.adviceList.push({name: res.data.advice3.create_by ,time:res.data.advice3.create_time,text:this.form.advice3})
              }
              if(res.data.advice4){
                this.adviceList.push({name: res.data.advice4.create_by ,time:res.data.advice4.create_time,text:this.form.advice4})
              }

            }
        });


        this.open2 = true;
      });


    },
  }
};
</script>