import Vue from 'vue'
export function getovertime(beginTime, endTime, isFreeTime, freeTimeMon, freeTimeAft, dinnerTimeMon, dinnerTimeAft) {
var days;
var hours;
var date;
var freeTime = freeTimeAft - freeTimeMon;
var dinnerTime = dinnerTimeAft - dinnerTimeMon;
beginTime = beginTime.replace(/-/g, '/');
var beginArr = beginTime.split(" ");
var beginMonth = parseInt(beginArr[0].split("/")[1]);
var beginDay = parseInt(beginArr[0].split("/")[2]);
var beginHours = parseInt(beginArr[1].split(":")[0]);
var beginMin = parseInt(beginArr[1].split(":")[1]);
var beginHoursMin = beginHours + beginMin / 60;
endTime = endTime.replace(/-/g, '/');
var endArr = endTime.split(" ");
var endMonth = parseInt(endArr[0].split("/")[1]);
var endDay = parseInt(endArr[0].split("/")[2]);
var endHours = parseInt(endArr[1].split(":")[0]);
var endMin = parseInt(endArr[1].split(":")[1]);
var endHoursMin = endHours + endMin / 60;
if(isFreeTime == true) {
if(endHoursMin >= freeTimeMon && endHoursMin <= freeTimeAft) {
endHoursMin = freeTimeMon;
console.log(1)
} else if(endHoursMin >= dinnerTimeMon && endHoursMin <= dinnerTimeAft) {
endHoursMin = dinnerTimeMon;
console.log(2)
}
if(beginHoursMin >= freeTimeMon && beginHoursMin <= freeTimeAft) {
beginHoursMin = freeTimeAft
console.log(3)
} else if(beginHoursMin >= dinnerTimeMon && beginHoursMin <= dinnerTimeAft) {
beginHoursMin = dinnerTimeAft
console.log(4)
}
}
var daysBetweenlist = daysBetween(beginTime, endTime);
var daysBetweenLen = daysBetweenlist.length;
if(beginTime > endTime) {
Vue.prototype.$Message.warning({
content: '开始时间需小于结束时间',
duration: 3
});
return false;
}
if(isFreeTime == true) {
var hour = 7.5;
if(daysBetweenLen == 1) {
if(beginHoursMin - freeTimeMon <= 0) {
if(endHoursMin - freeTimeAft >= 0 && endHoursMin - dinnerTimeAft <= 0) {
hours = (endHoursMin) - (beginHoursMin) - freeTime;
} else if(endHoursMin - dinnerTimeAft >= 0) {
hours = (endHoursMin) - (beginHoursMin) - freeTime - dinnerTime;
} else if(endHoursMin - freeTimeMon <= 0) {
hours = (endHoursMin) - (beginHoursMin)
}
} else if(beginHoursMin - freeTimeAft >= 0 && endHoursMin - dinnerTimeAft <= 0) {
if(endHoursMin - dinnerTimeAft >= 0) {
hours = (endHoursMin) - (beginHoursMin) - dinnerTime;
} else {
hours = (endHoursMin) - (beginHoursMin)
}
} else if(endHoursMin - dinnerTimeAft >= 0) {
hours = (endHoursMin) - (beginHoursMin)
}
} else {
Vue.prototype.$Message.warning({
content: '不可跨天调班哦~',
duration: 3
});
return false;
}
days = Math.floor(hours / hour);
var hours1 = hours % hour;
date = {
"days": days,
"hours": hours1,
"time": hours
};
}
return date;
}
export function daysBetween(sDate1, sDate2) {
var arr = [];
sDate1 = sDate1.substring(0, 10);
sDate2 = sDate2.substring(0, 10);
var startTime = gDate(sDate1);
var endTime = gDate(sDate2);
while((endTime.getTime() - startTime.getTime()) >= 0) {
var year = startTime.getFullYear();
var month = startTime.getMonth().toString().length == 1 ? "0" + startTime.getMonth().toString() : startTime.getMonth();
var day = startTime.getDate().toString().length == 1 ? "0" + startTime.getDate() : startTime.getDate();
arr.push(year + "/" + month + "/" + day);
startTime.setDate(startTime.getDate() + 1);
}
return arr;
}
export function gDate(datestr) {
datestr = datestr.replace(/-/g, '/');
var temp = datestr.split("/");
var date = new Date(temp[0], temp[1], temp[2]);
return date;
}