Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
S
sts网站
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liyang
sts网站
Commits
e447fb80
Commit
e447fb80
authored
Jul 08, 2021
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FileUpload组件支持多文件上传
parent
90c41d49
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
40 additions
and
33 deletions
+40
-33
index.vue
ruoyi-ui/src/components/FileUpload/index.vue
+40
-33
No files found.
ruoyi-ui/src/components/FileUpload/index.vue
View file @
e447fb80
...
...
@@ -4,9 +4,7 @@
:action=
"uploadFileUrl"
:before-upload=
"handleBeforeUpload"
:file-list=
"fileList"
:limit=
"1"
:on-error=
"handleUploadError"
:on-exceed=
"handleExceed"
:on-success=
"handleUploadSuccess"
:show-file-list=
"false"
:headers=
"headers"
...
...
@@ -26,8 +24,8 @@
<!-- 文件列表 -->
<transition-group
class=
"upload-file-list el-upload-list el-upload-list--text"
name=
"el-fade-in-linear"
tag=
"ul"
>
<li
:key=
"file.uid"
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"(file, index) in
l
ist"
>
<el-link
:href=
"
file.url
"
:underline=
"false"
target=
"_blank"
>
<li
:key=
"file.uid"
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"(file, index) in
fileL
ist"
>
<el-link
:href=
"
`${baseUrl}${file.url}`
"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ getFileName(file.name) }}
</span>
</el-link>
<div
class=
"ele-upload-list__item-content-action"
>
...
...
@@ -42,6 +40,7 @@
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
name
:
"FileUpload"
,
props
:
{
// 值
value
:
[
String
,
Object
,
Array
],
...
...
@@ -63,6 +62,7 @@ export default {
},
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
uploadFileUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"/common/upload"
,
// 上传的图片服务器地址
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
...
...
@@ -70,19 +70,15 @@ export default {
fileList
:
[],
};
},
computed
:
{
// 是否显示提示
showTip
()
{
return
this
.
isShowTip
&&
(
this
.
fileType
||
this
.
fileSize
);
},
// 列表
list
()
{
watch
:
{
value
:
{
handler
(
val
)
{
if
(
val
)
{
let
temp
=
1
;
if
(
this
.
value
)
{
// 首先将值转为数组
const
list
=
Array
.
isArray
(
this
.
value
)
?
this
.
value
:
[
this
.
value
]
;
const
list
=
Array
.
isArray
(
val
)
?
val
:
this
.
value
.
split
(
','
)
;
// 然后将数组转为对象数组
return
list
.
map
((
item
)
=>
{
this
.
fileList
=
list
.
map
(
item
=>
{
if
(
typeof
item
===
"string"
)
{
item
=
{
name
:
item
,
url
:
item
};
}
...
...
@@ -94,6 +90,15 @@ export default {
return
[];
}
},
deep
:
true
,
immediate
:
true
}
},
computed
:
{
// 是否显示提示
showTip
()
{
return
this
.
isShowTip
&&
(
this
.
fileType
||
this
.
fileSize
);
},
},
methods
:
{
// 上传前校检格式和大小
...
...
@@ -124,10 +129,6 @@ export default {
}
return
true
;
},
// 文件个数超出
handleExceed
()
{
this
.
$message
.
error
(
`只允许上传单个文件`
);
},
// 上传失败
handleUploadError
(
err
)
{
this
.
$message
.
error
(
"上传失败, 请重试"
);
...
...
@@ -135,12 +136,13 @@ export default {
// 上传成功回调
handleUploadSuccess
(
res
,
file
)
{
this
.
$message
.
success
(
"上传成功"
);
this
.
$emit
(
"input"
,
res
.
url
);
this
.
fileList
.
push
({
name
:
res
.
fileName
,
url
:
res
.
fileName
});
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
));
},
// 删除文件
handleDelete
(
index
)
{
this
.
fileList
.
splice
(
index
,
1
);
this
.
$emit
(
"input"
,
''
);
this
.
$emit
(
"input"
,
this
.
listToString
(
this
.
fileList
)
);
},
// 获取文件名称
getFileName
(
name
)
{
...
...
@@ -149,11 +151,16 @@ export default {
}
else
{
return
""
;
}
}
},
created
()
{
this
.
fileList
=
this
.
list
;
},
// 对象转成分隔字符串
listToString
(
list
)
{
let
files
=
""
;
for
(
let
key
in
list
)
{
files
+=
list
[
key
].
url
+
","
;
}
return
files
.
substr
(
0
,
files
.
length
-
1
);
}
}
};
</
script
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment