updateTaskAssignments

根据数据存储中当前的资源分配,更新任务对象的 resource 属性

void updateTaskAssignments(number|string taskId);
taskIdnumber|string任务 ID

Available only in PRO Edition

Example

var assignmentStore = gantt.getDatastore(gantt.config.resource_assignment_store);
 
assignmentStore.addItem({
    resource_id: 5,
    task_id: 2,
    value: 4
});
assignmentStore.removeItem(assignment.id);
assignmentStore.updateItem(assignment.id);
 
// 一旦数据存储中的分配发生变化,  
// 调用 `updateTaskAssignments` 将这些更新同步回任务对象:
gantt.updateTaskAssignments(taskId);

Related samples

Details

此功能仅在 PRO 版本中可用。

该方法仅在启用了 process_resource_assignments 配置时有效。

通常,assignments store 是从任务对象中填充的。这意味着如果你更新任务上的 resource 属性(例如 task.users),这些更改会自动反映到数据存储中。

task[gantt.config.resource_property] = [
    {
        resource_id: "6",
        value: 3,
        start_date: "03-04-2019 00:00",
        end_date: "05-04-2019 00:00",
    }
];
gantt.updateTask(taskId);


有时,你可能想反向更新分配——直接在数据存储中更改它们,然后将这些更改应用回任务对象。为此,调用 gantt.updateTaskAssignments() 用数据存储中的值刷新任务的 resource 属性:

var taskId = 2;
var assignmentStore = gantt.getDatastore(gantt.config.resource_assignment_store);
assignmentStore.addItem({
    task_id: taskId,
    resource_id: 3,
    value: 8,
    delay: 1
})
gantt.updateTaskAssignments(taskId);
 
 
console.log(gantt.getTask(taskId));
// -> { id: 2, users: [{resource_id: 3, value: 8, delay: 1, start_date: ...}], ...)
See also
Change log

v7.1 版本新增

Back to top