import request from '@/utils/request'
import { get } from 'js-cookie'

export function revBusQuery(data) {
  return request({
    url: '/revokelist/revBusQuery',
    method: 'post',
    data
  })
}

/**
 * 名单导入创建待办
 */
export function startCase(data) {
  // const form = new FormData()
  // form.append('eBaseinfoList', eBaseinfoList)
  // form.append('bizEntType', bizEntType)
  // form.append('illegalType', illegalType)
  return request({
    url: '/tsbizrevlist/saveAccept.do',
    method: 'post',
    data
  })
}

/**
 * 获取拟吊销主体列表分页
 * @param {data} 分页参数
 */
export function getBizRevListPage(data) {
  return request({
    url: '/tsbizrevlist/getBizRevListPage',
    method: 'post',
    data
  })
}

/**
 * 获取业务中非开业主体列表
 * @param {data} 分页参数
 */
export function getNoOpenRevListPage(data) {
  return request({
    url: '/tsbizrevlist/getNoOpenRevListPage',
    method: 'post',
    data
  })
}
/**
 * 获取非开业未剔除的名单总数
 * @returns
 */
export function getNoOpenAndNoRemoveNum(bizseq) {
  return request({
    url: '/tsbizrevlist/getNoOpenAndNoRemoveNum?bizseq=' + bizseq,
    method: 'get'
  })
}

/**
 * 验证业务中企业状态，不符合（开业、停业、其他)的自动剔除
 * @param {bizseq} 业务号
 */
export function validEntsRegstate(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/tsbizrevlist/validEntsRegstate',
    method: 'post',
    data: form
  })
}

export function saveTaskClue(data) {
  const form = new FormData()
  for (const key in data) {
    form.append(key, data[key])
  }
  return request({
    url: '/clue/saveTaskClue',
    method: 'post',
    data: form
  })
}
/**
 * 通过待办任务id获取当前线索信息
 * @param {String} tasklistid
 * @returns
 */
export function getClueByTaskListid(tasklistid) {
  return request({
    url: '/clue/getClueByTaskListid?tasklistid=' + tasklistid,
    method: 'get'
  })
}
/**
 * 通过业务id获取相应案件信息
 * @param {String} bizseq
 * @returns
 */
export function getCaseByBizseq(bizseq) {
  return request({
    url: '/case/getCaseByBizseq?bizseq=' + bizseq,
    method: 'get'
  })
}

/**
 * 批量吊销流程 下一步
 */
export function bizRevNext(data) {
  return request({
    url: '/tsbizrevlist/next',
    method: 'post',
    data
  })
}
/**
 * 批吊信息暂存
 * @param {data} 分页参数
 */
export function tempSave(data) {
  const form = new FormData()
  for (const key in data) {
    form.append(key, data[key])
  }
  return request({
    url: '/tsbizrevlist/tempSave',
    method: 'post',
    data: form
  })
}
/**
 * 吊销待办分页
 * @param {data} 分页参数
 * @returns
 */
export function todoListPage(data) {
  return request({
    url: '/tsrevtasklist/todoList_page',
    method: 'post',
    data
  })
}
/**
 * 新增拟吊销主体列表 分页
 * @param {Object} data 分页参数
 */
export function enableAddList(data) {
  return request({
    url: '/tsbizrevlist/enableAddList',
    method: 'post',
    data
  })
}
/**
 * 通过企业id从拟吊销企业列表移除主体
 * @param {String} pripids 主体pripid
 * @param {String} bizseq 业务id
 */
export function removeRevListByPripid(pripids, bizseq, removeReason, remNo) {
  const form = new FormData()
  form.append('pripids', pripids)
  form.append('bizseq', bizseq)
  form.append('removeReason', removeReason)
  form.append('remNo', remNo)
  return request({
    url: '/tsbizrevlist/removeRevListByPripid',
    method: 'post',
    data: form
  })
}

/**
 * 通过企业id从拟吊销企业列表移除主体
 * @param {String} pripids 主体pripid
 * @param {String} bizseq 业务id
 */
export function insertRevListByPripid(pripid, bizseq, bizStatus, bizEntType) {
  const form = new FormData()
  form.append('pripid', pripid)
  form.append('bizseq', bizseq)
  form.append('bizStatus', bizStatus)
  form.append('bizEntType', bizEntType)
  return request({
    url: '/tsbizrevlist/insertRevListByPripid',
    method: 'post',
    data: form
  })
}
/**
 * 批量吊销流程跟踪对应意见记录
 * @param {String} tasklistid 待办id
 * @param {String} stepNo 步骤标识
 */
