/**
 * @FileDescription: 公共请求方法
 * @Author: WangQiang
 * @Date: 2022-04-01 10:16:18
 */

import request from '@/utils/request'

// 单表查所有-分页
export function getList(options) {
  return request({
    url: `/${options.tableName}/findByPage`,
    method: 'get',
    params: options.data
  })
}

// 查询详情
export function getDetail(options) {
  return request({
    url: `/${options.tableName}/getById/` + options.id,
    method: 'get'
  })
}

// 单表查所有-不分页
export function getListWhole(options) {
  return request({
    url: `/${options.tableName}/getList`,
    method: 'get',
    params: options.data
  })
}

// 更新
export function update(options) {
  return request({
    url: `/${options.tableName}/updateById`,
    method: 'post',
    data: options.data
  })
}

// 新增
export function add(options) {
  return request({
    url: `/${options.tableName}/save`,
    method: 'post',
    data: options.data
  })
}

// 删除
export function del(options) {
  return request({
    url: `/${options.tableName}/delete`,
    method: 'post',
    data: options.data
  })
}

// 通用上传文件  单个
export function uploadFile(data) {
  return request({
    url: `/common/upload`,
    method: 'post',
    data: data
  })
}

// 通用上传文件  多个
export function uploadFiles(data) {
  return request({
    url: `/common/uploads`,
    method: 'post',
    data: data
  })
}

// 用户头像上传
export function avatar(data) {
  return request({
    url: `/system/user/profile/avatar`,
    method: 'post',
    data
  })
}

// 下载
export function download(params) {
  return request({
    url: `/common/download`,
    method: 'get',
    params,
    responseType: 'blob'
  })
}

// 本地下载
export function downloadResource(params) {
  return request({
    url: `/common/download/resource`,
    method: 'get',
    params,
    responseType: 'blob'
  })
}

// 根据登录用户获取机构角色
export function getOrgTree(data) {
  return request({
    url: `/gwcsAddressbookType/getOrgTree`,
    method: 'post',
    data
  })
}

// 批量分享传阅
export function circulate(data) {
  return request({
    url: `/gwcsDocsendCirculate/circulate`,
    method: 'post',
    data
  })
}
