export function timeCountDown(date, callback = () => {}){
var time = '';
const formatNumber = (n)=>{
n = n.toString();
return n[1] ? n : '0' + n;
};
const setTime = ()=>{
const leftTime = new Date(date.replace(/\-/g, '/')) - new Date();
if (leftTime >= 0) {
const d = Math.floor(leftTime / 1000 / 60 / 60 / 24),
h = Math.floor(leftTime / 1000 / 60 / 60 % 24),
m = Math.floor(leftTime / 1000 / 60 % 60),
s = Math.floor(leftTime / 1000 % 60);
time = `${ d > 0 ? d + '天' : '' }${ [h, m, s].map(formatNumber).join(':') }`;
callback(time, () => clearInterval(timer));
if(!store.getters.geisindate) {
store.dispatch('ge/setindate', true)
}
console.log(time)
} else {
time = '已超时'
callback(time, () => clearInterval(timer));
if(store.getters.geisindate) {
store.dispatch('ge/setindate', false)
// 超时整个刷新
// window.location.reload()
// 超时整个刷新
}
console.log(time)
// // 超时后处理 不用手动刷新
// if(store.getters.geuser.hasOwnProperty('sso') && store.getters.gevotelist.length > 0) {
// // 放在一起
// // 正规投票
// getCurrentUserOperation({mainCode: store.getters.geuserround}).then(res => {
// // 如果操作记录为空 代表新一轮开始
// if(res.votingsList.length == 0) {
// store.dispatch('ge/setvotinglist', res.votingsList).then(() => {
// // console.log(store.getters.gevotelist)
// })
// getRemainingVotes().then(res => {
// store.dispatch('ge/setvotecont', res.remainingVotes).then(() => {
// // console.log(store.getters.gevotecount)
// })
// })
// }
// })
// }
return
}
};
const timer = setInterval(() => {
setTime()
}, 1e3);
}
调用
timeCountDown(date) {
// const date = "2020-09-02 16:34:00"
timeCountDown(date, (value,clear)=>{
this.remiantime = value;
this.$once('hook:beforeDestroy', clear);
})
},