From 9bfc581627fc8475fda5bac423a5b76ea4f00df5 Mon Sep 17 00:00:00 2001
From: cqf
Date: 星期六, 21 五月 2022 17:37:57 +0800
Subject: [PATCH] 文件下载
---
src/views/troubleshooting/index.vue | 1
src/views/careabout/index.vue | 12 ++
src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue | 51 +++++++++-
src/api/sgyhpczl/fileUtils.js | 17 +++
src/views/dangerDetails/dnagerDetails.vue | 45 ++++++++-
src/views/hiddenDangerReview/recheckHiddenDangerList.vue | 45 ++++++++-
src/api/sgyhpczl/troubleshooting.js | 14 --
src/views/Issuedbysuperiors/superiorsSend.vue | 46 ++++++++-
src/views/hiddenDangerRectification/sendHiddenDangerList.vue | 45 ++++++++-
9 files changed, 234 insertions(+), 42 deletions(-)
diff --git a/src/api/sgyhpczl/fileUtils.js b/src/api/sgyhpczl/fileUtils.js
new file mode 100644
index 0000000..5884f07
--- /dev/null
+++ b/src/api/sgyhpczl/fileUtils.js
@@ -0,0 +1,17 @@
+import request from '@/utils/request';
+import {getTokenAndVerify} from "@/api/sgyhpczl/auth";
+
+//下载文件
+export function downloadFile(params) {
+ return request({
+ headers: {
+ 'token': getTokenAndVerify().token,
+ 'verify': getTokenAndVerify().verify
+ },
+ url: '/taboi/file/dowloand_do',
+ method: 'GET',
+ contentType: "multipart/form-data",
+ responseType:'blob',
+ params:params?params:{}
+ });
+}
diff --git a/src/api/sgyhpczl/troubleshooting.js b/src/api/sgyhpczl/troubleshooting.js
index 610645a..2dbe1f1 100644
--- a/src/api/sgyhpczl/troubleshooting.js
+++ b/src/api/sgyhpczl/troubleshooting.js
@@ -32,20 +32,6 @@
data
});
}
-//下载文件
-export function dowloand_do(params) {
- return request({
- headers: {
- 'token': getTokenAndVerify().token,
- 'verify': getTokenAndVerify().verify
- },
- url: '/taboi/file/dowloand_do',
- method: 'GET',
- contentType: "multipart/form-data",
- responseType:'blob',
- params:params?params:{}
- });
-}
//新增/编辑
export function addOrEdit(data) {
return request({
diff --git a/src/views/Issuedbysuperiors/superiorsSend.vue b/src/views/Issuedbysuperiors/superiorsSend.vue
index f0ff93b..5688cfa 100644
--- a/src/views/Issuedbysuperiors/superiorsSend.vue
+++ b/src/views/Issuedbysuperiors/superiorsSend.vue
@@ -296,10 +296,11 @@
>
<template slot-scope="scope">
<span size="medium">{{ scope.row.content }}</span>
- <a v-for="item in scope.row.realFileName"
- :href="scope.row.url+'/'+item">
- {{ item.split("fileName=")[1] }}
- </a>
+ <span v-for="item in scope.row.realFileName">
+ <el-link type="primary" @click="downloadFile(subFile(item))">
+ {{subFile(item)}}
+ </el-link>
+ </span>
</template>
</el-table-column>
<el-table-column
@@ -387,7 +388,7 @@
import {getDangerDetails, getWfRecordList} from "@/api/sgyhpczl/recheckCancellationNumber";
import {company_next_step_do} from "@/api/sgyhpczl/Issuedbysuperiors";
import {getUserInfo} from "@/api/sgyhpczl/hiddenDangerManagement";
-
+import {downloadFile} from "@/api/sgyhpczl/fileUtils";
export default {
components: {Titlename},
@@ -497,7 +498,40 @@
this.$router.push({
path: "/recheckCancellationNumber"
})
- }
+ },
+ subFile(fileName){
+ return fileName.substring(fileName.indexOf("fileName=")+9)
+ },
+ downloadFile(path){
+ let params = {
+ type: 0,
+ fileName: path,
+ };
+ downloadFile(params).then((res) => {
+ if(res.data.type=='text/json'){
+ const reader = new FileReader();
+ reader.readAsText(res.data, 'utf-8');
+ reader.onload = e => {
+ this.$message({
+ type: "error",
+ message: JSON.parse(reader.result).msg,
+ duration: 3000,
+ });
+ }
+ } else {
+ let blob = new Blob([res.data], {type: 'application/octet-stream'})
+ console.log(blob)
+ let blobUrl = window.URL.createObjectURL(blob)
+ let downloadElement = document.createElement('a')
+ downloadElement.href = blobUrl
+ downloadElement.download = path
+ document.body.appendChild(downloadElement)
+ downloadElement.click()
+ document.body.removeChild(downloadElement)
+ window.URL.revokeObjectURL(blobUrl)
+ }
+ });
+ },
}
}
</script>
diff --git a/src/views/careabout/index.vue b/src/views/careabout/index.vue
index 3f5d990..416f99c 100644
--- a/src/views/careabout/index.vue
+++ b/src/views/careabout/index.vue
@@ -156,7 +156,11 @@
</el-row>
<el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange" v-loading="listLoading">
<el-table-column type="selection" width="55" align="center"></el-table-column>
- <el-table-column prop="number" label="编号" align="center" width="120"></el-table-column>
+ <el-table-column prop="number" label="编号" align="center" width="120">
+ <template slot-scope="scope">
+ <div class="blue-font-color" @click="showDetails(scope.row)">{{ scope.row.number }}</div>
+ </template>
+ </el-table-column>
<el-table-column prop="check_branch" label="检查部门" align="center" width="120"></el-table-column>
<el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
<el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
@@ -426,6 +430,12 @@
}
})
},
+ showDetails(row){
+ this.$router.push({
+ path: "/dangerDetails",
+ query:{"id":row.id}
+ })
+ },
typeChange(val){
this.listQuery.type = val;
if (val == 1){
diff --git a/src/views/dangerDetails/dnagerDetails.vue b/src/views/dangerDetails/dnagerDetails.vue
index 26a7a4c..65b0885 100644
--- a/src/views/dangerDetails/dnagerDetails.vue
+++ b/src/views/dangerDetails/dnagerDetails.vue
@@ -295,10 +295,11 @@
>
<template slot-scope="scope">
<span size="medium">{{ scope.row.content }}</span>
- <a v-for="item in scope.row.realFileName"
- :href="scope.row.url+'/'+item">
- {{ item.split("fileName=")[1] }}
- </a>
+ <span v-for="item in scope.row.realFileName">
+ <el-link type="primary" @click="downloadFile(subFile(item))">
+ {{subFile(item)}}
+ </el-link>
+ </span>
</template>
</el-table-column>
<el-table-column
@@ -331,6 +332,7 @@
<script>
import Titlename from "../../components/Titlename/index.vue";
import {sendDangerNext, getDangerDetails, getWfRecordList} from "@/api/sgyhpczl/recheckCancellationNumber";
+ import {downloadFile} from "@/api/sgyhpczl/fileUtils";
export default {
components: {Titlename},
@@ -465,7 +467,40 @@
path:"/hiddenDangerRectification"
})
}
- }
+ },
+ subFile(fileName){
+ return fileName.substring(fileName.indexOf("fileName=")+9)
+ },
+ downloadFile(path){
+ let params = {
+ type: 0,
+ fileName: path,
+ };
+ downloadFile(params).then((res) => {
+ if(res.data.type=='text/json'){
+ const reader = new FileReader();
+ reader.readAsText(res.data, 'utf-8');
+ reader.onload = e => {
+ this.$message({
+ type: "error",
+ message: JSON.parse(reader.result).msg,
+ duration: 3000,
+ });
+ }
+ } else {
+ let blob = new Blob([res.data], {type: 'application/octet-stream'})
+ console.log(blob)
+ let blobUrl = window.URL.createObjectURL(blob)
+ let downloadElement = document.createElement('a')
+ downloadElement.href = blobUrl
+ downloadElement.download = path
+ document.body.appendChild(downloadElement)
+ downloadElement.click()
+ document.body.removeChild(downloadElement)
+ window.URL.revokeObjectURL(blobUrl)
+ }
+ });
+ },
}
}
</script>
diff --git a/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue b/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue
index f3724fa..4e58d63 100644
--- a/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue
+++ b/src/views/delayHiddenDangerRectification/rectificationDelayHiddenDanger.vue
@@ -297,10 +297,15 @@
>
<template slot-scope="scope">
<span size="medium">{{ scope.row.content }}</span>
- <a v-for="item in scope.row.realFileName"
- :href="scope.row.url+'/'+item">
- {{ item.split("fileName=")[1] }}
- </a>
+ <span v-for="item in scope.row.realFileName">
+ <el-link type="primary" @click="downloadFile(subFile(item))">
+ {{subFile(item)}}
+ </el-link>
+ </span>
+<!-- <a v-for="item in scope.row.realFileName"-->
+<!-- :href="scope.row.url+'/'+item">-->
+<!-- {{ item.split("fileName=")[1] }}-->
+<!-- </a>-->
</template>
</el-table-column>
<el-table-column
@@ -316,7 +321,7 @@
</el-form>
<el-form :model="sendData" :rules="rules" ref="sendData" label-width="150px" class="demo-ruleForm"
style="margin: 0 14% 0 16%;">
- >
+
<el-row>
<el-col :span="22">
<el-form-item label="发送流程" prop="name">
@@ -397,6 +402,7 @@
<script>
import Titlename from "../../components/Titlename/index.vue";
import {sendDangerNext, getDangerDetails, getWfRecordList} from "@/api/sgyhpczl/recheckCancellationNumber";
+import {downloadFile} from "@/api/sgyhpczl/fileUtils";
export default {
components: {Titlename},
@@ -517,7 +523,40 @@
this.$router.push({
path: "/delayHiddenDangerRectification"
})
- }
+ },
+ subFile(fileName){
+ return fileName.substring(fileName.indexOf("fileName=")+9)
+ },
+ downloadFile(path){
+ let params = {
+ type: 0,
+ fileName: path,
+ };
+ downloadFile(params).then((res) => {
+ if(res.data.type=='text/json'){
+ const reader = new FileReader();
+ reader.readAsText(res.data, 'utf-8');
+ reader.onload = e => {
+ this.$message({
+ type: "error",
+ message: JSON.parse(reader.result).msg,
+ duration: 3000,
+ });
+ }
+ } else {
+ let blob = new Blob([res.data], {type: 'application/octet-stream'})
+ console.log(blob)
+ let blobUrl = window.URL.createObjectURL(blob)
+ let downloadElement = document.createElement('a')
+ downloadElement.href = blobUrl
+ downloadElement.download = path
+ document.body.appendChild(downloadElement)
+ downloadElement.click()
+ document.body.removeChild(downloadElement)
+ window.URL.revokeObjectURL(blobUrl)
+ }
+ });
+ },
}
}
</script>
diff --git a/src/views/hiddenDangerRectification/sendHiddenDangerList.vue b/src/views/hiddenDangerRectification/sendHiddenDangerList.vue
index bd318b2..2b75bb3 100644
--- a/src/views/hiddenDangerRectification/sendHiddenDangerList.vue
+++ b/src/views/hiddenDangerRectification/sendHiddenDangerList.vue
@@ -292,10 +292,11 @@
width="260">
<template slot-scope="scope">
<span size="medium">{{ scope.row.content }}</span>
- <a v-for="item in scope.row.realFileName"
- :href="scope.row.url+'/'+item">
- {{ item.split("fileName=")[1] }}
- </a>
+ <span v-for="item in scope.row.realFileName">
+ <el-link type="primary" @click="downloadFile(subFile(item))">
+ {{subFile(item)}}
+ </el-link>
+ </span>
</template>
</el-table-column>
<el-table-column
@@ -391,6 +392,7 @@
<script>
import Titlename from "../../components/Titlename/index.vue";
import {sendDangerNext, getDangerDetails, getWfRecordList} from "@/api/sgyhpczl/recheckCancellationNumber";
+ import {downloadFile} from "@/api/sgyhpczl/fileUtils";
export default {
components: {Titlename},
@@ -518,7 +520,40 @@
this.$router.push({
path:"/hiddenDangerRectification"
})
- }
+ },
+ subFile(fileName){
+ return fileName.substring(fileName.indexOf("fileName=")+9)
+ },
+ downloadFile(path){
+ let params = {
+ type: 0,
+ fileName: path,
+ };
+ downloadFile(params).then((res) => {
+ if(res.data.type=='text/json'){
+ const reader = new FileReader();
+ reader.readAsText(res.data, 'utf-8');
+ reader.onload = e => {
+ this.$message({
+ type: "error",
+ message: JSON.parse(reader.result).msg,
+ duration: 3000,
+ });
+ }
+ } else {
+ let blob = new Blob([res.data], {type: 'application/octet-stream'})
+ console.log(blob)
+ let blobUrl = window.URL.createObjectURL(blob)
+ let downloadElement = document.createElement('a')
+ downloadElement.href = blobUrl
+ downloadElement.download = path
+ document.body.appendChild(downloadElement)
+ downloadElement.click()
+ document.body.removeChild(downloadElement)
+ window.URL.revokeObjectURL(blobUrl)
+ }
+ });
+ },
}
}
</script>
diff --git a/src/views/hiddenDangerReview/recheckHiddenDangerList.vue b/src/views/hiddenDangerReview/recheckHiddenDangerList.vue
index 197dfd3..88d3929 100644
--- a/src/views/hiddenDangerReview/recheckHiddenDangerList.vue
+++ b/src/views/hiddenDangerReview/recheckHiddenDangerList.vue
@@ -296,10 +296,11 @@
width="260">
<template slot-scope="scope">
<span size="medium">{{ scope.row.content }}</span>
- <a v-for="item in scope.row.realFileName"
- :href="scope.row.url+'/'+item">
- {{ item.split("fileName=")[1] }}
- </a>
+ <span v-for="item in scope.row.realFileName">
+ <el-link type="primary" @click="downloadFile(subFile(item))">
+ {{subFile(item)}}
+ </el-link>
+ </span>
</template>
</el-table-column>
<el-table-column
@@ -431,6 +432,7 @@
<script>
import Titlename from "../../components/Titlename/index.vue";
import {sendDangerNext, getDangerDetails, getWfRecordList} from "@/api/sgyhpczl/recheckCancellationNumber";
+import {downloadFile} from "@/api/sgyhpczl/fileUtils";
export default {
components: {Titlename},
@@ -533,7 +535,40 @@
this.$router.push({
path: "/recheckCancellationNumber"
})
- }
+ },
+ subFile(fileName){
+ return fileName.substring(fileName.indexOf("fileName=")+9)
+ },
+ downloadFile(path){
+ let params = {
+ type: 0,
+ fileName: path,
+ };
+ downloadFile(params).then((res) => {
+ if(res.data.type=='text/json'){
+ const reader = new FileReader();
+ reader.readAsText(res.data, 'utf-8');
+ reader.onload = e => {
+ this.$message({
+ type: "error",
+ message: JSON.parse(reader.result).msg,
+ duration: 3000,
+ });
+ }
+ } else {
+ let blob = new Blob([res.data], {type: 'application/octet-stream'})
+ console.log(blob)
+ let blobUrl = window.URL.createObjectURL(blob)
+ let downloadElement = document.createElement('a')
+ downloadElement.href = blobUrl
+ downloadElement.download = path
+ document.body.appendChild(downloadElement)
+ downloadElement.click()
+ document.body.removeChild(downloadElement)
+ window.URL.revokeObjectURL(blobUrl)
+ }
+ });
+ },
}
}
</script>
diff --git a/src/views/troubleshooting/index.vue b/src/views/troubleshooting/index.vue
index 88d9cb1..5a18dcc 100644
--- a/src/views/troubleshooting/index.vue
+++ b/src/views/troubleshooting/index.vue
@@ -213,6 +213,7 @@
import {getPageList, dowloand_do, addOrEdit, del, revoke, put} from "@/api/sgyhpczl/troubleshooting";
import {uploadFile} from "@/api/sgyhpczl/hiddenDangerRectification";
import {deepClone} from '@/utils'
+import {downloadFile} from "@/api/sgyhpczl/fileUtils";
import {
initYHLX,
--
Gitblit v1.9.2