/**
 * 设备管理接口
 */
import request from '@/utils/request'
import qs from 'qs'

export function makeReport(params) {
  return request({
    url: 'makeReport/make',
    method: 'get',
    timeout: 180000,
    params,
    responseType: 'blob' // 这一步也很关键，一定要加上 responseType 值为 blob
  })
}

// 获取报表数据查询页的部门列表数据
export function getDeptList() {
  return request({
    url: 'report/deptList',
    method: 'get'
  })
}

// 获取报表数据列表
export function getReportList(params) {
  return request({
    url: 'report/list',
    method: 'get',
    timeout: 180000,
    params
  })
}
// 获取考勤规则
export function getAtdRules() {
  return request({
    url: 'AtdRules/list',
    method: 'get'
  })
}
// 保存考勤规则
export function updateAtdRules(params) {
  return request({
    url: 'AtdRules/update',
    method: 'post',
    params
  })
}
// 批量导入特殊考勤日
export function batchImportSpecialDay(fileobj) {
  const param = new FormData()
  param.append('file', fileobj)
  return request({
    url: 'specialDay/batchImport',
    method: 'post',
    headers: { 'Content-Type': 'multipart/form-data' },
    data: param
  })
}

// 获取特殊考勤日
export function getSpecialDayList(params) {
  return request({
    url: 'specialDay/list',
    method: 'get',
    params
  })
}

// 添加特殊考勤日
export function addSpecialDay(params) {
  return request({
    url: 'specialDay/add',
    method: 'post',
    params
  })
}
// 修改特殊考勤日
export function updateSpecialDay(params) {
  return request({
    url: 'specialDay/update',
    method: 'post',
    params
  })
}
// 删除特殊考勤日
export function delSpecialDay(ids) {
  return request({
    url: 'specialDay/delete',
    method: 'post',
    params: {
      ids: ids
    },
    paramsSerializer: params => {
      return qs.stringify(params, { indices: false })
    }
  })
}

// 批量导出
export function batchExportReport(params) {
  return request({
    url: 'report/batchExport',
    method: 'get',
    timeout: 180000,
    params,
    responseType: 'blob' // 这一步也很关键，一定要加上 responseType 值为 blob
  })
}
// 添加考勤备注
export function addRemarks(params) {
  return request({
    url: 'remarks/add',
    method: 'post',
    params
  })
}

// 获取已备注列表
export function getRemarksList(params) {
  return request({
    url: 'remarks/list',
    method: 'get',
    params
  })
}

// 获取可备注的类型
export function getEnabledTypeList(params) {
  return request({
    url: 'remarks/enabledTypeList',
    method: 'get',
    params
  })
}

// 删除备注
export function delRemarks(params) {
  return request({
    url: 'remarks/delete',
    method: 'post',
    params
  })
}

export function syncAndGenerate(params) {
  return request({
    url: 'sync/syncAndGenerate',
    method: 'post',
    timeout: 180000,
    params,
    paramsSerializer: params => {
      return qs.stringify(params, { indices: false })
    }
  })
}

export function initAnnualLeave() {
  return request({
    url: 'report/initAnnualLeave',
    method: 'get'
  })
}

//设置是否限制考勤备注功能
export function updateUserAttr1(params) {
  return request({
    url: 'AtdRules/updateUserAttr1',
    method: 'post',
    params
  })
}

