任务属性
在本页你将找到任务对象可能包含的全部属性的完整列表。
链接对象的完整属性列表请参阅 Link Properties 文章。
必需属性
这些属性在客户端总是会被定义。Gantt 期望在数据加载时在任务对象中指定这些属性,但如果未指定,Gantt 将自动添加它们。 如果在已加载的任务中移除了其中一个属性,Gantt 将开始抛出错误。
| 名称 | 类型 | 描述 |
|---|---|---|
| id | string | number | 任务的唯一标识符;若未设置则自动生成 |
| start_date | Date | 任务计划开始的日期。数据加载 如果未指定,Gantt 将基于 end_date 与 duration 属性来计算。当设置 unscheduled: true 时,该属性将变为可选。 |
| end_date | Date | 任务计划完成的日期。数据加载 如果未指定,Gantt 将基于 start_date 与 duration 属性来计算。当设置 unscheduled: true 时,该属性将变为可选。 |
| duration | number | 任务持续时间。数据加载 如果未指定,Gantt 将基于 start_date 与 end_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 元素设置背景颜色) |
| constraint_date | Date | 任务约束日期。当启用带时间约束的自动排程时,该属性会添加到任务对象中。若启用 auto_scheduling_compatibility,则此属性不被使用。 |
| constraint_type | string | 任务约束类型("asap", "alap", "snet", "snlt", "fnet", "fnlt", "mso", "mfo")。在启用带 时间约束的自动排程时会将其添加到任务对象。若启用 auto_scheduling_compatibility,则此属性不被使用。 |
| deadline | Date | 为任务指定截止日期。在设置此属性时,时间线中会显示一个可视化指示器。 |
| editable | boolean | 定义在只读甘特图中任务是否可以 editable。属性名称取决于 editable_property 选项的值 |
| group_id | string | number | 分组的组标识符。当用于分组任务的属性(在 groupBy() 的 relation_property 中)被指定为对象时,任务将按某个标准分组并附加该值。 |
| hide_bar | boolean | 定义任务(type:"task")或里程碑(type:"milestone")是否应在时间线区域隐藏 |
| key | string | number | 分组的键。当用于分组任务的属性(在 groupBy() 方法中的 [relation_property])被指定为数组时,将该键添加到按某标准分组的任务中。也会添加到带有分组名称的任务上(例如,当你按优先级分组任务时,对应“High”、“Normal”、“Low”这类任务将带有该键)。查看示例。 |
| label | string | 分组的标签。它被添加到具有分组名称的任务上(例如,如果你按优先级分组任务,带有 "High"、"Normal"、"Low" 名称的任务将带有该属性。 查看示例)。 |
| open | boolean | 指定任务分支是否初始展开(显示子任务)。要在 Gantt 初始化后关闭/打开该分支,请使用相关方法:close() 和 open() |
| parent | number | string | 父任务的 ID。如果指定的父不存在,则该任务不会在 Gantt 中渲染。根任务的 ID 由 root_id 配置指定。 |
| progress | number | 任务的进度(0 到 1 之间) |
| progressColor | string | 时间线区域中任务进度的颜色(即为任务进度的 gantt_task_progress 元素设置背景颜色) |
| readonly | boolean | 定义在只读模式下任务是否必须处于 readonly。属性名称取决于 readonly_property 选项的值 |
| render | string | 定义子任务的显示方式。取值:"split" | ""。若设置为 ["split"],子任务将显示在一行中。此外,如果启用 open_split_tasks 属性,只有当任务处于折叠状态时,子任务才会在一行中呈现。 |
| resource | Array <string> | 分配给任务的资源 ID 的数组。导入 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 元素设置文本颜色) |
| type | string | 任务类型。可用值存储在 types 对象中:
|
| unscheduled | boolean | 定义任务是否必须为 unscheduled。默认情况下,未排程的任务不会在时间线区域显示,网格中将显示空值而非开始和结束日期。 |
动态属性
动态属性在客户端创建,表示任务或链接的当前状态。若在 JSON/XML 中定义,它们不应保存到数据库,Gantt 将忽略这些属性。
| 名称 | 类型 | 描述 |
|---|---|---|
| [resource_property] | string | Array <any> | resource_property 该属性可以具有任意其他名称。该属性用于存储与 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 方法或通过“+”按钮创建的新任务将添加此属性。打开灯箱时会将该属性添加到任务对象中,保存任务后移除。 |
| $no_end | boolean | 必需,一个系统属性,添加到任务对象。如果无法计算 end_date(在加载了 start_date 但没有 duration 或 end_date 时),其值为 True。在这种情况下,你不能移动或调整任务大小。end_date 属性将取决于子任务的 end_date(如有)。start_date 属性将固定不变。对这类任务,自动排程将不起作用。如果启用 $no_start 属性,该任务将完全依赖于其子任务的日期或第一个任务的日期。 |
| $no_start | boolean | 必需,一个系统属性,添加到任务对象。当无法计算 start_date(加载了 end_date 但没有 duration 或 start_date 时)时,其值为 True。start_date 属性将取决于子任务(如有)或第一个任务的开始日期。end_date 属性将固定且只有当子任务/第一任务的开始日期大于任务的结束日期时才会改变。对这类任务,自动排程将不起作用。如果启用 $no_end 属性,该任务将完全依赖于其子任务的日期或第一个任务的日期。 |
| $open | boolean | 一个系统属性,指示任务当前是否已打开(true)。如果你更改此属性的值并重新绘制 Gantt,它将打开或关闭该任务。要更改任务状态,也可以应用 open 或 close 方法。 |
| $raw | object | 一个包含从 MS Project / Primavera 导出到导出模块(导出服务器)时的原始任务属性名称的对象。该属性在文件转换为 JSON 格式但在转换为 Gantt 期望的名称和格式之前出现在 $raw 对象中。 |
| $rendered_at | string | number | 在页面上渲染的 rollup 项 / split 任务所处行的 ID。只有在任务正在页面上渲染时,该对象中才会出现此临时属性。 |
| $rendered_parent | number | string | 在其下方渲染任务的父级的 ID(不是任务的真实父级的 ID)。此属性在内部计算和任务分组中使用。 |
| $rendered_type | string | 已渲染任务的类型(一个临时属性)。 |
| $resourceAssignments | Array <any> | 分配给任务的资源ID数组(临时属性)。但真正的数据存储在资源分配的存储中,而不在此属性中。 |
| $rollup | Array <string | number> | 在当前任务上出现的任务和里程碑的 ID 数组 |
| $source | Array <string | number> | 必需,一个包含来自任务的所有链接的 ID 的数组(参见 guides/link-object-operations.md#getting-the-links-related-to-a-certain-task)。 |
| $split_subtask | boolean | 若任务是拆分任务的子任务,将出现(与其他子任务排在同一行) |
| $target | Array <string | number> | 必需,一个包含进入任务的链接的目标 ID 的数组(参见 guides/link-object-operations.md#getting-the-links-related-to-a-certain-task)。 |
| $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: []
};
Need help?
Got a question about the documentation? Reach out to our technical support team for help and guidance. For custom component solutions, visit the Services page.