import request from '@/utils/request'

// 查询部门列表
export function listDept(query) {
  return request({
    url: '/system/dept/list',
    method: 'get',
    params: query
  })
}

// 查询部门列表（排除节点）
export function listDeptExcludeChild(deptId) {
  return request({
    url: '/system/dept/list/exclude/' + deptId,
    method: 'get'
  })
}

// 查询部门详细
export function getDept(deptId) {
  return request({
    url: '/system/dept/' + deptId,
    method: 'get'
  })
}

// 新增部门
export function addDept(data) {
  return request({
    url: '/system/dept',
    method: 'post',
    data: data
  })
}

// 修改部门
export function updateDept(data) {
  return request({
    url: '/system/dept',
    method: 'put',
    data: data
  })
}

// 保存部门排序
export function updateDeptSort(data) {
  return request({
    url: '/system/dept/updateSort',
    method: 'put',
    data: data
  })
}

// 删除部门
export function delDept(deptId) {
  return request({
    url: '/system/dept/' + deptId,
    method: 'delete'
  })
}

/**
 * 校验部门名称是否唯一
 * @param {Object} query deptName、parentId、deptId（编辑时传自身 id）
 * @returns {Promise} data 为 true 表示唯一，false 表示重复
 */
export function checkDeptNameUnique(query) {
  return request({
    url: '/system/dept/checkDeptNameUnique',
    method: 'get',
    params: query
  })
}