Browse Source

v3.8.0 新增通用方法简化下载使用

YunaiV 3 years atrás
parent
commit
02a0ab6d6d
28 changed files with 78 additions and 90 deletions
  1. 1 1
      yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/vue/views/index.vue.vm
  2. 1 19
      yudao-ui-admin/src/main.js
  3. 47 0
      yudao-ui-admin/src/plugins/download.js
  4. 3 0
      yudao-ui-admin/src/plugins/index.js
  5. 0 44
      yudao-ui-admin/src/utils/ruoyi.js
  6. 1 1
      yudao-ui-admin/src/views/infra/apiAccessLog/index.vue
  7. 1 1
      yudao-ui-admin/src/views/infra/apiErrorLog/index.vue
  8. 1 1
      yudao-ui-admin/src/views/infra/config/index.vue
  9. 1 1
      yudao-ui-admin/src/views/infra/job/index.vue
  10. 1 1
      yudao-ui-admin/src/views/infra/job/log.vue
  11. 1 1
      yudao-ui-admin/src/views/pay/app/index.vue
  12. 1 1
      yudao-ui-admin/src/views/pay/merchant/index.vue
  13. 1 1
      yudao-ui-admin/src/views/pay/order/index.vue
  14. 1 1
      yudao-ui-admin/src/views/pay/refund/index.vue
  15. 1 1
      yudao-ui-admin/src/views/system/dict/data.vue
  16. 1 1
      yudao-ui-admin/src/views/system/dict/index.vue
  17. 1 1
      yudao-ui-admin/src/views/system/errorCode/index.vue
  18. 1 1
      yudao-ui-admin/src/views/system/loginlog/index.vue
  19. 1 1
      yudao-ui-admin/src/views/system/operatelog/index.vue
  20. 1 1
      yudao-ui-admin/src/views/system/post/index.vue
  21. 1 1
      yudao-ui-admin/src/views/system/role/index.vue
  22. 1 1
      yudao-ui-admin/src/views/system/sms/smsLog.vue
  23. 1 1
      yudao-ui-admin/src/views/system/sms/smsTemplate.vue
  24. 1 1
      yudao-ui-admin/src/views/system/tenant/index.vue
  25. 2 2
      yudao-ui-admin/src/views/system/user/index.vue
  26. 1 1
      yudao-ui-admin/src/views/tool/codegen/index.vue
  27. 3 3
      yudao-ui-admin/src/views/tool/dbDoc/index.vue
  28. 1 1
      yudao-ui-admin/src/views/tool/testDemo/index.vue

+ 1 - 1
yudao-module-tool/yudao-module-tool-impl/src/main/resources/codegen/vue/views/index.vue.vm

@@ -390,7 +390,7 @@ export default {
           this.exportLoading = true;
           return export${simpleClassName}Excel(params);
         }).then(response => {
-          this.downloadExcel(response, '${table.classComment}.xls');
+          this.$download.excel(response, '${table.classComment}.xls');
           this.exportLoading = false;
         }).catch(() => {});
     }

+ 1 - 19
yudao-ui-admin/src/main.js

@@ -17,19 +17,7 @@ import './assets/icons' // icon
 import './permission' // permission control
 import { getDicts } from "@/api/system/dict/data";
 import { getConfigKey } from "@/api/infra/config";
-import {
-  parseTime,
-  resetForm,
-  addDateRange,
-  addBeginAndEndTime,
-  download,
-  handleTree,
-  downloadExcel,
-  downloadWord,
-  downloadZip,
-  downloadHtml,
-  downloadMarkdown,
-} from "@/utils/ruoyi";
+import { parseTime, resetForm, addDateRange, addBeginAndEndTime, handleTree} from "@/utils/ruoyi";
 import Pagination from "@/components/Pagination";
 // 自定义表格工具扩展
 import RightToolbar from "@/components/RightToolbar"
