Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
finance-manage
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
finance-oa
finance-manage
Commits
7bc15245
Commit
7bc15245
authored
Jan 01, 2022
by
RuoYi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
预览组件支持多图显示
parent
cb622880
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
68 additions
and
51 deletions
+68
-51
ruoyi-ui/src/components/ImagePreview/index.vue
ruoyi-ui/src/components/ImagePreview/index.vue
+68
-51
No files found.
ruoyi-ui/src/components/ImagePreview/index.vue
View file @
7bc15245
<
template
>
<el-image
:src=
"`$
{realSrc}`" fit="cover" :style="`width:${realWidth};height:${realHeight};`" :preview-src-list="[`${realSrc}`]">
<div
slot=
"error"
class=
"image-slot"
>
<i
class=
"el-icon-picture-outline"
></i>
</div>
</el-image>
<el-image
:src=
"`$
{realSrc}`"
fit="cover"
:style="`width:${realWidth};height:${realHeight};`"
:preview-src-list="realSrcList"
>
<div
slot=
"error"
class=
"image-slot"
>
<i
class=
"el-icon-picture-outline"
></i>
</div>
</el-image>
</
template
>
<
script
>
import
{
isExternal
}
from
'
@/utils/validate
'
import
{
isExternal
}
from
"
@/utils/validate
"
;
export
default
{
name
:
'
ImagePreview
'
,
props
:
{
src
:
{
type
:
String
,
required
:
true
},
width
:
{
type
:
[
Number
,
String
],
default
:
''
},
height
:
{
type
:
[
Number
,
String
],
default
:
''
}
name
:
"
ImagePreview
"
,
props
:
{
src
:
{
type
:
String
,
required
:
true
},
width
:
{
type
:
[
Number
,
String
],
default
:
""
},
computed
:
{
realSrc
()
{
if
(
isExternal
(
this
.
src
))
{
return
this
.
src
}
return
process
.
env
.
VUE_APP_BASE_API
+
this
.
src
},
realWidth
()
{
return
typeof
this
.
width
==
'
string
'
?
this
.
width
:
`
${
this
.
width
}
px`
},
realHeight
()
{
return
typeof
this
.
height
==
'
string
'
?
this
.
height
:
`
${
this
.
height
}
px`
height
:
{
type
:
[
Number
,
String
],
default
:
""
}
},
computed
:
{
realSrc
()
{
let
real_src
=
this
.
src
.
split
(
"
,
"
)[
0
];
if
(
isExternal
(
real_src
))
{
return
real_src
;
}
return
process
.
env
.
VUE_APP_BASE_API
+
real_src
;
},
realSrcList
()
{
let
real_src_list
=
this
.
src
.
split
(
"
,
"
);
let
srcList
=
[];
real_src_list
.
forEach
(
item
=>
{
if
(
isExternal
(
item
))
{
return
srcList
.
push
(
item
);
}
return
srcList
.
push
(
process
.
env
.
VUE_APP_BASE_API
+
item
);
});
return
srcList
;
},
realWidth
()
{
return
typeof
this
.
width
==
"
string
"
?
this
.
width
:
`
${
this
.
width
}
px`
;
},
realHeight
()
{
return
typeof
this
.
height
==
"
string
"
?
this
.
height
:
`
${
this
.
height
}
px`
;
}
}
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.el-image
{
border-radius
:
5px
;
background-color
:
#ebeef5
;
box-shadow
:
0
0
5px
1px
#ccc
;
::v-deep
.el-image__inner
{
transition
:
all
0
.3s
;
cursor
:
pointer
;
&
:hover
{
transform
:
scale
(
1
.2
);
}
}
::v-deep
.image-slot
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
height
:
100%
;
color
:
#909399
;
font-size
:
30px
;
border-radius
:
5px
;
background-color
:
#ebeef5
;
box-shadow
:
0
0
5px
1px
#ccc
;
::v-deep
.el-image__inner
{
transition
:
all
0
.3s
;
cursor
:
pointer
;
&
:hover
{
transform
:
scale
(
1
.2
);
}
}
::v-deep
.image-slot
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
height
:
100%
;
color
:
#909399
;
font-size
:
30px
;
}
}
</
style
>
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