handleInfo.vue 8.02 KB
<template>
  <el-form ref="form" :model="form" label-width="80px">
    <el-form-item label="办文办事类型" prop="type">
      <el-select v-model="form.type" placeholder="请选择办文办事类型" style="width: 100%" :disabled="true">
        <el-option label="传阅学习类" value="0"/>
        <el-option label="公文批办类" value="1"/>
        <el-option label="热线举报类" value="2"/>
        <el-option label="上级信访类" value="3"/>
        <el-option label="现场信访类" value="4"/>
      </el-select>
    </el-form-item>
    <!--    公文类    -->
    <el-form-item label="来文单位" prop="company" v-if="form.type==0 || form.type==1">
      <el-input v-model="form.company" placeholder="请输入来文单位" :disabled="true"/>
    </el-form-item>
    <el-form-item label="收文时间" prop="receiveTime" v-if="form.type==0 || form.type==1">
      <el-date-picker  size="small" style="width: 100%"
                      v-model="form.receiveTime"
                      type="datetime"
                      :disabled="true"
                      value-format="yyyy-MM-dd HH:mm:ss"
                      placeholder="选择收文时间">
      </el-date-picker>
    </el-form-item>
    <el-form-item label="文件标题" prop="title" v-if="form.type==0 || form.type==1">
      <el-input v-model="form.title" placeholder="请输入文件标题" :disabled="true"/>
    </el-form-item>
    <!--    信访类    -->
    <el-form-item label="信访单位(人)" prop="sendPerson" v-if="form.type==2 || form.type==3|| form.type==4">
      <el-input v-model="form.sendPerson" placeholder="请输入信访单位(人)" :disabled="true"/>
    </el-form-item>
    <el-form-item label="信访日期" prop="sendDate" v-if="form.type==2 || form.type==3|| form.type==4">
      <el-date-picker  size="small" style="width: 100%"
                      v-model="form.sendDate"
                      type="date"
                      :disabled="true"
                      value-format="yyyy-MM-dd"
                      placeholder="选择信访日期">
      </el-date-picker>
    </el-form-item>
    <el-form-item label="诉求" prop="appeal" v-if="form.type==2 || form.type==3|| form.type==4">
      <el-input v-model="form.appeal" type="textarea" placeholder="请输入内容" :rows="6" :disabled="true"/>
    </el-form-item>
    <el-form-item label="信访部门" prop="deptName"
                  v-if="((form.type==4 || form.type==2) && controlId=='FormProperty_214hj4h') ||
                  (form.type==3 && controlId=='FormProperty_2vu2250') ||
                  (form.deptName!=null && form.type!=1)">
      <el-select ref="formDeptNameRef" v-model="form.deptId" placeholder="请选择信访部门" style="width: 100%"
                 :disabled="controlId!='FormProperty_2vu2250' && controlId!='FormProperty_214hj4h'">
        <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/>
      </el-select>
    </el-form-item>
    <el-form-item label="意见" prop="appeal"
                  v-if="((form.type==4 || form.type==2) && controlId=='FormProperty_0orjdou') || (form.type==3 && controlId=='FormProperty_05v7lct') || form.opinion!=null">
      <el-input type="textarea" v-model="form.opinion" :rows="4"
                :disabled="controlId!='FormProperty_0orjdou' && controlId!='FormProperty_05v7lct'"/>
    </el-form-item>
    <el-form-item label="推送对象" v-if="controlId=='FormProperty_0aq22i0'">
      <el-radio-group v-model="form.sendObject" :disabled="controlId!='FormProperty_0aq22i0'">
        <el-radio :label="0">中心负责人</el-radio>
        <el-radio :label="1">分管领导</el-radio>
      </el-radio-group>
    </el-form-item>
    <el-form-item label="处理部门" prop="deptName" v-if="controlId=='FormProperty_11p96vq' || (businessKey=='gongwenchuli'&&form.type==1)">
      <el-select ref="formDeptNameRef" v-model="form.deptId" placeholder="请选择处理部门" style="width: 100%"
                 :disabled="controlId!='FormProperty_11p96vq'">
        <el-option v-for="item in depts" :label="item.name" :value="item.code" :key="item.code"/>
      </el-select>
    </el-form-item>
    <el-form-item label="办理意见" prop="opinion" v-if="controlId=='FormProperty_11p96vq'">
      <el-input type="textarea" v-model="opinion" :rows="4" :disabled="controlId!='FormProperty_11p96vq'"/>
    </el-form-item>
    <el-form-item label="办理意见" prop="opinion"
                  v-if="form.type==1 && controlId!='FormProperty_11p96vq' && businessKey=='gongwenchuli'">
      <el-input type="textarea" v-model="opinion1" :rows="4" :disabled="true"/>
    </el-form-item>
    <el-form-item label="回复意见" prop="opinion" v-if="controlId=='FormProperty_2jvcgq8'">
      <el-input type="textarea" v-model="opinion" :rows="4" :disabled="controlId!='FormProperty_2jvcgq8'"/>
    </el-form-item>
    <el-form-item label="回复意见" prop="opinion"
                  v-if="form.type==1 && controlId!='FormProperty_2jvcgq8' && businessKey=='gongwenchuli' && controlId!='FormProperty_11p96vq'">
      <el-input type="textarea" v-model="opinion2" :rows="4" :disabled="true"/>
    </el-form-item>
    <el-form-item label="阅览人" prop="userNames"
                  v-if="form.type==0 && businessKey=='yuelanxuexi1'">
      <el-input v-model="form.userNames" :disabled="true"/>
    </el-form-item>
    <el-form-item label="已阅览人" prop="userNamesDone"
                  v-if="form.type==0 && businessKey=='yuelanxuexi1'">
      <el-input v-model="form.userNamesDone" :disabled="true"/>
    </el-form-item>
    <el-row>
      <el-table :data="fileEntityList">
        <el-table-column property="name" label="附件名称" header-align="center" align="center"></el-table-column>
        <el-table-column label="操作" class-name="small-padding fixed-width" header-align="center" align="center">
          <template slot-scope="scope">
            <el-button
              size="small" type="success"
              icon="el-icon-download"
              @click="downloadFA(scope.row)"
              v-hasPermi="['office:management:edit']"
              v-if="form.id!=null"
              round>下载
            </el-button>
          </template>
        </el-table-column>
      </el-table>
    </el-row>
  </el-form>
