mirror of
https://gitee.com/dapppp/ruoyi-plus-vben5.git
synced 2026-04-10 03:43:16 +08:00
refactor(views): 替换导出功能为组合式函数以提升复用性
将租户套餐和租户管理页面的导出功能从 commonDownloadExcel 工具函数迁移至 useBlobExport 组合式函数。此重构统一了导出逻辑,自动处理加载状态和文件名构建,并移除了手动控制台日志语句,提高了代码的可维护性和一致性。
This commit is contained in:
@@ -26,7 +26,7 @@ import {
|
|||||||
} from '#/api/system/tenant';
|
} from '#/api/system/tenant';
|
||||||
import { ApiSwitch } from '#/components/global';
|
import { ApiSwitch } from '#/components/global';
|
||||||
import { useTenantStore } from '#/store/tenant';
|
import { useTenantStore } from '#/store/tenant';
|
||||||
import { commonDownloadExcel } from '#/utils/file/download';
|
import { useBlobExport } from '#/utils/file/export';
|
||||||
|
|
||||||
import { columns, querySchema } from './data';
|
import { columns, querySchema } from './data';
|
||||||
import tenantDrawer from './tenant-drawer.vue';
|
import tenantDrawer from './tenant-drawer.vue';
|
||||||
@@ -122,8 +122,14 @@ function handleMultiDelete() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDownloadExcel() {
|
const { exportBlob, exportLoading, buildExportFileName } =
|
||||||
commonDownloadExcel(tenantExport, '租户数据', tableApi.formApi.form.values);
|
useBlobExport(tenantExport);
|
||||||
|
async function handleExport() {
|
||||||
|
// 构建表单请求参数
|
||||||
|
const formValues = await tableApi.formApi.getValues();
|
||||||
|
// 文件名
|
||||||
|
const fileName = buildExportFileName('租户数据');
|
||||||
|
exportBlob({ data: formValues, fileName });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,7 +165,6 @@ function handleSyncTenantConfig() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function handleChangeStatus(checked: boolean, row: Tenant) {
|
async function handleChangeStatus(checked: boolean, row: Tenant) {
|
||||||
console.log(checked);
|
|
||||||
await tenantStatusChange({
|
await tenantStatusChange({
|
||||||
id: row.id,
|
id: row.id,
|
||||||
tenantId: row.tenantId,
|
tenantId: row.tenantId,
|
||||||
@@ -208,7 +213,9 @@ const handleMenuClick: DropdownEmits['menuClick'] = (e) => {
|
|||||||
|
|
||||||
<a-button
|
<a-button
|
||||||
v-access:code="['system:tenant:export']"
|
v-access:code="['system:tenant:export']"
|
||||||
@click="handleDownloadExcel"
|
:loading="exportLoading"
|
||||||
|
:disabled="exportLoading"
|
||||||
|
@click="handleExport"
|
||||||
>
|
>
|
||||||
{{ $t('pages.common.export') }}
|
{{ $t('pages.common.export') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ import {
|
|||||||
packageRemove,
|
packageRemove,
|
||||||
} from '#/api/system/tenant-package';
|
} from '#/api/system/tenant-package';
|
||||||
import { ApiSwitch } from '#/components/global';
|
import { ApiSwitch } from '#/components/global';
|
||||||
import { commonDownloadExcel } from '#/utils/file/download';
|
import { useBlobExport } from '#/utils/file/export';
|
||||||
|
|
||||||
import { columns, querySchema } from './data';
|
import { columns, querySchema } from './data';
|
||||||
import tenantPackageDrawer from './tenant-package-drawer.vue';
|
import tenantPackageDrawer from './tenant-package-drawer.vue';
|
||||||
@@ -104,12 +104,14 @@ function handleMultiDelete() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleDownloadExcel() {
|
const { exportBlob, exportLoading, buildExportFileName } =
|
||||||
commonDownloadExcel(
|
useBlobExport(packageExport);
|
||||||
packageExport,
|
async function handleExport() {
|
||||||
'租户套餐数据',
|
// 构建表单请求参数
|
||||||
tableApi.formApi.form.values,
|
const formValues = await tableApi.formApi.getValues();
|
||||||
);
|
// 文件名
|
||||||
|
const fileName = buildExportFileName('租户套餐数据');
|
||||||
|
exportBlob({ data: formValues, fileName });
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -137,7 +139,9 @@ async function handleChangeStatus(checked: boolean, row: TenantPackage) {
|
|||||||
<Space>
|
<Space>
|
||||||
<a-button
|
<a-button
|
||||||
v-access:code="['system:tenantPackage:export']"
|
v-access:code="['system:tenantPackage:export']"
|
||||||
@click="handleDownloadExcel"
|
:loading="exportLoading"
|
||||||
|
:disabled="exportLoading"
|
||||||
|
@click="handleExport"
|
||||||
>
|
>
|
||||||
{{ $t('pages.common.export') }}
|
{{ $t('pages.common.export') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
|
|||||||
Reference in New Issue
Block a user