|
@@ -117,6 +117,10 @@
|
|
|
<ul>
|
|
|
<li v-for="item in student_list" :key="item.room_user_id">
|
|
|
<div class="li-top">
|
|
|
+ <svg-icon
|
|
|
+ v-if="item.is_mobile === 'true'"
|
|
|
+ :icon-class="item.is_exit_page === 'true' ? 'mobile-close' : 'mobile'"
|
|
|
+ />
|
|
|
<el-avatar icon="el-icon-user" :size="40" :src="item.student_image_url" />
|
|
|
</div>
|
|
|
<div class="li-bottom">
|
|
@@ -419,6 +423,21 @@ export default {
|
|
|
},
|
|
|
|
|
|
inviteAccept() {
|
|
|
+ let device = this.$store.state.app.liveDevice;
|
|
|
+ if (
|
|
|
+ (this.roomInfo.video_mode === 1 && device.video.length === 0) ||
|
|
|
+ (this.roomInfo.video_mode === 2 && device.audio.length === 0)
|
|
|
+ ) {
|
|
|
+ common.sendPublishMessage({
|
|
|
+ type: 'no-device',
|
|
|
+ video_mode: this.roomInfo.video_mode
|
|
|
+ });
|
|
|
+ this.handsDown();
|
|
|
+ return this.$message.warning(
|
|
|
+ `当前没有设置${this.roomInfo.video_mode === 1 ? '视频' : '音频'}设备`
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
common.inviteAccept({
|
|
|
success: str => {
|
|
|
this.dealStudentConnection(this.room_user_id, 2, this.roomInfo.video_mode);
|
|
@@ -447,19 +466,15 @@ export default {
|
|
|
// 分组讨论
|
|
|
GetGroupStatus() {
|
|
|
this.timer_group = setInterval(() => {
|
|
|
- GetGroupStatus({ task_id: this.task_id })
|
|
|
- .then(({ is_enable_group }) => {
|
|
|
- if (is_enable_group === 'true') {
|
|
|
- clearInterval(this.timer_group);
|
|
|
- this.$router.push({
|
|
|
- path: '/live/student/group',
|
|
|
- query: { task_id: this.task_id }
|
|
|
- });
|
|
|
- }
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
+ GetGroupStatus({ task_id: this.task_id }).then(({ is_enable_group }) => {
|
|
|
+ if (is_enable_group === 'true') {
|
|
|
clearInterval(this.timer_group);
|
|
|
- });
|
|
|
+ this.$router.push({
|
|
|
+ path: '/live/student/group',
|
|
|
+ query: { task_id: this.task_id }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
}, 5000);
|
|
|
},
|
|
|
|
|
@@ -493,8 +508,8 @@ export default {
|
|
|
|
|
|
getCurMaterialSent() {
|
|
|
const timer = setInterval(() => {
|
|
|
- GetCurMaterialSent({ task_id: this.task_id })
|
|
|
- .then(({ material_id, material_name, material_type, material_picture_url }) => {
|
|
|
+ GetCurMaterialSent({ task_id: this.task_id }).then(
|
|
|
+ ({ material_id, material_name, material_type, material_picture_url }) => {
|
|
|
if (material_id !== undefined && material_id.length > 0) {
|
|
|
this.dialogVisibleMaterial = true;
|
|
|
this.material_id = material_id;
|
|
@@ -503,10 +518,8 @@ export default {
|
|
|
this.material_picture_url = material_picture_url;
|
|
|
clearInterval(timer);
|
|
|
}
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- clearInterval(timer);
|
|
|
- });
|
|
|
+ }
|
|
|
+ );
|
|
|
}, 2000);
|
|
|
}
|
|
|
}
|
|
@@ -817,11 +830,18 @@ $draw-h: 520px;
|
|
|
margin: 0 8px 8px 0;
|
|
|
|
|
|
.li-top {
|
|
|
+ position: relative;
|
|
|
width: 100%;
|
|
|
background-color: #000;
|
|
|
height: 72px;
|
|
|
text-align: center;
|
|
|
|
|
|
+ .svg-icon {
|
|
|
+ position: absolute;
|
|
|
+ top: 10px;
|
|
|
+ right: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
.el-avatar--icon {
|
|
|
margin-top: 16px;
|
|
|
}
|