import { axios } from '@/utils/request'
import { stringify } from 'qs'

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function getSbInfoPage (parameter) {
  return axios({
    url: '/sb/infos/page?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function getMeasureWarn (parameter) {
  return axios({
    url: '/sb/infos/warn/page?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * 获取子设备的数量
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function queryChildNumSbInfo (parameter) {
  return axios({
    url: '/sb/infos/child/num?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function queryDeptSbInfosByUserPage (parameter) {
  return axios({
    url: '/sb/infos/dept-sb-infos/user/page?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function queryPageByUserIdentity (parameter) {
  return axios({
    url: '/sb/infos/user/identity?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function queryPageByFilter (parameter) {
  return axios({
    url: '/sb/infos/filter/page?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * query list func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function queryDeptSbInfosByUser (parameter) {
  return axios({
    url: '/sb/infos/dept-sb-infos/user?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * add func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function addSbInfo (parameter) {
  return axios({
    url: '/sb/infos',
    method: 'POST',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json;charset=UTF-8'
    },
    data: parameter
  })
}

/**
 * add func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function copySbInfo (parameter) {
  return axios({
    url: '/sb/infos/copy',
    method: 'POST',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json;charset=UTF-8'
    },
    data: parameter
  })
}

/**
 * update func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateSbInfo (parameter) {
  return axios({
    url: '/sb/infos/' + parameter.id,
    method: 'PUT',
    data: parameter
  })
}

/**
 * update func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateSbInfoChildBatch (parameter) {
  return axios({
    url: '/sb/infos/child/batch',
    method: 'PUT',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json;charset=UTF-8'
    },
    data: parameter
  })
}

/**
 * update func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateSbInfoChildCancel (parameter) {
  return axios({
    url: '/sb/infos/cancel/' + parameter.id,
    method: 'PUT',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * fetch single func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function fetchSbInfo (parameter) {
  return axios({
    url: '/sb/infos/' + parameter.id,
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * fetch single func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function fetchSbInfos (parameter) {
  return axios({
    url: '/sb/infos/code/batch',
    method: 'POST',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    },
    data: parameter
  })
}

/**
 * query list func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function querySbInfo (parameter) {
  return axios({
    url: '/sb/infos?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * delete batch func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function deleteSbInfos (parameter) {
  return axios({
    url: '/sb/infos',
    method: 'DELETE',
    data: parameter
  })
}

/**
 * delete single func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function deleteSbInfo (parameter) {
  return axios({
    url: '/sb/infos/' + parameter.id,
    method: 'DELETE',
    data: parameter
  })
}

/**
 * export file
 * parameter: { }
 * @param parameter :
 * @returns {*}
 */
export function exportSbInfo (parameter) {
  return axios({
    url: '/sb/infos/export?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    },
    responseType: 'blob'
  })
}

/**
 * query list func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function getSbInfoTree (parameter) {
  return axios({
    url: '/sb/infos/tree?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * page func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function getPartInfoPositionPage (parameter) {
  return axios({
    url: '/sb/infos/position/page?' + stringify(parameter),
    method: 'get',
    headers: {
      'Content-Type': 'application/json;charset=UTF-8'
    }
  })
}

/**
 * add batch func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function importSbInfo (parameter) {
  return axios({
    url: '/sb/infos/import',
    method: 'POST',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json;charset=UTF-8'
    },
    data: parameter
  })
}

/**
 * update func
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateSbInfoScrap (parameter) {
  return axios({
    url: '/sb/infos/scrap/' + parameter.id,
    method: 'PUT',
    data: parameter
  })
}

/**
 * update func 直接提交审批
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function updateSbInfoScrapForAudit (parameter) {
  return axios({
    url: '/sb/infos/audit/' + parameter.id,
    method: 'PUT',
    data: parameter
  })
}

/**
 * update func 审批
 * parameter: { }
 * @param parameter
 * @returns {*}
 */
export function auditProcess (parameter) {
  return axios({
    url: '/sb/infos/auditProcess/' + parameter.id,
    method: 'PUT',
    data: parameter
  })
}
