调整任务的开始和结束日期,使其与时间线刻度上的最近日期对齐
task | Task | 任务对象 |
// 拖动父任务时,同时拖动其子任务
gantt.attachEvent("onTaskDrag", function(id, mode, task, original){
var modes = gantt.config.drag_mode;
if(mode == modes.move){
var diff = task.start_date - original.start_date;
gantt.eachTask(function(child){
child.start_date = new Date(+child.start_date + diff);
child.end_date = new Date(+child.end_date + diff);
gantt.refreshTask(child.id, true);
},id );
}
return true;
});
// 将子项的位置四舍五入到刻度
gantt.attachEvent("onAfterTaskDrag", function(id, mode, e){
var modes = gantt.config.drag_mode;
if(mode == modes.move ){
gantt.eachTask(function(child){
gantt.roundTaskDates(child); gantt.refreshTask(child.id, true);
},id );
}
});