如果用户添加的时间段,在上面显示时间段有重复的时间范围,则提示如下内容:
执行函数的入参内容打印:
点击查看实现代码
export function addTimeRange(timeRanges, newTimeRange) {
console.log('原有的时间范围的数组timeRanges',timeRanges)
console.log('新的时间范围newTimeRange',newTimeRange)
let timeRanges1 = cloneDeep(timeRanges);
timeRanges1.sort((a, b) => a.min - b.min);
timeRanges1.forEach((item) => {
if (newTimeRange.min == item.min && newTimeRange.max == item.max) {
item.flag = false;
}
if (
(newTimeRange.min == item.min && newTimeRange.max >item.min) ||
(newTimeRange.min<item.max && newTimeRange.max== item.max) ||
(newTimeRange.min < item.min&&newTimeRange.min==item.max && newTimeRange.max==item.min)||
(newTimeRange.min < item.min && newTimeRange.min < item.max&&newTimeRange.max>item.min) ||
(newTimeRange.min > item.min && newTimeRange.min < item.max)
) {
item.flag = false;
}
});
let isExist = timeRanges1.some((item1) => item1.flag == false);
if (!isExist) {
timeRanges.push(newTimeRange);
}else{
ElMessage({ type: "error", message: "存在重复的时间段,请重新选择" });
}
return timeRanges;
}