export function getStepTableList(tasklistid, stepNo) {
  return request({
    url: '/tsbizrevlist/getStepTableList?tasklistid=' + tasklistid + '&stepNo=' + stepNo,
    method: 'get'
  })
}
/**
 * 违法行为列表更新或保存
 */
export function saveIllegalactList(data) {
  return request({
    url: '/tsbizrevlist/saveorUpdateIllegalactList',
    method: 'post',
    data
  })
}
/**
 * 拟吊销主体列表剔除记录 分页
 * @param {String} data 分页参数
 */
export function getRemoveRecord(data) {
  return request({
    url: '/tsbizrevlist/getRemoveRecord',
    method: 'post',
    data
  })
}
/**
 * 批量生成听证告知书
 * @param {String} pripids 主体ID
 * @param {String} bizseq  业务号
 */
export function insertHearReportBatch(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/tshearingreport/insertHearReportBatch',
    method: 'post',
    data: form
  })
}
/**
 * 批量下载文件 压缩下载
 * @param {String} bizseq 业务号
 * @param {String} attachtype 文件类型
 */
export function downZip(bizseq, attachtype, batchNo, batchSize) {
  return request({
    url: '/revokeDownload/downZip?bizseq=' + bizseq + '&attachtype=' + attachtype + '&batchNo=' + batchNo + '&batchSize=' + batchSize,
    method: 'get',
    responseType: 'blob',
    throwError: true // 抛异常参数
  })
}
/**
 * 批量生成决定书
 * @param {String} bizseq  业务号
 */
export function insertDecision(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/tshearingreport/insertDecision',
    method: 'post',
    data: form
  })
}
/**
 * 获取决定书列表
 * @param {String} bizseq  业务号
 */
export function getDecisionList(bizseq) {
  return request({
    url: '/tshearingreport/getDecisionList?bizseq=' + bizseq,
    method: 'get'
  })
}
/**
 * 获取听证报告详情
 * @param {String} pripids 主体ID
 * @param {String} bizseq  业务号
 */
export function getHearingReport(pripid, bizseq) {
  return request({
    url: '/tshearingreport/getHearingReport?pripid=' + pripid + '&bizseq=' + bizseq,
    method: 'get'
  })
}
/**
 * 保存听证报告详情
 * @param {object} data 听证报告信息
 */
export function saveHearingReport(data) {
  const form = new FormData()
  for (const key in data) {
    form.append(key, data[key])
  }
  return request({
    url: '/tshearingreport/saveHearingReport',
    method: 'post',
    data: form
  })
}
/**
 * 批量吊销主题名单导入excel模板检验
 * @param {file} 上传的excel文件
 * @param {String} 参数模型名称
 * @returns
 */
export function templateValid(file, model) {
  const form = new FormData()
  form.append('file', file)
  form.append('model', model)
  return request({
    url: '/revokeUpload/templateValid',
    method: 'post',
    data: form
  })
}
/**
 * 列出通过业务号,剔除批次获取附件清单
 * @param {string} bizseq 业务号
 * @param {string} remNo 剔除批次
 * @author Lee
 * @since 2021年5月10日 17:20:44
 */
export function getRemFileList(bizseq, remNo) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  form.append('remNo', remNo)
  return request({
    url: '/revokeUpload/getRemFileList',
    method: 'post',
    data: form
  })
}
/**
 * 上传附件按环节回显
 * @param {string} bizseq 业务号
 * @author Lee
 * @since 2021年5月10日 17:20:44
 */
export function getUploadFileList(bizseq, attachtype) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  form.append('attachtype', attachtype)
  return request({
    url: '/revokeUpload/getUploadFileList',
    method: 'post',
    data: form
  })
}
/**
 * 系统生成文书回显
 * @param {string} bizseq 业务号
 * @author Lee
 * @since 2021年5月10日 17:20:44
 */
export function getSystemFileList(data) {
  return request({
    url: '/revokeUpload/getSystemFileList',
    method: 'post',
    data
  })
}
/**
 * 主体名单导出Excel前数据非空校验
 * @param {String} exportType  导出类型
 * @param {String} bizseq      业务号
 */
