From 60e2d55a2304ed7b973ed7a9bd40f3a6fb242585 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Mon, 21 Apr 2025 13:28:32 +0800
Subject: [PATCH] 优化菜单搜索查询页
---
ruoyi-ui/src/components/FileUpload/index.vue | 38 ++++++++++++++++++++++++++++++--------
1 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue
index dc81851..7b4fe12 100644
--- a/ruoyi-ui/src/components/FileUpload/index.vue
+++ b/ruoyi-ui/src/components/FileUpload/index.vue
@@ -5,6 +5,7 @@
:action="uploadFileUrl"
:before-upload="handleBeforeUpload"
:file-list="fileList"
+ :data="data"
:limit="limit"
:on-error="handleUploadError"
:on-exceed="handleExceed"
@@ -13,6 +14,7 @@
:headers="headers"
class="upload-file-uploader"
ref="fileUpload"
+ v-if="!disabled"
>
<!-- 上传按钮 -->
<el-button size="mini" type="primary">选取文件</el-button>
@@ -32,7 +34,7 @@
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
</el-link>
<div class="ele-upload-list__item-content-action">
- <el-link :underline="false" @click="handleDelete(index)" type="danger">删除</el-link>
+ <el-link :underline="false" @click="handleDelete(index)" type="danger" v-if="!disabled">删除</el-link>
</div>
</li>
</transition-group>
@@ -47,32 +49,46 @@
props: {
// 值
value: [String, Object, Array],
+ // 上传接口地址
+ action: {
+ type: String,
+ default: "/file/upload"
+ },
+ // 上传携带的参数
+ data: {
+ type: Object
+ },
// 数量限制
limit: {
type: Number,
- default: 5,
+ default: 5
},
// 大小限制(MB)
fileSize: {
type: Number,
- default: 5,
+ default: 5
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: {
type: Array,
- default: () => ["doc", "xls", "ppt", "txt", "pdf"],
+ default: () => ["doc", "docx", "xls", "xlsx", "ppt", "pptx", "txt", "pdf"]
},
// 是否显示提示
isShowTip: {
type: Boolean,
default: true
+ },
+ // 禁用组件(仅查看文件)
+ disabled: {
+ type: Boolean,
+ default: false
}
},
data() {
return {
number: 0,
uploadList: [],
- uploadFileUrl: process.env.VUE_APP_BASE_API + "/file/upload", // 上传文件服务器地址
+ uploadFileUrl: process.env.VUE_APP_BASE_API + this.action, // 上传文件服务器地址
headers: {
Authorization: "Bearer " + getToken(),
},
@@ -118,9 +134,14 @@
const fileExt = fileName[fileName.length - 1];
const isTypeOk = this.fileType.indexOf(fileExt) >= 0;
if (!isTypeOk) {
- this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`);
+ this.$modal.msgError(`文件格式不正确,请上传${this.fileType.join("/")}格式文件!`);
return false;
}
+ }
+ // 校检文件名是否包含特殊字符
+ if (file.name.includes(',')) {
+ this.$modal.msgError('文件名不正确,不能包含英文逗号!');
+ return false;
}
// 校检文件大小
if (this.fileSize) {
@@ -141,7 +162,7 @@
// 上传失败
handleUploadError(err) {
this.$modal.msgError("上传文件失败,请重试");
- this.$modal.closeLoading()
+ this.$modal.closeLoading();
},
// 上传成功回调
handleUploadSuccess(res, file) {
@@ -173,10 +194,11 @@
},
// 获取文件名称
getFileName(name) {
+ // 如果是url那么取最后的名字 如果不是直接返回
if (name.lastIndexOf("/") > -1) {
return name.slice(name.lastIndexOf("/") + 1);
} else {
- return "";
+ return name;
}
},
// 对象转成指定字符串分隔
--
Gitblit v1.9.3