diff --git a/src/api/manage.js b/src/api/manage.js
index da6c20d..2c58a81 100644
--- a/src/api/manage.js
+++ b/src/api/manage.js
@@ -165,6 +165,26 @@ export function downloadFile(url, fileName, parameter) {
downloadFileByA(data, fileName)
})
}
+
+/**
+ * post请求下载文件zip
+ * @param url 文件路径
+ * @param fileName 文件名
+ * @param parameter
+ * @returns {*}
+ */
+export function downloadFileZip(url, fileName, parameter) {
+ return axios({
+ url: url,
+ data: parameter,
+ method: 'post',
+ responseType: 'blob'
+ }).then((data) => {
+ // 调用a标签下载文件的方法
+ downloadFileByA(data, fileName)
+ })
+}
+
/**
* post下载文件
* @param url 文件路径
diff --git a/src/components/jero/JUpload.vue b/src/components/jero/JUpload.vue
index b90a0c5..ce09f29 100644
--- a/src/components/jero/JUpload.vue
+++ b/src/components/jero/JUpload.vue
@@ -24,6 +24,9 @@
{{ text }}
+
+ 下载全部
+
@@ -52,7 +55,7 @@
import Vue from 'vue'
import {ACCESS_TOKEN} from '@/store/mutation-types'
-import {getFileAccessHttpUrl, downloadFile} from '@/api/manage'
+import {getFileAccessHttpUrl, downloadFile, downloadFileZip} from '@/api/manage'
import {getFileInfo} from '@/api/api'
import {isExternalTerminal} from '../../utils/util'
// eslint-disable-next-line no-undef
@@ -147,6 +150,22 @@ export default {
type: Boolean,
required: false,
default: true
+ },
+ /**
+ * 是否显示下载全部按钮
+ **/
+ downloadAll: {
+ type: Boolean,
+ required: false,
+ default: false
+ },
+ /**
+ * 下载的压缩包名称
+ **/
+ fileZipName: {
+ type: String,
+ required: false,
+ default: '附件.zip'
}
},
watch: {
@@ -451,6 +470,17 @@ export default {
// let url = `${window._CONFIG['onlinePreviewDomainURL']}?url=${encodeURIComponent(fileFullUrl)}`
window.open(url)
}
+ },
+ /**
+ * 多个文件下载压缩包
+ */
+ myDownloadZip() {
+ console.log('1111111', this.fileList)
+
+ const ids = this.fileList.map(item => item.response.result.id).join(',')
+ downloadFileZip(`sys/common/zipDownload`, this.fileZipName, {
+ ids
+ })
}
},
mounted() {
@@ -474,6 +504,10 @@ export default {
}
}
}
+.download-all-btn {
+ margin-left: 8px;
+ cursor: pointer;
+}
// 新增的文件操作按钮的样式
/deep/.file-list-html{
position: absolute!important;