跳到主要内容

任务属性

在本页你将找到任务对象可能包含的全部属性的完整列表。

链接对象的完整属性列表请参阅 Link Properties 文章。

必需属性

这些属性在客户端总是会被定义。Gantt 期望在数据加载时在任务对象中指定这些属性,但如果未指定,Gantt 将自动添加它们。 如果在已加载的任务中移除了其中一个属性,Gantt 将开始抛出错误。

名称类型描述
idstring | number任务的唯一标识符;若未设置则自动生成
start_dateDate任务计划开始的日期。数据加载 如果未指定,Gantt 将基于 end_dateduration 属性来计算。当设置 unscheduled: true 时,该属性将变为可选。
end_dateDate任务计划完成的日期。数据加载 如果未指定,Gantt 将基于 start_dateduration 属性来计算。当设置 unscheduled: true 时,该属性将变为可选。
durationnumber任务持续时间。数据加载 如果未指定,Gantt 将基于 start_dateend_date 属性进行计算。

可选属性

这些属性可能定义也可能不定义。如果定义了这些属性,Gantt 的默认逻辑和模板将使用它们。

名称类型描述
auto_schedulingboolean定义 Gantt 是否应对任务进行自动排程(为 true 或未指定)还是不进行(为 false
bar_heightnumber设置时间线区域中任务的 DOM 元素高度
baselinesBaseline[]包含基线的数组
calendar_idnumber | string设置分配给任务的自定义日历的 ID。属性的名称取决于 calendar_property 选项的值
colorstring设置任务在时间线区域中的颜色(即为任务的 gantt_task_line 元素设置背景颜色)
constraint_dateDate任务约束日期。当启用带时间约束的自动排程时,该属性会添加到任务对象中。若启用 auto_scheduling_compatibility,则此属性不被使用。
constraint_typestring任务约束类型("asap", "alap", "snet", "snlt", "fnet", "fnlt", "mso", "mfo")。在启用带时间约束的自动排程时会将其添加到任务对象。若启用 auto_scheduling_compatibility,则此属性不被使用。
deadlineDate为任务指定截止日期。在设置此属性时,时间线中会显示一个可视化指示器。
editableboolean定义在只读甘特图中任务是否可以 editable。属性名称取决于 editable_property 选项的值
group_idstring | number分组的组标识符。当用于分组任务的属性(在 groupBy() 的 relation_property 中)被指定为对象时,任务将按某个标准分组并附加该值。
hide_barboolean定义任务(type:"task")或里程碑(type:"milestone")是否应在时间线区域隐藏
keystring | number分组的键。当用于分组任务的属性(在 groupBy() 方法中的 [relation_property])被指定为数组时,将该键添加到按某标准分组的任务中。也会添加到带有分组名称的任务上(例如,当你按优先级分组任务时,对应“High”、“Normal”、“Low”这类任务将带有该键)。查看示例
labelstring分组的标签。它被添加到具有分组名称的任务上(例如,如果你按优先级分组任务,带有 "High"、"Normal"、"Low" 名称的任务将带有该属性。 查看示例)。
openboolean指定任务分支是否初始展开(显示子任务)。要在 Gantt 初始化后关闭/打开该分支,请使用相关方法:close()open()
parentnumber | string父任务的 ID。如果指定的父不存在,则该任务不会在 Gantt 中渲染。根任务的 ID 由 root_id 配置指定。
progressnumber任务的进度(0 到 1 之间)
progressColorstring时间线区域中任务进度的颜色(即为任务进度的 gantt_task_progress 元素设置背景颜色)
readonlyboolean定义在只读模式下任务是否必须处于 readonly。属性名称取决于 readonly_property 选项的值
renderstring定义子任务的显示方式。取值:"split" | ""。若设置为 ["split"],子任务将显示在一行中。此外,如果启用 open_split_tasks 属性,只有当任务处于折叠状态时,子任务才会在一行中呈现。
resourceArray <string>分配给任务的资源 ID 的数组。导入 MS Project/Primavera 数据时会将其添加到任务对象中
rollupboolean定义任务(type:"task")或里程碑(type:"milestone")是否应出现在父级项目中
row_heightnumber设置任务行的高度
targetstring目标任务的 ID。该属性显示与 $drop_target 属性相同的值。仅在启用 Data Processor、任务更新后并将数据发送到服务器时才将该属性添加到任务对象中。
textany任务的名称。如有需要,你可以为此属性使用任何其他名称。该属性在 Gantt 的不同部分的默认配置中使用。
textColorstring时间线区域中任务文本的颜色(即为任务的 gantt_task_line 元素设置文本颜色)
typestring任务类型。可用值存储在 types 对象中:
  • "task" - 常规任务(默认值)。
  • "project" - 当其最早子任务开始时开始、当其最近的子任务结束时结束的任务。对于此类任务,start_dateend_dateduration 属性将被忽略。
  • "milestone" - 用于标记项目重要日期的零持续时间任务。对于此类任务,durationprogressend_date 属性将被忽略。
unscheduledboolean定义任务是否必须为 unscheduled。默认情况下,未排程的任务不会在时间线区域显示,网格中将显示空值而非开始和结束日期。

动态属性

动态属性在客户端创建,表示任务或链接的当前状态。若在 JSON/XML 中定义,它们不应保存到数据库,Gantt 将忽略这些属性。

名称类型描述
[resource_property]string | Array <any>resource_property 该属性可以具有任意其他名称。该属性用于存储与 resourceGrid/Timeline/Histogram/Calendar 相关联的资源 ID。
$auto_end_dateDate来自子任务的项目任务的自动计算结束日期。当 "auto_scheduling" 被禁用时,新增并更新。
$auto_start_dateDate来自子任务的项目任务的自动计算开始日期。当 "auto_scheduling" 被禁用时,新增并更新。
$calculate_durationboolean在内部计算中使用的系统属性。
$custom_dataobject包含在 importFromMSProject()importFromPrimaveraP6() 方法中定义的自定义任务属性的对象
$dataprocessor_classstring一个系统属性,定义任务是否已更新。当启用 Data Processor 时将其添加到任务对象中。如果该属性值为 "updated",任务的文本将在网格中加粗,但你可以通过 CSS 自定义样式。
$drop_targetstring目标任务的 ID。拖动任务垂直移动时添加到任务对象中的临时属性。
$effective_calendarstring分配给任务的日历(或资源日历)的 ID。一个在内部计算中使用的系统属性。
$expanded_branchboolean显示任务是否可见的系统属性,取决于其父级是否展开。若至少一个父级是折叠的,任务将不可见。只有拆分任务(子任务)除外。
$has_childboolean定义 Gantt 是否应向服务器发送请求以加载任务的第一层子任务。当启用 branch_loading 属性时使用。属性名称取决于 branch_loading_property 选项的值。
$indexnumber任务的全局垂直位置。它绑定到任务并在下面或上面的任务展开/收起时改变。如果任务的父级被折叠,该属性不会显示任务的实际位置。
$levelnumber任务在任务层级中的级别(从零开始编号)
$local_indexnumber分支中的任务的垂直位置(在父级之下)。它不绑定到任务本身,且在分支内向上/向下展开时不会像全局那样改变。若任务的父级被折叠,该属性不会显示任务的实际位置。
$newboolean通过 createTask 方法或通过“+”按钮创建的新任务将添加此属性。打开灯箱时会将该属性添加到任务对象中,保存任务后移除。
$no_endboolean必需,一个系统属性,添加到任务对象。如果无法计算 end_date(在加载了 start_date 但没有 durationend_date 时),其值为 True。在这种情况下,你不能移动或调整任务大小。end_date 属性将取决于子任务的 end_date(如有)。start_date 属性将固定不变。对这类任务,自动排程将不起作用。如果启用 $no_start 属性,该任务将完全依赖于其子任务的日期或第一个任务的日期。
$no_startboolean必需,一个系统属性,添加到任务对象。当无法计算 start_date(加载了 end_date 但没有 durationstart_date 时)时,其值为 Truestart_date 属性将取决于子任务(如有)或第一个任务的开始日期。end_date 属性将固定且只有当子任务/第一任务的开始日期大于任务的结束日期时才会改变。对这类任务,自动排程将不起作用。如果启用 $no_end 属性,该任务将完全依赖于其子任务的日期或第一个任务的日期。
$openboolean一个系统属性,指示任务当前是否已打开(true)。如果你更改此属性的值并重新绘制 Gantt,它将打开或关闭该任务。要更改任务状态,也可以应用 openclose 方法。
$rawobject一个包含从 MS Project / Primavera 导出到导出模块(导出服务器)时的原始任务属性名称的对象。该属性在文件转换为 JSON 格式但在转换为 Gantt 期望的名称和格式之前出现在 $raw 对象中。
$rendered_atstring | number在页面上渲染的 rollup 项 / split 任务所处行的 ID。只有在任务正在页面上渲染时,该对象中才会出现此临时属性。
$rendered_parentnumber | string在其下方渲染任务的父级的 ID(不是任务的真实父级的 ID)。此属性在内部计算和任务分组中使用。
$rendered_typestring已渲染任务的类型(一个临时属性)。
$resourceAssignmentsArray <any>分配给任务的资源ID数组(临时属性)。但真正的数据存储在资源分配的存储中,而不在此属性中。
$rollupArray <string | number>在当前任务上出现的任务和里程碑的 ID 数组
$sourceArray <string | number>必需,一个包含来自任务的所有链接的 ID 的数组(参见 guides/link-object-operations.md#getting-the-links-related-to-a-certain-task)。
$split_subtaskboolean若任务是拆分任务的子任务,将出现(与其他子任务排在同一行)
$targetArray <string | number>必需,一个包含进入任务的链接的目标 ID 的数组(参见 guides/link-object-operations.md#getting-the-links-related-to-a-certain-task)。
$transparentboolean在垂直拖拽时添加到任务对象的临时属性。由于该属性,任务在网格中垂直拖拽时会显得略微透明。
$virtualboolean将其添加到按某些标准分组的任务中。重设分组后,带有 $virtual: true 的任务将被移除
$wbsstring任务的 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.