From 67b39cfe8a35c294d4c3c3fe1925635c6621940d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 1 Oct 2025 09:49:04 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A=E3=80=90antd=E3=80=91=E3=80=90ele?= =?UTF-8?q?=E3=80=91=E7=BB=9F=E4=B8=80=20infra=20=E5=92=8C=20system=20?= =?UTF-8?q?=E7=9A=84=E4=BB=A3=E7=A0=81=E9=A3=8E=E6=A0=BC=EF=BC=88demo01?= =?UTF-8?q?=E3=80=81demo02=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/infra/demo/demo01/index.vue | 32 +++++++-------- .../views/infra/demo/demo01/modules/form.vue | 6 +-- .../src/views/infra/demo/demo02/index.vue | 31 +++++++------- .../views/infra/demo/demo02/modules/form.vue | 37 +++++++---------- .../src/views/infra/fileConfig/index.vue | 2 +- .../src/views/infra/demo/demo01/data.ts | 2 +- .../src/views/infra/demo/demo01/index.vue | 30 +++++++------- .../src/views/infra/demo/demo02/index.vue | 41 +++++++++---------- .../views/infra/demo/demo02/modules/form.vue | 25 +++++------ 9 files changed, 93 insertions(+), 113 deletions(-) diff --git a/apps/web-antd/src/views/infra/demo/demo01/index.vue b/apps/web-antd/src/views/infra/demo/demo01/index.vue index 69dff39c..843fe203 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/index.vue @@ -4,7 +4,7 @@ import type { Demo01ContactApi } from '#/api/infra/demo/demo01'; import { ref } from 'vue'; -import { Page, useVbenModal } from '@vben/common-ui'; +import { confirm, Page, useVbenModal } from '@vben/common-ui'; import { downloadFileFromBlobPart, isEmpty } from '@vben/utils'; import { message } from 'ant-design-vue'; @@ -27,10 +27,16 @@ const [FormModal, formModalApi] = useVbenModal({ }); /** 刷新表格 */ -function onRefresh() { +function handleRefresh() { gridApi.query(); } +/** 导出表格 */ +async function handleExport() { + const data = await exportDemo01Contact(await gridApi.formApi.getValues()); + downloadFileFromBlobPart({ fileName: '示例联系人.xls', source: data }); +} + /** 创建示例联系人 */ function handleCreate() { formModalApi.setData({}).open(); @@ -46,12 +52,11 @@ async function handleDelete(row: Demo01ContactApi.Demo01Contact) { const hideLoading = message.loading({ content: $t('ui.actionMessage.deleting', [row.id]), duration: 0, - key: 'action_process_msg', }); try { await deleteDemo01Contact(row.id!); message.success($t('ui.actionMessage.deleteSuccess', [row.id])); - onRefresh(); + handleRefresh(); } finally { hideLoading(); } @@ -59,16 +64,16 @@ async function handleDelete(row: Demo01ContactApi.Demo01Contact) { /** 批量删除示例联系人 */ async function handleDeleteBatch() { + await confirm($t('ui.actionMessage.deleteBatchConfirm')); const hideLoading = message.loading({ - content: $t('ui.actionMessage.deleting'), + content: $t('ui.actionMessage.deletingBatch'), duration: 0, - key: 'action_process_msg', }); try { await deleteDemo01ContactList(checkedIds.value); checkedIds.value = []; message.success($t('ui.actionMessage.deleteSuccess')); - onRefresh(); + handleRefresh(); } finally { hideLoading(); } @@ -83,12 +88,6 @@ function handleRowCheckboxChange({ checkedIds.value = records.map((item) => item.id!); } -/** 导出表格 */ -async function handleExport() { - const data = await exportDemo01Contact(await gridApi.formApi.getValues()); - downloadFileFromBlobPart({ fileName: '示例联系人.xls', source: data }); -} - const [Grid, gridApi] = useVbenVxeGrid({ formOptions: { schema: useGridFormSchema(), @@ -128,8 +127,7 @@ const [Grid, gridApi] = useVbenVxeGrid({