From 35a0c77a631df4e843a1e80ed98fe14fb2a02884 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期一, 24 三月 2025 11:48:28 +0800
Subject: [PATCH] Merge branch 'dev'
---
src/views/projectEngineering/projectLibrary/component/FileDialog.vue | 87 +++++++++++++++++++++++++------------------
1 files changed, 50 insertions(+), 37 deletions(-)
diff --git a/src/views/projectEngineering/projectLibrary/component/FileDialog.vue b/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
index aee768c..6e923d2 100644
--- a/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
+++ b/src/views/projectEngineering/projectLibrary/component/FileDialog.vue
@@ -17,13 +17,13 @@
<template slot="default">
<div v-if="!isImportOrExport" class="dialog-content">
<el-upload
- ref="uploadRef"
+ ref="upload"
class="upload-demo"
- :action="uploadUrl"
+ :action="upload.url"
:limit="1"
:accept="accept"
- :headers="uploadHeaders"
- :disabled="uploadIsUploading"
+ :headers="upload.headers"
+ :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress"
:on-success="handleFileSuccess"
:auto-upload="false"
@@ -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,7 +54,7 @@
</template>
<script>
-import { globalHeaders } from '@/utils/request';
+
import {getToken} from "@/utils/auth";
export default {
@@ -73,17 +73,31 @@
default: function () {
return [];
}
- }
+ },
+ dataIdList: {
+ type: Array,
+ default: function () {
+ return [];
+ }
+ },
},
data() {
return {
queryParams: {},
- uploadRef: null,
targetColumn: [],
accept: `.zip`,
- uploadUrl: '/project/import',
- uploadHeaders: {},
- uploadIsUploading: false
+ upload:{
+ // 鏄惁鏄剧ず寮瑰嚭灞傦紙鐢ㄦ埛瀵煎叆锛�
+ open: false,
+ // 寮瑰嚭灞傛爣棰橈紙鐢ㄦ埛瀵煎叆锛�
+ title: '',
+ // 鏄惁绂佺敤涓婁紶
+ isUploading: false,
+ // 璁剧疆涓婁紶鐨勮姹傚ご閮�
+ headers: { Authorization: "Bearer " + getToken() },
+ // 涓婁紶鐨勫湴鍧�
+ url: process.env.VUE_APP_BASE_API + '/project/info/import'
+ },
};
},
methods: {
@@ -91,30 +105,20 @@
console.log("瀛愮粍浠秙ubmit")
},
handleFileUploadProgress() {
- this.uploadIsUploading = true;
+ this.upload.uploadIsUploading = true;
},
- handleFileSuccess(response, file) {
- this.uploadIsUploading = false;
- if (this.uploadRef) {
- this.uploadRef.handleRemove(file);
- }
- if (response.code === 200) {
- this.$emit('fileDialogCancel');
- this.$message({
- message: response.msg,
- type: 'success'
- });
- } else {
- this.$message.error(response.msg);
- }
+ // 鏂囦欢涓婁紶鎴愬姛澶勭悊
+ handleFileSuccess(response, file, fileList) {
+ this.upload.open = false;
+ this.upload.isUploading = false;
+ this.$refs.upload.clearFiles();
+ this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true });
},
handleDownloadFile() {
this.download('/project/info/export/template', {}, `椤圭洰鏂囦欢妯℃澘_${new Date().getTime()}.zip`)
},
submitFileForm() {
- if (this.uploadRef) {
- this.uploadRef.submit();
- }
+ this.$refs.upload.submit();
},
closeDialog() {
this.$emit('fileDialogCancel');
@@ -125,14 +129,23 @@
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;
- }
+
};
</script>
--
Gitblit v1.8.0