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

fix: 直播调整

上级 1ad95151
......@@ -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,7 +144,15 @@ 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;
......
<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
) {
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>
......@@ -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 {
......
......@@ -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
}
......
......@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论