gaoluyang
2026-06-29 27cd042df9aca0383a49f3514bc21958dd890912
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import type { PageParam, PageResult } from '../../../../packages/effects/request/src';
 
import { requestClient } from '#/api/request';
 
export namespace CrmBusinessStatusApi {
  /** 商机状态组信息 */
  export interface BusinessStatus {
    id?: number;
    name: string;
    deptIds?: number[];
    deptNames?: string[];
    creator?: string;
    createTime?: Date;
    statuses: BusinessStatusType[];
  }
 
  /** 商机状态信息 */
  export interface BusinessStatusType {
    id?: number;
    name: string;
    percent?: number;
    endStatus?: number;
    key?: string;
  }
}
 
/** 默认商机状态 */
export const DEFAULT_STATUSES = [
  {
    endStatus: 1,
    key: '结束',
    name: '赢单',
    percent: 100,
  },
  {
    endStatus: 2,
    key: '结束',
    name: '输单',
    percent: 0,
  },
  {
    endStatus: 3,
    key: '结束',
    name: '无效',
    percent: 0,
  },
] satisfies CrmBusinessStatusApi.BusinessStatusType[];
 
/** 查询商机状态组列表 */
export function getBusinessStatusPage(params: PageParam) {
  return requestClient.get<PageResult<CrmBusinessStatusApi.BusinessStatus>>(
    '/crm/business-status/page',
    { params },
  );
}
 
/** 新增商机状态组 */
export function createBusinessStatus(
  data: CrmBusinessStatusApi.BusinessStatus,
) {
  return requestClient.post('/crm/business-status/create', data);
}
 
/** 修改商机状态组 */
export function updateBusinessStatus(
  data: CrmBusinessStatusApi.BusinessStatus,
) {
  return requestClient.put('/crm/business-status/update', data);
}
 
/** 查询商机状态类型详情 */
export function getBusinessStatus(id: number) {
  return requestClient.get<CrmBusinessStatusApi.BusinessStatus>(
    `/crm/business-status/get?id=${id}`,
  );
}
 
/** 删除商机状态 */
export function deleteBusinessStatus(id: number) {
  return requestClient.delete(`/crm/business-status/delete?id=${id}`);
}
 
/** 获得商机状态组列表 */
export function getBusinessStatusTypeSimpleList() {
  return requestClient.get<CrmBusinessStatusApi.BusinessStatus[]>(
    '/crm/business-status/type-simple-list',
  );
}
 
/** 获得商机阶段列表 */
export function getBusinessStatusSimpleList(typeId: number) {
  return requestClient.get<CrmBusinessStatusApi.BusinessStatusType[]>(
    '/crm/business-status/status-simple-list',
    { params: { typeId } },
  );
}