diff --git a/src/api/crm/statistics/customer.ts b/src/api/crm/statistics/customer.ts new file mode 100644 index 0000000000000000000000000000000000000000..4358db773f914929e4d3786d6be0baf4cdf6de91 --- /dev/null +++ b/src/api/crm/statistics/customer.ts @@ -0,0 +1,116 @@ +import request from '@/config/axios' + +export interface CrmStatisticsCustomerSummaryByDateRespVO { + time: string + customerCreateCount: number + customerDealCount: number +} + +export interface CrmStatisticsCustomerSummaryByUserRespVO { + ownerUserName: string + customerCreateCount: number + customerDealCount: number + contractPrice: number + receivablePrice: number +} + +export interface CrmStatisticsFollowupSummaryByDateRespVO { + time: string + followupRecordCount: number + followupCustomerCount: number +} + +export interface CrmStatisticsFollowupSummaryByUserRespVO { + ownerUserName: string + followupRecordCount: number + followupCustomerCount: number +} + +export interface CrmStatisticsFollowupSummaryByTypeRespVO { + followupType: string + followupRecordCount: number +} + +export interface CrmStatisticsCustomerContractSummaryRespVO { + customerName: string + contractName: string + totalPrice: number + receivablePrice: number + customerType: string + customerSource: string + ownerUserName: string + creatorUserName: string + createTime: Date + orderDate: Date +} + +export interface CrmStatisticsCustomerDealCycleByDateRespVO { + time: string + customerDealCycle: number +} + +export interface CrmStatisticsCustomerDealCycleByUserRespVO { + ownerUserName: string + customerDealCycle: number + customerDealCount: number +} + +// 客户分析 API +export const StatisticsCustomerApi = { + // 1.1 客户总量分析(按日期) + getCustomerSummaryByDate: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-customer-summary-by-date', + params + }) + }, + // 1.2 客户总量分析(按用户) + getCustomerSummaryByUser: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-customer-summary-by-user', + params + }) + }, + // 2.1 客户跟进次数分析(按日期) + getFollowupSummaryByDate: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-followup-summary-by-date', + params + }) + }, + // 2.2 客户跟进次数分析(按用户) + getFollowupSummaryByUser: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-followup-summary-by-user', + params + }) + }, + // 3.1 获取客户跟进方式统计数 + getFollowupSummaryByType: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-followup-summary-by-type', + params + }) + }, + // 4.1 合同摘要信息(客户转化率页面) + getContractSummary: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-contract-summary', + params + }) + }, + // 5.1 获取客户成交周期(按日期) + getCustomerDealCycleByDate: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-customer-deal-cycle-by-date', + params + }) + }, + // 5.2 获取客户成交周期(按用户) + getCustomerDealCycleByUser: (params: any) => { + return request.get({ + url: '/crm/statistics-customer/get-customer-deal-cycle-by-user', + params + }) + } +} diff --git a/src/views/crm/statistics/customer/components/CustomerConversionStat.vue b/src/views/crm/statistics/customer/components/CustomerConversionStat.vue new file mode 100644 index 0000000000000000000000000000000000000000..fbef26b8a5b9a27235e12dc8427f0947c2a265ef --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerConversionStat.vue @@ -0,0 +1,130 @@ + + + diff --git a/src/views/crm/statistics/customer/components/CustomerDealCycle.vue b/src/views/crm/statistics/customer/components/CustomerDealCycle.vue new file mode 100644 index 0000000000000000000000000000000000000000..9243e6a39609996c9f0e26c6cf45ea9d27ded187 --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerDealCycle.vue @@ -0,0 +1,127 @@ + + + diff --git a/src/views/crm/statistics/customer/components/CustomerFollowupSummary.vue b/src/views/crm/statistics/customer/components/CustomerFollowupSummary.vue new file mode 100644 index 0000000000000000000000000000000000000000..cfb025f513aead7bf5993c007ad53b6097c0742b --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerFollowupSummary.vue @@ -0,0 +1,124 @@ + + + diff --git a/src/views/crm/statistics/customer/components/CustomerFollowupType.vue b/src/views/crm/statistics/customer/components/CustomerFollowupType.vue new file mode 100644 index 0000000000000000000000000000000000000000..8751005483e4f86441fd84a147576f1d80769643 --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerFollowupType.vue @@ -0,0 +1,105 @@ + + + diff --git a/src/views/crm/statistics/customer/components/CustomerSummary.vue b/src/views/crm/statistics/customer/components/CustomerSummary.vue new file mode 100644 index 0000000000000000000000000000000000000000..da50b30b5e8cba075fd400b115a0447b130c6563 --- /dev/null +++ b/src/views/crm/statistics/customer/components/CustomerSummary.vue @@ -0,0 +1,150 @@ + + + diff --git a/src/views/crm/statistics/customer/index.vue b/src/views/crm/statistics/customer/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..8096814f5c7fdd1d9d5230f6cb618e9b1d9791f1 --- /dev/null +++ b/src/views/crm/statistics/customer/index.vue @@ -0,0 +1,165 @@ + + + +