Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-resource
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-resource
Commits
6fb8d8d8
提交
6fb8d8d8
authored
10月 26, 2022
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
updates
上级
48fe0fb0
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
36 行增加
和
17 行删除
+36
-17
ReplyPostDialog.vue
src/modules/teach/posts/components/ReplyPostDialog.vue
+36
-17
没有找到文件。
src/modules/teach/posts/components/ReplyPostDialog.vue
浏览文件 @
6fb8d8d8
<
script
lang=
"ts"
setup
>
import
{
ElMessage
}
from
'element-plus'
import
AppUpload
from
'@/components/base/AppUpload.vue'
import
type
{
FormInstance
,
FormRules
}
from
'element-plus'
import
{
replyPosts
}
from
'../api'
...
...
@@ -27,6 +28,34 @@ const rules = reactive<FormRules>({
content
:
[{
required
:
true
,
message
:
'请填写正文内容'
,
trigger
:
'blur'
}]
})
const
videoLimit
=
$computed
(()
=>
{
return
form
.
files
.
filter
((
item
:
any
)
=>
item
.
url
.
includes
(
'.mp4'
))
})
const
imgLimit
=
$computed
(()
=>
{
return
form
.
files
.
filter
(
(
item
:
any
)
=>
item
.
url
.
includes
(
'.png'
)
||
item
.
url
.
includes
(
'.jpg'
)
||
item
.
url
.
includes
(
'.jpeg'
)
)
})
const
beforeUploadFiles
=
(
file
:
any
)
=>
{
console
.
log
(
file
)
if
(
file
.
type
.
includes
(
'video/'
)
&&
file
.
size
>
104857600
)
{
ElMessage
.
warning
(
'视频大小不能超过100MB'
)
return
false
}
if
(
file
.
type
.
includes
(
'image/'
)
&&
file
.
size
>
2097152
)
{
ElMessage
.
warning
(
'图片大小不能超过2MB'
)
return
false
}
if
(
imgLimit
.
length
>=
10
&&
(
file
.
url
.
includes
(
'.png'
)
||
file
.
url
.
includes
(
'.jpg'
)
||
file
.
url
.
includes
(
'.jpeg'
)))
{
ElMessage
.
warning
(
'最多只能上传10张图片'
)
return
false
}
if
(
videoLimit
.
length
>=
1
&&
file
.
url
.
includes
(
'.mp4'
))
{
ElMessage
.
warning
(
'最多只能上传1个视频'
)
return
false
}
}
// 取消
const
handleCancel
=
()
=>
{
emit
(
'update:isShowReplyDialog'
,
false
)
...
...
@@ -66,23 +95,13 @@ const handleConfirm = async (formEl: FormInstance | undefined) => {
type=
"textarea"
/>
</el-form-item>
<el-form-item>
<div>
<div
class=
"upload-video"
>
<div
class=
"upload-box"
>
<AppUpload
accept=
".mp4,.png,.jpeg,.jpg"
:limit=
"11"
:multiple=
"true"
v-model=
"form.files"
:isPost=
"'1'"
></AppUpload>
</div>
</div>
<div
class=
"tips"
>
支持最多上传10张图片,格式支持jpg,jpeg,png,2MB以内
<br
/>
视频最多长传1个,100Mb以内
</div>
</div>
<el-form-item
prop=
"files"
>
<AppUpload
v-model=
"form.files"
accept=
"image/*,video/*"
:beforeUploadFiles=
"beforeUploadFiles"
>
<el-button
size=
"default"
>
上传图片/视频附件
</el-button>
<template
#
tip
>
支持最多上传10张图片,格式支持jpg,jpeg,png,2MB以内
<br
/>
视频最多上传1个,100Mb以内
</
template
>
</AppUpload>
</el-form-item>
</el-form>
</div>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论