修改倒计时

main
jinna 3 years ago
parent 384c77e522
commit e33ceaa2f2
  1. 75
      src/views/myExam.vue

@ -26,7 +26,7 @@
</div>
<div class="pro_name">{{ item.project }}</div>
<div class="pro_pos" :class="item.apmStatus === 2 ? 'tips' : item.apmStatus == 1 ? 'cancel_tip' : ''">
{{ item.apmStatus == 1 ? '您的体检项目已取消' : item.apmStatus == 3 ? '体检项目已完成' : item.limitTime }}</div>
{{ item.apmStatus == 1 ? '您的体检项目已取消' : item.apmStatus == 3 ? '体检项目已完成' : getTime(item.limitTime) }}</div>
</div>
<div class="pro_right">
<div class="cancel" @click="cancelRegisiter(item)"
@ -52,7 +52,10 @@ export default {
examArr: [],
userInfo: null,
systemTime: dateFormat(new Date(), 'yyyy-MM-dd hh:mm:ss'),
setInterval: 0
setInterval: 0,
interVal:null,
starTime:'',
lastTime:''
}
},
mounted() {
@ -63,6 +66,24 @@ export default {
this.queryMyRecord();
}
},
computed:{
getTime:() =>{
return time =>{
console.log(time)
let interVal = null
if(interVal){
clearInterval(this.interVal);
}else{
// this.intervalTime(this.starTime,this.lastTime)
interVal = setInterval(() => {
// time = this.intervalTime(time,this.lastTime)
time = time > 1000 ? time + 1000 : 0;
return time
}, 1000);
}
}
}
},
beforeDestroy() {
if (this.setInterval) {
clearInterval(this.setInterval);
@ -87,11 +108,17 @@ export default {
this.examArr = res.data.records;
this.examArr.map(item => {
let systemTime = Date.parse(new Date(this.systemTime));
this.starTime = systemTime
let latime = item.apmDay.substr(0,10) + ' ' + item.timeFrame.split('-')[1] + ':00';
this.lastTime = Date.parse(new Date(latime))
let time = item.timeFrame.split('-')[1].split(':');
let endTime = Date.parse(new Date(this.doDateFormatter(item.apmDay) + ' ' + (time[0] < 10 ? '0' + time[0] : time[0]) + ':' + (time[1] < 10 ? '0' + time[1] : time[1]) + ':00'));
let time2 = item.timeFrame.split('-')[0].split(':');
let startTime = Date.parse(new Date(this.doDateFormatter(item.apmDay) + ' ' + (time2[0] < 10 ? '0' + time2[0] : time2[0]) + ':' + (time2[1] < 10 ? '0' + time2[1] : time2[1]) + ':00'));
item.limitTime = this.calcDateTimeStr(systemTime < endTime ? endTime - systemTime : 0);//
item.time = systemTime < endTime ? endTime - systemTime : 0;
// item.limitTime = this.calcDateTimeStr(systemTime < endTime ? endTime - systemTime : 0);//
item.limitTime = systemTime
// console.log('time ===>',item.limitTime)
item.limitCancelTime = systemTime < startTime ? startTime - systemTime : 0;//
})
//
@ -100,8 +127,11 @@ export default {
}
this.setInterval = setInterval(() => {
this.examArr.map(item => {
item.limitTime = this.calcDateTimeStr(item.limitTime);
// item.limitTime = this.calcDateTimeStr(item.limitTime);
this.starTime = this.starTime > 1000 ? this.starTime + 1000 : 0;
item.limitTime = this.intervalTime(this.starTime,this.lastTime)
item.limitCancelTime = item.limitCancelTime > 1000 ? item.limitCancelTime - 1000 : 0;
})
}, 1000);
}, err => {
@ -111,6 +141,41 @@ export default {
this.$toast.clear();
}
},
//
//
intervalTime(startTime,endTime) {
// var timestamp=new Date().getTime(); //
var timestamp = (Date.parse(new Date()))/1000;// ()
var date1 = ""; //
if(timestamp<startTime){
date1=startTime;
}else{
date1 = timestamp; //
}
var date2 = endTime; //
// var date3 = date2.getTime() - date1.getTime(); //
var date3 = (date2- date1); //
//
var days = Math.floor(date3 / (24 * 3600 * 1000));
//
var leave1 = date3 % (24 * 3600 * 1000); //
var hours = Math.floor(leave1 / (3600 * 1000));
//
var leave2 = leave1 % (3600 * 1000); //
var minutes = Math.floor(leave2 / (60 * 1000));
//
var leave3 = leave2 % (60 * 1000); //
var seconds = Math.round(leave3 / 1000);
// console.log(days + " " + hours + " ")
// return days + " " + hours + " " + minutes + " " + seconds + " "
return days + "天 " + hours + "小时 " + minutes + '分钟' + seconds + '秒'
},
//
doDateFormatter(date) {
return dateFormat(new Date(date), 'yyyy-MM-dd');
@ -126,7 +191,9 @@ export default {
}
},
calcDateTimeStr(time) {
console.log('剩余 ===>',time)
let ret = calcTime(time);
console.log('ret ===>',ret)
return time > 0 ? `距离体检还有${ret.days}${ret.hours}:${ret.minutes}:${(ret.seconds + '').substr(0, 2)}` : ''
},
//

Loading…
Cancel
Save