Milestones
信息
此功能仅在 PRO 版本中可用
里程碑是持续时间为零的任务,用于标记项目中的重要日期、关键事件或目标。例如,可以用来突出显示评审会议日期或项目阶段的预期完成日期。
从编程角度来看,里程碑是预定义任务类型之一。但它的行为与常规任务一致,会触发相同的事件和模板。

要启用在图表中添加里程碑,通常请按照以下步骤操作:
- 在 lightbox 中添加一个额外的部分 - Typeselect 컨트롤 - 以便用户可以更改任务类型并选择里程碑。
gantt.config.lightbox.sections = [
{name: "description", height: 70, map_to: "text", type: "textarea"},
{name: "type", type: "typeselect", map_to: "type"},
{name: "time", height: 72, type: "duration", map_to: "auto"}
];
- 定义 rightside_text 或 leftside_text 模板,为里程碑设置文本标签。请注意,使用 task_text 模板设置的标签不会显示,因为里程碑的持续时间为零。
gantt.templates.rightside_text = function(start, end, task){
if(task.type == gantt.config.types.milestone){
return task.text;
}
return "";
};
- 启用 order_branch 属性以便用户操作更方便。此选项允许在父分支内拖动任务,用户可以在任意位置创建里程碑,然后再移动到正确位置。
gantt.config.order_branch = true;
完成这些步骤后,Gantt 图表即可完全支持里程碑的使用。

在数据集中指定里程碑
在初始数据中指定里程碑时,需要将项目的 type 属性设置为 'milestone'(具体值存储在 types 对象中):
var data = {
tasks:[
{id:1, text:"Project #1", type:gantt.config.types.project, open:true},
{id:2, text:"Task #1", start_date:"12-04-2020", duration:3, parent:1},
{id:3, text:"Alpha release", type:gantt.config.types.milestone, parent:1, /*!*/
start_date:"14-04-2020"}], /*!*/
links:[]
};