提交 b63b4597 authored 作者: 王鹏飞's avatar 王鹏飞

fix: 直播调整

上级 1ad95151
...@@ -4,22 +4,26 @@ ...@@ -4,22 +4,26 @@
<el-radio v-model="schoolReport" @change="changeReport" label="pareport" border size="small">纸质成绩单</el-radio> <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 :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-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>
<el-form-item label="班级" prop="class_name"> <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>
<el-form-item label="Sofia ID" prop="sofia_id" key="sofia_id"> <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>
<el-form-item label="电话" prop="telephone" key="telephone" v-if="schoolReport === 'pareport'"> <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>
<el-form-item label="邮寄地址" prop="email"> <el-form-item :label="schoolReport === 'elreport' ? '邮箱':'邮寄地址'" prop="email">
<el-input v-model="ruleForm.email" :disabled="Number(ruleForm.submit) === 1"></el-input> <el-input v-model.trim="ruleForm.email" :disabled="Number(ruleForm.submit) === 1"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="需打印的份数" prop="number" key="number" v-if="schoolReport === 'pareport'"> <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>
<el-form-item class="ts-width"> <el-form-item class="ts-width">
<el-button type="primary" :disabled="Number(ruleForm.submit) === 1" @click="submitForm('ruleForm')">{{Number(ruleForm.submit) === 1 ? '已提交' : '提交'}}</el-button> <el-button type="primary" :disabled="Number(ruleForm.submit) === 1" @click="submitForm('ruleForm')">{{Number(ruleForm.submit) === 1 ? '已提交' : '提交'}}</el-button>
...@@ -48,6 +52,43 @@ export default { ...@@ -48,6 +52,43 @@ export default {
} }
}, },
data() { 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 { return {
ruleForm: { ruleForm: {
personal_name: '', personal_name: '',
...@@ -66,17 +107,16 @@ export default { ...@@ -66,17 +107,16 @@ export default {
{ required: true, message: '请输入班级', trigger: 'blur' } { required: true, message: '请输入班级', trigger: 'blur' }
], ],
sofia_id: [ sofia_id: [
{ required: true, message: '请输入Sofia ID', trigger: 'blur' } { required: true, validator: checksofiaId, trigger: 'blur' }
], ],
telephone: [ telephone: [
{ required: true, message: '请输入手机号', trigger: 'blur' }, { required: true, validator: checkPhone, trigger: 'blur' }
{ pattern: /^1[3456789]\d{9}$/, message: '手机号码格式错误' }
], ],
email: [ email: [
{ required: true, message: '请输入email', trigger: 'blur' } { required: true, validator: checkEmail, trigger: 'blur' }
], ],
number: [ number: [
{ required: true, message: '请输入打印份数', trigger: 'blur' } { required: true, validator: blurText, trigger: 'blur' }
] ]
}, },
schoolReport: 'elreport' schoolReport: 'elreport'
...@@ -104,8 +144,16 @@ export default { ...@@ -104,8 +144,16 @@ export default {
width: 100%; width: 100%;
.hall-form-body { .hall-form-body {
padding: 15px 10px 20px 10px; padding: 15px 10px 20px 10px;
.red {
color: red;
}
} }
} }
.hall-form .red:before {
content: "*";
color: #F56C6C;
margin-right: 4px;
}
::v-deep .el-form-item__label { ::v-deep .el-form-item__label {
padding: 0 0 5px 0; padding: 0 0 5px 0;
} }
......
<template> <template>
<div style="width:100%;height:100%;"> <div style="width:100%;height:100%;">
<div class="course-viewer-content" v-if="isLiveEnd && !hasRecord">
<div class="empty">直播已结束</div>
</div>
<iframe <iframe
:src="iframeUrl" :src="iframeUrl"
frameborder="0" frameborder="0"
width="100%" width="100%"
height="100%" height="100%"
allow="autoplay;geolocation;microphone;camera;midi;encrypted-media;" allow="autoplay;geolocation;microphone;camera;midi;encrypted-media;"
v-else
></iframe> ></iframe>
</div> </div>
</template> </template>
...@@ -37,15 +41,23 @@ export default { ...@@ -37,15 +41,23 @@ export default {
nickName() { nickName() {
return this.user.personal_name || '匿名' return this.user.personal_name || '匿名'
}, },
iframeUrl() { live() {
const live = this.chapter.live const live = this.chapter.live
live.live_status = parseInt(live.live_status) live.live_status = parseInt(live.live_status)
if ( return live
live.live_status === 2 && },
live.enable_record === 1 && // 是否直播结束
live.record_url isLiveEnd() {
) { return this.live.live_status === 2
// enable_record 0:不启用回放 1:开启回放 },
// 是否有回放
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 return live.record_url
} else { } else {
...@@ -57,3 +69,11 @@ export default { ...@@ -57,3 +69,11 @@ export default {
} }
} }
</script> </script>
<style scoped>
.empty {
padding: 100px;
font-size: 30px;
text-align: center;
}
</style>
...@@ -204,7 +204,7 @@ export default { ...@@ -204,7 +204,7 @@ export default {
.course-viewer-main-hd__title { .course-viewer-main-hd__title {
flex: 1; flex: 1;
font-size: 1.5em; font-size: 1.5em;
text-align: center; // text-align: center;
color: #a0a0a0; color: #a0a0a0;
} }
.course-viewer-main-bd { .course-viewer-main-bd {
......
...@@ -537,7 +537,7 @@ export default { ...@@ -537,7 +537,7 @@ export default {
if (type === 5) { if (type === 5) {
const live = data.live const live = data.live
const status = live.live_status const status = live.live_status
if (status === 0 || (status === 2 && !live.record_url)) { if (status === 2 && !live.enable_record) {
this.$message.error(live.statusStr) this.$message.error(live.statusStr)
return return
} }
......
...@@ -135,6 +135,9 @@ export default { ...@@ -135,6 +135,9 @@ export default {
let message = this.calcTimeText(liveTime, liveStatus) let message = this.calcTimeText(liveTime, liveStatus)
if (liveStatus === 2 && !data.enable_record) { if (liveStatus === 2 && !data.enable_record) {
message = this.$t('live.noPlayback') message = this.$t('live.noPlayback')
this.message && this.message.close()
this.message = this.$message({ type: 'warning', offset: 0, message })
return
} }
if (liveType === 'cloud') { if (liveType === 'cloud') {
// 打开云课堂 // 打开云课堂
...@@ -158,9 +161,6 @@ export default { ...@@ -158,9 +161,6 @@ export default {
} else if (liveStatus === 2) { } else if (liveStatus === 2) {
// 查看回放 // 查看回放
this.openNewWindow(data.record_url) 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 { ...@@ -190,18 +190,15 @@ export default {
// https://doc.bokecc.com/live/Appendix_1.html // https://doc.bokecc.com/live/Appendix_1.html
const liveStatus = data.live_status const liveStatus = data.live_status
data.viewer_name = data.viewer_name || this.nickName data.viewer_name = data.viewer_name || this.nickName
if (liveStatus === 1) { if (liveStatus === 2 && data.enable_record === 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) {
// enable_record 0:不启用回放 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}` // 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) this.openNewWindow(data.record_url)
} else { } 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论