@@ -49,12 +37,6 @@ Vue.prototype.getDictDatas = getDictDatas
 Vue.prototype.getDictDatas2 = getDictDatas2
 Vue.prototype.getDictDataLabel = getDictDataLabel
 Vue.prototype.DICT_TYPE = DICT_TYPE
-Vue.prototype.download = download
-Vue.prototype.downloadExcel = downloadExcel
-Vue.prototype.downloadWord = downloadWord
-Vue.prototype.downloadHtml = downloadHtml
-Vue.prototype.downloadMarkdown = downloadMarkdown
-Vue.prototype.downloadZip = downloadZip
 Vue.prototype.handleTree = handleTree
 
 // 全局组件挂载

+ 47 - 0
yudao-ui-admin/src/plugins/download.js

@@ -0,0 +1,47 @@
+import { saveAs } from 'file-saver'
+import axios from 'axios'
+import { getToken } from '@/utils/auth'
+
+const baseURL = process.env.VUE_APP_BASE_API
+
+export default {
+  // 下载 Excel 方法
+  excel(data, fileName) {
+    this.download0(data, fileName, 'application/vnd.ms-excel');
+  },
+
+  // 下载 Word 方法
+  word(data, fileName) {
+    this.download0(data, fileName, 'application/msword');
+  },
+
+  // 下载 Zip 方法
+  zip(data, fileName) {
+    this.download0(data, fileName, 'application/zip');
+  },
+
+  // 下载 Html 方法
+  html(data, fileName) {
+    this.download0(data, fileName, 'text/html');
+  },
+
+  // 下载 Markdown 方法
+  markdown(data, fileName) {
+    this.download0(data, fileName, 'text/markdown');
+  },
+
+  download0(data, fileName, mineType) {
+    // 创建 blob
+    let blob = new Blob([data], {type: mineType});
+    // 创建 href 超链接,点击进行下载
+    window.URL = window.URL || window.webkitURL;
+    let href = URL.createObjectURL(blob);
+    let downA = document.createElement("a");
+    downA.href = href;
+    downA.download = fileName;
+    downA.click();
+    // 销毁超连接
+    window.URL.revokeObjectURL(href);
+  }
+
+}

+ 3 - 0
yudao-ui-admin/src/plugins/index.js

@@ -1,5 +1,6 @@
 import cache from './cache'
 import modal from './modal'
