From 441b91381f8ec1551d37680727b70b5aba4884bb Mon Sep 17 00:00:00 2001 From: dhb52 Date: Tue, 27 Feb 2024 23:45:13 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20CRM/=E6=95=B0=E6=8D=AE=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1/=E5=AE=A2=E6=88=B7=E6=80=BB=E9=87=8F=E5=88=86?= =?UTF-8?q?=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/statistics/customer.ts | 24 ++++ .../components/TotalCustomerCount.vue | 113 ++++++++++++++++ src/views/crm/statistics/customer/index.vue | 125 ++++++++++++++++++ 3 files changed, 262 insertions(+) create mode 100644 src/api/crm/statistics/customer.ts create mode 100644 src/views/crm/statistics/customer/components/TotalCustomerCount.vue create mode 100644 src/views/crm/statistics/customer/index.vue diff --git a/src/api/crm/statistics/customer.ts b/src/api/crm/statistics/customer.ts new file mode 100644 index 00000000..37c93b47 --- /dev/null +++ b/src/api/crm/statistics/customer.ts @@ -0,0 +1,24 @@ +import request from '@/config/axios' + +export interface StatisticsCustomerRespVO { + count: number + category: string +} + +// 客户总量分析 API +export const StatisticsCustomerApi = { + // 客户总量(新建) + getTotalCustomerCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-total-customer-count', + params + }) + }, + // 客户总量(成交) + getDealTotalCustomerCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-deal-total-customer-count', + params + }) + }, +} diff --git a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue new file mode 100644 index 00000000..c1c5dfcd --- /dev/null +++ b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue @@ -0,0 +1,113 @@ + + + diff --git a/src/views/crm/statistics/customer/index.vue b/src/views/crm/statistics/customer/index.vue new file mode 100644 index 00000000..ea2edef4 --- /dev/null +++ b/src/views/crm/statistics/customer/index.vue @@ -0,0 +1,125 @@ + + + From d0501ee0a6a207366c400f44c0165ebb0bf20f5d Mon Sep 17 00:00:00 2001 From: dhb52 Date: Fri, 1 Mar 2024 00:10:38 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20CRM/=E6=95=B0=E6=8D=AE=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1/=E5=91=98=E5=B7=A5=E5=AE=A2=E6=88=B7=E5=88=86?= =?UTF-8?q?=E6=9E=90=20=E5=88=9D=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/crm/statistics/customer.ts | 29 +++++ .../customer/components/ConversionRate.vue | 112 ++++++++++++++++++ .../customer/components/CustomerCycle.vue | 112 ++++++++++++++++++ .../customer/components/FollowupCount.vue | 112 ++++++++++++++++++ .../customer/components/FollowupType.vue | 98 +++++++++++++++ .../components/TotalCustomerCount.vue | 17 ++- src/views/crm/statistics/customer/index.vue | 40 ++++++- 7 files changed, 510 insertions(+), 10 deletions(-) create mode 100644 src/views/crm/statistics/customer/components/ConversionRate.vue create mode 100644 src/views/crm/statistics/customer/components/CustomerCycle.vue create mode 100644 src/views/crm/statistics/customer/components/FollowupCount.vue create mode 100644 src/views/crm/statistics/customer/components/FollowupType.vue diff --git a/src/api/crm/statistics/customer.ts b/src/api/crm/statistics/customer.ts index 37c93b47..f048d174 100644 --- a/src/api/crm/statistics/customer.ts +++ b/src/api/crm/statistics/customer.ts @@ -2,6 +2,7 @@ import request from '@/config/axios' export interface StatisticsCustomerRespVO { count: number + cycle: number category: string } @@ -21,4 +22,32 @@ export const StatisticsCustomerApi = { params }) }, + // 获取客户跟进次数 + getRecordCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-record-count', + params + }) + }, + // 获取客户跟进次数 + getDistinctRecordCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-distinct-record-count', + params + }) + }, + // 获取客户跟进方式统计数 + getRecordTypeCount: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-record-type-count', + params + }) + }, + // 获取客户成交周期 + getCustomerCycle: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-customer-cycle', + params + }) + }, } diff --git a/src/views/crm/statistics/customer/components/ConversionRate.vue b/src/views/crm/statistics/customer/components/ConversionRate.vue new file mode 100644 index 00000000..5f3ad591 --- /dev/null +++ b/src/views/crm/statistics/customer/components/ConversionRate.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/crm/statistics/customer/components/CustomerCycle.vue b/src/views/crm/statistics/customer/components/CustomerCycle.vue new file mode 100644 index 00000000..d28f345d --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerCycle.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/crm/statistics/customer/components/FollowupCount.vue b/src/views/crm/statistics/customer/components/FollowupCount.vue new file mode 100644 index 00000000..e0ae1274 --- /dev/null +++ b/src/views/crm/statistics/customer/components/FollowupCount.vue @@ -0,0 +1,112 @@ + + + diff --git a/src/views/crm/statistics/customer/components/FollowupType.vue b/src/views/crm/statistics/customer/components/FollowupType.vue new file mode 100644 index 00000000..2debcb1c --- /dev/null +++ b/src/views/crm/statistics/customer/components/FollowupType.vue @@ -0,0 +1,98 @@ + + + diff --git a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue index c1c5dfcd..84c50d04 100644 --- a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue +++ b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue @@ -1,6 +1,6 @@ diff --git a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue b/src/views/crm/statistics/customer/components/TotalCustomerCount.vue deleted file mode 100644 index 84c50d04..00000000 --- a/src/views/crm/statistics/customer/components/TotalCustomerCount.vue +++ /dev/null @@ -1,112 +0,0 @@ - - - diff --git a/src/views/crm/statistics/customer/index.vue b/src/views/crm/statistics/customer/index.vue index 89e2d009..8096814f 100644 --- a/src/views/crm/statistics/customer/index.vue +++ b/src/views/crm/statistics/customer/index.vue @@ -49,44 +49,44 @@ - + - - + + - - + + - + - - + + - - + + +