index.vue 11.1 KB
<template>
  <div class="app-container">

    <el-input v-model="queryParams.name" placeholder="名称" style="width:200px;"></el-input>

    <el-select v-model="queryParams.type" filterable reserve-keyword>
      <el-option label="建筑垃圾许可证审批" value="workflow_constructsite"/>
      <el-option label="消纳合同申报备案" value="workflow_conract"/>
      <el-option label="处理场所备案" value="workflow_earthsites"/>
      <el-option label="运输企业准入流程" value="workflow_company"/>
      <el-option label="运输车辆准入流程" value="workflow_vehicle"/>
      <el-option label="驾驶员信息审批" value="workflow_driver"/>
      <el-option label="报工审批" value="workflow_threestep"/>
      <el-option label="交办案卷" value="workflow_caseoffline"/>
      <el-option label="预警信息" value="workflow_casefile"/>
      <el-option label="预警提醒" value="violation_warning"/>
      <el-option label="办文办事" value="handleAffairs"/>
      <el-option label="后勤管理" value="logistics"/>
      <el-option label="会议事务" value="conference"/>
      <el-option label="假勤管理" value="workflow_leave"/>
      <el-option label="纪检督察" value="supervision-gongdi,supervision_anjuan,supervision_company,supervision_xnc"/>
    </el-select>

    <el-button type="primary" size="mini" @click="queryParams.pageNum = 1;getList();">搜索</el-button>
    <el-button size="mini" @click="resetQuery">重置</el-button>


    <taskCard :task="task"  v-for="task in taskList" @sendToParent="showTask"/>

    <h5Page :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />


    <el-dialog :title="title" :visible.sync="open2" width="300px" append-to-body>
      <threestepInfo :businessKey="businessKey"  v-if="open2"/>
      <el-table :data="hisfromData" v-if="hisfromData != null">

        <el-table-column label="处理意见" align="center" prop="controlValue"/>
        <el-table-column label="处理人" align="center" prop="createName"/>
        <el-table-column label="处理时间" align="center" prop="createTime"/>
      </el-table>
      </el-dialog>

    <el-dialog :title="title" :visible.sync="construct" width="300px" append-to-body>
      <companyInfo :businessKey="businessKey" :businessType="2" :signData="signData" v-if="construct"/>

      <el-table :data="hisfromData" v-if="hisfromData != null">
        <el-table-column label="处理意见" align="center" prop="controlValue"/>
        <el-table-column label="处理人" align="center" prop="createName"/>
        <el-table-column label="处理时间" align="center" prop="createTime"/>
      </el-table>
    </el-dialog>
    <!--  会议管理  -->
    <el-dialog :title="title" :visible.sync="conferenceOpen" width="300px" append-to-body>
      <conferenceInfo :idInfo="idInfo" v-if="conferenceOpen"/>
    </el-dialog>

    <!--  请假申请  -->
    <el-dialog :title="title" :visible.sync="leaveApplicationOpen" width="300px" append-to-body>
      <leaveApplicationInfo :idInfo="idInfo" v-if="leaveApplicationOpen"/>
    </el-dialog>


    <el-dialog :title="title" :visible.sync="earthsites" width="300px" append-to-body>
      <companyInfo :businessKey="businessKey" :businessType="3" v-if="earthsites"/>


      <el-table :data="hisfromData" v-if="hisfromData != null">

        <el-table-column label="处理意见" align="center" prop="controlValue"/>
        <el-table-column label="处理人" align="center" prop="createName"/>
        <el-table-column label="处理时间" align="center" prop="createTime"/>
      </el-table>
    </el-dialog>

    <el-dialog :title="title" :visible.sync="contract" width="300px" append-to-body>
     <companyInfo :businessKey="businessKey" :businessType="4"   v-if="contract"/>


     <el-table :data="hisfromData" v-if="hisfromData != null">

       <el-table-column label="处理意见" align="center" prop="controlValue"/>
       <el-table-column label="处理人" align="center" prop="createName"/>
       <el-table-column label="处理时间" align="center" prop="createTime"/>
     </el-table>
    </el-dialog>



    <!--  后勤管理  -->
    <el-dialog :title="title" :visible.sync="logisticsInfoOpen" width="300px" append-to-body
               :close-on-click-modal="false">
      <logisticsInfo :idInfo="idInfo" v-if="logisticsInfoOpen"/>
    </el-dialog>

    <!--  办文办事  -->
    <el-dialog :title="title" :visible.sync="handleAffairsInfoOpen" width="300px" append-to-body
               :close-on-click-modal="false">
      <handleInfo ref="handleAffairsInfoRef" :idInfo="idInfo" v-if="handleAffairsInfoOpen" :depts="depts"
                  :businessKey="definitionKey"
                  :controlId="controlId"/>
    </el-dialog>

    <!--  线下案卷交办  -->
    <el-dialog :title="title" :visible.sync="caseOffline" width="300px" append-to-body :close-on-click-modal="false">
      <caseOfflineInfo :businessKey="businessKey" v-if="caseOffline"/>
    </el-dialog>

    <!--  平台违规信息  -->
    <el-dialog :title="title" :visible.sync="violationCaseFile" width="300px" append-to-body :close-on-click-modal="false">
      <violationCaseFileInfo :idInfo="businessKey" v-if="violationCaseFile" :entryType="0"/>
    </el-dialog>

    <!--  违规预警信息  -->
    <el-dialog :title="title" :visible.sync="violationCaseFile1" width="300px" append-to-body :close-on-click-modal="false">
      <violationWarningInformationInfo :idInfo="businessKey" v-if="violationCaseFile1" :entryType="0"/>
    </el-dialog>

  <el-dialog :title="title" :visible.sync="supervisionOpen" width="300px" append-to-body :close-on-click-modal="false">
      <supervisionInfo :infoData="supervisionData"/>
    </el-dialog>
    <el-dialog :title="title" :visible.sync="company" width="300px" append-to-body :close-on-click-modal="false">
      <companyInfo :businessKey="businessKey" :businessType="0" v-if="company"/>

      <el-table :data="hisfromData" v-if="hisfromData != null">

        <el-table-column label="处理意见" align="center" prop="controlValue"/>
        <el-table-column label="处理人" align="center" prop="createName"/>
        <el-table-column label="处理时间" align="center" prop="createTime"/>
      </el-table>
    </el-dialog>

    <el-dialog :title="title" :visible.sync="vehicle" width="300px" append-to-body :close-on-click-modal="false">
      <companyInfo :businessKey="businessKey" :businessType="1" v-if="vehicle"/>

      <el-table :data="hisfromData" v-if="hisfromData != null">

        <el-table-column label="处理意见" align="center" prop="controlValue"/>
        <el-table-column label="处理人" align="center" prop="createName"/>
        <el-table-column label="处理时间" align="center" prop="createTime"/>
      </el-table>
    </el-dialog>

    <el-dialog :title="title" :visible.sync="driver" width="300px" append-to-body :close-on-click-modal="false">
      <companyInfo :businessKey="businessKey" :businessType="5" v-if="driver"/>

      <el-table :data="hisfromData" v-if="hisfromData != null">

        <el-table-column label="处理意见" align="center" prop="controlValue"/>
        <el-table-column label="处理人" align="center" prop="createName"/>
        <el-table-column label="处理时间" align="center" prop="createTime"/>
      </el-table>
    </el-dialog>

  </div>
