|  | @@ -1,11 +1,14 @@
 | 
											
												
													
														|  |  import axios from 'axios'
 |  |  import axios from 'axios'
 | 
											
												
													
														|  | -import { Notification, MessageBox, Message } from 'element-ui'
 |  | 
 | 
											
												
													
														|  | 
 |  | +import { Notification, MessageBox, Message, Loading } from 'element-ui'
 | 
											
												
													
														|  |  import store from '@/store'
 |  |  import store from '@/store'
 | 
											
												
													
														|  |  import { getToken } from '@/utils/auth'
 |  |  import { getToken } from '@/utils/auth'
 | 
											
												
													
														|  |  import errorCode from '@/utils/errorCode'
 |  |  import errorCode from '@/utils/errorCode'
 | 
											
												
													
														|  |  import { tansParams } from "@/utils/ruoyi";
 |  |  import { tansParams } from "@/utils/ruoyi";
 | 
											
												
													
														|  | 
 |  | +import { saveAs } from 'file-saver'
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
 |  | 
 | 
											
												
													
														|  | 
 |  | +let downloadLoadingInstance;
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +axios.defaults.headers['Conntent-Type'] = 'application/json;charset=utf-8'
 | 
											
												
													
														|  |  // 创建axios实例
 |  |  // 创建axios实例
 | 
											
												
													
														|  |  const service = axios.create({
 |  |  const service = axios.create({
 | 
											
												
													
														|  |    // axios中请求配置有baseURL选项,表示请求URL公共部分
 |  |    // axios中请求配置有baseURL选项,表示请求URL公共部分
 | 
											
										
											
												
													
														|  | @@ -90,31 +93,20 @@ service.interceptors.response.use(res => {
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  // 通用下载方法
 |  |  // 通用下载方法
 | 
											
												
													
														|  |  export function download(url, params, filename) {
 |  |  export function download(url, params, filename) {
 | 
											
												
													
														|  | 
 |  | +  downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍后", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", })
 | 
											
												
													
														|  |    return service.post(url, params, {
 |  |    return service.post(url, params, {
 | 
											
												
													
														|  | -    transformRequest: [(params) => {
 |  | 
 | 
											
												
													
														|  | -      return tansParams(params)
 |  | 
 | 
											
												
													
														|  | -    }],
 |  | 
 | 
											
												
													
														|  | -    headers: {
 |  | 
 | 
											
												
													
														|  | -        'Content-Type': 'application/x-www-form-urlencoded'
 |  | 
 | 
											
												
													
														|  | -    },
 |  | 
 | 
											
												
													
														|  | 
 |  | +    transformRequest: [(params) => { return tansParams(params) }],
 | 
											
												
													
														|  | 
 |  | +    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
 | 
											
												
													
														|  |      responseType: 'blob'
 |  |      responseType: 'blob'
 | 
											
												
													
														|  |    }).then((data) => {
 |  |    }).then((data) => {
 | 
											
												
													
														|  |      const content = data
 |  |      const content = data
 | 
											
												
													
														|  |      const blob = new Blob([content])
 |  |      const blob = new Blob([content])
 | 
											
												
													
														|  | -    if ('download' in document.createElement('a')) {
 |  | 
 | 
											
												
													
														|  | -      const elink = document.createElement('a')
 |  | 
 | 
											
												
													
														|  | -      elink.download = filename
 |  | 
 | 
											
												
													
														|  | -      elink.style.display = 'none'
 |  | 
 | 
											
												
													
														|  | -      elink.href = URL.createObjectURL(blob)
 |  | 
 | 
											
												
													
														|  | -      document.body.appendChild(elink)
 |  | 
 | 
											
												
													
														|  | -      elink.click()
 |  | 
 | 
											
												
													
														|  | -      URL.revokeObjectURL(elink.href)
 |  | 
 | 
											
												
													
														|  | -      document.body.removeChild(elink)
 |  | 
 | 
											
												
													
														|  | -    } else {
 |  | 
 | 
											
												
													
														|  | -      navigator.msSaveBlob(blob, filename)
 |  | 
 | 
											
												
													
														|  | -    }
 |  | 
 | 
											
												
													
														|  | 
 |  | +    saveAs(blob, filename)
 | 
											
												
													
														|  | 
 |  | +    downloadLoadingInstance.close();
 | 
											
												
													
														|  |    }).catch((r) => {
 |  |    }).catch((r) => {
 | 
											
												
													
														|  |      console.error(r)
 |  |      console.error(r)
 | 
											
												
													
														|  | 
 |  | +    Message.error('下载文件出现错误,请联系管理员!')
 | 
											
												
													
														|  | 
 |  | +    downloadLoadingInstance.close();
 | 
											
												
													
														|  |    })
 |  |    })
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 |