Просмотр исходного кода

文件下载功能优化:重构模板下载逻辑,支持动态URL和文件名参数,区分web和API下载方式

yusheng 9 месяцев назад
Родитель
Сommit
065fb10e92

+ 3 - 3
src/api/system/file/index.js

@@ -103,16 +103,16 @@ export async function importBatch(data,api,onUploadProgressCb) {
 /**
  * 下载模板
  */
-export async function downLoadTemplate() {
+export async function downLoadTemplate(url,name) {
   const res = await request.post(
-    '/main/user/downLoadTemplate',
+    url,
     {},
     {
       responseType: 'blob',
     }
   );
   console.log(res.data, '***********');
-  download(res.data, '员工档案导入模板.xlsx');
+  download(res.data, name);
 
 }
 /**

+ 12 - 3
src/components/upload/import-dialog.vue

@@ -49,7 +49,7 @@
 </template>
 
 <script>
-  import { importBatch } from '@/api/system/file/index.js';
+  import { importBatch,downLoadTemplate } from '@/api/system/file/index.js';
   import { download1 } from '@/utils/file';
   import { number } from 'echarts';
 
@@ -59,7 +59,11 @@
       defModule: '',
       fileUrl: '',
       fileName: '',
-      apiUrl: ''
+      apiUrl: '',
+      isWeb: {
+        type: Boolean,
+        default: true
+      } 
     },
     //注册组件
     data() {
@@ -137,7 +141,12 @@
       },
       //下载模板
       downLoadTemplate() {
-        download1(window.location.origin + this.fileUrl, this.fileName);
+        if(this.isWeb){
+          download1(window.location.origin + this.fileUrl, this.fileName);
+        }else{
+          downLoadTemplate(this.fileUrl,this.fileName);
+        }
+
       }
     }
   };

+ 25 - 14
src/views/purchasingManage/purchaseOrder/index.vue

@@ -142,7 +142,8 @@
                   @click="handleCommand('outsourceSend', row)"
                   v-if="
                     ['3', '4', '5', '6'].includes(row.sourceType) &&
-                    [2].includes(row.orderStatus)&&row.progress<200
+                    [2].includes(row.orderStatus) &&
+                    row.progress < 200
                   "
                 >
                   创建委外发货单
@@ -154,7 +155,8 @@
                   @click="handleCommand('invoice', row)"
                   v-if="
                     !['3', '4', '5', '6'].includes(row.sourceType) &&
-                    [2].includes(row.orderStatus)&&row.progress<200
+                    [2].includes(row.orderStatus) &&
+                    row.progress < 200
                   "
                 >
                   创建收货单
@@ -212,7 +214,7 @@
     <purchasingDetail ref="purchasingDetailRef"></purchasingDetail>
     <purchasePlanDetail ref="purchasePlanDetailRef"></purchasePlanDetail>
     <inquiryDetail ref="inquiryDetailRef"></inquiryDetail>
-    
+
     <addOutSourceSend
       ref="addOrEditDialogRef"
       :add-or-edit-dialog-flag.sync="addOrEditDialogFlag"
@@ -241,7 +243,8 @@
     <importDialog
       ref="importDialogRef"
       @success="reload"
-      :fileUrl="'/eos/importTemplate/采购订单导入模板.xlsx'"
+      :fileUrl="'/eom/purchaseorder/importTemplate'"
+      :isWeb="false"
       fileName="采购订单导入模板"
       apiUrl="/eom/purchaseorder/importFile"
     />
@@ -268,20 +271,17 @@
   import outSourceSend from './outSourceSend/index';
   import {
     getTableList,
-    deleteInformation,
+    deleteInformation
   } from '@/api/purchasingManage/purchaseOrder';
   import dictMixins from '@/mixins/dictMixins';
-  import {
-    purchaseOrderProgressStatusEnum,
-    reviewStatus,
-  } from '@/enum/dict';
+  import { purchaseOrderProgressStatusEnum, reviewStatus } from '@/enum/dict';
   import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
   import tabMixins from '@/mixins/tableColumnsMixin';
   import importDialog from '@/components/upload/import-dialog.vue';
   import exportButton from '@/components/upload/exportButton.vue';
   import { parameterGetByCode } from '@/api/main/index.js';
   import exceptionList from '@/views/saleManage/saleOrder/exceptionManagement/exceptionList/index.vue';
-  
+
   export default {
     mixins: [dictMixins, tabMixins],
     components: {
@@ -302,7 +302,10 @@
       addInvoiceManage,
       importDialog,
       invoiceConfirm,
-      exceptionList,purchasingDetail,purchasePlanDetail,inquiryDetail
+      exceptionList,
+      purchasingDetail,
+      purchasePlanDetail,
+      inquiryDetail
     },
     data() {
       return {
@@ -371,7 +374,7 @@
             },
             minWidth: 120
           },
-          
+
           {
             prop: 'relationType',
             label: '来源单据类型',
@@ -379,8 +382,16 @@
             showOverflowTooltip: true,
             minWidth: 150,
             formatter: (_row, _column, cellValue) => {
-              return _row.relationType==1?'采购需求单':_row.relationType==2?'采购计划单':_row.relationType==3?'采购核价单':_row.relationType==4?'采购合同':""
-            },
+              return _row.relationType == 1
+                ? '采购需求单'
+                : _row.relationType == 2
+                ? '采购计划单'
+                : _row.relationType == 3
+                ? '采购核价单'
+                : _row.relationType == 4
+                ? '采购合同'
+                : '';
+            }
           },
           {
             prop: 'relationName',

+ 2 - 1
src/views/saleManage/saleOrder/index.vue

@@ -287,7 +287,8 @@
     <importDialog
       ref="importDialogRef"
       @success="reload"
-      :fileUrl="'/eos/importTemplate/销售订单导入模板.xlsx'"
+      :fileUrl="'/eom/saleorder/importTemplate'"
+      :isWeb="false"
       fileName="销售订单导入模板"
       apiUrl="/eom/saleorder/importFile"
     />