v3.8.0 新增通用方法简化下载使用
parent
fee6d00ecf
commit
02a0ab6d6d
|
@ -390,7 +390,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return export${simpleClassName}Excel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '${table.classComment}.xls');
|
||||
this.$download.excel(response, '${table.classComment}.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -17,19 +17,7 @@ import './assets/icons' // icon
|
|||
import './permission' // permission control
|
||||
import { getDicts } from "@/api/system/dict/data";
|
||||
import { getConfigKey } from "@/api/infra/config";
|
||||
import {
|
||||
parseTime,
|
||||
resetForm,
|
||||
addDateRange,
|
||||
addBeginAndEndTime,
|
||||
download,
|
||||
handleTree,
|
||||
downloadExcel,
|
||||
downloadWord,
|
||||
downloadZip,
|
||||
downloadHtml,
|
||||
downloadMarkdown,
|
||||
} from "@/utils/ruoyi";
|
||||
import { parseTime, resetForm, addDateRange, addBeginAndEndTime, handleTree} from "@/utils/ruoyi";
|
||||
import Pagination from "@/components/Pagination";
|
||||
// 自定义表格工具扩展
|
||||
import RightToolbar from "@/components/RightToolbar"
|
||||
|
@ -49,12 +37,6 @@ Vue.prototype.getDictDatas = getDictDatas
|
|||
Vue.prototype.getDictDatas2 = getDictDatas2
|
||||
Vue.prototype.getDictDataLabel = getDictDataLabel
|
||||
Vue.prototype.DICT_TYPE = DICT_TYPE
|
||||
Vue.prototype.download = download
|
||||
Vue.prototype.downloadExcel = downloadExcel
|
||||
Vue.prototype.downloadWord = downloadWord
|
||||
Vue.prototype.downloadHtml = downloadHtml
|
||||
Vue.prototype.downloadMarkdown = downloadMarkdown
|
||||
Vue.prototype.downloadZip = downloadZip
|
||||
Vue.prototype.handleTree = handleTree
|
||||
|
||||
// 全局组件挂载
|
||||
|
|
|
@ -0,0 +1,47 @@
|
|||
import { saveAs } from 'file-saver'
|
||||
import axios from 'axios'
|
||||
import { getToken } from '@/utils/auth'
|
||||
|
||||
const baseURL = process.env.VUE_APP_BASE_API
|
||||
|
||||
export default {
|
||||
// 下载 Excel 方法
|
||||
excel(data, fileName) {
|
||||
this.download0(data, fileName, 'application/vnd.ms-excel');
|
||||
},
|
||||
|
||||
// 下载 Word 方法
|
||||
word(data, fileName) {
|
||||
this.download0(data, fileName, 'application/msword');
|
||||
},
|
||||
|
||||
// 下载 Zip 方法
|
||||
zip(data, fileName) {
|
||||
this.download0(data, fileName, 'application/zip');
|
||||
},
|
||||
|
||||
// 下载 Html 方法
|
||||
html(data, fileName) {
|
||||
this.download0(data, fileName, 'text/html');
|
||||
},
|
||||
|
||||
// 下载 Markdown 方法
|
||||
markdown(data, fileName) {
|
||||
this.download0(data, fileName, 'text/markdown');
|
||||
},
|
||||
|
||||
download0(data, fileName, mineType) {
|
||||
// 创建 blob
|
||||
let blob = new Blob([data], {type: mineType});
|
||||
// 创建 href 超链接,点击进行下载
|
||||
window.URL = window.URL || window.webkitURL;
|
||||
let href = URL.createObjectURL(blob);
|
||||
let downA = document.createElement("a");
|
||||
downA.href = href;
|
||||
downA.download = fileName;
|
||||
downA.click();
|
||||
// 销毁超连接
|
||||
window.URL.revokeObjectURL(href);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,5 +1,6 @@
|
|||
import cache from './cache'
|
||||
import modal from './modal'
|
||||
import download from './download'
|
||||
|
||||
export default {
|
||||
install(Vue) {
|
||||
|
@ -7,5 +8,7 @@ export default {
|
|||
Vue.prototype.$cache = cache
|
||||
// 模态框对象
|
||||
Vue.prototype.$modal = modal
|
||||
// 下载文件
|
||||
Vue.prototype.$download = download
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,50 +100,6 @@ export function addBeginAndEndTime(params, dateRange, propName) {
|
|||
return params;
|
||||
}
|
||||
|
||||
// 通用下载方法
|
||||
export function download(fileName) {
|
||||
window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
|
||||
}
|
||||
|
||||
// 下载 Excel 方法
|
||||
export function downloadExcel(data, fileName) {
|
||||
download0(data, fileName, 'application/vnd.ms-excel');
|
||||
}
|
||||
|
||||
// 下载 Word 方法
|
||||
export function downloadWord(data, fileName) {
|
||||
download0(data, fileName, 'application/msword');
|
||||
}
|
||||
|
||||
// 下载 Zip 方法
|
||||
export function downloadZip(data, fileName) {
|
||||
download0(data, fileName, 'application/zip');
|
||||
}
|
||||
|
||||
// 下载 Html 方法
|
||||
export function downloadHtml(data, fileName) {
|
||||
download0(data, fileName, 'text/html');
|
||||
}
|
||||
|
||||
// 下载 Markdown 方法
|
||||
export function downloadMarkdown(data, fileName) {
|
||||
download0(data, fileName, 'text/markdown');
|
||||
}
|
||||
|
||||
function download0(data, fileName, mineType) {
|
||||
// 创建 blob
|
||||
let blob = new Blob([data], {type: mineType});
|
||||
// 创建 href 超链接,点击进行下载
|
||||
window.URL = window.URL || window.webkitURL;
|
||||
let href = URL.createObjectURL(blob);
|
||||
let downA = document.createElement("a");
|
||||
downA.href = href;
|
||||
downA.download = fileName;
|
||||
downA.click();
|
||||
// 销毁超连接
|
||||
window.URL.revokeObjectURL(href);
|
||||
}
|
||||
|
||||
// 字符串格式化(%s )
|
||||
export function sprintf(str) {
|
||||
var args = arguments, flag = true, i = 1;
|
||||
|
|
|
@ -206,7 +206,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportApiAccessLogExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, 'API 访问日志.xls');
|
||||
this.$download.excel(response, 'API 访问日志.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -224,7 +224,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportApiErrorLogExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, 'API 错误日志.xls');
|
||||
this.$download.excel(response, 'API 错误日志.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -268,7 +268,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportConfig(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '参数配置.xls');
|
||||
this.$download.excel(response, '参数配置.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
|
|
@ -367,7 +367,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportJob(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '定时任务.xls');
|
||||
this.$download.excel(response, '定时任务.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -169,7 +169,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportJobLogExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '定时任务日志.xls');
|
||||
this.$download.excel(response, '定时任务日志.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -417,7 +417,7 @@ export default {
|
|||
this.$modal.confirm('是否确认导出所有支付应用信息数据项?').then(function () {
|
||||
return exportAppExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '支付应用信息.xls');
|
||||
this.$download.excel(response, '支付应用信息.xls');
|
||||
}).catch(() => {});
|
||||
},
|
||||
/**
|
||||
|
|
|
@ -279,7 +279,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportMerchantExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '支付商户信息.xls');
|
||||
this.$download.excel(response, '支付商户信息.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -423,7 +423,7 @@ export default {
|
|||
this.$modal.confirm('是否确认导出所有支付订单数据项?').then(function () {
|
||||
return exportOrderExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '支付订单.xls');
|
||||
this.$download.excel(response, '支付订单.xls');
|
||||
}).catch(() => {});
|
||||
},
|
||||
/**
|
||||
|
|
|
@ -427,7 +427,7 @@ export default {
|
|||
this.$modal.confirm('是否确认导出所有退款订单数据项?').then(function () {
|
||||
return exportRefundExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '退款订单.xls');
|
||||
this.$download.excel(response, '退款订单.xls');
|
||||
}).catch(() => {});
|
||||
},
|
||||
/**
|
||||
|
|
|
@ -297,7 +297,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportData(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '字典数据.xls');
|
||||
this.$download.excel(response, '字典数据.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -250,7 +250,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportType(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '字典类型.xls');
|
||||
this.$download.excel(response, '字典类型.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -243,7 +243,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportErrorCodeExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '错误码.xls');
|
||||
this.$download.excel(response, '错误码.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -126,7 +126,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportLoginLog(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '登录日志.xls');
|
||||
this.$download.excel(response, '登录日志.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -206,7 +206,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportOperateLog(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '操作日志.xls');
|
||||
this.$download.excel(response, '操作日志.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -236,7 +236,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportPost(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '岗位数据.xls');
|
||||
this.$download.excel(response, '岗位数据.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -497,7 +497,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportRole(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '角色数据.xls');
|
||||
this.$download.excel(response, '角色数据.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -282,7 +282,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportSmsLogExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '短信日志.xls');
|
||||
this.$download.excel(response, '短信日志.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
|
|
@ -334,7 +334,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportSmsTemplateExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '短信模板.xls');
|
||||
this.$download.excel(response, '短信模板.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
|
|
@ -246,7 +246,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportTenantExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '租户.xls');
|
||||
this.$download.excel(response, '租户.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
|
@ -585,7 +585,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportUser(queryParams);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '用户数据.xls');
|
||||
this.$download.excel(response, '用户数据.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
},
|
||||
|
@ -597,7 +597,7 @@ export default {
|
|||
/** 下载模板操作 */
|
||||
importTemplate() {
|
||||
importTemplate().then(response => {
|
||||
this.downloadExcel(response, '用户导入模板.xls');
|
||||
this.$download.excel(response, '用户导入模板.xls');
|
||||
});
|
||||
},
|
||||
// 文件上传中处理
|
||||
|
|
|
@ -192,7 +192,7 @@ export default {
|
|||
/** 生成代码操作 */
|
||||
handleGenTable(row) {
|
||||
downloadCodegen(row.id).then(response => {
|
||||
this.downloadZip(response, 'codegen-' + row.tableName + '.zip');
|
||||
this.$download.zip(response, 'codegen-' + row.tableName + '.zip');
|
||||
})
|
||||
},
|
||||
/** 同步数据库操作 */
|
||||
|
|
|
@ -48,19 +48,19 @@ export default {
|
|||
/** 处理导出 HTML */
|
||||
handleExportHtml() {
|
||||
exportHtml().then(response => {
|
||||
this.downloadHtml(response, '数据库文档.html');
|
||||
this.$download.html(response, '数据库文档.html');
|
||||
})
|
||||
},
|
||||
/** 处理导出 Word */
|
||||
handleExportWord() {
|
||||
exportWord().then(response => {
|
||||
this.downloadWord(response, '数据库文档.doc');
|
||||
this.$download.word(response, '数据库文档.doc');
|
||||
})
|
||||
},
|
||||
/** 处理导出 Markdown */
|
||||
handleExportMarkdown() {
|
||||
exportMarkdown().then(response => {
|
||||
this.downloadMarkdown(response, '数据库文档.md');
|
||||
this.$download.markdown(response, '数据库文档.md');
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -253,7 +253,7 @@ export default {
|
|||
this.exportLoading = true;
|
||||
return exportTestDemoExcel(params);
|
||||
}).then(response => {
|
||||
this.downloadExcel(response, '字典类型.xls');
|
||||
this.$download.excel(response, '字典类型.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue