diff --git a/apps/web-antd/src/utils/download.ts b/apps/web-antd/src/utils/download.ts index 96790b062..2fc2989bf 100644 --- a/apps/web-antd/src/utils/download.ts +++ b/apps/web-antd/src/utils/download.ts @@ -1,5 +1,6 @@ // TODO @芋艿:需要优化下每个方法 // TODO @芋艿:是不是可以共用么? +// 后续使用 packages/core/base/shared/src/utils/download.ts 下的方法 import { dataURLtoBlob, urlToBase64 } from './base64Conver'; /** diff --git a/apps/web-antd/src/views/infra/apiAccessLog/index.vue b/apps/web-antd/src/views/infra/apiAccessLog/index.vue index bdf9e115c..3cb232a8c 100644 --- a/apps/web-antd/src/views/infra/apiAccessLog/index.vue +++ b/apps/web-antd/src/views/infra/apiAccessLog/index.vue @@ -7,6 +7,7 @@ import type { InfraApiAccessLogApi } from '#/api/infra/api-access-log'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button } from 'ant-design-vue'; @@ -17,7 +18,6 @@ import { } from '#/api/infra/api-access-log'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -35,7 +35,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportApiAccessLog(await gridApi.formApi.getValues()); - downloadByData(data, 'API 访问日志.xls'); + downloadFileFromBlobPart({ fileName: 'API 访问日志.xls', source: data }); } /** 查看 API 访问日志详情 */ diff --git a/apps/web-antd/src/views/infra/apiErrorLog/index.vue b/apps/web-antd/src/views/infra/apiErrorLog/index.vue index 0bc11dc8d..01d00387f 100644 --- a/apps/web-antd/src/views/infra/apiErrorLog/index.vue +++ b/apps/web-antd/src/views/infra/apiErrorLog/index.vue @@ -7,6 +7,7 @@ import type { InfraApiErrorLogApi } from '#/api/infra/api-error-log'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message, Modal } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; import { InfraApiErrorLogProcessStatusEnum } from '#/utils/constants'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -37,7 +37,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportApiErrorLog(await gridApi.formApi.getValues()); - downloadByData(data, 'API 错误日志.xls'); + downloadFileFromBlobPart({ fileName: 'API 错误日志.xls', source: data }); } /** 查看 API 错误日志详情 */ diff --git a/apps/web-antd/src/views/infra/config/index.vue b/apps/web-antd/src/views/infra/config/index.vue index 958063357..dc9dc4847 100644 --- a/apps/web-antd/src/views/infra/config/index.vue +++ b/apps/web-antd/src/views/infra/config/index.vue @@ -7,13 +7,13 @@ import type { InfraConfigApi } from '#/api/infra/config'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteConfig, exportConfig, getConfigPage } from '#/api/infra/config'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -31,7 +31,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportConfig(await gridApi.formApi.getValues()); - downloadByData(data, '参数配置.xls'); + downloadFileFromBlobPart({ fileName: '参数配置.xls', source: data }); } /** 创建参数 */ 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 fa551bf59..d0bab777e 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/index.vue @@ -9,6 +9,7 @@ import { h } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { getDemo01ContactPage, } from '#/api/infra/demo/demo01'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -66,7 +66,7 @@ async function onDelete(row: Demo01ContactApi.Demo01Contact) { /** 导出表格 */ async function onExport() { const data = await exportDemo01Contact(await gridApi.formApi.getValues()); - downloadByData(data, '示例联系人.xls'); + downloadFileFromBlobPart({ fileName: '示例联系人.xls', source: data }); } /** 表格操作按钮的回调函数 */ diff --git a/apps/web-antd/src/views/infra/demo/demo02/index.vue b/apps/web-antd/src/views/infra/demo/demo02/index.vue index 5a2ad6d74..2731f0a7e 100644 --- a/apps/web-antd/src/views/infra/demo/demo02/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo02/index.vue @@ -9,6 +9,7 @@ import { h, ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { getDemo02CategoryList, } from '#/api/infra/demo/demo02'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -44,7 +44,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportDemo02Category(await gridApi.formApi.getValues()); - downloadByData(data, '示例分类.xls'); + downloadFileFromBlobPart({ fileName: '示例分类.xls', source: data }); } /** 创建示例分类 */ 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 3073f6c93..0f9d47ddc 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 @@ -9,6 +9,7 @@ import { h, ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message, Tabs } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { getDemo03StudentPage, } from '#/api/infra/demo/demo03/erp'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Demo03CourseList from './modules/demo03-course-list.vue'; @@ -72,7 +72,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { /** 导出表格 */ async function onExport() { const data = await exportDemo03Student(await gridApi.formApi.getValues()); - downloadByData(data, '学生.xls'); + downloadFileFromBlobPart({ fileName: '学生.xls', source: data }); } /** 表格操作按钮的回调函数 */ diff --git a/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue b/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue index 0e59a05d5..498bc4d85 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/inner/index.vue @@ -9,6 +9,7 @@ import { h, ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message, Tabs } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { getDemo03StudentPage, } from '#/api/infra/demo/demo03/inner'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Demo03CourseList from './modules/demo03-course-list.vue'; @@ -71,7 +71,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { /** 导出表格 */ async function onExport() { const data = await exportDemo03Student(await gridApi.formApi.getValues()); - downloadByData(data, '学生.xls'); + downloadFileFromBlobPart({ fileName: '学生.xls', source: data }); } /** 表格操作按钮的回调函数 */ diff --git a/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue b/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue index f3a68ea8b..e5b3bbe17 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/normal/index.vue @@ -9,6 +9,7 @@ import { h } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { getDemo03StudentPage, } from '#/api/infra/demo/demo03/normal'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -66,7 +66,7 @@ async function onDelete(row: Demo03StudentApi.Demo03Student) { /** 导出表格 */ async function onExport() { const data = await exportDemo03Student(await gridApi.formApi.getValues()); - downloadByData(data, '学生.xls'); + downloadFileFromBlobPart({ fileName: '学生.xls', source: data }); } /** 表格操作按钮的回调函数 */ diff --git a/apps/web-antd/src/views/infra/job/index.vue b/apps/web-antd/src/views/infra/job/index.vue index f13213b93..a8a56ecb8 100644 --- a/apps/web-antd/src/views/infra/job/index.vue +++ b/apps/web-antd/src/views/infra/job/index.vue @@ -9,6 +9,7 @@ import { useRouter } from 'vue-router'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, History, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message, Modal } from 'ant-design-vue'; @@ -23,7 +24,6 @@ import { import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; import { InfraJobStatusEnum } from '#/utils/constants'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -49,7 +49,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportJob(await gridApi.formApi.getValues()); - downloadByData(data, '定时任务.xls'); + downloadFileFromBlobPart({ fileName: '定时任务.xls', source: data }); } /** 创建任务 */ diff --git a/apps/web-antd/src/views/infra/job/logger/index.vue b/apps/web-antd/src/views/infra/job/logger/index.vue index 97d1a731c..61ef87eb6 100644 --- a/apps/web-antd/src/views/infra/job/logger/index.vue +++ b/apps/web-antd/src/views/infra/job/logger/index.vue @@ -9,6 +9,7 @@ import { useRoute } from 'vue-router'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button } from 'ant-design-vue'; @@ -16,7 +17,6 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { exportJobLog, getJobLogPage } from '#/api/infra/job-log'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -31,7 +31,7 @@ const [DetailModal, detailModalApi] = useVbenModal({ /** 导出表格 */ async function onExport() { const data = await exportJobLog(await gridApi.formApi.getValues()); - downloadByData(data, '任务日志.xls'); + downloadFileFromBlobPart({ fileName: '任务日志.xls', source: data }); } /** 查看日志详情 */ diff --git a/apps/web-antd/src/views/system/dict/modules/data-grid.vue b/apps/web-antd/src/views/system/dict/modules/data-grid.vue index ff9f34214..0725a0b5e 100644 --- a/apps/web-antd/src/views/system/dict/modules/data-grid.vue +++ b/apps/web-antd/src/views/system/dict/modules/data-grid.vue @@ -9,6 +9,7 @@ import { watch } from 'vue'; import { useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -19,7 +20,6 @@ import { getDictDataPage, } from '#/api/system/dict/data'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useDataGridColumns, useDataGridFormSchema } from '../data'; import DataForm from './data-form.vue'; @@ -44,7 +44,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportDictData(await gridApi.formApi.getValues()); - downloadByData(data, '字典数据.xls'); + downloadFileFromBlobPart({ fileName: '字典数据.xls', source: data }); } /** 创建字典数据 */ diff --git a/apps/web-antd/src/views/system/dict/modules/type-grid.vue b/apps/web-antd/src/views/system/dict/modules/type-grid.vue index 3de93c666..94c6ec5a5 100644 --- a/apps/web-antd/src/views/system/dict/modules/type-grid.vue +++ b/apps/web-antd/src/views/system/dict/modules/type-grid.vue @@ -8,6 +8,7 @@ import type { SystemDictTypeApi } from '#/api/system/dict/type'; import { useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -18,7 +19,6 @@ import { getDictTypePage, } from '#/api/system/dict/type'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useTypeGridColumns, useTypeGridFormSchema } from '../data'; import TypeForm from './type-form.vue'; @@ -38,7 +38,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportDictType(await gridApi.formApi.getValues()); - downloadByData(data, '字典类型.xls'); + downloadFileFromBlobPart({ fileName: '字典类型.xls', source: data }); } /** 创建字典类型 */ diff --git a/apps/web-antd/src/views/system/loginlog/index.vue b/apps/web-antd/src/views/system/loginlog/index.vue index fce4bc00b..3974b0310 100644 --- a/apps/web-antd/src/views/system/loginlog/index.vue +++ b/apps/web-antd/src/views/system/loginlog/index.vue @@ -7,6 +7,7 @@ import type { SystemLoginLogApi } from '#/api/system/login-log'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button } from 'ant-design-vue'; @@ -14,7 +15,6 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { exportLoginLog, getLoginLogPage } from '#/api/system/login-log'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -32,7 +32,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportLoginLog(await gridApi.formApi.getValues()); - downloadByData(data, '登录日志.xls'); + downloadFileFromBlobPart({ fileName: '登录日志.xls', source: data }); } /** 查看登录日志详情 */ diff --git a/apps/web-antd/src/views/system/notify/template/index.vue b/apps/web-antd/src/views/system/notify/template/index.vue index d89fb5a2a..be0e178a9 100644 --- a/apps/web-antd/src/views/system/notify/template/index.vue +++ b/apps/web-antd/src/views/system/notify/template/index.vue @@ -5,11 +5,10 @@ import type { } from '#/adapter/vxe-table'; import type { SystemNotifyTemplateApi } from '#/api/system/notify/template'; -import { DocAlert } from '#/components/doc-alert'; -import Form from './modules/form.vue'; -import SendForm from './modules/send-form.vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; + import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; @@ -18,10 +17,12 @@ import { exportNotifyTemplate, getNotifyTemplatePage, } from '#/api/system/notify/template'; +import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; +import Form from './modules/form.vue'; +import SendForm from './modules/send-form.vue'; const [FormModal, formModalApi] = useVbenModal({ connectedComponent: Form, @@ -41,7 +42,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportNotifyTemplate(await gridApi.formApi.getValues()); - downloadByData(data, '站内信模板.xls'); + downloadFileFromBlobPart({ fileName: '站内信模板.xls', source: data }); } /** 创建站内信模板 */ diff --git a/apps/web-antd/src/views/system/operatelog/index.vue b/apps/web-antd/src/views/system/operatelog/index.vue index bdae9e5c9..51398113f 100644 --- a/apps/web-antd/src/views/system/operatelog/index.vue +++ b/apps/web-antd/src/views/system/operatelog/index.vue @@ -7,6 +7,7 @@ import type { SystemOperateLogApi } from '#/api/system/operate-log'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button } from 'ant-design-vue'; @@ -14,7 +15,6 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { exportOperateLog, getOperateLogPage } from '#/api/system/operate-log'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -32,7 +32,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportOperateLog(await gridApi.formApi.getValues()); - downloadByData(data, '操作日志.xls'); + downloadFileFromBlobPart({ fileName: '操作日志.xls', source: data }); } /** 查看操作日志详情 */ diff --git a/apps/web-antd/src/views/system/post/index.vue b/apps/web-antd/src/views/system/post/index.vue index b435c4bd0..4c4f4021a 100644 --- a/apps/web-antd/src/views/system/post/index.vue +++ b/apps/web-antd/src/views/system/post/index.vue @@ -7,13 +7,13 @@ import type { SystemPostApi } from '#/api/system/post'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deletePost, exportPost, getPostPage } from '#/api/system/post'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -31,7 +31,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportPost(await gridApi.formApi.getValues()); - downloadByData(data, '岗位.xls'); + downloadFileFromBlobPart({ fileName: '岗位.xls', source: data }); } /** 创建岗位 */ diff --git a/apps/web-antd/src/views/system/role/index.vue b/apps/web-antd/src/views/system/role/index.vue index deb19cd3f..7e014e796 100644 --- a/apps/web-antd/src/views/system/role/index.vue +++ b/apps/web-antd/src/views/system/role/index.vue @@ -7,6 +7,7 @@ import type { SystemRoleApi } from '#/api/system/role'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -14,7 +15,6 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { deleteRole, exportRole, getRolePage } from '#/api/system/role'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import AssignDataPermissionForm from './modules/assign-data-permission-form.vue'; @@ -45,7 +45,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportRole(await gridApi.formApi.getValues()); - downloadByData(data, '角色.xls'); + downloadFileFromBlobPart({ fileName: '角色.xls', source: data }); } /** 编辑角色 */ diff --git a/apps/web-antd/src/views/system/sms/channel/index.vue b/apps/web-antd/src/views/system/sms/channel/index.vue index 3fa0e7a31..da4eac8f4 100644 --- a/apps/web-antd/src/views/system/sms/channel/index.vue +++ b/apps/web-antd/src/views/system/sms/channel/index.vue @@ -7,6 +7,7 @@ import type { SystemSmsChannelApi } from '#/api/system/sms/channel'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -18,7 +19,6 @@ import { } from '#/api/system/sms/channel'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -36,7 +36,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportSmsChannel(await gridApi.formApi.getValues()); - downloadByData(data, '短信渠道.xls'); + downloadFileFromBlobPart({ fileName: '短信渠道.xls', source: data }); } /** 创建短信渠道 */ diff --git a/apps/web-antd/src/views/system/sms/log/index.vue b/apps/web-antd/src/views/system/sms/log/index.vue index 76966efbd..a93e63f68 100644 --- a/apps/web-antd/src/views/system/sms/log/index.vue +++ b/apps/web-antd/src/views/system/sms/log/index.vue @@ -7,6 +7,7 @@ import type { SystemSmsLogApi } from '#/api/system/sms/log'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button } from 'ant-design-vue'; @@ -14,7 +15,6 @@ import { useVbenVxeGrid } from '#/adapter/vxe-table'; import { exportSmsLog, getSmsLogPage } from '#/api/system/sms/log'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Detail from './modules/detail.vue'; @@ -32,7 +32,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportSmsLog(await gridApi.formApi.getValues()); - downloadByData(data, '短信日志.xls'); + downloadFileFromBlobPart({ fileName: '短信日志.xls', source: data }); } /** 查看短信日志详情 */ diff --git a/apps/web-antd/src/views/system/sms/template/index.vue b/apps/web-antd/src/views/system/sms/template/index.vue index 398bb0c3c..fd1006d35 100644 --- a/apps/web-antd/src/views/system/sms/template/index.vue +++ b/apps/web-antd/src/views/system/sms/template/index.vue @@ -7,6 +7,7 @@ import type { SystemSmsTemplateApi } from '#/api/system/sms/template'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -18,7 +19,6 @@ import { } from '#/api/system/sms/template'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -42,7 +42,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportSmsTemplate(await gridApi.formApi.getValues()); - downloadByData(data, '短信模板.xls'); + downloadFileFromBlobPart({ fileName: '短信模板.xls', source: data }); } /** 创建短信模板 */ diff --git a/apps/web-antd/src/views/system/tenant/index.vue b/apps/web-antd/src/views/system/tenant/index.vue index c59ad2251..8d9db0b2d 100644 --- a/apps/web-antd/src/views/system/tenant/index.vue +++ b/apps/web-antd/src/views/system/tenant/index.vue @@ -10,6 +10,7 @@ import { onMounted, ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message } from 'ant-design-vue'; @@ -18,7 +19,6 @@ import { deleteTenant, exportTenant, getTenantPage } from '#/api/system/tenant'; import { getTenantPackageList } from '#/api/system/tenant-package'; import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import Form from './modules/form.vue'; @@ -46,7 +46,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportTenant(await gridApi.formApi.getValues()); - downloadByData(data, '租户.xls'); + downloadFileFromBlobPart({ fileName: '租户.xls', source: data }); } /** 创建租户 */ diff --git a/apps/web-antd/src/views/system/user/index.vue b/apps/web-antd/src/views/system/user/index.vue index bf47f3a47..ca45636fa 100644 --- a/apps/web-antd/src/views/system/user/index.vue +++ b/apps/web-antd/src/views/system/user/index.vue @@ -10,6 +10,7 @@ import { ref } from 'vue'; import { Page, useVbenModal } from '@vben/common-ui'; import { Download, Plus, Upload } from '@vben/icons'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message, Modal } from 'ant-design-vue'; @@ -23,7 +24,6 @@ import { import { DocAlert } from '#/components/doc-alert'; import { $t } from '#/locales'; import { DICT_TYPE, getDictLabel } from '#/utils/dict'; -import { downloadByData } from '#/utils/download'; import { useGridColumns, useGridFormSchema } from './data'; import AssignRoleForm from './modules/assign-role-form.vue'; @@ -60,7 +60,7 @@ function onRefresh() { /** 导出表格 */ async function onExport() { const data = await exportUser(await gridApi.formApi.getValues()); - downloadByData(data, '用户.xls'); + downloadFileFromBlobPart({ fileName: '用户.xls', source: data }); } /** 选择部门 */ diff --git a/apps/web-antd/src/views/system/user/modules/import-form.vue b/apps/web-antd/src/views/system/user/modules/import-form.vue index d8426c2f8..a52366f3e 100644 --- a/apps/web-antd/src/views/system/user/modules/import-form.vue +++ b/apps/web-antd/src/views/system/user/modules/import-form.vue @@ -2,13 +2,13 @@ import type { FileType } from 'ant-design-vue/es/upload/interface'; import { useVbenModal } from '@vben/common-ui'; +import { downloadFileFromBlobPart } from '@vben/utils'; import { Button, message, Upload } from 'ant-design-vue'; import { useVbenForm } from '#/adapter/form'; import { importUser, importUserTemplate } from '#/api/system/user'; import { $t } from '#/locales'; -import { downloadByData } from '#/utils/download'; import { useImportFormSchema } from '../data'; @@ -53,7 +53,7 @@ function beforeUpload(file: FileType) { /** 下载模版 */ async function onDownload() { const data = await importUserTemplate(); - downloadByData(data, '用户导入模板.xlsx'); + downloadFileFromBlobPart({ fileName: '用户导入模板.xls', source: data }); }