+import download from './download'
 
 export default {
   install(Vue) {
@@ -7,5 +8,7 @@ export default {
     Vue.prototype.$cache = cache
     // 模态框对象
     Vue.prototype.$modal = modal
+    // 下载文件
+    Vue.prototype.$download = download
   }
 }

+ 0 - 44
yudao-ui-admin/src/utils/ruoyi.js

@@ -100,50 +100,6 @@ export function addBeginAndEndTime(params, dateRange, propName) {
   return params;
 }
 
-// 通用下载方法
-export function download(fileName) {
-  window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
-}
-
-// 下载 Excel 方法
-export function downloadExcel(data, fileName) {
-  download0(data, fileName, 'application/vnd.ms-excel');
-}
-
-// 下载 Word 方法
-export function downloadWord(data, fileName) {
-  download0(data, fileName, 'application/msword');
-}
-
-// 下载 Zip 方法
-export function downloadZip(data, fileName) {
-  download0(data, fileName, 'application/zip');
-}
-
-// 下载 Html 方法
-export function downloadHtml(data, fileName) {
-  download0(data, fileName, 'text/html');
-}
-
-// 下载 Markdown 方法
-export function downloadMarkdown(data, fileName) {
-  download0(data, fileName, 'text/markdown');
-}
-
-function download0(data, fileName, mineType) {
-  // 创建 blob
-  let blob = new Blob([data], {type: mineType});
-  // 创建 href 超链接,点击进行下载
-  window.URL = window.URL || window.webkitURL;
-  let href = URL.createObjectURL(blob);
-  let downA = document.createElement("a");
-  downA.href = href;
-  downA.download = fileName;
-  downA.click();
-  // 销毁超连接
-  window.URL.revokeObjectURL(href);
-}
-
 // 字符串格式化(%s )
 export function sprintf(str) {
   var args = arguments, flag = true, i = 1;

+ 1 - 1
yudao-ui-admin/src/views/infra/apiAccessLog/index.vue

@@ -206,7 +206,7 @@ export default {
         this.exportLoading = true;
         return exportApiAccessLogExcel(params);
       }).then(response => {
-        this.downloadExcel(response, 'API 访问日志.xls');
+        this.$download.excel(response, 'API 访问日志.xls');
         this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/infra/apiErrorLog/index.vue

@@ -224,7 +224,7 @@ export default {
         this.exportLoading = true;
         return exportApiErrorLogExcel(params);
       }).then(response => {
-        this.downloadExcel(response, 'API 错误日志.xls');
+        this.$download.excel(response, 'API 错误日志.xls');
         this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/infra/config/index.vue

@@ -268,7 +268,7 @@ export default {
           this.exportLoading = true;
           return exportConfig(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '参数配置.xls');
+          this.$download.excel(response, '参数配置.xls');
           this.exportLoading = false;
       }).catch(() => {});
     },

+ 1 - 1
yudao-ui-admin/src/views/infra/job/index.vue

@@ -367,7 +367,7 @@ export default {
           this.exportLoading = true;
           return exportJob(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '定时任务.xls');
+          this.$download.excel(response, '定时任务.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/infra/job/log.vue

@@ -169,7 +169,7 @@ export default {
         this.exportLoading = true;
         return exportJobLogExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '定时任务日志.xls');
+        this.$download.excel(response, '定时任务日志.xls');
         this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/pay/app/index.vue

@@ -417,7 +417,7 @@ export default {
       this.$modal.confirm('是否确认导出所有支付应用信息数据项?').then(function () {
         return exportAppExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '支付应用信息.xls');
+        this.$download.excel(response, '支付应用信息.xls');
       }).catch(() => {});
     },
     /**

+ 1 - 1
yudao-ui-admin/src/views/pay/merchant/index.vue

@@ -279,7 +279,7 @@ export default {
           this.exportLoading = true;
           return exportMerchantExcel(params);
         }).then(response => {
-          this.downloadExcel(response, '支付商户信息.xls');
+          this.$download.excel(response, '支付商户信息.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/pay/order/index.vue

@@ -423,7 +423,7 @@ export default {
       this.$modal.confirm('是否确认导出所有支付订单数据项?').then(function () {
         return exportOrderExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '支付订单.xls');
+        this.$download.excel(response, '支付订单.xls');
       }).catch(() => {});
     },
     /**

+ 1 - 1
yudao-ui-admin/src/views/pay/refund/index.vue

@@ -427,7 +427,7 @@ export default {
       this.$modal.confirm('是否确认导出所有退款订单数据项?').then(function () {
         return exportRefundExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '退款订单.xls');
+        this.$download.excel(response, '退款订单.xls');
       }).catch(() => {});
     },
     /**

+ 1 - 1
yudao-ui-admin/src/views/system/dict/data.vue

@@ -297,7 +297,7 @@ export default {
           this.exportLoading = true;
           return exportData(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '字典数据.xls');
+          this.$download.excel(response, '字典数据.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/dict/index.vue

@@ -250,7 +250,7 @@ export default {
         this.exportLoading = true;
         return exportType(params);
       }).then(response => {
-        this.downloadExcel(response, '字典类型.xls');
+        this.$download.excel(response, '字典类型.xls');
         this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/errorCode/index.vue

@@ -243,7 +243,7 @@ export default {
         this.exportLoading = true;
         return exportErrorCodeExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '错误码.xls');
+        this.$download.excel(response, '错误码.xls');
         this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/loginlog/index.vue

@@ -126,7 +126,7 @@ export default {
           this.exportLoading = true;
           return exportLoginLog(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '登录日志.xls');
+          this.$download.excel(response, '登录日志.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/operatelog/index.vue

@@ -206,7 +206,7 @@ export default {
           this.exportLoading = true;
           return exportOperateLog(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '操作日志.xls');
+          this.$download.excel(response, '操作日志.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/post/index.vue

@@ -236,7 +236,7 @@ export default {
           this.exportLoading = true;
           return exportPost(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '岗位数据.xls');
+          this.$download.excel(response, '岗位数据.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/role/index.vue

@@ -497,7 +497,7 @@ export default {
           this.exportLoading = true;
           return exportRole(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '角色数据.xls');
+          this.$download.excel(response, '角色数据.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 1 - 1
yudao-ui-admin/src/views/system/sms/smsLog.vue

@@ -282,7 +282,7 @@ export default {
         this.exportLoading = true;
         return exportSmsLogExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '短信日志.xls');
+        this.$download.excel(response, '短信日志.xls');
         this.exportLoading = false;
       }).catch(() => {});
     },

+ 1 - 1
yudao-ui-admin/src/views/system/sms/smsTemplate.vue

@@ -334,7 +334,7 @@ export default {
         this.exportLoading = true;
         return exportSmsTemplateExcel(params);
       }).then(response => {
-        this.downloadExcel(response, '短信模板.xls');
+        this.$download.excel(response, '短信模板.xls');
         this.exportLoading = false;
       }).catch(() => {});
     },

+ 1 - 1
yudao-ui-admin/src/views/system/tenant/index.vue

@@ -246,7 +246,7 @@ export default {
           this.exportLoading = true;
           return exportTenantExcel(params);
         }).then(response => {
-          this.downloadExcel(response, '租户.xls');
+          this.$download.excel(response, '租户.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }

+ 2 - 2
yudao-ui-admin/src/views/system/user/index.vue

@@ -585,7 +585,7 @@ export default {
           this.exportLoading = true;
           return exportUser(queryParams);
         }).then(response => {
-          this.downloadExcel(response, '用户数据.xls');
+          this.$download.excel(response, '用户数据.xls');
           this.exportLoading = false;
       }).catch(() => {});
     },
@@ -597,7 +597,7 @@ export default {
     /** 下载模板操作 */
     importTemplate() {
       importTemplate().then(response => {
-        this.downloadExcel(response, '用户导入模板.xls');
+        this.$download.excel(response, '用户导入模板.xls');
       });
     },
     // 文件上传中处理

+ 1 - 1
yudao-ui-admin/src/views/tool/codegen/index.vue

@@ -192,7 +192,7 @@ export default {
     /** 生成代码操作 */
     handleGenTable(row) {
       downloadCodegen(row.id).then(response => {
-        this.downloadZip(response, 'codegen-' + row.tableName + '.zip');
+        this.$download.zip(response, 'codegen-' + row.tableName + '.zip');
       })
     },
     /** 同步数据库操作 */

+ 3 - 3
yudao-ui-admin/src/views/tool/dbDoc/index.vue

@@ -48,19 +48,19 @@ export default {
     /** 处理导出 HTML */
     handleExportHtml() {
       exportHtml().then(response => {
-        this.downloadHtml(response, '数据库文档.html');
+        this.$download.html(response, '数据库文档.html');
       })
     },
     /** 处理导出 Word */
     handleExportWord() {
       exportWord().then(response => {
-        this.downloadWord(response, '数据库文档.doc');
+        this.$download.word(response, '数据库文档.doc');
       })
     },
     /** 处理导出 Markdown */
     handleExportMarkdown() {
       exportMarkdown().then(response => {
-        this.downloadMarkdown(response, '数据库文档.md');
+        this.$download.markdown(response, '数据库文档.md');
       })
     }
   }

+ 1 - 1
yudao-ui-admin/src/views/tool/testDemo/index.vue

@@ -253,7 +253,7 @@ export default {
           this.exportLoading = true;
           return exportTestDemoExcel(params);
         }).then(response => {
-          this.downloadExcel(response, '字典类型.xls');
+          this.$download.excel(response, '字典类型.xls');
           this.exportLoading = false;
       }).catch(() => {});
     }