diff --git a/src/components/CURD/PageContent.vue b/src/components/CURD/PageContent.vue
index 0d173cb6..90f04842 100644
--- a/src/components/CURD/PageContent.vue
+++ b/src/components/CURD/PageContent.vue
@@ -452,7 +452,7 @@
*.xlsx / *.xls
{
+ const importTemplate = props.contentConfig.importTemplate;
+ if (typeof importTemplate === "string") {
+ window.open(importTemplate);
+ } else if (typeof importTemplate === "function") {
+ importTemplate().then((response) => {
const fileData = response.data;
const fileName = decodeURI(
response.headers["content-disposition"].split(";")[1].split("=")[1]
@@ -742,7 +742,7 @@ function handleDownloadTemplate() {
saveXlsx(fileData, fileName);
});
} else {
- ElMessage.error("未配置importsTemplate");
+ ElMessage.error("未配置importTemplate");
}
}
// 导入确认
diff --git a/src/components/CURD/types.ts b/src/components/CURD/types.ts
index c2082033..af0cd7f9 100644
--- a/src/components/CURD/types.ts
+++ b/src/components/CURD/types.ts
@@ -92,10 +92,10 @@ export interface IContentConfig {
exportAction?: (queryParams: T) => Promise;
// 前端全量导出的网络请求函数(需返回promise)
exportsAction?: (queryParams: T) => Promise;
+ // 导入模板
+ importTemplate?: string | (() => Promise);
// 后端导入的网络请求函数(需返回promise)
importAction?: (file: File) => Promise;
- // 前端导入模板
- importsTemplate?: string | (() => Promise);
// 前端导入的网络请求函数(需返回promise)
importsAction?: (data: IObject[]) => Promise;
// 主键名(默认为id)
diff --git a/src/views/demo/curd/config/content.ts b/src/views/demo/curd/config/content.ts
index bda6a058..8a79fecb 100644
--- a/src/views/demo/curd/config/content.ts
+++ b/src/views/demo/curd/config/content.ts
@@ -29,7 +29,7 @@ const contentConfig: IContentConfig = {
return UserAPI.import(1, file);
},
exportAction: UserAPI.export,
- importsTemplate: UserAPI.downloadTemplate,
+ importTemplate: UserAPI.downloadTemplate,
importsAction(data) {
// 模拟导入数据
console.log("importsAction", data);