簡體   English   中英

如何在 TUI-Calendar 中禁用設置隨機計划順序

[英]How to disable set random order of schedule in TUI-Calendar

我正在使用Toast UI 日歷在 Laravel 項目中進行日程管理。 但我需要每天禁用隨機的日程安排。

這是截圖這是在點擊刷新按鈕之前

如果我點擊刷新按鈕,它會像下面的截圖一樣改變。 這是點擊刷新按鈕后

這是generateSchedule函數

function generateSchedule(viewName, renderStart, renderEnd, check_key) {
  ScheduleList = [];
  realize_schedule.forEach(function(real_item){
    var i = 0, length = 1;
    if (viewName === 'month') {
      length = 1;
    } else if (viewName === 'day') {
      length = 2;
    }
    for (i; i < length; i += 1) {
      var index_calendar = real_item.roomRate_type;
      if(index_calendar > 0){
        index_calendar = index_calendar-1;
      }
      if(check_key === ""){
        generateRandomSchedule(CalendarList[index_calendar], real_item, new Date(real_item.start), new Date(real_item.end));
      }else{
        if(check_key === real_item.roomRate_nameCode){
          generateRandomSchedule(CalendarList[index_calendar], real_item, new Date(real_item.start), new Date(real_item.end));
        }
      }
    }
  })
}

這是generateRandomSchedule函數

function generateRandomSchedule(calendar, roomRate, renderStart, renderEnd) {
  var schedule = new ScheduleInfo();

  schedule.id = roomRate.id;
  schedule.calendarId = calendar.id;

  schedule.title = calendar.name;
  schedule.body = roomRate.roomRate_nameCode;
  schedule.isReadOnly = false;
  generateTime(schedule, renderStart, renderEnd);
  schedule.isPrivate = false;
  schedule.location = roomRate.roomRate_value;
  schedule.state =roomRate.status;
  schedule.attendees=[roomRate.night_stayval];
  schedule.recurrenceRule = roomRate.allotmant;

  schedule.color = calendar.color;
  schedule.bgColor = calendar.bgColor;
  schedule.dragBgColor = calendar.dragBgColor;
  schedule.borderColor = calendar.borderColor;

  if (schedule.category === 'milestone') {
    schedule.color = schedule.bgColor;
    schedule.bgColor = 'transparent';
    schedule.dragBgColor = 'transparent';
    schedule.borderColor = 'transparent';
  }

  schedule.raw.memo = chance.sentence();
  schedule.raw.creator.name = chance.name();
  schedule.raw.creator.avatar = chance.avatar();
  schedule.raw.creator.company = chance.company();
  schedule.raw.creator.email = chance.email();
  schedule.raw.creator.phone = chance.phone();
  schedule.raw.creator.bug = "";

  if (chance.bool({ likelihood: 20 })) {
    var travelTime = chance.minute();
    schedule.goingDuration = travelTime;
    schedule.comingDuration = travelTime;
  }

  ScheduleList.push(schedule);
}

所以我想在日字段中禁用計划訂單的隨機功能。 如果有人有這方面的經驗,請幫助我。

請看這個...在這里輸入鏈接描述

您可以從該網址查看參考代碼。 如果您想禁用隨機設置時間表的順序,它可能會更改庫的某些代碼。

我認為這是不可能的,因為這些日程安排是隨機的。 所以你應該有序地使用createSchedules函數。

例如,您使用此功能一一創建計划。 我認為這是唯一的解決方案。

您應該更改gnerateRandomSchedule 的內容。 我認為最好也上傳該功能。

我認為你應該改變realize_schedule列表的子順序。 generateSchedule 中,這個列表被有序地解釋。

realize_schedule.forEach(function(real_item){
  var i = 0, length = 1;
  if (viewName === 'month') {
    length = 1;
  } else if (viewName === 'day') {
    length = 2;
  }
  for (i; i < length; i += 1) {
    var index_calendar = real_item.roomRate_type;
    if(index_calendar > 0){
      index_calendar = index_calendar-1;
    }
    if(check_key === ""){
      generateRandomSchedule(CalendarList[index_calendar], real_item, new Date(real_item.start), new Date(real_item.end));
    }else{
      if(check_key === real_item.roomRate_nameCode){
        generateRandomSchedule(CalendarList[index_calendar], real_item, new Date(real_item.start), new Date(real_item.end));
      }
    }
  }
})

所以這樣做。

我想了很久這個問題。 但不可能有條不紊地安排。 因為這里使用createSchedules函數來創建計划。 在調用此函數之前,日程安排是有序的。

這是代碼示例。

function setSchedules() {
  cal.clear();
  generateSchedule(cal.getViewName(), cal.getDateRangeStart(), cal.getDateRangeEnd(), filter_Code);
  cal.createSchedules(ScheduleList);
  console.log(ScheduleList);
  refreshScheduleVisibility();
}

您可以使用console.log()查看 scheduleList 。 抱歉讓代碼在手。

如果您有任何問題,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM