From 7ef40eeb2a54f9a9e9d1e52e39c0245da0277786 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Mon, 22 Jun 2026 09:20:52 -0700 Subject: [PATCH 1/2] =?UTF-8?q?feat(mall):=20=E5=95=86=E5=93=81=20tab=20?= =?UTF-8?q?=E8=AE=A1=E6=95=B0=E8=B7=9F=E9=9A=8F=E7=AD=9B=E9=80=89=E6=9D=A1?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit getTabsCount 传入 gridApi.formApi.getValues(),使 tab 数量与列表筛选口径一致;首页统计卡片仍用无参版(全局总数)。web-ele 与 web-antdv-next 同步。 --- apps/web-antdv-next/src/api/mall/product/spu/index.ts | 6 +++--- apps/web-antdv-next/src/views/mall/product/spu/index.vue | 2 +- apps/web-ele/src/api/mall/product/spu/index.ts | 6 +++--- apps/web-ele/src/views/mall/product/spu/index.vue | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/web-antdv-next/src/api/mall/product/spu/index.ts b/apps/web-antdv-next/src/api/mall/product/spu/index.ts index 0c9f4ce94..d970f060b 100644 --- a/apps/web-antdv-next/src/api/mall/product/spu/index.ts +++ b/apps/web-antdv-next/src/api/mall/product/spu/index.ts @@ -76,9 +76,9 @@ export function getSpuPage(params: PageParam) { }); } -/** 获得商品 SPU 列表 tabsCount */ -export function getTabsCount() { - return requestClient.get>('/product/spu/get-count'); +/** 获得商品 SPU 列表 tabsCount(支持按 name/categoryId/createTime 筛选) */ +export function getTabsCount(params?: Record) { + return requestClient.get>('/product/spu/get-count', { params }); } /** 创建商品 SPU */ diff --git a/apps/web-antdv-next/src/views/mall/product/spu/index.vue b/apps/web-antdv-next/src/views/mall/product/spu/index.vue index 16137a7c8..90d808293 100644 --- a/apps/web-antdv-next/src/views/mall/product/spu/index.vue +++ b/apps/web-antdv-next/src/views/mall/product/spu/index.vue @@ -74,7 +74,7 @@ async function handleExport() { /** 获得每个 Tab 的数量 */ async function getTabCount() { - const res = await getTabsCount(); + const res = await getTabsCount(await gridApi.formApi.getValues()); for (const objName in res) { const index = Number(objName); if (tabsData.value[index]) { diff --git a/apps/web-ele/src/api/mall/product/spu/index.ts b/apps/web-ele/src/api/mall/product/spu/index.ts index 0c9f4ce94..d970f060b 100644 --- a/apps/web-ele/src/api/mall/product/spu/index.ts +++ b/apps/web-ele/src/api/mall/product/spu/index.ts @@ -76,9 +76,9 @@ export function getSpuPage(params: PageParam) { }); } -/** 获得商品 SPU 列表 tabsCount */ -export function getTabsCount() { - return requestClient.get>('/product/spu/get-count'); +/** 获得商品 SPU 列表 tabsCount(支持按 name/categoryId/createTime 筛选) */ +export function getTabsCount(params?: Record) { + return requestClient.get>('/product/spu/get-count', { params }); } /** 创建商品 SPU */ diff --git a/apps/web-ele/src/views/mall/product/spu/index.vue b/apps/web-ele/src/views/mall/product/spu/index.vue index d9fe81cbf..aa049581d 100644 --- a/apps/web-ele/src/views/mall/product/spu/index.vue +++ b/apps/web-ele/src/views/mall/product/spu/index.vue @@ -68,7 +68,7 @@ async function handleExport() { /** 获得每个 Tab 的数量 */ async function getTabCount() { - const res = await getTabsCount(); + const res = await getTabsCount(await gridApi.formApi.getValues()); for (const objName in res) { const index = Number(objName); if (tabsData.value[index]) { From 2dd76ea7dd915f6ee3a75798eb57759bf3dda3b4 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 24 Jun 2026 18:53:26 -0700 Subject: [PATCH 2/2] =?UTF-8?q?fix(vben):=20=E5=AF=B9=E9=BD=90=20antd/next?= =?UTF-8?q?/ele=20=E4=B8=9A=E5=8A=A1=E4=BB=A3=E7=A0=81=E5=B7=AE=E5=BC=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 同步 CRM 回款、系统用户、MES 设备、ERP 付款等 API/查询差异 - 移除废弃 BPM 移动表单预览路由与页面 - 修复 Element Plus 端 ERP 日期时间选择器配置 - 对齐 BPM 监听器选择、MES 反馈明细、SPU tab 计数筛选行为 - 统一 Element Plus 端 WMS 选择组件命名与导出路径 --- apps/web-antd/src/api/crm/receivable/index.ts | 9 +- .../src/api/mall/product/spu/index.ts | 6 +- apps/web-antd/src/api/system/user/index.ts | 9 +- apps/web-antd/src/router/routes/core.ts | 15 - .../penal/listeners/ElementListeners.vue | 2 +- .../src/views/bpm/form/mobile/index.vue | 405 ------------------ .../detail/modules/bpm-viewer.vue | 1 + .../detail/modules/simple-bpm-viewer.vue | 1 + .../crm/receivable/components/detail-list.vue | 13 +- .../infra/demo/general/demo03/inner/index.vue | 4 +- .../inner/modules/demo03-course-form.vue | 4 +- .../inner/modules/demo03-course-list.vue | 4 +- .../inner/modules/demo03-grade-form.vue | 4 +- .../inner/modules/demo03-grade-list.vue | 4 +- .../general/demo03/inner/modules/form.vue | 4 +- .../src/views/mall/product/spu/index.vue | 8 +- .../src/api/crm/receivable/index.ts | 9 +- .../src/api/system/user/index.ts | 19 +- apps/web-antdv-next/src/router/routes/core.ts | 15 - .../src/views/bpm/form/mobile/index.vue | 405 ------------------ .../detail/modules/bpm-viewer.vue | 1 + .../detail/modules/simple-bpm-viewer.vue | 1 + .../crm/receivable/components/detail-list.vue | 13 +- .../infra/demo/general/demo03/inner/index.vue | 4 +- .../inner/modules/demo03-course-form.vue | 4 +- .../inner/modules/demo03-course-list.vue | 4 +- .../inner/modules/demo03-grade-form.vue | 4 +- .../inner/modules/demo03-grade-list.vue | 4 +- .../general/demo03/inner/modules/form.vue | 4 +- .../src/views/mall/product/spu/index.vue | 8 +- apps/web-ele/src/api/crm/receivable/index.ts | 16 +- .../src/api/erp/finance/payment/index.ts | 25 +- .../web-ele/src/api/mes/dv/machinery/index.ts | 2 +- apps/web-ele/src/router/routes/modules/crm.ts | 45 -- .../penal/listeners/ElementListeners.vue | 4 +- .../penal/listeners/UserTaskListeners.vue | 4 +- .../bpmn-process-designer/package/utils.ts | 45 +- .../nodes-config/user-task-node-config.vue | 44 +- .../components/select-modal.vue | 84 +++- .../bpm/processListener/components/data.ts | 46 +- .../components/select-modal.vue | 23 +- .../crm/receivable/components/detail-list.vue | 13 +- .../src/views/erp/finance/payment/data.ts | 1 + .../src/views/erp/finance/receipt/data.ts | 1 + .../web-ele/src/views/erp/purchase/in/data.ts | 2 +- .../src/views/erp/purchase/order/data.ts | 2 +- .../src/views/erp/purchase/return/data.ts | 2 +- apps/web-ele/src/views/erp/sale/order/data.ts | 1 + apps/web-ele/src/views/erp/sale/out/data.ts | 1 + .../web-ele/src/views/erp/sale/return/data.ts | 1 + .../web-ele/src/views/erp/stock/check/data.ts | 1 + apps/web-ele/src/views/erp/stock/in/data.ts | 1 + apps/web-ele/src/views/erp/stock/move/data.ts | 1 + apps/web-ele/src/views/erp/stock/out/data.ts | 1 + .../src/views/mall/product/spu/index.vue | 8 +- .../feedback/modules/item-consume-list.vue | 6 +- .../feedback/modules/product-produce-list.vue | 6 +- .../web-ele/src/views/report/goview/index.vue | 27 ++ apps/web-ele/src/views/report/jmreport/bi.vue | 25 ++ .../src/views/report/jmreport/index.vue | 25 ++ .../views/wms/inventory/components/index.ts | 3 +- .../{inventory-select.vue => select.vue} | 0 .../wms/md/item/brand/components/index.ts | 2 +- .../{item-brand-select.vue => select.vue} | 0 .../wms/md/item/category/components/index.ts | 4 +- .../{item-category-select.vue => select.vue} | 0 .../{item-category-tree.vue => tree.vue} | 0 .../views/wms/md/item/sku/components/index.ts | 2 +- .../{item-sku-select.vue => select.vue} | 0 .../views/wms/md/merchant/components/index.ts | 2 +- .../{merchant-select.vue => select.vue} | 0 .../wms/md/warehouse/components/index.ts | 2 +- .../{warehouse-select.vue => select.vue} | 0 .../views/wms/order/movement/modules/form.vue | 2 +- .../views/wms/order/shipment/modules/form.vue | 2 +- 75 files changed, 402 insertions(+), 1068 deletions(-) delete mode 100644 apps/web-antd/src/views/bpm/form/mobile/index.vue delete mode 100644 apps/web-antdv-next/src/views/bpm/form/mobile/index.vue create mode 100644 apps/web-ele/src/views/report/goview/index.vue create mode 100644 apps/web-ele/src/views/report/jmreport/bi.vue create mode 100644 apps/web-ele/src/views/report/jmreport/index.vue rename apps/web-ele/src/views/wms/inventory/components/{inventory-select.vue => select.vue} (100%) rename apps/web-ele/src/views/wms/md/item/brand/components/{item-brand-select.vue => select.vue} (100%) rename apps/web-ele/src/views/wms/md/item/category/components/{item-category-select.vue => select.vue} (100%) rename apps/web-ele/src/views/wms/md/item/category/components/{item-category-tree.vue => tree.vue} (100%) rename apps/web-ele/src/views/wms/md/item/sku/components/{item-sku-select.vue => select.vue} (100%) rename apps/web-ele/src/views/wms/md/merchant/components/{merchant-select.vue => select.vue} (100%) rename apps/web-ele/src/views/wms/md/warehouse/components/{warehouse-select.vue => select.vue} (100%) diff --git a/apps/web-antd/src/api/crm/receivable/index.ts b/apps/web-antd/src/api/crm/receivable/index.ts index 36b3db081..3014fce12 100644 --- a/apps/web-antd/src/api/crm/receivable/index.ts +++ b/apps/web-antd/src/api/crm/receivable/index.ts @@ -35,11 +35,6 @@ export namespace CrmReceivableApi { no: string; totalPrice: number; } - - export interface ReceivablePageParam extends PageParam { - contractId?: number; - customerId?: number; - } } /** 查询回款列表 */ @@ -51,9 +46,7 @@ export function getReceivablePage(params: PageParam) { } /** 查询回款列表,基于指定客户 */ -export function getReceivablePageByCustomer( - params: CrmReceivableApi.ReceivablePageParam, -) { +export function getReceivablePageByCustomer(params: PageParam) { return requestClient.get>( '/crm/receivable/page-by-customer', { params }, diff --git a/apps/web-antd/src/api/mall/product/spu/index.ts b/apps/web-antd/src/api/mall/product/spu/index.ts index 0c9f4ce94..d970f060b 100644 --- a/apps/web-antd/src/api/mall/product/spu/index.ts +++ b/apps/web-antd/src/api/mall/product/spu/index.ts @@ -76,9 +76,9 @@ export function getSpuPage(params: PageParam) { }); } -/** 获得商品 SPU 列表 tabsCount */ -export function getTabsCount() { - return requestClient.get>('/product/spu/get-count'); +/** 获得商品 SPU 列表 tabsCount(支持按 name/categoryId/createTime 筛选) */ +export function getTabsCount(params?: Record) { + return requestClient.get>('/product/spu/get-count', { params }); } /** 创建商品 SPU */ diff --git a/apps/web-antd/src/api/system/user/index.ts b/apps/web-antd/src/api/system/user/index.ts index 1f4903682..fa7c05167 100644 --- a/apps/web-antd/src/api/system/user/index.ts +++ b/apps/web-antd/src/api/system/user/index.ts @@ -110,7 +110,10 @@ export function getSimpleUser(id: number | string) { /** 按昵称模糊搜索用户 */ export function getSimpleUserListByNickname(nickname: string) { - return requestClient.get('/system/user/list-by-nickname', { - params: { nickname }, - }); + return requestClient.get( + '/system/user/list-by-nickname', + { + params: { nickname }, + }, + ); } diff --git a/apps/web-antd/src/router/routes/core.ts b/apps/web-antd/src/router/routes/core.ts index f9aec3052..22fd0017c 100644 --- a/apps/web-antd/src/router/routes/core.ts +++ b/apps/web-antd/src/router/routes/core.ts @@ -109,21 +109,6 @@ const coreRoutes: RouteRecordRaw[] = [ }, ], }, - /** - * 用于 bpm 移动端流程表单 web-view 的嵌入 - */ - { - component: () => import('#/views/bpm/form/mobile/index.vue'), - meta: { - hideInBreadcrumb: true, - hideInMenu: true, - hideInTab: true, - ignoreAccess: true, - title: '移动端流程表单展示', - }, - name: 'BpmMobileFormPreview', - path: '/bpm/mobile/form-preview', - }, ]; export { coreRoutes, fallbackNotFoundRoute }; diff --git a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ElementListeners.vue b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ElementListeners.vue index 8e1badff0..d823def74 100644 --- a/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ElementListeners.vue +++ b/apps/web-antd/src/views/bpm/components/bpmn-process-designer/package/penal/listeners/ElementListeners.vue @@ -40,7 +40,7 @@ const props = defineProps({ default: '', }, }); -const prefix = inject('prefix', 'flowable'); // 增加默认值flowable +const prefix = inject('prefix', 'flowable'); const elementListenersList = ref([]); // 监听器列表 const listenerForm = ref({}); // 监听器详情表单 const fieldsListOfListener = ref([]); diff --git a/apps/web-antd/src/views/bpm/form/mobile/index.vue b/apps/web-antd/src/views/bpm/form/mobile/index.vue deleted file mode 100644 index d0e199ba7..000000000 --- a/apps/web-antd/src/views/bpm/form/mobile/index.vue +++ /dev/null @@ -1,405 +0,0 @@ - - - - - diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue index 4ffbb62c0..3f86e68f3 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue @@ -33,6 +33,7 @@ watch( view.value = newModelView; } }, + { immediate: true }, ); /** 监听 bpmnXml */ diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue index 751f390ca..6e4c65982 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue @@ -56,6 +56,7 @@ watch( simpleModel.value = newModelView.simpleModel || {}; } }, + { immediate: true }, ); /** 监控模型结构数据 */ diff --git a/apps/web-antd/src/views/crm/receivable/components/detail-list.vue b/apps/web-antd/src/views/crm/receivable/components/detail-list.vue index 979f5521d..25e3480a3 100644 --- a/apps/web-antd/src/views/crm/receivable/components/detail-list.vue +++ b/apps/web-antd/src/views/crm/receivable/components/detail-list.vue @@ -70,17 +70,14 @@ const [Grid, gridApi] = useVbenVxeGrid({ proxyConfig: { ajax: { query: async ({ page }) => { - const queryParams: CrmReceivableApi.ReceivablePageParam = { + const queryParams = { + ...(props.customerId ? { customerId: props.customerId } : {}), + ...(props.customerId && props.contractId + ? { contractId: props.contractId } + : {}), pageNo: page.currentPage, pageSize: page.pageSize, }; - if (props.customerId && !props.contractId) { - queryParams.customerId = props.customerId; - } else if (props.customerId && props.contractId) { - // 如果是合同的话客户编号也需要带上因为权限基于客户 - queryParams.customerId = props.customerId; - queryParams.contractId = props.contractId; - } return await getReceivablePageByCustomer(queryParams); }, }, diff --git a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue index 5c25d3085..035d6b9a8 100644 --- a/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue +++ b/apps/web-antd/src/views/infra/demo/general/demo03/inner/index.vue @@ -1,5 +1,5 @@ - - - - diff --git a/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue b/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue index 4ffbb62c0..3f86e68f3 100644 --- a/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue +++ b/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/bpm-viewer.vue @@ -33,6 +33,7 @@ watch( view.value = newModelView; } }, + { immediate: true }, ); /** 监听 bpmnXml */ diff --git a/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue b/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue index 751f390ca..6e4c65982 100644 --- a/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue +++ b/apps/web-antdv-next/src/views/bpm/processInstance/detail/modules/simple-bpm-viewer.vue @@ -56,6 +56,7 @@ watch( simpleModel.value = newModelView.simpleModel || {}; } }, + { immediate: true }, ); /** 监控模型结构数据 */ diff --git a/apps/web-antdv-next/src/views/crm/receivable/components/detail-list.vue b/apps/web-antdv-next/src/views/crm/receivable/components/detail-list.vue index f655adee3..e821c2b28 100644 --- a/apps/web-antdv-next/src/views/crm/receivable/components/detail-list.vue +++ b/apps/web-antdv-next/src/views/crm/receivable/components/detail-list.vue @@ -70,17 +70,14 @@ const [Grid, gridApi] = useVbenVxeGrid({ proxyConfig: { ajax: { query: async ({ page }) => { - const queryParams: CrmReceivableApi.ReceivablePageParam = { + const queryParams = { + ...(props.customerId ? { customerId: props.customerId } : {}), + ...(props.customerId && props.contractId + ? { contractId: props.contractId } + : {}), pageNo: page.currentPage, pageSize: page.pageSize, }; - if (props.customerId && !props.contractId) { - queryParams.customerId = props.customerId; - } else if (props.customerId && props.contractId) { - // 如果是合同的话客户编号也需要带上因为权限基于客户 - queryParams.customerId = props.customerId; - queryParams.contractId = props.contractId; - } return await getReceivablePageByCustomer(queryParams); }, }, diff --git a/apps/web-antdv-next/src/views/infra/demo/general/demo03/inner/index.vue b/apps/web-antdv-next/src/views/infra/demo/general/demo03/inner/index.vue index c1b9884ca..9d2d86c3e 100644 --- a/apps/web-antdv-next/src/views/infra/demo/general/demo03/inner/index.vue +++ b/apps/web-antdv-next/src/views/infra/demo/general/demo03/inner/index.vue @@ -1,5 +1,5 @@