任务属性

本页面提供了任务对象可包含的所有属性的完整列表。

关于 link 对象的全部属性,请参阅 Link Properties 文章。

必需属性

这些属性在客户端始终定义。当加载数据时,Gantt 期望任务对象中包含这些属性。如果缺失,Gantt 会自动添加它们。从已加载任务中移除这些属性会导致错误。

名称类型描述
id string | number 任务的 id,如果未提供则自动生成
start_date Date 任务的计划开始日期。如果省略,Gantt 会根据 end_dateduration 计算。
当设置 unscheduled: true 时,该属性变为可选。
end_date Date 任务的计划完成日期。如果省略,Gantt 会根据 start_dateduration 计算。
当设置 unscheduled: true 时,该属性变为可选。
duration number 任务的持续时间。如果省略,Gantt 会根据 start_dateend_date 计算。

可选属性

这些属性可以存在也可以不存在。当这些属性可用时,Gantt 的默认逻辑和模板会使用它们。

名称类型描述
auto_scheduling boolean 指定 Gantt 是否对任务执行自动排程(true 或未指定)或不执行(false
bar_height number 指定任务在时间轴中 DOM 元素的高度
baselines Baseline[] 包含基线的数组
calendar_id number | string 为任务分配自定义日历的 id。属性名取决于 calendar_property 选项
color string 设置任务在时间轴中的颜色(应用于 gantt_task_line 元素的 background-color
constraint_date Date 任务约束的日期,在启用 带有时间约束的自动排程 时添加。如果启用 auto_scheduling_compatibility,则不使用。
constraint_type string 指定任务约束类型("asap"、"alap"、"snet"、"snlt"、"fnet"、"fnlt"、"mso"、"mfo")。在启用 带有时间约束的自动排程 时添加。如果启用 auto_scheduling_compatibility,则不使用。
deadline Date 设置任务的截止日期。设置后,时间轴中会出现[可视指示器](时间线中的额外元素)。
editable boolean 指定任务是否可以在只读 Gantt 图中编辑。属性名取决于 editable_property 选项
group_id string | number 任务所属分组的 id。当任务通过 relation_property 在 groupBy() 方法中按对象属性分组时添加。
hide_bar boolean 指定任务(type:"task")或里程碑(type:"milestone") 是否在时间轴中隐藏
key string | number 分组键,当任务通过 relation_property 在 groupBy() 中按数组属性分组时添加。
也会添加到带有分组名称的任务(如按优先级分组时为 "High"、"Normal"、"Low")。查看示例
label string 分组标签,添加到带有分组名称的任务(如按优先级分组时为 "High"、"Normal"、"Low")。查看示例
open boolean 指示任务分支是否初始为展开状态以显示子任务。初始化后可通过 close()open() 方法切换分支。
parent number | string 父任务的 id。父任务不存在的任务不会被渲染。根任务 id 通过 root_id 配置设置。
progress number 任务的进度值(0 到 1 之间)
progressColor string 设置任务进度条在时间轴中的颜色(应用于 gantt_task_progress 元素的 background-color
readonly boolean 指示任务是否应为只读。属性名取决于 readonly_property 选项
render string 控制子任务的显示方式。
值:"split" | ""
如果设置为 "split",子任务会显示在同一行。当启用 open_split_tasks 属性时,仅当任务折叠时子任务才渲染为同一行。
resource Array <string> 分配给任务的资源数组。在从 MS Project 或 Primavera 导入数据时添加
rollup boolean 指示任务(type:"task")或里程碑(type:"milestone") 是否应显示在父项目上
row_height number 设置任务所在行的高度
target string 目标任务 id。该属性与 $drop_target 属性一致。
仅在启用 Data Processor 且任务更新并与服务器通信后,才会添加到任务对象中。
text any 任务名称。可根据需要使用不同的属性名。
该属性用于 Gantt 的默认配置。
textColor string 设置任务文本在时间轴中的颜色(应用于 gantt_task_line 元素的 color
type string 任务类型。可用值在 types 对象中定义:
  • "task" - 常规任务(默认)。
  • "project" - 以最早的子任务开始、最晚的子任务结束的任务。 该类型会忽略 start_dateend_dateduration 属性。
  • "milestone" - 标记重要项目日期的零时长任务。 该类型会忽略 durationprogressend_date 属性。
unscheduled boolean 指示任务是否为未排程。默认情况下,未排程任务不会显示在时间轴中;而在网格中开始和结束日期会显示为空值。

动态属性

动态属性由客户端创建,用于表示任务或 link 的当前状态。它们不应保存到数据库中,Gantt 在你的 JSON 或 XML 中包含时会忽略这些属性。

名称类型描述
[resource_property] string | Array <any> 该属性可以为任意名称。用于存储与 resourceGrid/Timeline/Histogram/Calendar 相关的资源 id。
$auto_end_date Date 基于其子任务计算的项目任务结束日期。当 "auto_scheduling" 关闭时添加和更新。
$auto_start_date Date 基于其子任务计算的项目任务开始日期。当 "auto_scheduling" 关闭时添加和更新。
$calculate_duration boolean 用于内部计算的系统属性。
$custom_data object 包含在 importFromMSProject()importFromPrimaveraP6() 导入期间定义的自定义任务属性
$dataprocessor_class string 指示任务是否已更新的系统属性。启用 Data Processor 时添加。如果值为 "updated",任务文本会以粗体显示在网格中,也可应用自定义 CSS 样式。
$drop_target string 垂直拖拽任务时的目标任务 id。拖拽期间会临时添加该属性。
$effective_calendar string 分配给任务的日历(或资源日历)id。用于内部计算。
$expanded_branch boolean 指示任务是否可见,依据其父分支是否展开。如果有任一父级被折叠,该任务会被隐藏(分割任务/子任务除外)。
$has_child boolean 指示 Gantt 是否应请求从服务器加载一级子任务。用于启用 branch_loading 时。属性名取决于 branch_loading_property 选项。
$index number 任务的全局垂直位置。上下任务被打开或关闭时该值会更新。如果父级被折叠,则该值不代表实际位置。
$level number 任务在层级结构中的深度(从零开始)
$local_index number 任务在其父分支中的垂直位置。该值不会因全局的展开/折叠变化而更新。如果父级被折叠,则该值不代表实际位置。
$new boolean 通过 createTask() 或 "+" 按钮创建新任务时添加。在 lightbox 打开期间存在,保存后移除。
$no_end boolean 必需系统属性,当无法计算 end_date(只设置了 start_date,未设置 duration 或 end_date)时添加。在此情况下,任务无法移动或调整大小。end_date 取决于子任务的结束日期,start_date 保持固定。自动排程关闭。如果同时设置 $no_start,则任务完全依赖于子任务或首个任务的日期。
$no_start boolean 必需系统属性,当无法计算 start_date(只设置了 end_date,未设置 duration 或 start_date)时添加。start_date 取决于子任务或首个任务的开始日期。end_date 保持固定,除非子任务/首个任务的开始日期超过它。自动排程关闭。如果同时设置 $no_end,则任务完全依赖于子任务或首个任务的日期。
$open boolean 系统属性,反映任务当前是否处于展开状态(true)。修改该属性并重绘 Gantt 可展开或折叠任务。也可使用 open()close()
$raw object 包含从 MS ProjectPrimavera 导出处理期间导入的原始任务属性名。这些属性在转换为 Gantt 期望的格式之前出现。
$rendered_at string | number 渲染rollup 项分割任务的行 id。该临时属性仅在 rollup/分割任务显示期间存在。
$rendered_parent number | string 任务渲染时的父级 id(非实际父级)。用于内部及任务分组。
$rendered_type string 指示渲染任务类型的临时属性。
$resourceAssignments Array <any> 分配给任务的资源 id 数组(临时)。最准确的数据存储在资源分配存储中。
$rollup Array <string | number> 出现在此任务上的任务和里程碑的 id 数组
$source Array <string | number> 必需——所有从该任务出发的 link id 数组
$split_subtask boolean 如果任务是分割任务的子任务(与其他子任务显示在一行),则存在该属性
$target Array <string | number> 必需——指向该任务的 link id 数组
$transparent boolean 垂直拖拽期间添加的临时属性,使任务在网格中略带透明效果。
$virtual boolean 对按某些条件分组的任务添加。带有 $virtual: true 的任务在重置分组时会被移除。
$wbs string 任务的 WBS 代码(临时)。在调用 getWBSCode() 后添加。如果由于父级或位置变化导致代码变动,请再次调用 getWBSCode() 以更新。

示例

const data = {
  tasks: [
    { id: 1, text: "Project #1", start_date: "01-04-2025", duration: 18 },
    { id: 2, text: "Task #1", start_date: "02-04-2025", duration: 8, parent: 1 },
    { id: 3, text: "Task #2", start_date: "11-04-2025", duration: 8, parent: 1 }
  ],
  links: []
};
Back to top