setWorkTime

устанавливает рабочее время для диаграммы Ганта

void setWorkTime(object config);
configobjectобъект конфигурации временного интервала

Example

gantt.config.work_time = true;
 
//изменяет рабочее время рабочих дней с ["8:00-17:00"] на ["9:00-18:00"]
gantt.setWorkTime({ hours:["9:00-18:00"] });
 
//делает все пятницы выходными
gantt.setWorkTime({ day:5, hours:false });
 
//изменяет рабочее время для пятниц и суббот 
// с ["8:00-17:00"] на ["8:00-12:00"]
gantt.setWorkTime({day : 5, hours : ["8:00-12:00"]});
gantt.setWorkTime({day : 6, hours : ["8:00-12:00"]});
 
//делает 31 марта рабочим днем 
gantt.setWorkTime({date : new Date(2013, 2, 31)});
 
//делает 1 января выходным
gantt.setWorkTime({date:new Date(2013,0,1), hours:false})
 
//устанавливает рабочее время как 2 периода: 8:30-12:00, 13:00-17:00 (для обеда)
gantt.setWorkTime({hours : ["8:30-12:00", "13:00-17:00"]})

Related samples

Details

Метод имеет смысл только в том случае, если work_time установлен в 'true'. В противном случае метод будет игнорироваться.

Стандартное рабочее время следующее:

  • Рабочие дни: Понедельник - Пятница.
  • Рабочие часы: 08:00 - 17:00.

Метод используется для изменения стандартных настроек.

Свойства объекта конфигурации

Объект конфигурации может содержать следующие свойства:

Свойство Описание
day номер дня недели [0 (воскресенье) - 6 (суббота)]. Обратите внимание, что можно установить только 1 день за раз
//делает все понедельники выходными
gantt.setWorkTime({ day:1, hours:false });
date конкретная дата, чтобы установить как рабочий день или выходной
//делает конкретную дату выходным
gantt.setWorkTime({date:new Date(2013,0,1), hours:false})
hours массив рабочих часов в виде пар 'от'-'до'.
'false' устанавливает выходной, 'true' (значение по умолчанию) применяет стандартные часы (["8:00-17:00"])
//устанавливает рабочее время для пятниц с 8:00 до 12:00
gantt.setWorkTime({day : 5, hours : ["8:00-12:00"]});
customWeeks объект с различными правилами рабочего времени для разных периодов времени.
Объект может содержать набор ключ:значение, где ключ - это название временного интервала, а значение - это объект, который включает в себя следующие атрибуты:
  • from - (Дата) обязательно, дата, когда временной интервал должен начаться
  • to - (Дата) обязательно, дата, когда временной интервал должен быть завершен
  • hours - (массив) массив рабочих часов в виде пар 'от'-'до'.
    'false' устанавливает выходной, 'true' (значение по умолчанию) применяет стандартные часы (["8:00-17:00"])
  • days - (массив) массив 7 дней недели (от 0 - воскресенье, до 6 - суббота), где 1/true обозначает рабочий день, а 0/false - нерабочий день.
//изменяет рабочее время для зимних месяцев
gantt.setWorkTime({
    customWeeks: {
        winter: {
            from: new Date(2018, 11, 1), // 1 декабря 2018
            to: new Date(2019, 2, 1), // 1 марта 00:00, 2019
            hours: ["9:00-13:00", "14:00-16:00"],
            days: [ 1, 1, 1, 1, 0, 0, 0]
        }
    }
});

Установка рабочего времени для ночной смены

Настройки рабочего времени для атрибута hours объекта конфигурации метода setWorkTime должны быть указаны в возрастающем порядке, то есть от меньшего интервала к большему. В случае, если временные настройки указаны в убывающем порядке, часть из них будет проигнорирована. В приведенном ниже примере временные интервалы после 18:00 будут проигнорированы:

// указанные ниже настройки некорректны 
gantt.setWorkTime({day : 5, hours : ["16:00-18:00", "14:00-15:00",  "08:00-10:00"]});
gantt.setWorkTime({day : 5, hours : ["16:00-18:00", "00:00-04:00",  "05:00-06:00"]});

Если вам нужно указать настройки рабочего времени для ночной смены, вы должны установить их следующим образом:

  • в течение 24 часов для первого дня
  • в течение 24 часов для следующего дня

Например:

gantt.setWorkTime({day : 5, hours : ["16:00-18:00"]});
gantt.setWorkTime({day : 6, hours : ["00:00-04:00",  "05:00-06:00"]});

Перезапись правила рабочего времени

Обратите внимание, что каждый следующий вызов метода для одной и той же даты перезаписывает предыдущее правило рабочего времени:

gantt.setWorkTime({hours:["8:00-12:00"]});
gantt.setWorkTime({hours:["13:00-17:00"]});
//результат вышеприведенных команд будет рабочее время 13:00-17:00
//а не смешение обоих команд
See also
Change log
  • свойство customWeeks добавлено в версии 7.1;
  • формат свойства hours объекта конфигурации изменен в версии 7.0.
К началу