diff --git a/apps/web-antd/src/views/system/dict/data/index.vue b/apps/web-antd/src/views/system/dict/data/index.vue index a0fbed1d..0f2afad5 100644 --- a/apps/web-antd/src/views/system/dict/data/index.vue +++ b/apps/web-antd/src/views/system/dict/data/index.vue @@ -5,7 +5,7 @@ import type { VxeGridProps } from '#/adapter/vxe-table'; import type { PageQuery } from '#/api/common'; import type { DictData } from '#/api/system/dict/dict-data-model'; -import { ref } from 'vue'; +import { onBeforeUnmount, onMounted, ref } from 'vue'; import { useVbenDrawer } from '@vben/common-ui'; @@ -17,7 +17,7 @@ import { dictDataList, dictDataRemove, } from '#/api/system/dict/dict-data'; -import { commonDownloadExcel } from '#/utils/file/download'; +import { useBlobExport } from '#/utils/file/export'; import { emitter } from '../mitt'; import { columns, querySchema } from './data'; @@ -112,13 +112,25 @@ function handleMultiDelete() { }); } -function handleDownloadExcel() { - commonDownloadExcel(dictDataExport, '字典数据', tableApi.formApi.form.values); +const { exportBlob, exportLoading, buildExportFileName } = + useBlobExport(dictDataExport); +async function handleExport() { + // 构建表单请求参数 + const formValues = await tableApi.formApi.getValues(); + formValues.dictType = dictType.value; + // 文件名 + const fileName = buildExportFileName('字典数据'); + exportBlob({ data: formValues, fileName }); } -emitter.on('rowClick', async (value) => { - dictType.value = value; - await tableApi.query(); +onMounted(() => { + emitter.on('rowClick', async (value) => { + dictType.value = value; + await tableApi.query(); + }); +}); +onBeforeUnmount(() => { + emitter.off('rowClick'); }); @@ -129,7 +141,9 @@ emitter.on('rowClick', async (value) => { {{ $t('pages.common.export') }} diff --git a/apps/web-antd/src/views/system/dict/type/index.vue b/apps/web-antd/src/views/system/dict/type/index.vue index 87d6b3e4..c23d3c7f 100644 --- a/apps/web-antd/src/views/system/dict/type/index.vue +++ b/apps/web-antd/src/views/system/dict/type/index.vue @@ -17,7 +17,7 @@ import { dictTypeRemove, refreshDictTypeCache, } from '#/api/system/dict/dict-type'; -import { commonDownloadExcel } from '#/utils/file/download'; +import { useBlobExport } from '#/utils/file/export'; import { emitter } from '../mitt'; import { columns, querySchema } from './data'; @@ -121,12 +121,14 @@ async function handleRefreshCache() { await tableApi.query(); } -function handleDownloadExcel() { - commonDownloadExcel( - dictTypeExport, - '字典类型数据', - tableApi.formApi.form.values, - ); +const { exportBlob, exportLoading, buildExportFileName } = + useBlobExport(dictTypeExport); +async function handleExport() { + // 构建表单请求参数 + const formValues = await tableApi.formApi.getValues(); + // 文件名 + const fileName = buildExportFileName('字典类型数据'); + exportBlob({ data: formValues, fileName }); } @@ -143,7 +145,9 @@ function handleDownloadExcel() { {{ $t('pages.common.export') }}