Commit a40b97d8 by 穆启卓

时间转换倒计时

parent e9b1408a
......@@ -18,7 +18,7 @@ export function fetch(options) {
headers: {
'Content-Type': 'application/json',
// 'Authorization': window['userData']?window['userData'].token:''
'Authorization':"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJvcGVuX2lkIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMSIsInVuaW9uX2lkIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMSIsImV4cCI6MTU1NDMxMTMzMH0.4UEG6I9K0JARU5KDMW-Xwx13DMniYelsmI-qWd97e_c"
'Authorization':"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCJvcGVuX2lkIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMSIsInVuaW9uX2lkIjoiMTExMTExMTExMTExMTExMTExMTExMTExMTExMSIsImV4cCI6MTU1NDMxNzM0NH0.3yWRj-qm-Rk1PcCc7KrifJiuExlzETSBznBxrtYA3dU"
// 'token_in_header': global_.token,//token从全局变量那里传过来
},
timeout: 30 * 1000 // 30秒超时
......
......@@ -147,45 +147,6 @@
closeShareModal () {
this.showShareModal = false
},
//倒计时
countDown (times) {
clearInterval(grabStartTimer)
grabStartTimer = null
grabStartTimer = setInterval(function () {
let day = 0,
hour = 0,
minute = 0,
second = 0//时间默认值
// console.log('times:' + times)
if (times > 0) {
day = Math.floor(times / (60 * 60 * 24))
hour = Math.floor(times / (60 * 60)) - (day * 24)
minute = Math.floor(times / 60) - (day * 24 * 60) - (hour * 60)
second = Math.floor(times) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60)
if (day < 1) day = ''
else day = day + '天'
if (hour <= 9) hour = '0' + hour
if (minute <= 9) minute = '0' + minute
if (second <= 9) second = '0' + second
this. grabTimer = (day + hour + '时' + minute + '分' + second + '秒')
} else {
clearInterval(grabStartTimer)
// that.setData({
// redpack: {
// ...that.data.redpack,
// redpackStatus: 2
// }
// })
}
times--
//
//console.log(day + "天:" + hour + "小时:" + minute + "分钟:" + second + "秒");
}, 1000)
}
}
}
</script>
......
<template>
<div class="have-joined-game-page">
<Title class="page-title" @goback="goback" show_back="true" v-if="currentPage()==='HaveJoinedGame'"></Title>
<Title
class="page-title"
@goback="goback"
show_back="true"
v-if="currentPage()==='HaveJoinedGame'"
></Title>
<div class="game-bonus-container">
<div class="bonus-title">本期累计奖励金(元)</div>
<div class="bonus-amount">{{bet_bonus}}</div>
......@@ -19,17 +24,16 @@
<div class="game-scroll-item">
<div class="item-title-status">
<div class="item-title">{{item.days}}</div>
<div :class="item.status===0?'item-status0':item.status===1?'item-status1':item.status===2?'item-status2':'item-status2'">
{{item.status===0?'未开始':item.status===1?'比赛中':item.status===2?'已结束':'已淘汰'}}
</div>
<div
:class="item.status===0?'item-status0':item.status===1?'item-status1':item.status===2?'item-status2':'item-status2'"
>{{item.status===0?'未开始':item.status===1?'比赛中':item.status===2?'已结束':'已淘汰'}}</div>
</div>
<div class="item-income" :style="item.status===1?'':'visibility: hidden;'">
<div class="item-amount">{{item.money}}</div>
<div class="item-text">(元) 预计收益</div>
</div>
<div class="item-progress-num">
<div class="item-num" v-if="item.status===0">还有{{item.tsp}}开始</div>
<!-- <div class="item-num" v-if="item.status===0">还有01天03小时56秒开始</div> -->
<div class="item-num" v-if="item.status===0">还有{{item.format_tsp || '0秒'}}开始</div>
<template v-else>
<div class="item-progress" :style="'width: '+item.rate/100*2.46+'rem;'"></div>
<div class="item-num">{{item.step_num}}/{{target_steps}}</div>
......@@ -45,7 +49,9 @@
<div class="game-status-container">
<img class="status-icon" src="../images/HaveJoinedGame/pop_bmcg_title.png">
<img class="join-success-banner" src="../images/HaveJoinedGame/pop_bmcg_img.png">
<div class="popup-text1"><span>每日24点前</span>打开「运动打卡」小程序,手动提交今日步数,否则可能导致无法分钱哦!</div>
<div class="popup-text1">
<span>每日24点前</span>打开「运动打卡」小程序,手动提交今日步数,否则可能导致无法分钱哦!
</div>
<div class="popup-text2">注:微信暂不支持小程序实时更新步数</div>
<div class="popup-btn1 green-btn">邀请好友来参赛</div>
<img class="close-btn" src="../images/common/pop_ic_close.png">
......@@ -58,7 +64,10 @@
<div class="status-date">第{{popupData.days}}日达标</div>
<div class="status-money">
<div class="popup-text3">返还契约金</div>
<div class="popup-text4">{{popupData.money}}<span></span></div>
<div class="popup-text4">
{{popupData.money}}
<span></span>
</div>
<div class="popup-text5">第{{popupData.week}}期{{popupData.target_steps}}步3日耐力赛</div>
</div>
<div class="popup-text6">{{popupData.target_steps}}步达标,今天走了{{popupData.step_num}}步</div>
......@@ -73,7 +82,10 @@
<div class="status-date">第{{popupData.days}}日未达标</div>
<div class="status-money">
<div class="popup-text3">扣除契约金</div>
<div class="popup-text4">{{popupData.money}}<span></span></div>
<div class="popup-text4">
{{popupData.money}}
<span></span>
</div>
<div class="popup-text5">第{{popupData.week}}期{{popupData.target_steps}}步3日耐力赛</div>
</div>
<div class="popup-text6">{{popupData.target_steps}}步达标,今天走了{{popupData.step_num}}步</div>
......@@ -86,12 +98,12 @@
</template>
<script>
import Title from "@/components/Title.vue";
import {daka_status_detail, pop_up_windows} from "@/components/axios/api";
import "swiper/dist/css/swiper.css";
import {swiper, swiperSlide} from "vue-awesome-swiper";
import Title from "@/components/Title.vue";
import { daka_status_detail, pop_up_windows } from "@/components/axios/api";
import "swiper/dist/css/swiper.css";
import { swiper, swiperSlide } from "vue-awesome-swiper";
export default {
export default {
name: "HaveJoinedGame",
components: {
Title,
......@@ -101,19 +113,19 @@
data() {
return {
swiperOption: {
slidesPerView: 'auto',
slidesPerView: "auto",
centeredSlides: true,
spaceBetween: 10,
spaceBetween: 10
},
bet_bonus: '0.00',
bet_bonus: "0.00",
next_signup: false,
period_end: '',
period_start: '',
period_end: "",
period_start: "",
total_signup: 0,
target_steps: 0,
record_list: [],
popupData: {}
}
};
},
created() {
this.getPageData();
......@@ -122,7 +134,7 @@
methods: {
joinNextGame() {
this.$router.push({
name: 'PartakeChallenge',
name: "PartakeChallenge",
query: {
nextGame: true
}
......@@ -135,19 +147,26 @@
history.go(-1);
},
goOtherPage(pageName) {
this.$router.push({name: pageName});
this.$router.push({ name: pageName });
},
currentPage() {
return this.$router.history.current.name;
},
getPageData() {
let grade = 2;
if (sessionStorage.getItem('bushuType')) {
grade = sessionStorage.getItem('bushuType');
if (sessionStorage.getItem("bushuType")) {
grade = sessionStorage.getItem("bushuType");
}
daka_status_detail(this.$route.query.week, grade).then(res => {
const pageData = res.data;
daka_status_detail(this.$route.query.week = 20190401, grade).then(res => {
if (res.code === 0) {
const pageData = res.data;
if (pageData.record_list && pageData.record_list.length) {
pageData.record_list.forEach((item, index) => {
if (item.status === 0) {
item.format_tsp = this.countDown('interval'+index, parseInt((item.tsp * 1000 - Date.now()) / 1000), index);
}
});
}
this.bet_bonus = pageData.bet_bonus;
this.next_signup = pageData.next_signup;
this.period_end = pageData.period_end;
......@@ -156,35 +175,66 @@
this.target_steps = pageData.target_steps;
this.record_list = pageData.record_list;
}
})
});
},
isPopup() {
pop_up_windows().then(res => {
if (res.code === 0) {
this.popupData = res.data;
}
})
});
},
//倒计时
countDown(intervalName, times, index) {
clearInterval(this[intervalName]);
this[intervalName] = null;
this[intervalName] = setInterval(() => {
let day = 0,
hour = 0,
minute = 0,
second = 0;
if (times > 0) {
day = Math.floor(times / (60 * 60 * 24));
hour = Math.floor(times / (60 * 60)) - day * 24;
minute = Math.floor(times / 60) - day * 24 * 60 - hour * 60;
second = Math.floor(times) - day * 24 * 60 * 60 - hour * 60 * 60 - minute * 60;
if (day < 1) day = "";
else day = day + "天";
if (hour <= 9) hour = "0" + hour;
if (minute <= 9) minute = "0" + minute;
if (second <= 9) second = "0" + second;
this.record_list[index].format_tsp = day + hour + "时" + minute + "分" + second + "秒";
} else {
this.getPageData();
clearInterval(this[intervalName]);
}
times--;
// console.log('gagagag',intervalName, day + hour + "时" + minute + "分" + second + "秒")
// console.log('gagagag',times)
// console.log('gagagag',this.format_tsp)
}, 1000);
}
}
};
</script>
<style lang="less" scoped>
.swiper-container {
.swiper-container {
/*margin-left: 0 !important;*/
}
}
.swiper-slide {
.swiper-slide {
width: 5.1rem;
height: 2.68rem;
}
}
.swiper-slide img {
.swiper-slide img {
width: 5.1rem;
height: 2.68rem;
}
}
.have-joined-game-page {
.have-joined-game-page {
// width: 100%;
min-height: 100vh;
background-color: rgb(70, 88, 149);
......@@ -399,11 +449,11 @@
color: #fff;
font-weight: bold;
text-align: center;
margin-top: .3rem;
}
margin-top: 0.3rem;
}
}
.game-status-popup {
.game-status-popup {
position: fixed;
left: 0;
top: 0;
......@@ -531,5 +581,5 @@
transform: translateX(-50%);
}
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment