|
@@ -169,4 +169,32 @@ export function download(url, params, filename, config) {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
+// 通用pdf打印方法
|
|
|
+export function downloadPdf(url, params, filename, config) {
|
|
|
+ downloadLoadingInstance = ElLoading.service({ text: "正在下载数据,请稍候", background: "rgba(0, 0, 0, 0.7)", })
|
|
|
+ return service.post(url, params, {
|
|
|
+ transformRequest: [(params) => { return tansParams(params) }],
|
|
|
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
|
+ responseType: 'blob',
|
|
|
+ ...config
|
|
|
+ }).then(async (data) => {
|
|
|
+ const isLogin = await blobValidate(data);
|
|
|
+ if (isLogin) {
|
|
|
+ const blob = new Blob([data], { type: 'application/pdf' })
|
|
|
+ var url = URL.createObjectURL(blob);
|
|
|
+ window.open(url, 'filename');
|
|
|
+ } else {
|
|
|
+ const resText = await data.text();
|
|
|
+ const rspObj = JSON.parse(resText);
|
|
|
+ const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default']
|
|
|
+ ElMessage.error(errMsg);
|
|
|
+ }
|
|
|
+ downloadLoadingInstance.close();
|
|
|
+ }).catch((r) => {
|
|
|
+ console.error(r)
|
|
|
+ ElMessage.error('下载文件出现错误,请联系管理员!')
|
|
|
+ downloadLoadingInstance.close();
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
export default service
|