mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-09 23:49:27 +08:00
Merge branch 'next' into develop
This commit is contained in:
commit
6031d1fa35
@ -15,6 +15,8 @@ import {
|
|||||||
useCollectionManager_deprecated,
|
useCollectionManager_deprecated,
|
||||||
useCompile,
|
useCompile,
|
||||||
useCurrentAppInfo,
|
useCurrentAppInfo,
|
||||||
|
useDataBlockRequest,
|
||||||
|
useDataBlockResource,
|
||||||
} from '@nocobase/client';
|
} from '@nocobase/client';
|
||||||
import lodash from 'lodash';
|
import lodash from 'lodash';
|
||||||
import { saveAs } from 'file-saver';
|
import { saveAs } from 'file-saver';
|
||||||
@ -24,6 +26,8 @@ import { useMemo } from 'react';
|
|||||||
|
|
||||||
export const useExportAction = () => {
|
export const useExportAction = () => {
|
||||||
const { service, resource, props } = useBlockRequestContext();
|
const { service, resource, props } = useBlockRequestContext();
|
||||||
|
const newResource = useDataBlockResource();
|
||||||
|
|
||||||
const appInfo = useCurrentAppInfo();
|
const appInfo = useCurrentAppInfo();
|
||||||
const defaultFilter = props?.params.filter;
|
const defaultFilter = props?.params.filter;
|
||||||
const actionSchema = useFieldSchema();
|
const actionSchema = useFieldSchema();
|
||||||
@ -68,21 +72,22 @@ export const useExportAction = () => {
|
|||||||
}
|
}
|
||||||
es.defaultTitle = uiSchema?.title;
|
es.defaultTitle = uiSchema?.title;
|
||||||
});
|
});
|
||||||
const { data } = await resource.export(
|
|
||||||
|
const { data } = await (newResource as any).export(
|
||||||
{
|
{
|
||||||
title: compile(title),
|
title: compile(title),
|
||||||
appends: service.params[0]?.appends?.join(),
|
appends: service.params[0]?.appends?.join(),
|
||||||
filter: mergeFilter([...Object.values(filters), defaultFilter]),
|
filter: mergeFilter([...Object.values(filters), defaultFilter]),
|
||||||
sort: service.params[0]?.sort,
|
sort: service.params[0]?.sort,
|
||||||
},
|
values: {
|
||||||
{
|
|
||||||
method: 'post',
|
|
||||||
data: {
|
|
||||||
columns: compile(exportSettings),
|
columns: compile(exportSettings),
|
||||||
},
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
responseType: 'blob',
|
responseType: 'blob',
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|
||||||
const blob = new Blob([data], { type: 'application/x-xls' });
|
const blob = new Blob([data], { type: 'application/x-xls' });
|
||||||
field.data.loading = false;
|
field.data.loading = false;
|
||||||
saveAs(blob, `${compile(title)}.xlsx`);
|
saveAs(blob, `${compile(title)}.xlsx`);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user