Jelajahi Sumber

Merge branch 'bugfix-zd' into 'master'

下载模板接口fix

See merge request tian-group/skyeye-admin-fe!26
孙宏耀 2 tahun lalu
induk
melakukan
25d53bd198
1 mengubah file dengan 24 tambahan dan 16 penghapusan
  1. 24 16
      src/views/system/user/component/AddUser.vue

+ 24 - 16
src/views/system/user/component/AddUser.vue

@@ -106,9 +106,9 @@
   import { ref } from 'vue';
   import { genFileId, ElMessage } from 'element-plus';
   import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
-  import { downloadByUrl } from '@/utils/file/download';
   import { useUserStore } from '@/store/modules/user';
   import { onMounted } from 'vue';
+  import axios, { AxiosRequestConfig } from 'axios';
 
   const userStore = useUserStore();
 
@@ -146,20 +146,31 @@
   };
   const upload = ref<UploadInstance>();
 
-  const handleDownload = () => {
-    downloadByUrl({
-      url: './upload-user-templete/templete.xlsx',
-      target: '_self',
-    });
+  const handleDownload = async () => {
+    //调用后端接口
+    try {
+      const config: AxiosRequestConfig = {
+        headers,
+        responseType: 'blob',
+      };
+      const response = await axios.get('/api/user/downloadExcel', config);
+      const blob = new Blob([response.data], {
+        type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+      });
+      // 创建下载链接
+      let downloadLink: HTMLAnchorElement | null = document.createElement('a');
+      const url = window.URL.createObjectURL(blob);
+      downloadLink.href = url;
+      downloadLink.download = '批量导入模板(重命名请加后缀.xlsm).xlsm';
+      downloadLink.click();
+      // 移除下载链接
+      window.URL.revokeObjectURL(url);
+      downloadLink = null;
+    } catch (error) {
+      console.error('Error downloading file:', error);
+    }
   };
 
-  // const handleExceed: UploadProps['onExceed'] = (files) => {
-  //   upload.value!.clearFiles();
-  //   const file = files[0] as UploadRawFile;
-  //   file.uid = genFileId();
-  //   upload.value!.handleStart(file);
-  // };
-
   const handleImport = async () => {
     upload.value!.submit();
   };
@@ -178,12 +189,9 @@
   };
 
   const handleUploadSuccess = (response, _file, _fileList) => {
-    // const res = JSON.parse(response);
-    console.log('response', response);
     isSuc.value = response.data.isSuc;
     errDetail.value = response.data.failedInfo;
     sucCount.value = response.data.sucCount || 0;
-    console.log('errDetail', errDetail.value);
 
     if (isSuc.value) {
       DialogVisibleSuc.value = true;