提交 0bafd33c authored 作者: matian's avatar matian

fix:更新代码

上级 78e45397
<template>
<div class="detail_content">
<div v-if="isShowError == true" class="showError">
<img src="https://webapp-pub.ezijing.com/marketing/detail2.png" alt="" />
<div class="text">您访问的页面不存在。</div>
</div>
<div v-else>
<img
:src="signInfo.market_other_img "
alt=""
class="market_other_img"
v-if="status == true"
/>
<img :src="defaultImg3" alt="" class="market_other_img" v-else>
<img
src="https://webapp-pub.ezijing.com/marketing/detail.png"
class="signIn_detail"
@click="handleClick"
/>
<app-popup
:visible.sync="popupVisible"
:signInfo="signInfo"
:status="status"
:remark="remark"
></app-popup>
</div>
</div>
</template>
<script>
import { signInDetail, signIn } from "@/api/base.js";
import AppPopup from "../../components/AppPopup.vue";
import { Toast } from "vant";
export default {
components: { AppPopup },
data() {
return {
status: false,
signInfo: {
student: {},
}, //签到详情信息
popupVisible: true,
id: "",
isShowError: false,
defaultImg3:"https://webapp-pub.ezijing.com/marketing/bg.png",
remark:''
};
},
mounted() {
this.id = this.$route.query.id; //从链接上获取活动id
if (this.id == "" || this.id == undefined) {
this.isShowError = true;
return;
}
this.getSignInDetail(); //获取页面详情
},
methods: {
handleClick() {
this.popupVisible = true;
},
getSignInDetail() {
//调用签到详情接口
let id = this.id;
signInDetail(id).then((res) => {
console.log(res);
if (res.code == 0) {
this.signInfo = res.data; //获取签到详情数据
this.remark = this.signInfo.student.remark;
if(this.remark.includes(';')){
this.remark =this.remark.replace(/;/g,"<br/>");
}
if(this.signInfo.student.sign_in_status == 1){
this.status = true;
return
}else{
let time = new Date().getTime(); //获取当前时间戳
let end_time = new Date(this.signInfo.end_time).getTime(); //活动结束
let sign_start_time = new Date(this.signInfo.sign_start_time).getTime(); //签到开始
let sign_end_time = new Date(this.signInfo.sign_end_time).getTime(); //签到结束
if(this.signInfo.sign_start_time !== "" && this.signInfo.sign_end_time !== ""){//限制时间
if (time < sign_start_time) {
Toast.fail(`该活动将于${this.signInfo.sign_start_time}开始签到`);
} else if(time >= sign_end_time) {
Toast.fail(`该活动已于${this.signInfo.sign_end_time}结束签到`);
} else{
this.getSignIn();
}
}else{
if (time >= end_time) {
Toast.fail("该活动已结束签到");
}else{
this.getSignIn();
}
}
}
}else{
Toast.fail(res.message);
}
});
},
//签到接口
getSignIn() {
let id = this.id; //从链接上获取活动id
signIn(id).then((res) => {
if (res.code == 0) {
this.status = res.data.status; //签到状态
Toast.success('您已签到成功');
} else {
Toast.fail(res.message);
}
});
},
},
};
</script>
<style lang="scss" scoped>
.detail_content {
width: 100%;
height: 100vh;
position: relative;
background-color: #f2f2f2;
position: relative;
.market_other_img {
width: 100%;
height: 100%;
position: absolute;
}
.signIn_detail {
width: 1rem;
height: 1rem;
line-height: 1rem;
position: fixed;
right: 0.56rem;
top: 0.67rem;
padding-left: 10px;
}
.showError {
width: 100%;
height: 100%;
/* position: relative; */
img {
width: 3.58rem;
height: 3.09rem;
position: absolute;
top: 4.84rem;
left: 50%;
transform: translate(-50%, -50%);
}
.text {
text-align: center;
position: absolute;
top: 7.09rem;
left: 50%;
transform: translate(-50%, -50%);
font-size: 18px;
font-weight: 400;
color: #999999;
}
}
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论