Как удалить DHTMLX Gantt Duration Offset of 1 - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть Гантт, который показывает продолжительность текущих проектов. Этот Гант загружает данные из базы данных phpmyadmin. В моей базе данных есть, например, id: 1 text: project1 start_date: 2020-02-28 00:00:00 duration: 0 Таким образом, он должен отображать эту задачу с длительностью 0. Все проекты с длительностью 0 и с этой start_date начинаются за один день до 2020-02-27, и задание показывается с продолжительностью 1.

  gantt.config.date_format = "%Y-%m-%d %H:%i"; 
   gantt.config.duration_unit = "hour"

gantt.config.scales = [
    {unit: "month", step: 1, format: "%F, %Y"},
    {unit: "week", step: 1, format: function (date) {
        return "Week #" + gantt.date.getWeek(date);
    }},
    {unit: "day", step: 1, format: "%D", css: function(date) {
    if(!gantt.isWorkTime({ date: date, unit: "day"})){
            return "weekend"
        }
    }}
];

    gantt.config.work_time = true; 
    gantt.templates.scale_cell_class = function(date){
        if(!gantt.isWorkTime(date)){
      return "weekend";
        }
    };
// 0 refers to Sunday, 6 - to Saturday
    gantt.ignore_time = function(date){
   if(date.getDay() == 0 || date.getDay() == 6)
    return true;
        };


gantt.init("gantt_here"); 
gantt.load("/api/data");

var dp = new gantt.dataProcessor("/api");
dp.init(gantt);
dp.setTransactionMode("REST");

Время работы от 0 до 8 (8 часов) и с понедельника по пятницу. Я не знаю, почему у меня смещение на +1 час по продолжительности и смещение на -1 день при начальной дате.

1 Ответ

1 голос
/ 09 марта 2020

Задачи проекта игнорируют предварительно определенные параметры даты (start_date, end_date, duration) и получают эти параметры от своих дочерних элементов. Если нет дочерних задач, проекты будут пытаться получить даты из других задач. Если на диаграмме только project задач, Гантт назначит текущую дату проектам.

К сожалению, нет способа изменить его работу. Вы можете изменить ширину задачи проекта с помощью шаблона task_class:

https://docs.dhtmlx.com/gantt/api__gantt_task_class_template.html

Например:

http://snippet.dhtmlx.com/5/cecc50a97

Но вы не сможете изменить даты.

Вам необходимо использовать другой тип задачи или реализовать собственное решение.

...