From 8b1de8b87d81cb5c4b3c207e10195f392ed330cc Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 13 十二月 2024 17:56:02 +0800
Subject: [PATCH] 任务驳回功能基础实现
---
src/views/projectEngineering/projectLibrary/component/FileDialog.vue | 83 +++++++++++++++--------------------------
1 files changed, 31 insertions(+), 52 deletions(-)
diff --git a/src/views/projectEngineering/projectLibrary/component/FileDialog.vue b/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
index 357d39e..2e16b22 100644
--- a/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
+++ b/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
@@ -37,9 +37,9 @@
</div>
<div v-else-if="isImportOrExport" class="dialog-content">
<el-button class="export-button" @click="handleDownloadTargetList">瀵煎嚭鐩爣鍒楄〃鍐呭</el-button>
- <el-button class="export-button">瀵煎嚭鎵�鏈夊垪琛ㄥ唴瀹�</el-button>
- <el-button class="export-button">瀵煎嚭鐩爣椤圭洰璇︽儏</el-button>
- <el-button class="export-button">瀵煎嚭鎵�鏈夐」鐩鎯�</el-button>
+ <el-button class="export-button" @click="handleDownloadAllList">瀵煎嚭鎵�鏈夊垪琛ㄥ唴瀹�</el-button>
+ <el-button class="export-button" @click="handleDownloadDetailList">瀵煎嚭鐩爣椤圭洰璇︽儏</el-button>
+ <el-button class="export-button" @click="handleDownloadAllList">瀵煎嚭鎵�鏈夐」鐩鎯�</el-button>
</div>
</template>
<template slot="footer">
@@ -54,8 +54,6 @@
</template>
<script>
-import { globalHeaders } from '@/utils/request';
-import {getToken} from "@/utils/auth";
export default {
name: 'FileDialog',
@@ -73,10 +71,17 @@
default: function () {
return [];
}
- }
+ },
+ dataIdList: {
+ type: Array,
+ default: function () {
+ return [];
+ }
+ },
},
data() {
return {
+ queryParams: {},
uploadRef: null,
targetColumn: [],
accept: `.zip`,
@@ -108,49 +113,7 @@
}
},
handleDownloadFile() {
- // fetch(`${process.env.VITE_APP_BASE_API}/project/info/export/template`, {
- // method: 'GET',
- // headers: self.upload.headers
- // })
- // .then(response => response.blob())
- // .then(blob => {
- // const url = window.URL.createObjectURL(blob);
- // const a = document.createElement('a');
- // a.style.display = 'none';
- // a.href = url;
- // a.download = `椤圭洰鏂囦欢妯℃澘_${new Date().getTime()}.zip`;
- // document.body.appendChild(a);
- // a.click();
- // window.URL.revokeObjectURL(url);
- // })
- // .catch(error => {
- // console.error('鏂囦欢涓嬭浇澶辫触:', error);
- // });
-
- const url = process.env.VUE_APP_BASE_API + '/project/info/export/template';
- axios.post(url, [], { // 鍙戦�佷竴涓┖鏁扮粍鑰屼笉鏄┖瀵硅薄
- responseType: 'blob', // 鍛婅瘔axios鏈熸湜鏈嶅姟鍣ㄨ繑鍥炵殑鏄痓lob绫诲瀷
- headers: {
- 'Content-Type': 'application/json',
- Authorization: "Bearer " + getToken()
- }
- })
- .then(response => {
- // 澶勭悊鏂囦欢涓嬭浇
- const blob = new Blob([response.data], { type: 'application/zip' }); // 鎸囧畾MIME绫诲瀷涓簔ip
- const url = window.URL.createObjectURL(blob);
- const a = document.createElement('a');
- a.style.display = 'none';
- a.href = url;
- a.download = `椤圭洰鏂囦欢妯℃澘_${new Date().getTime()}.zip`;
- document.body.appendChild(a);
- a.click();
- document.body.removeChild(a);
- window.URL.revokeObjectURL(url);
- })
- .catch(error => {
- console.error('There was an error!', error);
- });
+ this.download('/project/info/export/template', {}, `椤圭洰鏂囦欢妯℃澘_${new Date().getTime()}.zip`)
},
submitFileForm() {
if (this.uploadRef) {
@@ -161,15 +124,31 @@
this.$emit('fileDialogCancel');
},
handleDownloadTargetList() {
- console.log('瀵煎嚭鐩爣鍒楄〃鍐呭', this.currentColumns);
- this.targetColumn = this.currentColumns.filter(item => item.visible);
+ this.queryParams.fieldList = this.currentColumns.filter(item => item.visible).map(item =>item.id);
+ this.queryParams.requireFile = false;
+ this.download('project/info/export', {
+ ...this.queryParams
+ }, `椤圭洰搴�${new Date().getTime()}.xlsx`)
+ },
+ handleDownloadAllList() {
+ this.queryParams.fieldList = this.currentColumns;
+ this.queryParams.requireFile = false;
+ this.download('project/info/export', {
+ ...this.queryParams
+ }, `椤圭洰搴�${new Date().getTime()}.xlsx`)
+ },
+ handleDownloadDetailList() {
+ this.queryParams.dataIdList = this.dataIdList
+ this.queryParams.requireFile = true;
+ this.download('project/info/export', {
+ ...this.queryParams
+ }, `椤圭洰搴�${new Date().getTime()}.zip`)
}
},
mounted() {
this.uploadRef = this.$refs.uploadRef;
},
created() {
-
this.isFileDialogVisible = this.fileDialogVisible;
}
};
--
Gitblit v1.8.0