|
|
|
|
@ -197,8 +197,13 @@
|
|
|
|
|
if (allPlanIdsSame) {
|
|
|
|
|
selectedPlanId.value = selectedRows.value[0]?.roster_id;
|
|
|
|
|
if(selectedPlanId.value!==0 && selectedPlanId.value){
|
|
|
|
|
|
|
|
|
|
startDate.value=selectedRows.value[0]?.reservation_date
|
|
|
|
|
date_list.value = getDatesAfter(selectedRows.value[0]?.reservation_date)
|
|
|
|
|
if(checkDateDifference15Day(getTodayDate(),selectedRows.value[0]?.reservation_date) && !!selectedRows.value[0]?.reservation_date){
|
|
|
|
|
date_list.value=getDatesAfter(selectedRows.value[0]?.reservation_date)
|
|
|
|
|
}else{
|
|
|
|
|
date_list.value=getDatesAfter(getTodayDate())
|
|
|
|
|
}
|
|
|
|
|
activeZhenShi.value=selectedRows.value[0]?.department_resources?.department_resources_name
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
@ -287,8 +292,8 @@
|
|
|
|
|
entrustTableRef.value.toggleRowSelection(entrustTableDate.value[i], true)
|
|
|
|
|
if(entrustTableDate.value[i].roster_id!=null){
|
|
|
|
|
selectedPlanId.value=entrustTableDate.value[i].roster_id
|
|
|
|
|
startDate.value=entrustTableDate.value[i].reservation_date
|
|
|
|
|
date_list.value = getDatesAfter(entrustTableDate.value[i].reservation_date)
|
|
|
|
|
// startDate.value=entrustTableDate.value[i].reservation_date
|
|
|
|
|
//date_list.value = getDatesAfter(entrustTableDate.value[i].reservation_date)
|
|
|
|
|
activeZhenShi.value=entrustTableDate.value[i].department_resources?.department_resources_name
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -683,6 +688,46 @@
|
|
|
|
|
|
|
|
|
|
return dates;
|
|
|
|
|
}
|
|
|
|
|
function isValidDate(dateString) {
|
|
|
|
|
// 简单的正则表达式来验证日期格式为 YYYY-MM-DD
|
|
|
|
|
const datePattern = /^\d{4}-\d{2}-\d{2}$/;
|
|
|
|
|
if (!datePattern.test(dateString)) {
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建 Date 对象并检查是否为有效日期
|
|
|
|
|
const date = new Date(dateString);
|
|
|
|
|
return date.toString() !== "Invalid Date" &&
|
|
|
|
|
!isNaN(date.getTime());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function checkDateDifference15Day(date1, date2) {
|
|
|
|
|
// 校验日期格式是否正确
|
|
|
|
|
if (!isValidDate(date1) || !isValidDate(date2)) {
|
|
|
|
|
console.error("日期格式不正确,请使用 YYYY-MM-DD");
|
|
|
|
|
return false; // 或者抛出异常、提示用户等
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const startDate = new Date(date1);
|
|
|
|
|
const endDate = new Date(date2);
|
|
|
|
|
|
|
|
|
|
// 计算时间差(毫秒)
|
|
|
|
|
const diffInMs = endDate - startDate;
|
|
|
|
|
|
|
|
|
|
// 转换为天数
|
|
|
|
|
const diffInDays = diffInMs / (1000 * 60 * 60 * 24);
|
|
|
|
|
|
|
|
|
|
return diffInDays > 15;
|
|
|
|
|
}
|
|
|
|
|
function getTodayDate() {
|
|
|
|
|
const today = new Date();
|
|
|
|
|
|
|
|
|
|
const year = today.getFullYear(); // 年份,如 2025
|
|
|
|
|
const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从 0 开始,所以要 +1
|
|
|
|
|
const day = String(today.getDate()).padStart(2, '0'); // 日期
|
|
|
|
|
|
|
|
|
|
return `${year}-${month}-${day}`;
|
|
|
|
|
}
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
date_list.value = getDatesAfter()
|
|
|
|
|
GetMainInfo()
|
|
|
|
|
|