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.sourceModuleName === '证书管理') {
    // $router.push({
    //   path: `${url}/detail/${row.bizId}`,
    //   query: {
    //     approvalStatusName, // 审批状态名称
    //     printFileName: row.certificateFile,
    //     printStatusName: row.printStatusName, // 证书打印状态
    //     processId: row.processId, // 流程实例
    //     taskId: row.taskId, // 任务id,用于同意、驳回、拒绝审批
    //   },
    // })
    $router.push({ path: '/certManage/list' })
  }
  else if (row.sourceModuleName === '授权(代理)委托书') {
    $router.push({ path: '/equipmentInfo/tableList' })
  }
  else if (row.sourceModuleName === '委托方名录') {
    $router.push({ path: '/customer/infoList' })
  }
  else if (row.sourceModuleName === '委托方意见登记表') {
    $router.push({ path: '/customer/suggestFormList' })
  }
  else if (row.sourceModuleName === '要求、委托书及合同评审表') {
    $router.push({ path: '/customer/examineList' })
  }
  else if (row.sourceModuleName === '印章使用登记') {
    $router.push({ path: '/seal/noteList' })
  }
  else if (row.sourceModuleName === '印章使用登记') {
    $router.push({ path: '/seal/noteList' })
  }
  else if (
    row.sourceModuleName === '实验室接地电阻记录'
    || row.sourceModuleName === '工作间供电电压记录'
  ) {
    $router.push({
      path: `${url}/detail`,
      query: {
        type: 'detail',
        id: row.bizId,
        status: approvalStatus, // 资源管理需要此字段判断审批按钮是否展示
        approvalStatusName,
        processId: row.processId, // 流程实例id
        taskId: row.taskId, // 任务id
        // sampleName: row.sampleName, // 被检设备名称
        // model: row.model, // 规格型号
        // manufacturingNo: row.manufactureNo, // 出厂编号
        // measureDataId: row.dataId, // 检定数据id
        fromPage: 'workBench',
        approvalStatus,
      },
    })
  }
  else if (row.sourceModuleName === '合格供方名录') {
    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
            // sampleName: row.sampleName, // 被检设备名称
            // model: row.model, // 规格型号
            // manufacturingNo: row.manufactureNo, // 出厂编号
            // measureDataId: row.dataId, // 检定数据id
            fromPage: 'workBench',
            approvalStatus,
          },
        })
      })
      .catch(() => {
        loading.close()
      })
  }
  else {
    console.log('======', url)

    $router.push({
      path: `${url}/detail/${row.bizId}`,
      query: {
        type: 'detail',
        id: row.bizId,
        approvalStatusName,
        processId: row.processId, // 流程实例id
        taskId: row.taskId, // 任务id
        // sampleName: row.sampleName, // 被检设备名称
        // model: row.model, // 规格型号
        // manufacturingNo: row.manufactureNo, // 出厂编号
        // measureDataId: row.dataId, // 检定数据id
        fromPage: 'workBench',
        status: approvalStatus, // 资源管理需要此字段判断审批按钮是否展示
        approvalStatus,
        fromWorkBench: 'approval',
      },
    })
  }
}