diff --git a/ZR.Admin.WebApi/Controllers/BaseController.cs b/ZR.Admin.WebApi/Controllers/BaseController.cs
index fd7d9f8..9c27c0a 100644
--- a/ZR.Admin.WebApi/Controllers/BaseController.cs
+++ b/ZR.Admin.WebApi/Controllers/BaseController.cs
@@ -8,6 +8,8 @@ using OfficeOpenXml;
using System;
using System.Collections.Generic;
using System.IO;
+using System.Web;
+using ff = System.IO;
namespace ZR.Admin.WebApi.Controllers
{
@@ -53,6 +55,21 @@ namespace ZR.Admin.WebApi.Controllers
return ToResponse(GetApiResult(resultCode, msg));
}
+ ///
+ /// 导出Excel
+ ///
+ ///
+ ///
+ ///
+ protected IActionResult ExportExcel(string path, string fileName)
+ {
+ IWebHostEnvironment webHostEnvironment = (IWebHostEnvironment)App.ServiceProvider.GetService(typeof(IWebHostEnvironment));
+ string fileDir = Path.Combine(webHostEnvironment.WebRootPath, path, fileName);
+
+ var stream = ff.File.OpenRead(fileDir); //创建文件流
+ return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", HttpUtility.UrlEncode(fileName));
+ }
+
#region 方法
///
diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs
index 7e6372d..d35200d 100644
--- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs
+++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs
@@ -215,7 +215,7 @@ namespace ZR.Admin.WebApi.Controllers.System
//调试模式需要加上
string sFileName = ExportExcel(list.Result, "user", "用户列表");
- return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
+ return ExportExcel("export", sFileName);
}
}
}
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt
index f6a6738..0707dc0 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplControllers.txt
@@ -156,7 +156,7 @@ $if(replaceDto.ShowBtnExport)
return ToResponse(ResultCode.FAIL, "没有要导出的数据");
}
string sFileName = ExportExcel(list, "${replaceDto.ModelTypeName}", "${genTable.FunctionName}");
- return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
+ return ExportExcel("export", sFileName);
}
$end
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVueApi.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVueApi.txt
index be58e83..1e1678f 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVueApi.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplVueApi.txt
@@ -1,4 +1,10 @@
import request from '@/utils/request'
+$if(replaceDto.SelectMulti == 1)
+import QS from 'qs'
+$end
+$if(replaceDto.ShowBtnExport)
+import { downFile } from '@/utils/request'
+$end
/**
* ${genTable.functionName}分页查询
@@ -9,6 +15,11 @@ export function list${genTable.BusinessName}(query) {
url: '${genTable.ModuleName}/${genTable.BusinessName}/list',
method: 'get',
params: query,
+$if(replaceDto.SelectMulti == 1)
+ paramsSerializer: function (params) {
+ return QS.stringify(params, { indices: false })
+ }
+$end
})
}
@@ -81,12 +92,8 @@ export function clear${genTable.BusinessName}() {
}
// 导出${genTable.functionName}
-export function export${genTable.BusinessName}(query) {
- return request({
- url: '${genTable.ModuleName}/${genTable.BusinessName}/export',
- method: 'get',
- params: query
- })
+export async function export${genTable.BusinessName}(query) {
+ await downFile('${genTable.ModuleName}/${genTable.BusinessName}/export', { ...query })
}
$if(showCustomInput)
diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt
index 64f7011..f302ce1 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt
@@ -566,11 +566,8 @@ function handleExport() {
cancelButtonText: "取消",
type: "warning",
})
- .then(function () {
- return export${genTable.BusinessName}(queryParams)
- })
- .then((response) => {
- proxy.download(response.data.path)
+ .then(async () => {
+ await export${genTable.BusinessName}(queryParams)
})
}
$end