From 43c3169c547ba83ab18557e84f98add8cba78b38 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 28 Sep 2025 09:51:07 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90antd=E3=80=91=E3=80=90crm?= =?UTF-8?q?=E3=80=91=E4=BA=A7=E5=93=81=E5=88=86=E7=B1=BB=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/crm/product/category/data.ts | 4 +++ .../src/views/crm/product/category/index.vue | 34 ++++++++----------- .../web-antd/src/views/infra/config/index.vue | 2 +- .../views/infra/dataSourceConfig/index.vue | 2 +- .../src/views/infra/demo/demo01/index.vue | 2 +- .../src/views/infra/demo/demo02/index.vue | 2 +- .../src/views/infra/demo/demo03/erp/index.vue | 2 +- .../demo03/erp/modules/demo03-course-list.vue | 2 +- .../demo03/erp/modules/demo03-grade-list.vue | 2 +- .../views/infra/demo/demo03/inner/index.vue | 2 +- .../views/infra/demo/demo03/normal/index.vue | 2 +- .../views/infra/demo/general/demo01/index.vue | 2 +- .../views/infra/demo/general/demo02/index.vue | 2 +- .../infra/demo/general/demo03/erp/index.vue | 2 +- .../demo03/erp/modules/demo03-course-list.vue | 2 +- .../demo03/erp/modules/demo03-grade-list.vue | 2 +- .../infra/demo/general/demo03/inner/index.vue | 2 +- .../demo/general/demo03/normal/index.vue | 2 +- apps/web-antd/src/views/infra/file/index.vue | 2 +- .../src/views/infra/fileConfig/index.vue | 2 +- apps/web-antd/src/views/system/dept/index.vue | 2 +- .../src/views/system/mail/account/index.vue | 2 +- .../src/views/system/mail/template/index.vue | 2 +- apps/web-antd/src/views/system/menu/index.vue | 2 +- .../src/views/system/notice/index.vue | 4 +-- .../views/system/notify/template/index.vue | 2 +- .../src/views/system/oauth2/client/index.vue | 2 +- apps/web-antd/src/views/system/post/index.vue | 2 +- apps/web-antd/src/views/system/role/index.vue | 2 +- .../src/views/system/sms/channel/index.vue | 2 +- .../src/views/system/sms/template/index.vue | 2 +- .../src/views/system/tenant/index.vue | 2 +- .../src/views/system/tenantPackage/index.vue | 2 +- apps/web-antd/src/views/system/user/index.vue | 4 +-- .../views/system/user/modules/dept-tree.vue | 2 +- apps/web-ele/src/views/infra/config/index.vue | 2 +- .../views/infra/dataSourceConfig/index.vue | 2 +- .../src/views/infra/demo/demo01/index.vue | 2 +- .../src/views/infra/demo/demo02/index.vue | 2 +- .../src/views/infra/demo/demo03/erp/index.vue | 2 +- .../demo03/erp/modules/demo03-course-list.vue | 2 +- .../demo03/erp/modules/demo03-grade-list.vue | 2 +- .../views/infra/demo/demo03/inner/index.vue | 2 +- .../views/infra/demo/demo03/normal/index.vue | 2 +- .../views/infra/demo/general/demo01/index.vue | 2 +- .../views/infra/demo/general/demo02/index.vue | 2 +- .../infra/demo/general/demo03/erp/index.vue | 2 +- .../demo03/erp/modules/demo03-course-list.vue | 2 +- .../demo03/erp/modules/demo03-grade-list.vue | 2 +- .../infra/demo/general/demo03/inner/index.vue | 2 +- .../demo/general/demo03/normal/index.vue | 2 +- apps/web-ele/src/views/infra/file/index.vue | 2 +- .../src/views/infra/fileConfig/index.vue | 6 ++-- apps/web-ele/src/views/system/dept/index.vue | 2 +- .../src/views/system/mail/account/index.vue | 2 +- .../src/views/system/mail/template/index.vue | 2 +- apps/web-ele/src/views/system/menu/index.vue | 2 +- .../web-ele/src/views/system/notice/index.vue | 4 +-- .../views/system/notify/template/index.vue | 2 +- .../src/views/system/oauth2/client/index.vue | 2 +- apps/web-ele/src/views/system/post/index.vue | 2 +- apps/web-ele/src/views/system/role/index.vue | 2 +- .../src/views/system/sms/channel/index.vue | 2 +- .../src/views/system/sms/template/index.vue | 2 +- .../web-ele/src/views/system/tenant/index.vue | 2 +- .../src/views/system/tenantPackage/index.vue | 2 +- apps/web-ele/src/views/system/user/index.vue | 4 +-- .../views/system/user/modules/dept-tree.vue | 2 +- 68 files changed, 91 insertions(+), 91 deletions(-) diff --git a/apps/web-antd/src/views/crm/product/category/data.ts b/apps/web-antd/src/views/crm/product/category/data.ts index 01d0996e..dcee3aa5 100644 --- a/apps/web-antd/src/views/crm/product/category/data.ts +++ b/apps/web-antd/src/views/crm/product/category/data.ts @@ -57,6 +57,10 @@ export function useGridFormSchema(): VbenFormSchema[] { fieldName: 'name', label: '分类名称', component: 'Input', + componentProps: { + allowClear: true, + placeholder: '请输入分类名称', + }, }, ]; } diff --git a/apps/web-antd/src/views/crm/product/category/index.vue b/apps/web-antd/src/views/crm/product/category/index.vue index 994b6315..5ff229dd 100644 --- a/apps/web-antd/src/views/crm/product/category/index.vue +++ b/apps/web-antd/src/views/crm/product/category/index.vue @@ -23,8 +23,15 @@ const [FormModal, formModalApi] = useVbenModal({ destroyOnClose: true, }); +/** 切换树形展开/收缩状态 */ +const isExpanded = ref(false); +function handleExpand() { + isExpanded.value = !isExpanded.value; + gridApi.grid.setAllTreeExpand(isExpanded.value); +} + /** 刷新表格 */ -function onRefresh() { +function handleRefresh() { gridApi.query(); } @@ -51,22 +58,13 @@ async function handleDelete(row: CrmProductCategoryApi.ProductCategory) { }); try { await deleteProductCategory(row.id as number); - message.success({ - content: $t('ui.actionMessage.deleteSuccess', [row.name]), - }); - onRefresh(); + message.success($t('ui.actionMessage.deleteSuccess', [row.name])); + handleRefresh(); } finally { hideLoading(); } } -/** 切换树形展开/收缩状态 */ -const isExpanded = ref(false); -function toggleExpand() { - isExpanded.value = !isExpanded.value; - gridApi.grid.setAllTreeExpand(isExpanded.value); -} - const [Grid, gridApi] = useVbenVxeGrid({ formOptions: { schema: useGridFormSchema(), @@ -87,14 +85,17 @@ const [Grid, gridApi] = useVbenVxeGrid({ }, rowConfig: { keyField: 'id', + isHover: true, }, toolbarConfig: { refresh: true, + search: true, }, treeConfig: { parentField: 'parentId', rowField: 'id', transform: true, + expandAll: true, reserve: true, }, } as VxeTableGridOptions, @@ -110,7 +111,7 @@ const [Grid, gridApi] = useVbenVxeGrid({ /> - + -