From 5f6956b43b1afabbd7e773f738dbea2f2618e83e Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Tue, 24 Jun 2025 09:49:14 +0800 Subject: [PATCH] fix: crm statistics customer --- .../src/api/crm/statistics/customer.ts | 2 +- .../views/crm/statistics/customer/index.vue | 82 ++----------------- 2 files changed, 6 insertions(+), 78 deletions(-) diff --git a/apps/web-antd/src/api/crm/statistics/customer.ts b/apps/web-antd/src/api/crm/statistics/customer.ts index 273e91d9d..cfc47e6bd 100644 --- a/apps/web-antd/src/api/crm/statistics/customer.ts +++ b/apps/web-antd/src/api/crm/statistics/customer.ts @@ -133,7 +133,7 @@ export function getDatas(activeTabName: any, params: any) { } } -export function getChartOptions(activeTabName: any, params: any) { +export function getChartDatas(activeTabName: any, params: any) { switch (activeTabName) { case 'conversionStat': { return getCustomerSummaryByDate(params); diff --git a/apps/web-antd/src/views/crm/statistics/customer/index.vue b/apps/web-antd/src/views/crm/statistics/customer/index.vue index 77727a45b..513088a89 100644 --- a/apps/web-antd/src/views/crm/statistics/customer/index.vue +++ b/apps/web-antd/src/views/crm/statistics/customer/index.vue @@ -12,12 +12,7 @@ import { EchartsUI, useEcharts } from '@vben/plugins/echarts'; import { Tabs } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; -import { - getCustomerDealCycleByUser, - getCustomerSummaryByDate, - getCustomerSummaryByUser, - getDatas, -} from '#/api/crm/statistics/customer'; +import { getChartDatas, getDatas } from '#/api/crm/statistics/customer'; import { getChartOptions } from './chartOptions'; import { customerSummaryTabs, useGridColumns, useGridFormSchema } from './data'; @@ -40,7 +35,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ proxyConfig: { ajax: { query: async (_, formValues) => { - const res = await getCustomerSummaryByDate(formValues); + const res = await getChartDatas(activeTabName.value, formValues); renderEcharts(getChartOptions(activeTabName.value, res)); return await getDatas(activeTabName.value, formValues); }, @@ -58,76 +53,9 @@ const [Grid, gridApi] = useVbenVxeGrid({ async function handleTabChange(key: any) { activeTabName.value = key; - const params = (await gridApi.formApi.getValues()) as any; - switch (key) { - case 'conversionStat': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerSummaryByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'customerSummary': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerSummaryByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'dealCycleByArea': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerDealCycleByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'dealCycleByProduct': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerDealCycleByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'dealCycleByUser': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerDealCycleByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'followUpSummary': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerSummaryByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'followUpType': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerSummaryByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - case 'poolSummary': { - gridApi.setGridOptions({ - columns: useGridColumns(key), - }); - const data = await getCustomerSummaryByUser(params); - renderEcharts(getChartOptions(key, data), true); - break; - } - default: { - break; - } - } + gridApi.setGridOptions({ + columns: useGridColumns(key), + }); gridApi.reload(); }