import request from '@/utils/request';

/**
 * 查询机构列表
 * @param params 查询条件
 */
export async function listOrganizations (params) {
  const res = await request.get('/main/group/getGroupList', params);
  if (res.data.code == 0) {
    return res.data.data;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 查询人员列表
 * @param params 查询条件
 */
export async function getUserPage (params) {
  let par = new URLSearchParams(params);
  const res = await request.get(`/main/user/getUserPage?` + par, {});
  if (res.data.code == 0) {
    return res.data.data;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 添加机构
 * @param data 机构信息
 */
export async function addOrganization (data) {
  const res = await request.post('/main/group/save', data);
  if (res.data.code == 0) {
    return res.data.message;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 修改机构
 * @param data 机构信息
 */
export async function updateOrganization (data) {
  const res = await request.put('/main/group/update', data);
  if (res.data.code == 0) {
    return res.data.message;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 删除机构
 * @param params 机构id数组
 */
export async function removeOrganization (params) {
  const res = await request.post('/main/group/delete', params);
  if (res.data.code == 0) {
    return res.data.message;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 获取人员详情
 * @param id 人员id
 */
export async function getUserDetail (id) {
  const res = await request.get(`/main/user/getById/` + id);
  if (res.data.code == 0) {
    return res.data.data;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 新增或修改人员信息
 * @param params 人员信息
 */
export async function saveOrUpdateUser (params) {
  const res = await request.post('/main/user/saveNew', params);
  if (res.data.code == 0) {
    return res.data.data;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 删除人员
 * @param params 人员信息
 */
export async function removePersonnel (params) {
  const res = await request.post('/main/user/removeById', params);
  if (res.data.code == 0) {
    return res.data;
  }
  return Promise.reject(new Error(res.data.message));
}

/**
 * 检查工号是否存在
 * @param jobNumber 工号
 */
export async function checkExistence (jobNumber) {
  const res = await request.get('/main/user/getByJobNumber/' + jobNumber);
  if (res.data.code == 0) {
    return res.data.data;
  }
  return Promise.reject(new Error(res.data.message));
}


/**
 * 解除绑定用户账号
 * @param id 人员id
 */
export async function unbindLoginName (id) {
  const res = await request.get('/main/user/unbind/' + id);
  if (res.data.code == 0) {
    return res.data.data;
  }
  return Promise.reject(new Error(res.data.message));
}