Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7-Res
提交
aeb0f0c0
提交
aeb0f0c0
编写于
12月 25, 2020
作者:
hudan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
文件列表
上级
c1b20eea
变更
2
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
269 行增加
和
0 行删除
+269
-0
app-mob-upload.less
src/components/app-mob-upload/app-mob-upload.less
+76
-0
app-mob-upload.vue
src/components/app-mob-upload/app-mob-upload.vue
+193
-0
未找到文件。
src/components/app-mob-upload/app-mob-upload.less
0 → 100644
浏览文件 @
aeb0f0c0
.app-mob-upload-list {
min-height: 44px;
.app-mob-upload-list_item {
font-size: 12px;
display: flex;
align-items: center;
background-color: #fff;
border-bottom: solid 1px #efefef;
.index_icon {
width: 40px;
height: 40px;
line-height: 40px;
text-align: center;
margin-left: 10px;
font-size: 30px;
img {
width: 100%;
height: 100%;
border-radius: 4px;
}
.doc {
color: #54b5f0;
}
.txt {
color: #ccc;
}
.pdf {
color: #ec0013;
}
.zip {
color: #0078d7;
}
.rar {
color: #8c58a2;
}
.xls {
color: #107c41;
}
.ppt {
color: #c43e1c;
}
.mp4 {
color: #177ecd;
}
}
.file_info_content {
position: relative;
width: calc(100% - 50px);
padding: 10px 30px 10px 10px;
}
.file_size {
margin-right: 10px;
}
.file_footer {
display: flex;
color: #b4b4b4;
}
.file_name {
padding: 8px 0;
}
.file_delete_icon {
padding-right: 10px;
font-size: 1rem;
}
}
ion-icon {
color: @color-main-color;
}
.nofile {
height: 44px;
text-align: center;
background: #fcfcfc;
line-height: 44px;
font-size: 13px;
}
}
src/components/app-mob-upload/app-mob-upload.vue
0 → 100644
浏览文件 @
aeb0f0c0
<
template
>
<div
class=
"app-mob-upload-list"
>
<template
v-for=
"item in items"
>
<v-touch
v-on:press=
"node_touch(item)"
:key=
"item.id"
>
<div
class=
"app-mob-upload-list_item"
@
click=
"onItemClick(item)"
>
<div
class=
"index_icon"
>
<img
v-if=
"isImages(item)"
@
click
.
stop=
"openImages(getImage(item))"
data-error=
"xxx.jpg"
attempt=
"1"
v-lazy=
"getImage(item)"
alt=
""
>
<app-mob-icon
v-else
:class=
"item.extension"
:name=
"item.extensionName"
></app-mob-icon>
</div>
<div
class=
"file_info_content"
>
<div
class=
"file_name"
>
<strong>
{{
item
.
srfmajortext
}}
</strong></div>
<div
class=
"file_footer"
>
<div
class=
"file_size"
>
{{
item
.
strsize
}}
</div>
<div
class=
"file_size"
>
|
</div>
<div
class=
"file_created_date"
>
{{
item
.
addeddate
}}
</div>
</div>
</div>
<div
v-if=
"isEnableDelete"
class=
"file_delete_icon"
><app-mob-icon
class=
"app-mob-upload-list_item_icon ios hydrated"
name=
"close-outline"
@
onClick=
"item_delete(item)"
></app-mob-icon></div>
</div>
</v-touch>
</
template
>
<div
class=
"nofile"
v-if=
"items.length == 0"
>
{{$t('no_file')}}
</div>
</div>
</template>
<
script
lang=
"ts"
>
import
{
Vue
,
Component
,
Prop
,
Provide
,
Emit
,
Watch
,
}
from
"vue-property-decorator"
;
import
{
Environment
}
from
"@/environments/environment"
;
import
{
Uploader
}
from
"vant"
;
import
{
ImagePreview
}
from
'vant'
;
Vue
.
use
(
Uploader
);
@
Component
({
i18n
:
{
messages
:
{
"ZH-CN"
:
{
no_file
:
"暂无附件"
,
},
"EN-US"
:
{
no_file
:
"no data"
,
},
},
},
components
:
{
[
ImagePreview
.
Component
.
name
]:
ImagePreview
.
Component
,
}
})
export
default
class
AppMobUploadList
extends
Vue
{
/**
* 下载文件路径
*
* @memberof AppMobUploadList
*/
public
downloadUrl
=
Environment
.
BaseUrl
+
Environment
.
ExportFile
;
/**
* 视图参数
*
* @memberof AppMobUploadList
*/
@
Prop
()
protected
items
!
:
any
;
/**
* 是否启用删除
*
* @memberof AppMobUploadList
*/
@
Prop
({
default
:
true
})
protected
isEnableDelete
?:
boolean
;
/**
* 是否启用下载
*
* @memberof AppMobUploadList
*/
@
Prop
({
default
:
true
})
protected
isEnableDownload
?:
boolean
;
/**
* 是否启用下载
*
* @memberof AppMobUploadList
*/
@
Prop
({
default
:
true
})
protected
isEnablePreview
?:
boolean
;
/**
* 传入数据变化
*/
@
Watch
(
'items'
)
public
initExtensionName
(
newVal
:
any
,
oldVal
:
any
){
if
(
newVal
){
this
.
items
.
forEach
((
item
:
any
)
=>
{
if
(
!
Object
.
is
(
item
.
extension
,
'jpg'
)
||
Object
.
is
(
item
.
extension
,
'gif'
)
||
Object
.
is
(
item
.
extension
,
'bmp'
)
||
Object
.
is
(
item
.
extension
,
'png'
)){
switch
(
item
.
extension
)
{
case
'doc'
:
case
'docx'
:
item
.
extension
=
'doc'
item
.
extensionName
=
'file-word-o'
break
;
case
'txt'
:
item
.
extensionName
=
'file-text-o'
break
;
case
'pdf'
:
item
.
extensionName
=
'file-pdf-o'
break
;
case
'zip'
:
item
.
extensionName
=
'file-archive-o'
break
;
case
'rar'
:
item
.
extensionName
=
'file-archive-o'
break
;
case
'xls'
:
case
'xlsx'
:
item
.
extension
=
'xls'
item
.
extensionName
=
'file-excel-o'
break
;
case
'ppt'
:
case
'pptx'
:
item
.
extension
=
'ppt'
item
.
extensionName
=
'file-powerpoint-o'
break
;
case
'mp4'
:
item
.
extensionName
=
'file-video-o'
break
;
default
:
item
.
extension
=
'txt'
item
.
extensionName
=
'file-o'
break
;
}
}
})
}
}
/**
* 文件项点击事件
*
* @memberof AppMobUploadList
*/
public
onItemClick
(
item
:
any
)
{
if
(
!
this
.
isEnableDownload
){
return
}
let
tempUrl
=
window
.
location
.
href
.
split
(
"#"
)[
0
];
let
url
=
tempUrl
+
`
${
this
.
downloadUrl
}
`
+
`/
${
item
.
id
}
`
;
window
.
open
(
url
);
}
/**
* 是否为图片类型
*/
public
isImages
(
item
:
any
)
{
return
Object
.
is
(
item
.
extension
,
'jpg'
)
||
Object
.
is
(
item
.
extension
,
'gif'
)
||
Object
.
is
(
item
.
extension
,
'bmp'
)
||
Object
.
is
(
item
.
extension
,
'png'
)
}
/**
* 文件项删除事件
*
* @memberof AppMobUploadList
*/
public
item_delete
(
item
:
any
)
{
this
.
$emit
(
"delete"
,
[
item
]);
}
/**
* 解析图片地址
*/
public
getImage
(
item
:
any
)
{
return
`
${
this
.
downloadUrl
}
`
+
`/
${
item
.
id
}
`
}
/**
* 打开图片预览
*/
public
openImages
(
src
:
any
)
{
if
(
this
.
isEnablePreview
){
ImagePreview
({
images
:
[
src
,
],
showIndex
:
false
,
});
}
}
/**
* 列表项长按
*/
public
node_touch
(
item
:
any
)
{
this
.
$emit
(
"node_touch"
,
item
)
}
}
</
script
>
<
style
lang=
"less"
>
@import "./app-mob-upload-list.less";
</
style
>
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录