export function exportValid(bizseq, exportType) {
  return request({
    url: '/tsbizrevlist/exportValid?bizseq=' + bizseq + '&exportType=' + exportType,
    method: 'get'
  })
}
/**
 *
 * @param {data} data html内容
 * @author Lee
 * @since 2021年5月24日 17:20:44
 */
export function saveCaseFinalTemplate(data) {
  return request({
    url: '/poitest/saveCaseFinalTemplate',
    method: 'post',
    data
  })
}

/**
 * 根据工作流id及意见类型获取最新意见
 * @param {string} workflowId 工作流id
 * @param {string} opinionType 意见类型
 * @author Lee
 * @since 2021年7月29日 16:20:44
 */
export function getNewestOpinion(workflowId, opinionType, status, bizStatus) {
  const form = new FormData()
  form.append('workflowId', workflowId)
  form.append('opinionType', opinionType)
  form.append('status', status)
  form.append('bizStatus', bizStatus)
  return request({
    url: '/tsbizrevlist/getNewestOpinion',
    method: 'post',
    data: form
  })
}
/**
 * 案件调查报告保存
 * @param {object} data 案件调查报告对象
 * @author Lee
 * @since 2021年8月5日 11点00分
 */
export function saveReportInfo(data) {
  // const form = new FormData()
  // for (const key in data) {
  //   form.append(key, data[key])
  // }
  return request({
    url: '/caseReport/saveReportInfo',
    method: 'post',
    data
  })
}
/**
 * 获取案件调查报告信息
 * @param {string} bizseq 业务号
 * @author Lee
 * @since 2021年8月5日 11点00分
 */
export function getReportInfo(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/caseReport/getReportInfo',
    method: 'post',
    data: form
  })
}
/**
 * 批吊业务获取文书模板内容
 */
export function getRevContentsWithBizseq(data) {
  return request({
    url: '/tswrittemplate/getRevContentsWithBizseq',
    method: 'post',
    data
  })
}
/**
 * 业务中调整文书内容
 */
export function saveOrUpdateRevContent(data) {
  return request({
    url: '/tswrittemplate/saveOrUpdateContent',
    method: 'post',
    data
  })
}
/**
 * 听证告知信息保存
 * @param {object} data 听证告知书信息
 * @author Lee
 * @since 2021年8月9日 16点05分
 */
export function saveHearingNoticeInfo(data) {
  return request({
    url: '/hearingnotice/saveHearingNoticeInfo',
    method: 'post',
    data
  })
}
/**
 * 获取听证告知书信息
 * @param {string} bizseq 业务号
 * @author Lee
 * @since 2021年8月5日 11点00分
 */
export function getHearingNoticeInfo(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/hearingnotice/getHearingNoticeInfo',
    method: 'post',
    data: form
  })
}
/**
 * 处罚决定书信息保存
 * @param {object} data 处罚决定书信息
 * @author Lee
 * @since 2021年8月9日 16点05分
 */
export function savePunishDecisionInfo(data) {
  return request({
    url: '/punishDecision/savePunishDecisionInfo',
    method: 'post',
    data
  })
}
/**
 * 获取处罚决定书信息
 * @param {string} bizseq 业务号
 * @author Lee
 * @since 2021年8月5日 11点00分
 */
export function getPunishDecisionInfo(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/punishDecision/getPunishDecisionInfo',
    method: 'post',
    data: form
  })
}
/**
 * word转pdf
 * @param {String} id 文件id
 * @param {String} bizseq 业务号
 * @author Lee
 * @since 2021年6月3日 18:29:17
 */
export function word2Pdf(id, bizseq, writsid) {
  const form = new FormData()
  form.append('attachmentid', id)
  form.append('bizseq', bizseq)
  form.append('writsid', writsid)
  return request({
    url: `/revokeUpload/word2Pdf`,
    method: 'post',
    responseType: 'arraybuffer', // 一定要设置响应类型，否则页面会是空白pdf
    data: form
  })
}
/**
 * 批吊业务的听证告知书、处罚决定书文件预下载
 */
export function revokeDown(filePath, fileName, bizseq, pripid, attachtype) {
  return request({
    url: '/attachment/revokeDown',
    method: 'get',
    params: {
      filePath,
      fileName,
      bizseq,
      pripid,
      attachtype
    },
    responseType: 'arraybuffer' // 一定要设置响应类型，否则页面会是空白pdf
  })
}
/**
 * 已吊销主体分页
 * @param {data} 分页参数
 * @returns
 */