</template>

<script>
import {getHandle} from "@/api/office/handle";
import {listReplyApprovalProcess} from "@/api/casefile/replyApprovalProcess";

export default {
  name: "handleInfo",
  props: {
    businessKey: {
      type: String
    },
    idInfo: {
      type: String
    },
    controlId: {
      type: String
    }

  },
  data() {
    return {
      form: {},
      fileEntityList: [],
      opinion: null,
      opinion1: null,
      opinion2: null,
      depts:[
        {
          "code": 1,
          "name": "勘查部"
        },
        {
          "code": 2,
          "name": "科信部"
        },
        {
          "code": 3,
          "name": "综合部"
        },
        {
          "code": 4,
          "name": "消纳部"
        },
        {
          "code": 5,
          "name": "行业部"
        },
        {
          "code": 6,
          "name": "治理部"
        },
      ]
    }
  },
  created() {
    this.init();
  },
  methods: {
    init() {
      getHandle(this.idInfo).then(response => {
        this.form = response.data.handleAffairs;
        let files = JSON.stringify(response.data.uploadFiles);
        this.fileEntityList = JSON.parse(files.replaceAll("filePath", "url").replaceAll("fileName", "name"));
      });
      listReplyApprovalProcess({tableName: 'handle_affairs', tableId: this.idInfo}).then(response => {
        if(response.rows.length>0){
          this.opinion1 = response.rows[0].reply;
          this.opinion2 = response.rows[1].reply;
        }
      });

    },
    /** 文件下载 */
    downloadFA(row) {
      let name = row.name;
      let url = row.url;
      const a = document.createElement('a')
      a.setAttribute('download', name)
      a.setAttribute('target', '_blank')
      a.setAttribute('href', process.env.VUE_APP_BASE_API + url);
      a.click()
    },
  }
}
</script>

<style scoped>

</style>