system.ts 3.83 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
  });