export function revokeListPage(data) {
  return request({
    url: '/revokelist/revokeListPage',
    method: 'post',
    data
  })
}
/**
 * 批吊-撤销复议诉讼 启动待办
 * @param {string} revlistid
 * @param {string} type
 */
export function startBizRevCancel(revlistid, type) {
  const form = new FormData()
  form.append('revlistid', revlistid)
  form.append('type', type)
  return request({
    url: '/tsbizrevcancel/startBizRevCancel',
    method: 'post',
    data: form
  })
}
/**
 * 获取撤销决定页面详情
 * @param {string} bizseq
 */
export function getRevCancelInfo(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/tsbizrevcancel/getRevCancelInfo',
    method: 'post',
    data: form
  })
}
/**
 * 撤销复议诉讼流程 下一步
 */
export function next(data) {
  const form = new FormData()
  for (const key in data) {
    form.append(key, data[key])
  }
  return request({
    url: '/tsbizrevcancel/next',
    method: 'post',
    data: form
  })
}
/**
 * 获取业务中第一个主体及基本信息
 */
export function getFirstEntInBiz(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/tsbizrevlist/getFirstEntInBiz',
    method: 'post',
    data: form
  })
}
/**
 * 行政处罚经办人 批量预生成行政处罚决定书
 */
export function createPunishDecBatch(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/punishDecision/createPunishDecBatch',
    method: 'post',
    data: form
  })
}
/**
 * 听证环节经办人 批量预生成听证告知书
 */
export function createHearingBatch(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/hearingnotice/createHearingBatch',
    method: 'post',
    data: form
  })
}
/**
 * 批吊业务获取协办人列表
 * @param {string} bizseq 权限标识
 * @param {string} orgId 机构id 非必填
 * @since 2021年11月27日 15:22:20
 */
export function listRevokeAssistantUSer(orgId, bizseq) {
  return request({
    url: '/user/listRevokeAssistantUSer',
    method: 'get',
    params: {
      orgId,
      bizseq
    }
  })
}

/**
 * 创建批吊勘误流程
 * @param {string} listId 列入信息
 * @returns 创建结果
 * @author ymc
 * @since 2023年6月27日 11:00:39
 */
export function createRevokeCorrectionsTask(listId) {
  const form = new FormData()
  form.append('listId', listId)
  return request({
    url: '/revokelist/createTask',
    method: 'post',
    data: form
  })
}

/**
 * 创建批量批吊勘误流程
 * @param {string} enableListId 数据id
 */
 export function createBatchRevokeCorrectionsTask(enableListId) {
  const form = new FormData()
  form.append('enableListId', enableListId)
  return request({
    url: '/revokelist/createBatchTask',
    method: 'post',
    data: form
  })
}
/**
 *  获取勘误业务详情
 * @param {string} bizseq 业务号
 * @returns 获取结果
 * @author ymc
 * @since 2023年6月27日
 */
export function getCorrectionsDetail(bizseq, current, size) {
  return request({
    url: `/revokelist/detail?bizseq=${bizseq}&current=${current}&size=${size}`,
    method: 'get'
  })
}

/**
 * 下一个列异勘误节点
 * @param {object} form 表单参数
 * @returns  提交结果
 * @author ymc
 * @since 2023年6月27日
 */
export function nextRevokeCorrectionsProcess(form) {
  const data = new FormData()
  for (const key in form) {
    data.append(key, form[key])
  }
  return request({
    url: '/revokelist/nextRevokeCorrectionsProcess',
    method: 'post',
    data
  })
}

/**
 * 批吊现场核查生成
 * @param {*} enableListId
 * @returns
 */
export function getEnableList(enableListId) {
  const form = new FormData()
  form.append('enableListId', enableListId)
  return request({
    url: '/tsbizrevlist/getEnableList',
    method: 'post',
    data: form
  })
}

/**
 * 批吊现场核查查询
 * @param {*} form
 * @returns
 */
export function searchEnableList(form) {
  const data = new FormData()
  for (const key in form) {
    data.append(key, form[key])
  }
  return request({
    url: '/tsbizrevlist/searchEnableList',
    method: 'post',
    data: data
  })
}

/**
 * 批吊现场核查导出
 * @param data
 */
 export function exportCheckListExcel(data) {
  return request({
    url: '/tsbizrevlist/exportCheckListExcel',
    method: 'post',
    responseType: 'blob',
    data
  })
}

/**
 * 批量吊销任务转办列表
 * @param data
 * @returns {*}
 */
