Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
b63b4597
提交
b63b4597
authored
7月 24, 2020
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 直播调整
上级
1ad95151
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
96 行增加
和
31 行删除
+96
-31
hall-form.vue
client/src/components/hall-form.vue
+60
-12
chapterLive.vue
client/src/modules/viewer/components/live/chapterLive.vue
+27
-7
index.vue
client/src/modules/viewer/index.vue
+1
-1
courseDetail.vue
client/src/pages/learn/courseDetail.vue
+1
-1
list.vue
client/src/pages/mobileLive/list.vue
+7
-10
没有找到文件。
client/src/components/hall-form.vue
浏览文件 @
b63b4597
...
...
@@ -4,22 +4,26 @@
<el-radio
v-model=
"schoolReport"
@
change=
"changeReport"
label=
"pareport"
border
size=
"small"
>
纸质成绩单
</el-radio>
<el-form
:model=
"ruleForm"
:rules=
"rules"
ref=
"ruleForm"
label-width=
"100px"
size=
"small"
label-position=
"top"
class=
"hall-form-body"
>
<el-form-item
label=
"姓名"
prop=
"personal_name"
>
<el-input
v-model=
"ruleForm.personal_name"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
<el-input
v-model
.
trim
=
"ruleForm.personal_name"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"class_name"
>
<el-input
v-model=
"ruleForm.class_name"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
<el-input
v-model
.
trim
=
"ruleForm.class_name"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
</el-form-item>
<el-form-item
label=
"Sofia ID"
prop=
"sofia_id"
key=
"sofia_id"
>
<el-input
v-model
=
"ruleForm.sofia_id"
type=
"number
"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.sofia_id
"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
</el-form-item>
<el-form-item
label=
"电话"
prop=
"telephone"
key=
"telephone"
v-if=
"schoolReport === 'pareport'"
>
<el-input
v-model=
"ruleForm.telephone"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
<el-input
v-model
.
trim
=
"ruleForm.telephone"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
</el-form-item>
<el-form-item
label=
"邮寄地址
"
prop=
"email"
>
<el-input
v-model=
"ruleForm.email"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
<el-form-item
:label=
"schoolReport === 'elreport' ? '邮箱':'邮寄地址'
"
prop=
"email"
>
<el-input
v-model
.
trim
=
"ruleForm.email"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
</el-form-item>
<el-form-item
label=
"需打印的份数"
prop=
"number"
key=
"number"
v-if=
"schoolReport === 'pareport'"
>
<el-input
v-model
.
number=
"ruleForm.number"
type=
"number"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
<el-input
v-model
.
trim=
"ruleForm.number"
:disabled=
"Number(ruleForm.submit) === 1"
></el-input>
</el-form-item>
<el-form-item
class=
"ts-width"
>
<span
class=
"red"
v-if=
"schoolReport === 'elreport'"
>
毕业生可申请成绩单。
<br
/>
请仔细核查您填写的信息后提交,提交后不可修改。电子成绩单将发送至您填写的邮箱。
</span>
<span
class=
"red"
v-else
>
毕业生可申请成绩单。
<br
/>
请仔细核查您填写的信息后提交,提交后不可修改。纸质成绩单将按您填写的地址邮寄给您。
</span>
</el-form-item>
<el-form-item
class=
"ts-width"
>
<el-button
type=
"primary"
:disabled=
"Number(ruleForm.submit) === 1"
@
click=
"submitForm('ruleForm')"
>
{{
Number
(
ruleForm
.
submit
)
===
1
?
'已提交'
:
'提交'
}}
</el-button>
...
...
@@ -48,6 +52,43 @@ export default {
}
},
data
()
{
var
checkPhone
=
(
rule
,
value
,
callback
)
=>
{
var
reg
=
/^1
[
345789
]\d{9}
$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'请输入11位手机号!'
))
}
else
{
callback
()
}
}
var
blurText
=
async
(
rule
,
value
,
callback
)
=>
{
var
boolean
=
new
RegExp
(
'^[1-9][0-9]*$'
).
test
(
value
)
if
(
!
boolean
)
{
callback
(
new
Error
(
'请输入正整数!'
))
}
else
{
callback
()
}
}
var
checkEmail
=
async
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
if
(
this
.
schoolReport
===
'pareport'
)
{
callback
(
new
Error
(
'请输入邮寄地址!'
))
}
else
{
callback
(
new
Error
(
'请输入邮箱!'
))
}
}
else
{
callback
()
}
}
var
checksofiaId
=
(
rule
,
value
,
callback
)
=>
{
var
boolean
=
new
RegExp
(
'^[1-9][0-9]*$'
).
test
(
value
)
if
(
!
value
)
{
callback
(
new
Error
(
'请输入Sofia ID!'
))
}
else
if
(
!
boolean
)
{
callback
(
new
Error
(
'请输入正整数!'
))
}
else
{
callback
()
}
}
return
{
ruleForm
:
{
personal_name
:
''
,
...
...
@@ -66,17 +107,16 @@ export default {
{
required
:
true
,
message
:
'请输入班级'
,
trigger
:
'blur'
}
],
sofia_id
:
[
{
required
:
true
,
message
:
'请输入Sofia ID'
,
trigger
:
'blur'
}
{
required
:
true
,
validator
:
checksofiaId
,
trigger
:
'blur'
}
],
telephone
:
[
{
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
},
{
pattern
:
/^1
[
3456789
]\d{9}
$/
,
message
:
'手机号码格式错误'
}
{
required
:
true
,
validator
:
checkPhone
,
trigger
:
'blur'
}
],
email
:
[
{
required
:
true
,
message
:
'请输入email'
,
trigger
:
'blur'
}
{
required
:
true
,
validator
:
checkEmail
,
trigger
:
'blur'
}
],
number
:
[
{
required
:
true
,
message
:
'请输入打印份数'
,
trigger
:
'blur'
}
{
required
:
true
,
validator
:
blurText
,
trigger
:
'blur'
}
]
},
schoolReport
:
'elreport'
...
...
@@ -104,8 +144,16 @@ export default {
width
:
100%
;
.hall-form-body
{
padding
:
15px
10px
20px
10px
;
.red
{
color
:
red
;
}
}
}
.hall-form
.red
:before
{
content
:
"*"
;
color
:
#F56C6C
;
margin-right
:
4px
;
}
::v-deep
.el-form-item__label
{
padding
:
0
0
5px
0
;
}
...
...
client/src/modules/viewer/components/live/chapterLive.vue
浏览文件 @
b63b4597
<
template
>
<div
style=
"width:100%;height:100%;"
>
<div
class=
"course-viewer-content"
v-if=
"isLiveEnd && !hasRecord"
>
<div
class=
"empty"
>
直播已结束
</div>
</div>
<iframe
:src=
"iframeUrl"
frameborder=
"0"
width=
"100%"
height=
"100%"
allow=
"autoplay;geolocation;microphone;camera;midi;encrypted-media;"
v-else
></iframe>
</div>
</
template
>
...
...
@@ -37,15 +41,23 @@ export default {
nickName
()
{
return
this
.
user
.
personal_name
||
'匿名'
},
iframeUrl
()
{
live
()
{
const
live
=
this
.
chapter
.
live
live
.
live_status
=
parseInt
(
live
.
live_status
)
if
(
live
.
live_status
===
2
&&
live
.
enable_record
===
1
&&
live
.
record_url
)
{
// enable_record 0:不启用回放 1:开启回放
return
live
},
// 是否直播结束
isLiveEnd
()
{
return
this
.
live
.
live_status
===
2
},
// 是否有回放
hasRecord
()
{
// enable_record 0:不启用回放 1:开启回放
return
this
.
live
.
enable_record
===
1
&&
this
.
live
.
record_url
},
iframeUrl
()
{
const
live
=
this
.
live
if
(
this
.
isLiveEnd
&&
this
.
hasRecord
)
{
// 查看回放
return
live
.
record_url
}
else
{
...
...
@@ -57,3 +69,11 @@ export default {
}
}
</
script
>
<
style
scoped
>
.empty
{
padding
:
100px
;
font-size
:
30px
;
text-align
:
center
;
}
</
style
>
client/src/modules/viewer/index.vue
浏览文件 @
b63b4597
...
...
@@ -204,7 +204,7 @@ export default {
.course-viewer-main-hd__title
{
flex
:
1
;
font-size
:
1
.5em
;
text-align
:
center
;
//
text-align: center;
color
:
#a0a0a0
;
}
.course-viewer-main-bd
{
...
...
client/src/pages/learn/courseDetail.vue
浏览文件 @
b63b4597
...
...
@@ -537,7 +537,7 @@ export default {
if
(
type
===
5
)
{
const
live
=
data
.
live
const
status
=
live
.
live_status
if
(
status
===
0
||
(
status
===
2
&&
!
live
.
record_url
)
)
{
if
(
status
===
2
&&
!
live
.
enable_record
)
{
this
.
$message
.
error
(
live
.
statusStr
)
return
}
...
...
client/src/pages/mobileLive/list.vue
浏览文件 @
b63b4597
...
...
@@ -135,6 +135,9 @@ export default {
let
message
=
this
.
calcTimeText
(
liveTime
,
liveStatus
)
if
(
liveStatus
===
2
&&
!
data
.
enable_record
)
{
message
=
this
.
$t
(
'live.noPlayback'
)
this
.
message
&&
this
.
message
.
close
()
this
.
message
=
this
.
$message
({
type
:
'warning'
,
offset
:
0
,
message
}
)
return
}
if
(
liveType
===
'cloud'
)
{
// 打开云课堂
...
...
@@ -158,9 +161,6 @@ export default {
}
else
if
(
liveStatus
===
2
)
{
// 查看回放
this
.
openNewWindow
(
data
.
record_url
)
}
else
{
this
.
message
&&
this
.
message
.
close
()
this
.
message
=
this
.
$message
({
type
:
'warning'
,
offset
:
0
,
message
}
)
}
}
,
// 打开云课堂
...
...
@@ -190,18 +190,15 @@ export default {
// https://doc.bokecc.com/live/Appendix_1.html
const
liveStatus
=
data
.
live_status
data
.
viewer_name
=
data
.
viewer_name
||
this
.
nickName
if
(
liveStatus
===
1
)
{
// 进行中
const
url
=
`https://view.csslcloud.net/api/view/index?roomid=${data.room_id
}
&userid=${data.user_id
}
&autoLogin=true&viewername=${data.viewer_name
}
&viewertoken=${data.viewer_token
}
`
this
.
openNewWindow
(
url
)
}
else
if
(
liveStatus
===
2
&&
data
.
enable_record
===
1
)
{
if
(
liveStatus
===
2
&&
data
.
enable_record
===
1
)
{
// enable_record 0:不启用回放 1:开启回放
// 查看回放
// const url = `https://view.csslcloud.net/api/view/callback?recordid=$
{
data
.
record_id
}
&
roomid
=
$
{
data
.
room_id
}
&
userid
=
$
{
data
.
user_id
}
&
autoLogin
=
true
&
viewername
=
$
{
data
.
viewer_name
}
&
viewertoken
=
$
{
data
.
viewer_token
}
`
this.openNewWindow(data.record_url)
}
else {
this.message && this.message.close()
this.message = this.$message({ type: 'warning', offset: 0, message
}
)
// 查看直播
const url = `
https
:
//view.csslcloud.net/api/view/index?roomid=$
{
data
.
room_id
}
&
userid
=
$
{
data
.
user_id
}
&
autoLogin
=
true
&
viewername
=
$
{
data
.
viewer_name
}
&
viewertoken
=
$
{
data
.
viewer_token
}
`
this.openNewWindow(url)
}
}
,
// 打开腾讯会议
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论