Forráskód Böngészése

质量季报调整下载方式(二进制流)

chenwen 1 éve
szülő
commit
52dc25e836
2 módosított fájl, 32 hozzáadás és 1 törlés
  1. 10 0
      src/api/wellQualityRpt.js
  2. 22 1
      src/pages/analysis/WellQualityRpt.vue

+ 10 - 0
src/api/wellQualityRpt.js

@@ -1,4 +1,5 @@
 import request from '../utils/request';
+import dwnloadRequest from '../utils/dwnloadRequest';
 
 const api={}
 
@@ -22,4 +23,13 @@ api.getBasePath=()=>{
 	return request.defaults.baseURL
 }
 
+api.download=(recordId)=>{
+	return dwnloadRequest({
+	    url: '/analysis/quality/download',
+	    method: 'post',
+		responseType:'blob',
+		data: {recordId,_num:Math.random()}
+	});
+}
+
 export  default api

+ 22 - 1
src/pages/analysis/WellQualityRpt.vue

@@ -79,6 +79,7 @@
 	import { storeToRefs } from 'pinia'
 	import { useHomeStore } from '../../store/home.js'
 	import wellQualityRptAPI from '../../api/wellQualityRpt.js'
+	import app from '../../utils/app.js'
 	
 	const crudTable=ref(null)
 	
@@ -119,9 +120,29 @@
 	}
 	
 	const download=(record)=>{
+		/*
 		let dwnurl=wellQualityRptAPI.getBasePath()+record.accessPath
 		console.log(dwnurl)
-		window.open(dwnurl)
+		window.open(dwnurl)*/
+		
+		wellQualityRptAPI.download(record.recordId).then(resp=>{
+			const fileReader = new FileReader();
+			fileReader.readAsText(resp.data)
+			fileReader.onload = (event) => {
+				try{
+					const data = JSON.parse(event.target.result)
+					if(data.code!=0){
+						ElMessage.error(data.msg || '下载文件失败')
+					}
+				}
+				catch(err){
+					app.parseDownloadFile(resp)
+				}
+			}
+		}).catch(err=>{
+			console.log(err)
+			ElMessage.error('下载文件出现网络错误')
+		})
 	}
 	
 	const delHandle=(record)=>{