gaoluyang
5 小时以前 cb9cd49627b65a4c0e137e08063271a8cefe1826
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
97
98
99
100
101
102
103
104
105
106
import { requestClient } from '#/api/request';
 
export namespace CrmReportApi {
  /** 客户分析统计 */
  export interface CustomerAnalyze {
    totalCount: number;
    todayCount: number;
    dealCount: number;
    dealRate: number;
    lockCount: number;
    poolCount: number;
  }
 
  /** 商机分析统计 */
  export interface BusinessAnalyze {
    totalCount: number;
    todayCount: number;
    totalPrice: number;
    successCount: number;
    successPrice: number;
    successRate: number;
    processingCount: number;
    failCount: number;
  }
 
  /** 合同分析统计 */
  export interface ContractAnalyze {
    totalCount: number;
    todayCount: number;
    totalPrice: number;
    approveCount: number;
    approvePrice: number;
    processCount: number;
    receivablePrice: number;
    receivableRate: number;
  }
 
  /** 销售漏斗阶段 */
  export interface SalesFunnelStage {
    name: string;
    count: number | null;
    price: number;
    conversionRate: number;
  }
 
  /** 销售漏斗统计 */
  export interface SalesFunnel {
    stages: SalesFunnelStage[];
  }
 
  /** 销售业绩项 */
  export interface SalesPerformanceItem {
    userId: number;
    userName: string;
    deptName: string;
    contractCount: number;
    contractPrice: number;
    receivablePrice: number;
    businessCount: number;
    businessPrice: number;
  }
 
  /** 销售业绩统计 */
  export interface SalesPerformance {
    items: SalesPerformanceItem[];
  }
}
 
/** 获取客户分析统计 */
export function getCustomerAnalyze(startTime?: string, endTime?: string) {
  return requestClient.get<CrmReportApi.CustomerAnalyze>(
    '/crm/report/get-customer-analyze',
    { params: { startTime, endTime } },
  );
}
 
/** 获取商机分析统计 */
export function getBusinessAnalyze(startTime?: string, endTime?: string) {
  return requestClient.get<CrmReportApi.BusinessAnalyze>(
    '/crm/report/get-business-analyze',
    { params: { startTime, endTime } },
  );
}
 
/** 获取合同分析统计 */
export function getContractAnalyze(startTime?: string, endTime?: string) {
  return requestClient.get<CrmReportApi.ContractAnalyze>(
    '/crm/report/get-contract-analyze',
    { params: { startTime, endTime } },
  );
}
 
/** 获取销售漏斗统计 */
export function getSalesFunnel() {
  return requestClient.get<CrmReportApi.SalesFunnel>(
    '/crm/report/get-sales-funnel',
  );
}
 
/** 获取销售业绩统计 */
export function getSalesPerformance(startTime?: string, endTime?: string) {
  return requestClient.get<CrmReportApi.SalesPerformance>(
    '/crm/report/get-sales-performance',
    { params: { startTime, endTime } },
  );
}