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 6506d0ce..1a5c780e 100644 --- a/apps/web-antd/src/views/crm/product/category/index.vue +++ b/apps/web-antd/src/views/crm/product/category/index.vue @@ -37,7 +37,7 @@ function handleRefresh() { /** 创建分类 */ function handleCreate() { - formModalApi.setData({}).open(); + formModalApi.setData(null).open(); } /** 添加下级分类 */ 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 843fe203..eaaa44b8 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/index.vue @@ -39,7 +39,7 @@ async function handleExport() { /** 创建示例联系人 */ function handleCreate() { - formModalApi.setData({}).open(); + formModalApi.setData(null).open(); } /** 编辑示例联系人 */ diff --git a/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue b/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue index 35a36074..e430bf2b 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue @@ -65,21 +65,20 @@ const [Modal, modalApi] = useVbenModal({ return; } // 加载数据 - let data = modalApi.getData(); - if (!data) { + const data = modalApi.getData(); + if (!data || !data.id) { return; } - if (data.id) { - modalApi.lock(); - try { - data = await getDemo01Contact(data.id); - } finally { - modalApi.unlock(); + modalApi.lock(); + try { + formData.value = await getDemo01Contact(data.id); + // 设置到 values + if (formData.value) { + await formApi.setValues(formData.value); } + } finally { + modalApi.unlock(); } - // 设置到 values - formData.value = data; - await formApi.setValues(formData.value); }, }); diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue index af78d1fd..610f11cc 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/index.vue @@ -2,13 +2,12 @@ import type { VxeTableGridOptions } from '#/adapter/vxe-table'; import type { Demo03StudentApi } from '#/api/infra/demo/demo03/erp'; -import { h, ref } from 'vue'; +import { ref } from 'vue'; -import { Page, useVbenModal } from '@vben/common-ui'; -import { Download, Plus, Trash2 } from '@vben/icons'; +import { confirm, Page, useVbenModal } from '@vben/common-ui'; import { downloadFileFromBlobPart, isEmpty } from '@vben/utils'; -import { Button, message, Tabs } from 'ant-design-vue'; +import { message, Tabs } from 'ant-design-vue'; import { ACTION_ICON, TableAction, useVbenVxeGrid } from '#/adapter/vxe-table'; import { @@ -34,48 +33,53 @@ const [FormModal, formModalApi] = useVbenModal({ }); /** 刷新表格 */ -function onRefresh() { +function handleRefresh() { gridApi.query(); } +/** 导出表格 */ +async function handleExport() { + const data = await exportDemo03Student(await gridApi.formApi.getValues()); + downloadFileFromBlobPart({ fileName: '学生.xls', source: data }); +} + /** 创建学生 */ -function onCreate() { - formModalApi.setData({}).open(); +function handleCreate() { + formModalApi.setData(null).open(); } /** 编辑学生 */ -function onEdit(row: Demo03StudentApi.Demo03Student) { +function handleEdit(row: Demo03StudentApi.Demo03Student) { formModalApi.setData(row).open(); } /** 删除学生 */ -async function onDelete(row: Demo03StudentApi.Demo03Student) { +async function handleDelete(row: Demo03StudentApi.Demo03Student) { const hideLoading = message.loading({ content: $t('ui.actionMessage.deleting', [row.id]), duration: 0, - key: 'action_process_msg', }); try { await deleteDemo03Student(row.id!); message.success($t('ui.actionMessage.deleteSuccess', [row.id])); - onRefresh(); + handleRefresh(); } finally { hideLoading(); } } /** 批量删除学生 */ -async function onDeleteBatch() { +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 deleteDemo03StudentList(checkedIds.value); checkedIds.value = []; message.success($t('ui.actionMessage.deleteSuccess')); - onRefresh(); + handleRefresh(); } finally { hideLoading(); } @@ -85,17 +89,11 @@ const checkedIds = ref([]); function handleRowCheckboxChange({ records, }: { - records: Demo03StudentApi.Demo03Grade[]; + records: Demo03StudentApi.Demo03Student[]; }) { checkedIds.value = records.map((item) => item.id!); } -/** 导出表格 */ -async function onExport() { - const data = await exportDemo03Student(await gridApi.formApi.getValues()); - downloadFileFromBlobPart({ fileName: '学生.xls', source: data }); -} - const [Grid, gridApi] = useVbenVxeGrid({ formOptions: { schema: useGridFormSchema(), @@ -139,39 +137,37 @@ const [Grid, gridApi] = useVbenVxeGrid({