</template>


<script>
  import {
    listEndTask,
    listTask,
    formDataShow
  } from "@/api/activiti/taskhistory";

  import Treeselect from "@riophae/vue-treeselect";
  import '@riophae/vue-treeselect/dist/vue-treeselect.css'

  import {  getSignByObjId, addSign, updateSign } from "@/api/sign/sign";


  import h5Page from '@/views/h5/Pagination';

  import threestepInfo from "@/views/h5/task/threestepInfo";
  import taskCard from "@/views/h5/task/taskCard";
  import conferenceInfo from "@/views/h5/task/conferenceInfo";
  import leaveApplicationInfo from "@/views/h5/leaveApplication/leaveApplicationInfo";
  import constructsiteInfo from "@/views/h5/task/constructsiteInfo";
  import earthsitesInfo from "@/views/h5/task/earthsitesInfo";
  import contractInfo from "@/views/h5/task/contractInfo";
  import logisticsInfo from "@/views/h5/task/logisticsInfo";
  import handleInfo from "@/views/h5/task/handleInfo";
  import caseOfflineInfo from "@/views/h5/caseOffline/caseOfflineInfo";
  import violationCaseFileInfo from "@/views/h5/task/violationCaseFileInfo";
  import violationWarningInformationInfo from "@/views/h5/task/violationWarningInformationInfo";
  import supervisionInfo from "@/views/h5/task/SupervisionInfo";
  import companyInfo from "@/views/h5/task/companyInfo";
  import driverInfo from "@/views/activiti/task/driverInfo";
  import vehicleInfo from "@/views/activiti/task/vehicleInfo";

import taskhismethod from '@/api/taskhismethod'
  import {
    getArea,
    getDict,
    getUsers,
    getSupervision
  } from "@/api/dict";

  export default {
    name: "taskHistory",
    mixins: [taskhismethod],
    props: {
      type: {
        type: Number
      }
    },
    components: {
      taskCard,
      threestepInfo,
      conferenceInfo,
      leaveApplicationInfo,
      logisticsInfo,
      handleInfo,
      constructsiteInfo,
      Treeselect,
      earthsitesInfo,
      contractInfo,
      caseOfflineInfo,
      violationCaseFileInfo,
      h5Page,
      violationWarningInformationInfo,
      supervisionInfo,
      companyInfo,
      driverInfo,
      vehicleInfo
    },
    data() {
      return {
        id: '',
        definitionKey: '',
        businessKey: '',
        // 遮罩层
        loading: true,
        // 选中数组
        ids: [],
        // 非单个禁用
        single: true,
        // 非多个禁用
        multiple: true,
        // 显示搜索条件
        showSearch: true,
        // 总条数
        total: 0,
        // 请假表格数据
        taskList: [],
        // 弹出层标题
        title: "",
        // 查询参数
        queryParams: {
          pageNum: 1,
          pageSize: 10,
        },
        // 表单参数
        form: {
          formData: []
        },
        needShow:false,
        // 表单校验
        rules: {},

        uploadImageDialog: false,
        idInfo:null,
        signData:null,
        supervisionData: null,
        // 是否显示弹出层
        earthsites: false,
        contract: false,
        logisticsInfoOpen: false,
        handleAffairsInfoOpen: false,
        caseOffline: false,
        violationCaseFile: false,
        violationCaseFile1: false,
        supervisionOpen: false,
        open: false,
        open2: false,
        conferenceOpen: false,
        construct: false,
        leaveApplicationOpen: false,

        company:false,
        driver:false,
        vehicle:false,
        hisfromData:[],
      };
    },
    created() {
      let dep = {type: "CSUserDepartmentType"};

      getDict(dep).then(res => {
        this.depts = res.result;
      });

      let role = {type: "CSUserPostType"};

      getDict(role).then(res => {
        this.roles = res.result;
      });
      this.getList();
    },
    methods: {

    }
  };
</script>

<style>
  @import '../../../assets/css/task.css'
</style>
<style scope>
  .el-select-dropdown__item{
    width:300px;
  }
</style>