From 980a9cf2b72a384e384298387ceef676c0df4181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Mon, 29 Dec 2025 11:11:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(crm):=20=E6=96=B0=E5=A2=9E=E9=94=80?= =?UTF-8?q?=E5=94=AE=E6=8A=A5=E8=A1=A8=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=AE=A2=E5=8D=95=E5=BC=82=E8=AE=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增销售报表功能,包括汇总数据展示、图表统计和订单明细 - 优化订单异议处理流程,增加处理状态显示和操作按钮条件渲染 - 重构订单状态枚举导入和使用方式 - 移除不必要的查询条件和冗余代码 - 修复部分UI样式问题 --- klp-ui/src/api/crm/report.js | 116 +++ klp-ui/src/views/crm/components/OrderEdit.vue | 12 + .../views/crm/components/OrderObjection.vue | 139 +-- klp-ui/src/views/crm/js/actions.js | 274 +++--- klp-ui/src/views/crm/order/index.vue | 13 +- klp-ui/src/views/crm/report/index.vue | 791 ++++++++++++++++++ klp-ui/src/views/ems/meter/index.vue | 2 +- .../views/mes/eqp/components/pages/device.vue | 2 +- 8 files changed, 1122 insertions(+), 227 deletions(-) create mode 100644 klp-ui/src/api/crm/report.js create mode 100644 klp-ui/src/views/crm/report/index.vue diff --git a/klp-ui/src/api/crm/report.js b/klp-ui/src/api/crm/report.js new file mode 100644 index 00000000..f5bc3115 --- /dev/null +++ b/klp-ui/src/api/crm/report.js @@ -0,0 +1,116 @@ +import request from '@/utils/request' + +/** + * 查询销售报表汇总数据 + */ +export function getSummary(query) { + return request({ + url: '/crm/salesReport/summary', + method: 'get', + params: query + }) +} + +/** + * 分页查询销售报表订单明细 + */ +export function getOrderDetails(query) { + return request({ + url: '/crm/salesReport/orderDetails', + method: 'get', + params: query + }) +} + +/** + * 查询完整销售报表数据 + */ +export function getFullSalesReport(query) { + return request({ + url: '/crm/salesReport/fullReport', + method: 'get', + params: query + }) +} + +/** + * 查询销售员统计数据 + */ +export function getSalesmanStats(query) { + return request({ + url: '/crm/salesReport/salesmanStats', + method: 'get', + params: query + }) +} + +/** + * 查询客户等级统计数据 + */ +export function getCustomerLevelStats(query) { + return request({ + url: '/crm/salesReport/customerLevelStats', + method: 'get', + params: query + }) +} + +/** + * 查询行业统计数据 + */ +export function getIndustryStats(query) { + return request({ + url: '/crm/salesReport/industryStats', + method: 'get', + params: query + }) +} + +/** + * 导出销售报表订单明细 + */ +export function exportOrderDetails(query) { + return request({ + url: '/crm/salesReport/exportOrderDetails', + method: 'post', + data: query, + // 导出文件需指定响应类型(可选,根据项目ExcelUtil配置调整) + responseType: 'blob' + }) +} + +/** + * 导出销售员统计数据 + */ +export function exportSalesmanStats(query) { + return request({ + url: '/crm/salesReport/exportSalesmanStats', + method: 'post', + data: query, + responseType: 'blob' + }) +} + +/** + * 导出客户等级统计数据 + */ +export function exportCustomerLevelStats(query) { + return request({ + url: '/crm/salesReport/exportCustomerLevelStats', + method: 'post', + data: query, + responseType: 'blob' + }) +} + +/** + * 导出行业统计数据 + */ +export function exportIndustryStats(query) { + return request({ + url: '/crm/salesReport/exportIndustryStats', + method: 'post', + data: query, + responseType: 'blob' + }) +} \ No newline at end of file diff --git a/klp-ui/src/views/crm/components/OrderEdit.vue b/klp-ui/src/views/crm/components/OrderEdit.vue index b64713c8..304c84eb 100644 --- a/klp-ui/src/views/crm/components/OrderEdit.vue +++ b/klp-ui/src/views/crm/components/OrderEdit.vue @@ -39,6 +39,15 @@ + + + + + + + + @@ -50,6 +59,8 @@ + + \ No newline at end of file diff --git a/klp-ui/src/views/ems/meter/index.vue b/klp-ui/src/views/ems/meter/index.vue index 3e36c562..51154b1b 100644 --- a/klp-ui/src/views/ems/meter/index.vue +++ b/klp-ui/src/views/ems/meter/index.vue @@ -320,7 +320,7 @@ - +
diff --git a/klp-ui/src/views/mes/eqp/components/pages/device.vue b/klp-ui/src/views/mes/eqp/components/pages/device.vue index a446fdfe..6d6aec30 100644 --- a/klp-ui/src/views/mes/eqp/components/pages/device.vue +++ b/klp-ui/src/views/mes/eqp/components/pages/device.vue @@ -1,5 +1,5 @@