From c5ef0336a473bd14baeb1188567de47cad079b7f Mon Sep 17 00:00:00 2001
From: 若依 <yzz_ivy@163.com>
Date: 星期三, 05 四月 2023 17:30:43 +0800
Subject: [PATCH] !676 优化选择图标组件 Merge pull request !676 from 也曾为你像超人/master
---
ruoyi-ui/src/components/FileUpload/index.vue | 44 +++++++++++++++++++++++++-------------------
1 files changed, 25 insertions(+), 19 deletions(-)
diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue
index aa2296b..6c583cf 100644
--- a/ruoyi-ui/src/components/FileUpload/index.vue
+++ b/ruoyi-ui/src/components/FileUpload/index.vue
@@ -12,7 +12,7 @@
:show-file-list="false"
:headers="headers"
class="upload-file-uploader"
- ref="upload"
+ ref="fileUpload"
>
<!-- 上传按钮 -->
<el-button size="mini" type="primary">选取文件</el-button>
@@ -73,7 +73,7 @@
number: 0,
uploadList: [],
baseUrl: process.env.VUE_APP_BASE_API,
- uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
+ uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传文件服务器地址
headers: {
Authorization: "Bearer " + getToken(),
},
@@ -115,15 +115,9 @@
handleBeforeUpload(file) {
// 校检文件类型
if (this.fileType) {
- let fileExtension = "";
- if (file.name.lastIndexOf(".") > -1) {
- fileExtension = file.name.slice(file.name.lastIndexOf(".") + 1);
- }
- const isTypeOk = this.fileType.some((type) => {
- if (file.type.indexOf(type) > -1) return true;
- if (fileExtension && fileExtension.indexOf(type) > -1) return true;
- return false;
- });
+ const fileName = file.name.split('.');
+ const fileExt = fileName[fileName.length - 1];
+ const isTypeOk = this.fileType.indexOf(fileExt) >= 0;
if (!isTypeOk) {
this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`);
return false;
@@ -147,18 +141,20 @@
},
// 上传失败
handleUploadError(err) {
- this.$modal.msgError("上传图片失败,请重试");
+ this.$modal.msgError("上传文件失败,请重试");
this.$modal.closeLoading()
},
// 上传成功回调
- handleUploadSuccess(res) {
- this.uploadList.push({ name: res.fileName, url: res.fileName });
- if (this.uploadList.length === this.number) {
- this.fileList = this.fileList.concat(this.uploadList);
- this.uploadList = [];
- this.number = 0;
- this.$emit("input", this.listToString(this.fileList));
+ handleUploadSuccess(res, file) {
+ if (res.code === 200) {
+ this.uploadList.push({ name: res.fileName, url: res.fileName });
+ this.uploadedSuccessfully();
+ } else {
+ this.number--;
this.$modal.closeLoading();
+ this.$modal.msgError(res.msg);
+ this.$refs.fileUpload.handleRemove(file);
+ this.uploadedSuccessfully();
}
},
// 删除文件
@@ -166,6 +162,16 @@
this.fileList.splice(index, 1);
this.$emit("input", this.listToString(this.fileList));
},
+ // 上传结束处理
+ uploadedSuccessfully() {
+ if (this.number > 0 && this.uploadList.length === this.number) {
+ this.fileList = this.fileList.concat(this.uploadList);
+ this.uploadList = [];
+ this.number = 0;
+ this.$emit("input", this.listToString(this.fileList));
+ this.$modal.closeLoading();
+ }
+ },
// 获取文件名称
getFileName(name) {
if (name.lastIndexOf("/") > -1) {
--
Gitblit v1.9.2