请优化以下JavaScript代码:nn-let-paramYear-=-thisyear;n--------let-paramMonth-=-thismonth;n--------if-parseIntthismonth-+-1-==-13-n----------paramYear-=-parseIntthisyear-+-1;n----------paramMonth-=-0;n--------n--------let-date-=-new-Date;n--------设置日期n------
以下是优化后的代码:
let paramYear = this.year;
let paramMonth = this.month;
if (parseInt(this.month) + 1 == 13) {
paramYear = parseInt(this.year) + 1;
paramMonth = 0;
}
let date = new Date(paramYear, paramMonth, 1);
let calendar = new Date();
await Promise.all([
monthManagementApi.getHoliday(paramYear).then(res => {
this.holidayList = res.data;
}),
monthManagementApi.getWeekDay(paramYear).then(res => {
this.weekDayList = res.data;
}),
serviceTrackingApi.getParamByConfigkey("service_tracking_score_overdays").then(res => {
let overtimeday = !isNaN(res.data.configPara) ? res.data.configPara : 6;
let days = new Date(paramYear, paramMonth + 1, 0).getDate();
let work = [];
for (let i = 1; i <= days; i++) {
date.setDate(i);
let weekDay = date.getDay();
const currentDate = moment(date).format("YYYY-MM-DD");
if (
(weekDay > 0 && weekDay < 6 && this.holidayList.every(holiday => !this.getAllDate(holiday.startDate, holiday.endDate).includes(currentDate))) ||
this.weekDayList.some(weekDay => this.getAllDate(weekDay.startDate, weekDay.endDate).includes(currentDate))
) {
if (work.length <= overtimeday) {
work.push(date.toLocaleDateString());
}
}
}
let workDate = work[work.length - 1];
let workTwo = new Date(workDate);
let workMonth = workTwo.getMonth() + 1;
let workYear = workTwo.getFullYear();
let workDay = workTwo.getDate();
let overdueParams = {
trackingYear: this.year,
trackingMonth: this.month
};
await overdueApi.getPage(overdueParams).then(response => {
this.dateList = response.data.rows;
});
let endDate = ${workYear}年${workMonth}月${workDay}日;
let sendDay = new Date(workYear, workMonth - 1, workDay);
let sendMonth = sendDay.getMonth() == 0 ? 12 : sendDay.getMonth();
if ((calendar - sendDay) < 0) {
if (calendar.getFullYear() <= sendDay.getFullYear() && calendar.getMonth() < sendMonth && calendar.getDate() < sendDay.getDate()) {
this.closingDate = 温馨提示:本次月评截止日期为${endDate} 23:59,已到打分截止日期,如需补打分请联系管理员。;
this.isNotOvertime = false;
} else {
this.closingDate = 温馨提示 本次月评截止日期为:${endDate} 23:59;
this.isNotOvertime = true;
}
} else {
if (this.dateList.length != 0) {
let deptOrgId = this.dateList[0].orgId;
let momentIsBetween = moment().isBetween(moment(this.dateList[0].intervalStart), moment(this.dateList[0].intervalEnd), null, '()');
let isThisYearAndMonth = this.year == this.dateList[0].trackingYear && this.month == this.dateList[0].trackingMonth;
if (isThisYearAndMonth && momentIsBetween) {
if (this.dateList[0].orgId == "" && this.dateList[0].supplierId == "") {
this.closingDate = 温馨提示:本次月评截止日期为${endDate} 23:59,已到打分截止日期,目前为超期补打分时间(${moment(this.dateList[0].intervalStart).format("YYYY-MM-DD")} - ${moment(this.dateList[0].intervalEnd).format("YYYY-MM-DD")})。;
this.isNotOvertime = true;
} else if
原文地址: https://www.cveoy.top/t/topic/rSX 著作权归作者所有。请勿转载和采集!