system.ts 3.91 KB
import {
  AccountParams,
  OrganizationListItem,
  MenuParams,
  RoleParams,
  RolePageParams,
  MenuListGetResultModel,
  OrganizationListGetResultModel,
  AccountListGetResultModel,
  RolePageListGetResultModel,
  RoleListGetResultModel,
  RoleReqDTO,
  AccountListItem,
  AccountListModel,
  RoleOrOrganizationParam,
  ChangeAccountParams,
} from './model/systemModel';
import { defHttp } from '/@/utils/http/axios';

enum Api {
  AccountList = '/user/page',
  IsAccountExist = '/user/accountExist/',
  DeptList = '/dept/all',
  setRoleStatus = '/role/updateRoleStatus/',
  MenuList = '/system/getMenuList',
  RolePageList = '/role',
  SaveOrUpdateRoleInfoWithMenu = '/role/saveOrUpdateRoleInfoWithMenu',
  DeleteRole = '/role',
  GetAllRoleList = '/role/find/list',
  BaseUserUrl = '/user',
  BaseOrganization = '/organization',
}

export const getAccountInfo = (userId: string) =>
  defHttp.get<AccountListModel>({ url: Api.BaseUserUrl + '/' + userId });

export const getAccountList = (params: AccountParams) =>
  defHttp.get<AccountListGetResultModel>({ url: Api.AccountList, params });
/**
 * 获取组织列表
 * @param params 请求参数
 */
export const getOrganizationList = (params?: OrganizationListItem) =>
  defHttp.get<OrganizationListGetResultModel>({
    url: Api.BaseOrganization + '/me/organizations',
    params,
  });

/**
 * 更新或者保存组织
 * @param params
 * @param isUpdate
 */
export const saveOrUpdateOrganization = (params?: OrganizationListItem, isUpdate?: boolean) => {
  if (isUpdate) {
    return defHttp.put<OrganizationListGetResultModel>({ url: Api.BaseOrganization, params });
  } else {
    return defHttp.post<OrganizationListGetResultModel>({ url: Api.BaseOrganization, params });
  }
};

/**
 * 删除组织
 * @param ids 删除的ID
 */
export const delOrganization = (ids: string[]) =>
  defHttp.delete({ url: Api.BaseOrganization, data: ids });

export const getMenuList = (params?: MenuParams) =>
  defHttp.get<MenuListGetResultModel>({ url: Api.MenuList, params });

export const getRoleListByPage = (params?: RolePageParams) =>
  defHttp.get<RolePageListGetResultModel>({ url: Api.RolePageList, params });
export const getTenantRoleListByPage = (params?: RolePageParams) =>
  defHttp.get<RolePageListGetResultModel>({ url: Api.RolePageList, params });

export const getAllRoleList = (params?: RoleParams) =>
  defHttp.post<RoleListGetResultModel>({ url: Api.GetAllRoleList, params });

export const setRoleStatus = (id: number, status: number) =>
  defHttp.put({ url: Api.setRoleStatus + id + '/' + status });
export const saveOrUpdateRoleInfoWithMenu = async (roleRequestDto: RoleReqDTO) => {
  await defHttp.post({ url: Api.SaveOrUpdateRoleInfoWithMenu, params: roleRequestDto });
};

export const isAccountExist = (account: string) =>
  defHttp.get({ url: Api.IsAccountExist + account }, { errorMessageMode: 'none' });

export const delRole = async (roleIds: string[]) => {
  await defHttp.delete({ url: Api.DeleteRole, params: roleIds });
};

/**
 * 更新或添加用户信息
 * @param params
 * @param isUpdate
 * @constructor
 */
export const SaveOrUpdateUserInfo = (params: AccountListItem, isUpdate: boolean) => {
  if (isUpdate) {
    return defHttp.put<AccountListModel>({
      url: Api.BaseUserUrl,
      params,
    });
  } else {
    return defHttp.post<AccountListModel>({
      url: Api.BaseUserUrl,
      params,
    });
  }
};
/**
 * 删除User
 * @param ids 删除id数组
 */
export const deleteUser = (ids: string[]) =>
  defHttp.delete({
    url: Api.BaseUserUrl,
    data: {
      ids: ids,
    },
  });

/**
 * 查询当前用户的关系
 * @param params
 */

export const findCurrentUserRelation = (params: RoleOrOrganizationParam) =>
  defHttp.post<Array<string>>({
    url: Api.BaseUserUrl + '/relation',
    params: params,
  });

/**
 * 修改密码
 * @param params
 */
export const resetPassword = (params: ChangeAccountParams) =>
  defHttp.post({
    url: Api.BaseUserUrl + '/reset',
    params: params,
  });