|
|
|
|
@ -28,18 +28,20 @@ |
|
|
|
|
<div class="pro_name">{{ item1.project }} </div> |
|
|
|
|
<div class="pro_pos" |
|
|
|
|
:class="[item1.apmStatus == 2 && |
|
|
|
|
item1.lastExamTime === 0 ? 'timeout_tip' : item1.apmStatus === 2 ? 'tips' : '', item1.apmStatus == 1 ? 'cancel_tip' : '',]"> |
|
|
|
|
item1.lastExamTime === 0 ? 'timeout_tip' : item1.apmStatus === 2 ? 'tips' : '', item1.apmStatus == 1 ? 'cancel_tip' : '',]"> |
|
|
|
|
{{ |
|
|
|
|
item1.apmStatus == 1 ? '您的体检项目已取消' : item1.apmStatus == 3 ? '体检项目已完成' : (item1.apmStatus == 2 && |
|
|
|
|
item1.lastExamTime === 0) ? '您的体检已过期' : item1.limitTime |
|
|
|
|
item1.lastExamTime == -1) ? '请尽快报到' : (item1.apmStatus == 2 && |
|
|
|
|
item1.lastExamTime === 0) ? '您的体检已过期' : item1.limitTime |
|
|
|
|
}}</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="pro_right"> |
|
|
|
|
<div class="cancel" @click="cancelRegisiter(item1)" |
|
|
|
|
:class="[item1.apmStatus == 3 ? 'finish' : item1.apmStatus == 1 || item1.limitCancelTime < 30 * 60 * 1000 ? 'cancel_item' : '',]"> |
|
|
|
|
{{ |
|
|
|
|
item1.apmStatus == 1 ? '已取消' : item1.apmStatus == 2 && |
|
|
|
|
item1.lastExamTime === 0 ? '已过期' : item1.apmStatus == 2 ? '取消预约' : item1.apmStatus == 3 ? '已完成' : '取消预约' |
|
|
|
|
item1.apmStatus == 1 ? '已取消' : (item1.apmStatus == 2 && |
|
|
|
|
item1.lastExamTime == -1) ? '已超时' : item1.apmStatus == 2 && |
|
|
|
|
item1.lastExamTime === 0 ? '已过期' : item1.apmStatus == 2 ? '取消预约' : item1.apmStatus == 3 ? '已完成' : '取消预约' |
|
|
|
|
}}</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
@ -61,7 +63,7 @@ export default { |
|
|
|
|
examArr: [], |
|
|
|
|
userInfo: null, |
|
|
|
|
loading: true, |
|
|
|
|
systemTime: dateFormat(new Date(), 'yyyy-MM-dd hh:mm:ss'), |
|
|
|
|
systemTime: dateFormat(new Date(), 'yyyy/MM/dd hh:mm:ss'), |
|
|
|
|
setInterval: 0, |
|
|
|
|
interVal: null, |
|
|
|
|
starTime: '', |
|
|
|
|
@ -101,14 +103,14 @@ export default { |
|
|
|
|
console.log(typeof (value), 'systemtime', value); |
|
|
|
|
let retData = typeof (value) == 'string' ? JSON.parse(value) : value; |
|
|
|
|
if (retData.code == 200) { |
|
|
|
|
this.systemTime = retData.data; |
|
|
|
|
this.systemTime = retData.data.replace(/-/g,'/'); |
|
|
|
|
} |
|
|
|
|
}, err => { |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
getSystemTime().then(res => { |
|
|
|
|
this.systemTime = res.data; |
|
|
|
|
this.systemTime = res.data.replace(/-/g,'/'); |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
@ -135,17 +137,18 @@ export default { |
|
|
|
|
item.starTime = systemTime |
|
|
|
|
let _lattime = (item.period == '下午' ? 12 + parseInt(item.timeFrame.split('-')[1].split(':')[0]) : item.timeFrame.split('-')[1].split(':')[0]) + ':' + item.timeFrame.split('-')[1].split(':')[1]; |
|
|
|
|
console.log('lattime', _lattime); |
|
|
|
|
let latime = item1.apmDay.substr(0, 10) + ' ' + _lattime + ':00'; |
|
|
|
|
let latime = item1.apmDay.substr(0, 10) + ' ' + _lattime + ':00';//预约结束时间 |
|
|
|
|
let _lasCanTime = (item.period == '下午' ? 12 + parseInt(item.timeFrame.split('-')[0].split(':')[0]) : item.timeFrame.split('-')[0].split(':')[0]) + ':' + item.timeFrame.split('-')[0].split(':')[1]; |
|
|
|
|
console.log('lasCanTime', _lasCanTime); |
|
|
|
|
let lasCanTime = item1.apmDay.substr(0, 10) + ' ' + _lasCanTime + ':00'; |
|
|
|
|
let lasCanTime = item1.apmDay.substr(0, 10) + ' ' + _lasCanTime + ':00';//预约开始时间 |
|
|
|
|
// item.lastCanTime = Date.parse(new Date(lasCanTime.replaceAll('-', '/'))) |
|
|
|
|
// item.lastTime = Date.parse(new Date(latime.replaceAll('-', '/'))) |
|
|
|
|
item.lastCanTime = Date.parse(new Date(lasCanTime.replace(/-/g, '/'))) |
|
|
|
|
item.lastCanTime = Date.parse(new Date(lasCanTime.replace(/-/g, '/'))); |
|
|
|
|
item.lastTime = Date.parse(new Date(latime.replace(/-/g, '/'))) |
|
|
|
|
item.limitTime = this.intervalTime(item.starTime, item.lastTime) |
|
|
|
|
item.lastExamTime = systemTime < item.lastTime ? item.lastTime - systemTime : 0 |
|
|
|
|
item.limitCancelTime = systemTime < item.lastCanTime ? item.lastCanTime - systemTime : 0;//距离取消预约剩余毫秒数 |
|
|
|
|
item.limitTime = this.intervalTime(item.starTime, item.lastTime);//距离体检体检结束时间还剩多少时间 |
|
|
|
|
//距离预约结束时间剩余毫秒数 大于结束时间并且是当天设为-1作为超时判断 大于当天设为0作为过期判断 |
|
|
|
|
item.lastExamTime = systemTime < item.lastTime ? item.lastTime - systemTime : this.isToday(systemTime,item.lastTime) ? -1 : 0; |
|
|
|
|
item.limitCancelTime = systemTime < item.lastCanTime ? item.lastCanTime - systemTime : 0;//距离预约开始时间剩余毫秒数 |
|
|
|
|
// console.log(latime,item.lastTime,lasCanTime,item.lastCanTime,item.limitCancelTime) //670422000 |
|
|
|
|
// this.$set( |
|
|
|
|
// item,"limitTime",item.limitTime |
|
|
|
|
@ -199,7 +202,7 @@ export default { |
|
|
|
|
item.lastCanTime = Date.parse(new Date(lasCanTime.replace(/-/g, '/'))) |
|
|
|
|
item.lastTime = Date.parse(new Date(latime.replace(/-/g, '/'))) |
|
|
|
|
item.limitTime = this.intervalTime(item.starTime, item.lastTime) |
|
|
|
|
item.lastExamTime = systemTime < item.lastTime ? item.lastTime - systemTime : 0 |
|
|
|
|
item.lastExamTime = systemTime < item.lastTime ? item.lastTime - systemTime : this.isToday(systemTime,item.lastTime) ? -1 : 0 |
|
|
|
|
item.limitCancelTime = systemTime < item.lastCanTime ? item.lastCanTime - systemTime : 0;//距离取消预约剩余毫秒数 |
|
|
|
|
// console.log(latime,item.lastTime,lasCanTime,item.lastCanTime,item.limitCancelTime) //670422000 |
|
|
|
|
// this.$set( |
|
|
|
|
@ -216,42 +219,6 @@ export default { |
|
|
|
|
this.current++ |
|
|
|
|
} |
|
|
|
|
this.loading = false |
|
|
|
|
// 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'; |
|
|
|
|
// let lasCanTime =item.apmDay.substr(0,10) + ' ' + item.timeFrame.split('-')[0] + ':00'; |
|
|
|
|
// this.lastCanTime = Date.parse(new Date(lasCanTime)) |
|
|
|
|
// 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.time = systemTime < endTime ? endTime - systemTime : 0; |
|
|
|
|
// // item.limitTime = this.calcDateTimeStr(systemTime < endTime ? endTime - systemTime : 0);//距离体检时间剩余毫秒数 |
|
|
|
|
// item.limitTime = this.intervalTime(this.starTime,this.lastTime) |
|
|
|
|
// // console.log('time ===>',item.limitTime) |
|
|
|
|
// item.limitCancelTime = systemTime < this.lastCanTime ? this.lastCanTime - systemTime : 0;//距离取消预约剩余毫秒数 |
|
|
|
|
// console.log(item.limitCancelTime) |
|
|
|
|
// }) |
|
|
|
|
// //开启倒计时 |
|
|
|
|
// if (this.setInterval) { |
|
|
|
|
// clearInterval(this.setInterval); |
|
|
|
|
// } |
|
|
|
|
// this.setInterval = setInterval(() => { |
|
|
|
|
// // console.log(this.examArr) |
|
|
|
|
// this.timeArr = this.examArr; |
|
|
|
|
// this.timeArr.map(item => { |
|
|
|
|
// 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; |
|
|
|
|
// // item.limitCancelTime = this.intervalTime(this.starTime,Date.parse(new Date(this.lastCanTime))) |
|
|
|
|
|
|
|
|
|
// }) |
|
|
|
|
// // console.log(this.timeArr) |
|
|
|
|
|
|
|
|
|
// }, 1000); |
|
|
|
|
// this.examArr = arr |
|
|
|
|
}, err => { |
|
|
|
|
this.$toast.clear(); |
|
|
|
|
}) |
|
|
|
|
@ -271,7 +238,7 @@ export default { |
|
|
|
|
item.details.map(item1 => { |
|
|
|
|
item1.starTime = item1.starTime > 1000 ? item1.starTime + 1000 : 0; |
|
|
|
|
item1.limitTime = this.intervalTime(item1.starTime, item1.lastTime); |
|
|
|
|
item1.lastExamTime = item1.lastExamTime > 1000 ? item1.lastExamTime - 1000 : 0; |
|
|
|
|
item1.lastExamTime = item1.lastExamTime > 1000 ? item1.lastExamTime - 1000 : this.isToday(this.systemTime,item1.lastTime) ? -1 : 0; |
|
|
|
|
item1.limitCancelTime = item1.limitCancelTime > 1000 ? item1.limitCancelTime - 1000 : 0 |
|
|
|
|
this.$set(item.details, item1.limitTime, item1.limitTime) |
|
|
|
|
// this.$set(item.details,item1.limitCancelTime,item1.limitCancelTime) |
|
|
|
|
@ -322,11 +289,15 @@ export default { |
|
|
|
|
// seconds |
|
|
|
|
// } |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
//判断是否是当天 |
|
|
|
|
isToday(systemTime,lastTime) { |
|
|
|
|
console.log(dateFormat(new Date(systemTime), 'yyyy-MM-dd'), dateFormat(new Date(lastTime), 'yyyy-MM-dd'),dateFormat(new Date(systemTime), 'yyyy-MM-dd') == dateFormat(new Date(lastTime), 'yyyy-MM-dd')) |
|
|
|
|
return dateFormat(new Date(systemTime), 'yyyy-MM-dd') == dateFormat(new Date(lastTime), 'yyyy-MM-dd') |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
//日期格式化 |
|
|
|
|
doDateFormatter(date) { |
|
|
|
|
return dateFormat(new Date(date.replace(/-/g,'/')), 'yyyy-MM-dd'); |
|
|
|
|
return dateFormat(new Date(date.replace(/-/g, '/')), 'yyyy-MM-dd'); |
|
|
|
|
}, |
|
|
|
|
//计算距离体检还剩多长时间 |
|
|
|
|
calcDateTime(item) { |
|
|
|
|
|