import request from '@/utils/request'

// 查询模块列表
export function listModule(query) {
  return request({
    url: '/project/module/list',
    method: 'get',
    params: query
  })
}

// 查询模块详细
export function getModule(moduleId) {
  return request({
    url: '/project/module/' + moduleId,
    method: 'get'
  })
}

// 新增模块
export function addModule(data) {
  return request({
    url: '/project/module',
    method: 'post',
    data: data
  })
}

// 修改模块
export function updateModule(data) {
  return request({
    url: '/project/module',
    method: 'put',
    data: data
  })
}

// 删除模块
export function delModule(moduleId) {
  return request({
    url: '/project/module/' + moduleId,
    method: 'delete'
  })
}

// 导出模块
export function exportModule(query) {
  return request({
    url: '/project/module/export',
    method: 'post',
    data: query,
    responseType: 'blob'
  })
}

// 指派模块
export function assignModule(data) {
  return request({
    url: '/project/module/assign',
    method: 'post',
    data: data
  })
}

// 接取模块
export function claimModule(moduleId) {
  return request({
    url: '/project/module/receive/' + moduleId,
    method: 'post'
  })
}

// 放弃模块
export function giveupModule(moduleId) {
  return request({
    url: '/project/module/abandon/' + moduleId,
    method: 'post'
  })
}

// 查询我的模块列表
export function getMyModules(query) {
  return request({
    url: '/project/module/assignedList',
    method: 'get',
    params: query
  })
}

// 完成模块
export function completeModule(moduleId) {
  return request({
    url: '/project/module/complete/' + moduleId,
    method: 'post'
  })
}

// 按项目查询模块列表（用于上传文档时选择模块）
export function listModulesByProject(projectId) {
  return request({
    url: '/project/module/SelectByProjectId',
    method: 'get',
    params: { projectId }
  })
}