提交 8bbcb4e1 authored 作者: pengxiaohui's avatar pengxiaohui

feat: 签到未开始提示弹窗

上级 030db9f2
<template> <template>
<div class="popup" v-show="visible"> <div class="popup" v-show="visible">
<div class="popup-container" :class="signStatus === 1 ? 'success':'warn'"> <div :class="{ 'popup-container': true, success: signStatus === 1, warn: signStatus === 2 }">
<p v-if="signStatus === 1" class="success">签到成功!</p> <p v-if="signStatus === 1" class="success">签到成功!</p>
<p v-if="signStatus === 2" class="warn"> <p v-if="signStatus === 2" class="warn">
您已迟到。<span>请于课后补看错过视频。</span> 您已迟到。<span>请于课后补看错过视频。</span>
</p> </p>
<p v-if="signStatus === -1" class="info">
直播未开始<span>请提前10分钟进入签到</span>
</p>
<div class="content"> <div class="content">
<slot></slot> <slot></slot>
</div> </div>
...@@ -72,14 +75,17 @@ export default { ...@@ -72,14 +75,17 @@ export default {
text-align:center; text-align:center;
margin:0; margin:0;
} }
.popup-container p.warn{ .popup-container p span{
color:#D51E2A;
}
.popup-container p.warn span{
color:#959595; color:#959595;
font-size:18px; font-size:18px;
display:block; display:block;
} }
.popup-container p.warn{
color:#D51E2A;
}
.popup-container p.info{
color:#333;
}
.popup-container>i{ .popup-container>i{
position:absolute; position:absolute;
left:50%; left:50%;
......
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
</div> </div>
</div> </div>
<app-popup :signStatus="popup.signStatus" :visible.sync="popup.visible"> <app-popup :signStatus="popup.signStatus" :visible.sync="popup.visible">
<el-button type="primary" round size="medium" @click="goLive">进入直播</el-button> <el-button v-if="['1', '2'].includes(popup.signStatus)" type="primary" round size="medium" @click="goLive">进入直播</el-button>
</app-popup> </app-popup>
</div> </div>
</template> </template>
...@@ -173,7 +173,9 @@ export default { ...@@ -173,7 +173,9 @@ export default {
methods: { methods: {
handleSignIn(status) { handleSignIn(status) {
if (status === -1) { if (status === -1) {
this.$message.error('直播未开始,请提前10分钟进入签到') // this.$message.error('直播未开始,请提前10分钟进入签到')
this.popup.signStatus = -1
this.popup.visible = true
} else if (status === 0) { } else if (status === 0) {
this.fetchSignIn() this.fetchSignIn()
} }
......
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
</el-row> </el-row>
</div> </div>
<app-popup :signStatus="popup.signStatus" :visible.sync="popup.visible"> <app-popup :signStatus="popup.signStatus" :visible.sync="popup.visible">
<el-button type="primary" round size="medium" @click="jumpToOtherVA(popup.data)">进入直播</el-button> <el-button v-if="['1', '2'].includes(popup.signStatus)" type="primary" round size="medium" @click="jumpToOtherVA(popup.data)">进入直播</el-button>
</app-popup> </app-popup>
</div> </div>
</template> </template>
...@@ -626,7 +626,9 @@ export default { ...@@ -626,7 +626,9 @@ export default {
}, },
handleSignIn(item) { handleSignIn(item) {
if (item.live.sign_status === -1) { if (item.live.sign_status === -1) {
this.$message.error('直播未开始,请提前10分钟进入签到') // this.$message.error('直播未开始,请提前10分钟进入签到')
this.popup.signStatus = -1
this.popup.visible = true
} else { } else {
this.fetchSignIn(item) this.fetchSignIn(item)
} }
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</template> </template>
</div> </div>
<app-popup :signStatus="popup.signStatus" :visible.sync="popup.visible"> <app-popup :signStatus="popup.signStatus" :visible.sync="popup.visible">
<el-button type="primary" round size="medium" @click="onClick(popup.data, popup.courseId)">进入直播</el-button> <el-button v-if="['1', '2'].includes(popup.signStatus)" type="primary" round size="medium" @click="onClick(popup.data, popup.courseId)">进入直播</el-button>
</app-popup> </app-popup>
</div> </div>
</template> </template>
...@@ -89,7 +89,9 @@ export default { ...@@ -89,7 +89,9 @@ export default {
methods: { methods: {
handleSignIn(item, courseId) { handleSignIn(item, courseId) {
if (item.sign_status === -1) { if (item.sign_status === -1) {
this.$message.error('直播未开始,请提前10分钟进入签到') // this.$message.error('直播未开始,请提前10分钟进入签到')
this.popup.signStatus = -1
this.popup.visible = true
} else { } else {
this.fetchSignIn(item, courseId) this.fetchSignIn(item, courseId)
} }
...@@ -286,6 +288,9 @@ export default { ...@@ -286,6 +288,9 @@ export default {
} }
}, },
mounted() { mounted() {
// window.setTimeout(() => {
// this.handleSignIn({ sign_status: -1 })
// }, 2000)
this.loading = this.$loading({ this.loading = this.$loading({
lock: true, lock: true,
text: '', text: '',
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论