Newer
Older
xc-business-system / src / views / workbench / approve / useChangePage.ts
import { ElLoading } from 'element-plus'
import { updateApprovalStatus } from '@/api/workBench/message'
import { getSupplierDetail } from '@/api/resource/supplier'

/**
 * 审批提醒跳转业务系统详情
 * @param $router 路由
 * @param url // 跳转路径
 * @param row // 参数
 * @param current // 0 待处理、1已处理
 */

export function useChangePage($router: any, url: string, row: any) {
  sessionStorage.setItem('workbenchApproveParams', JSON.stringify(row))

  let approvalStatusName = '全部'
  let approvalStatus = '0'
  if (row.messageTitle === '待审批通知') {
    approvalStatusName = '待审批'
    approvalStatus = '2'
  }
  // 审批结果通知
  else {
    approvalStatusName = '已通过'
    updateApprovalStatus({
      ids: [row.id],
    }).then(() => {
      sessionStorage.setItem('workbenchApproveParams', '')
    })
  }

  // 实验室接地电阻记录\工作间供电电压记录\检测结果复查通知\委托方名录\委托方意见登记表
  if (row.formId === 'zyglsysjddzjl' || row.formId === 'zyglgzjgddyjl' || row.formId === 'zygljcjgfctzd'
    || row.formId === 'zyglwtfml' || row.formId === 'zyglwtfyjdjb'
  ) {
    $router.push({
      path: `${url}/detail`,
      query: {
        type: 'detail',
        id: row.bizId,
        status: approvalStatus, // 资源管理需要此字段判断审批按钮是否展示
        approvalStatusName,
        processId: row.processId, // 流程实例id
        taskId: row.taskId, // 任务id
        fromPage: 'workBench',
        approvalStatus,
      },
    })
  }
  else if (row.formId === 'zyglhggfml') { // 合格供方名录
    const loading = ElLoading.service({
      lock: true,
      background: 'rgba(255, 255, 255, 0.6)',
    })
    getSupplierDetail({ id: row.bizId })
      .then((res) => {
        loading.close()
        sessionStorage.setItem('supplierInfo', JSON.stringify(res.data))
        $router.push({
          path: `${url}/detail`,
          query: {
            type: 'detail',
            id: row.bizId,
            status: approvalStatus, // 资源管理需要此字段判断审批按钮是否展示
            approvalStatusName,
            processId: row.processId, // 流程实例id
            taskId: row.taskId, // 任务id
            fromPage: 'workBench',
            approvalStatus,
          },
        })
      })
      .catch(() => {
        loading.close()
      })
  }
  else {
    $router.push({
      path: `${url}/detail/${row.bizId}`,
      query: {
        type: 'detail',
        id: row.bizId,
        approvalStatusName,
        processId: row.processId, // 流程实例id
        taskId: row.taskId, // 任务id
        fromPage: 'workBench',
        status: approvalStatus, // 资源管理需要此字段判断审批按钮是否展示
        approvalStatus,
        fromWorkBench: 'approval',
      },
    })
  }
}