wsj
4 days ago fe1692fd7f4f307fea8054da6c6c50d5df2bf2d8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import { getAuthHeaders } from '@/api/authHeaders';
import { request } from '@/api/request';
import type {
  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 = { page: 1, size: 200 }) =>
  request<TenantEmployeeOptionListRequest, TenantEmployeeOptionListResponse>({
    url: '/tenant/employees',
    method: 'GET',
    params,
    headers: getAuthHeaders(),
  });