import { getAuthHeaders } from '@/api/authHeaders';
|
import { request } from '@/api/request';
|
import type {
|
DepartmentLeaderDetailRequest,
|
DepartmentLeaderDetailResponse,
|
TenantEmployeeOptionListRequest,
|
TenantEmployeeOptionListResponse,
|
TenantOrgCreateRequest,
|
TenantOrgCreateResponse,
|
TenantOrgDeleteRequest,
|
TenantOrgDeleteResponse,
|
TenantOrgToggleStatusRequest,
|
TenantOrgToggleStatusResponse,
|
TenantOrgTreeRequest,
|
TenantOrgTreeResponse,
|
TenantOrgUpdateBody,
|
TenantOrgUpdateRequest,
|
TenantOrgUpdateResponse,
|
} from './types';
|
|
/** 组织树。 */
|
export const getOrgTree = (params: TenantOrgTreeRequest = {}) =>
|
request<TenantOrgTreeRequest, TenantOrgTreeResponse>({
|
url: '/tenant/organizations/tree',
|
method: 'GET',
|
params,
|
headers: getAuthHeaders(),
|
});
|
|
/** 创建组织。 */
|
export const createOrg = (data: TenantOrgCreateRequest) =>
|
request<TenantOrgCreateRequest, TenantOrgCreateResponse>({
|
url: '/tenant/organizations',
|
method: 'POST',
|
data,
|
headers: getAuthHeaders(),
|
});
|
|
/** 更新组织。 */
|
export const updateOrg = ({ id, ...data }: TenantOrgUpdateRequest) =>
|
request<TenantOrgUpdateBody, TenantOrgUpdateResponse>({
|
url: `/tenant/organizations/${id}`,
|
method: 'PUT',
|
data,
|
headers: getAuthHeaders(),
|
});
|
|
/** 删除组织。 */
|
export const deleteOrg = ({ id }: TenantOrgDeleteRequest) =>
|
request<TenantOrgDeleteRequest, TenantOrgDeleteResponse>({
|
url: `/tenant/organizations/${id}`,
|
method: 'DELETE',
|
headers: getAuthHeaders(),
|
});
|
|
/** 启用 / 停用组织。 */
|
export const toggleOrgStatus = ({ id }: TenantOrgToggleStatusRequest) =>
|
request<TenantOrgToggleStatusRequest, TenantOrgToggleStatusResponse>({
|
url: `/tenant/organizations/${id}/toggle-status`,
|
method: 'PUT',
|
headers: getAuthHeaders(),
|
});
|
|
/** 员工列表,用于负责人下拉远程搜索。 */
|
export const getLeaderOptions = (params: TenantEmployeeOptionListRequest) =>
|
request<TenantEmployeeOptionListRequest, TenantEmployeeOptionListResponse>({
|
url: '/tenant/employees',
|
method: 'GET',
|
params,
|
headers: getAuthHeaders(),
|
});
|
|
/** 员工详情,用于编辑时回填负责人姓名。 */
|
export const getLeaderDetail = ({ id }: DepartmentLeaderDetailRequest) =>
|
request<DepartmentLeaderDetailRequest, DepartmentLeaderDetailResponse>({
|
url: `/tenant/employees/${id}`,
|
method: 'GET',
|
headers: getAuthHeaders(),
|
});
|