Parcourir la source

活动管理下载完结报告功能完成

Q-ABAB il y a 2 ans
Parent
commit
1f5e60cd1c

+ 20 - 0
src/components/tool/downloadFile.js

@@ -0,0 +1,20 @@
+export default function downloadFile(url,fileName){
+    let _url = "";
+    if (url.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1)_url = url.split("https://view.officeapps.live.com/op/view.aspx?src=")[1];
+    else _url = url;
+    const x = new XMLHttpRequest();
+    x.open("GET", _url, true);
+    x.responseType = "blob";
+    x.onload = function (e) {
+        let content = x.response;
+        let link = document.createElement("a");
+        link.download = fileName;
+        link.style.display = "none";
+        let blob = new Blob([content]);
+        link.href = URL.createObjectURL(blob);
+        document.body.appendChild(link);
+        link.click();
+        document.body.removeChild(link);
+    }
+    x.send()
+}

+ 5 - 1
src/views/activityManage/makerActvityDetails.vue

@@ -89,7 +89,7 @@
                   <div class="download" v-for="item in tableData.reportFile">
                       <span>{{ item.fileName }}</span>
                       <div class="downloadBtn">
-                        <el-button type="primary" size="mini">下载文件</el-button>
+                        <el-button type="primary" size="mini" @click="download(item)">下载文件</el-button>
                         <el-button type="primary" @click="checkDelFile(item.fid)" size="mini">删除文件</el-button>
                       </div>
                   </div>
@@ -306,6 +306,7 @@
 import { VueEditor } from "vue2-editor";
 import { uuid } from 'vue-uuid';
 import BeUpload from '../../components/tool/beUpload.vue'
+import downloadFile from '@/components/tool/downloadFile.js'
 export default {
   components:{
     VueEditor,
@@ -359,6 +360,9 @@ export default {
       }
   },
   methods:{
+    download(item){
+      downloadFile(item['url'],item['fileName'])
+    },
     DelFileYes(){
       let newFile = this.tableData.reportFile.filter(item=>item.fid!=this.DelFileData.fid);
       this.ajax.post(this.$store.state.api+"/UploadActivityFile",{