export function batchRevokeForwardTask(data) {
  return request({
    url: '/tsbizrevlist/batchRevokeForwardTask',
    method: 'post',
    data
  })
}

/**
 * 批量吊销任务转办
 * @param params
 * @returns {*}
 */
export function batchRevokeForward(params) {
  return request({
    url: '/tsbizrevlist/batchRevokeForward',
    method: 'get',
    params
  })
}

/**
 * 转办用户列表
 * @param params
 * @returns {*}
 */
export function getBatchRevokeForwardUsers(orgId) {
  return request({
    url: '/tsbizrevlist/getBatchRevokeForwardUsers',
    method: 'get',
    params: {
      orgId: orgId
    }
  })
}

/**
 * 批量注销企业获取
 * @param {*} enableListId
 * @returns
 */
export function getZXEnableList(enableListId) {
  const form = new FormData()
  form.append('enableListId', enableListId)
  return request({
    url: '/forceLogoutNoticeDetail/getZXEnableList',
    method: 'post',
    data: form
  })
}

/**
 * 名单导入创建批量注销待办
 */
export function startZXCase(data) {
  return request({
    url: '/forceLogoutNoticeDetail/savePlZxAccept.do',
    method: 'post',
    data
  })
}

/**
 * 查询导入的企业名单
 */
export function getZxEntByBizseq(bizseq) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  return request({
    url: '/forceLogoutNoticeDetail/getZxEntByBizseq',
    method: 'post',
    data: form
  })
}

/**
 * 获取拟注销主体列表分页
 * @param {data} 分页参数
 */
export function getForceLogoutNoticetPage(data) {
  return request({
    url: '/forceLogoutNoticeDetail/getForceLogoutNoticetPage',
    method: 'post',
    data
  })
}

/**
 * 增加拟注销企业
 * @param {String} pripids 主体pripid
 * @param {String} bizseq 业务id
 */
export function insertZxRevListByPripid(pripid, bizseq, bizStatus, bizEntType) {
  const form = new FormData()
  form.append('pripid', pripid)
  form.append('bizseq', bizseq)
  form.append('bizStatus', bizStatus)
  form.append('bizEntType', bizEntType)
  return request({
    url: '/forceLogoutNoticeDetail/insertZxRevListByPripid',
    method: 'post',
    data: form
  })
}

/**
 * 通过企业id从拟吊销企业列表移除主体
 * @param {String} pripids 主体pripid
 * @param {String} bizseq 业务id
 */
export function removeRevListByPripidZx(pripids, bizseq, removeReason, remNo) {
  const form = new FormData()
  form.append('pripids', pripids)
  form.append('bizseq', bizseq)
  form.append('removeReason', removeReason)
  form.append('remNo', remNo)
  return request({
    url: '/forceLogoutNoticeDetail/removeRevListByPripidZx',
    method: 'post',
    data: form
  })
}

/**
 * 拟吊销主体列表剔除记录 分页
 * @param {String} data 分页参数
 */
export function getRemoveRecordZx(data) {
  return request({
    url: '/forceLogoutNoticeDetail/getRemoveRecordZx',
    method: 'post',
    data
  })
}

/**
 * 列出通过业务号,剔除批次获取附件清单
 * @param {string} bizseq 业务号
 * @param {string} remNo 剔除批次
 * @author Lee
 * @since 2021年5月10日 17:20:44
 */
export function getRemFileListZx(bizseq, remNo) {
  const form = new FormData()
  form.append('bizseq', bizseq)
  form.append('remNo', remNo)
  return request({
    url: '/forceLogoutNoticeDetail/getRemFileListZx',
    method: 'post',
    data: form
  })
}
/**
 * 通过业务id获取相应案件信息
 * @param {String} bizseq
 * @returns
 */
export function getForceLogoutNoticeInfoByBizseq(bizseq) {
  return request({
    url: '/forceLogoutNoticeDetail/getForceLogoutNoticeInfoByBizseq?bizseq=' + bizseq,
    method: 'get'
  })
}

/**
 * 批吊业务获取文书模板内容
 */
export function getForceLogoutContentsWithBizseq(data) {
  return request({
    url: '/forceLogoutNoticeDetail/getForceLogoutContentsWithBizseq',
    method: 'post',
    data
  })
}

/**
 * 批量吊销流程 下一步
 */
export function bizRevNextZ(data) {
  return request({
    url: '/forceLogoutNoticeDetail/bizRevNextZ',
    method: 'post',
    data
  })
}
