如果用户添加的时间段,在上面显示时间段有重复的时间范围,则提示如下内容:

执行函数的入参内容打印:

点击查看实现代码
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;
}
posted on 2024-11-19 14:24  好久不见-库克  阅读(4)  评论(0编辑  收藏  举报