From 524f8f3333d199260a5b3bd13a0279b7758c383c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= <2178503051@qq.com> Date: Tue, 30 Jun 2026 14:38:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(crm):=20=E6=96=B0=E5=A2=9E=E9=85=8D?= =?UTF-8?q?=E5=8D=B7=E7=9B=B8=E5=85=B3API=E5=B9=B6=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E5=90=88=E5=90=8C=E3=80=81=E9=94=80=E5=94=AE=E5=91=98=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E7=9A=84=E9=85=8D=E5=8D=B7=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 新增crm/coil.js封装配卷相关接口,包括列表查询和统计汇总 2. 重构合同页面:移除冗余的coilList状态,改用分页API加载生产成果和发货配卷数据,新增分页和统计展示 3. 重构销售员页面:改用独立分页API获取生产成果和计划发货数据,新增分页、加载状态和全局统计 4. 升级CoilTable组件:支持分页功能和双维度统计(本页/全部) --- klp-ui/src/api/crm/coil.js | 83 ++++++++++ klp-ui/src/views/crm/components/CoilTable.vue | 78 ++++++++- .../crm/contract/components/ContractTabs.vue | 128 +++++++++++---- klp-ui/src/views/crm/contract/index.vue | 27 +-- klp-ui/src/views/crm/saleman/index.vue | 154 ++++++++++++------ 5 files changed, 362 insertions(+), 108 deletions(-) create mode 100644 klp-ui/src/api/crm/coil.js diff --git a/klp-ui/src/api/crm/coil.js b/klp-ui/src/api/crm/coil.js new file mode 100644 index 000000000..2763424c6 --- /dev/null +++ b/klp-ui/src/api/crm/coil.js @@ -0,0 +1,83 @@ +import request from '@/utils/request' + +// ==================== 配卷列表查询 ==================== + +// 指定客户的发货配卷列表 +export function listDeliveryCoilsByCustomer(customerId) { + return request({ + url: '/crm/orderItem/coils/customer/' + customerId, + method: 'get' + }) +} + +// 指定合同的发货配卷列表(分页) +export function listDeliveryCoilsByOrder(orderId, query) { + return request({ + url: `/crm/orderItem/coils/order/${orderId}`, + method: 'get', + params: query + }) +} + +// 指定销售员的发货配卷列表(分页) +export function listDeliveryCoilsByPrincipal(query) { + return request({ + url: '/wms/deliveryWaybillDetail/coilListByPrincipal', + method: 'get', + params: query + }) +} + +// 指定销售员的生产成果列表(分页) +export function listProductCoilsBySalesman(query) { + return request({ + url: '/crm/orderItem/coils/bySalesman', + method: 'get', + params: query + }) +} + +// 指定合同的生产成果列表(分页) +export function listProductCoilsByContract(contractId, query) { + return request({ + url: `/crm/orderItem/coils/byContract/${contractId}`, + method: 'get', + params: query + }) +} + +// ==================== 配卷统计汇总 ==================== + +// 根据订单ID统计发货配卷汇总 +export function getDeliveryCoilsStatisticsByOrder(orderId) { + return request({ + url: `/crm/orderItem/coils/order/${orderId}/statistics`, + method: 'get' + }) +} + +// 根据销售员统计生产成果汇总 +export function getProductCoilsStatisticsBySalesman(salesman) { + return request({ + url: '/crm/orderItem/coils/bySalesman/statistics', + method: 'get', + params: { salesman } + }) +} + +// 根据合同ID统计生产成果汇总 +export function getProductCoilsStatisticsByContract(contractId) { + return request({ + url: `/crm/orderItem/coils/byContract/${contractId}/statistics`, + method: 'get' + }) +} + +// 根据负责人统计发货配卷汇总 +export function getDeliveryCoilsStatisticsByPrincipal(principal) { + return request({ + url: '/wms/deliveryWaybillDetail/coilListByPrincipal/statistics', + method: 'get', + params: { principal } + }) +} diff --git a/klp-ui/src/views/crm/components/CoilTable.vue b/klp-ui/src/views/crm/components/CoilTable.vue index 495ad9619..3739463ab 100644 --- a/klp-ui/src/views/crm/components/CoilTable.vue +++ b/klp-ui/src/views/crm/components/CoilTable.vue @@ -2,9 +2,25 @@