<!--
  @description: 桌面待办列表
  @Modifier: haofengxian
  @routerPath:
  @date: 2020-8-1-15:43
-->
<template>
  <div>
    <div>
      <el-table
        ref="smallTable"
        v-loading="loading"
        :data="tableData"
      >
        <el-table-column
          type="index"
          label="序号"
          align="center"
          width="55"
        />
        <el-table-column

          header-align="center"
          prop="processName"
          label="审核类型"
          min-width="170"
        />
        <el-table-column
          header-align="center"
          prop="tenderNo"
          label="业务编号"
          min-width="170"
        />
        <el-table-column

          header-align="center"
          prop="tenderName"
          label="业务名称"
          min-width="200"
        />
        <el-table-column
          header-align="center"
          prop="createDate"
          label="提交时间"
          align="center"
          width="150"
        >
          <template slot-scope="scope">
            {{ scope.row.createDate && $Moment(scope.row.createDate).format(momentSaveFormat) }}
          </template>
        </el-table-column>
        <el-table-column label="操作" align="center" width="125">
          <template slot-scope="scope">
            <el-link
              v-if="scope.row.currentSteps!== '0' && scope.row.informId === ''"
              type="primary"
              @click.stop="handleWork(scope.row)"
            >
              [处理]
            </el-link>
            <el-link
              v-if="scope.row.currentSteps!== '0' && scope.row.informId !== ''"
              type="primary"
              @click.stop="handleWork(scope.row)"
            >
              [详情]
            </el-link>
            <el-link
              type="primary"
              @click.stop="handleDetail(scope.row)"
            >
              [流程跟踪]
            </el-link>
          </template>
        </el-table-column>
      </el-table>
    </div>
    <!--流程追踪查看弹框-->
    <flow-detail-dialog ref="tracingFlow" />
  </div>
</template>

<script>
// 接口
import { todoList, informUpdateStateById } from '@/api/work/work'
// 组件
import flowDetailDialog from './process/flowDetail-dialog'
export default {
  name: 'DesktopTodoList',
  components: {
    'flow-detail-dialog': flowDetailDialog // 查看流程追踪
  },
  data() {
    return {
      loading: true,
      tableData: [] // 待办列表
    }
  },
  created() {
    // 获取列表信息
    this.loadData()
  },
  methods: {
    // 获取数据
    loadData() {
      const page = {
        pageNo: 1,
        pageSize: 5
      }
      todoList(page).then(response => {
        const { data } = response.data
        this.tableData = data.records
        this.$emit('getTodoTotal', data.total) // 待办总数
        this.loading = false
      }).catch(() => {
        this.loading = false
      })
    },
    // 详情
    handleDetail(row) {
      // 查看流程追踪方法 传入实例化id processInstanceId 00为其它列表查看流程追踪 01为待办/办结列表查看
      this.$refs.tracingFlow.openDialogInitData(row.processInstanceId, '01')
    },
    // 处理
    handleWork(row) {
      sessionStorage.setItem('projectDriveBackType', '04')// 工作流进入驱动-点击跳转00返回项目管理列表 01返回领导-项目管理列表 02返回采购人-项目管理列表 03 返回工作流-我的事务 04 返回首页
      sessionStorage.setItem('routePathStatus', '00') // 工作流处理 00桌面进入 01待办列表进入
      const workData = {
        processDefinitionId: row.processDefinitionId, // 流程id
        processDefinitionKey: row.processDefinitionKey, // 工作流key
        processNodeCode: row.processNodeCode, // 当前节点id
        processKey: row.processKey, // 区分工作流类型
        gatewayValue: row.gatewayValue, // 网关值
        isCreateUser: row.isCreateUser, // 是否指定创建人 01 指定 00不指定 01（不显示审批操作）
        taskId: row.taskId,
        processInstanceId: row.processInstanceId,
        ruTaskId: row.id,
        bizId: row.bizId, // 业务主键id
        id: row.tenderId, // 业务id/招标项目id
        tenderName: row.tenderName, // 业务名称//项目名称
        packId: row.packId, // 标段id
        /**
         * 前端某业务的转存参数
         * 具体参数以业务而定，入参从 processInitDto: {webParam:''}  初始化进程信息中带入
         * 此状态只用于前端做参数转存，然后再取出业务处理当前业务页面的事情。和后端没有业务来往
         * */
        webParam: row.webParam, // 前端某条务的转存参数
        flowStatus: true, // flowStatus: true 工作流进入
        informId: row.informId
      }
      if (row.informId) { // 发送工作流已读接口
        informUpdateStateById(row.informId).then(res => {

        })
      }
      this.$router.push({
        path: row.bizUrl,
        query: workData
      })
      sessionStorage.setItem('bizId', row.bizId) // 主键id
    }
  }
}
</script>

<style scoped>

</style>
