企业 Gantt 前端

Odoo 企业版 Gantt 为什么不是“横条拖一拖”:dependency connector、重排逻辑与 progress 呈现边界讲透

web_gantt 的前端不是简单时间轴组件,而是把 dependency、resize/drag、分组和进度呈现绑在一起的任务编辑器。

企业 前端
进阶 开发者 1 分钟阅读
0 评论 0 点赞 0 收藏 5 阅读

Gantt 视图最容易被误解成“把列表画成横条”。企业版前端远远不止这个层次。

主要参考:

  • enterprise/web_gantt/static/src/ 下模型、渲染与交互文件

一、Gantt 前端首先是时序编辑器,不是图表

只要一个视图允许 drag、resize、dependency 连接,它就不再只是被动展示,而是在前端承接用户对计划语义的修改。

这也是为什么 web_gantt 的源码会把模型、渲染和交互拆得很细:横条位置、时间刻度、组别折叠、依赖线和拖动反馈都必须同步。

二、dependency connector 不是装饰线

一旦支持任务依赖,前端就必须明确:

  • 依赖线从哪个节点挂出
  • 拖动后哪些关系要重算
  • 哪些关系只展示、不允许当前用户直接改

因此 connector 的意义不是“更好看”,而是让用户在前端看到约束网络,而不是只看到孤立的任务条。

三、progress bar 也不是纯视觉字段

Gantt 里的 progress 往往依赖后端的完成度口径、已分配工时或子任务聚合。前端要做的是把这些口径以稳定可比较的方式画出来,而不是随便塞个百分比文字。

四、结论

企业版 Gantt 的前端价值,在于它把“展示计划”升级成了“编辑受约束的计划”。理解 dependency、drag/resize 和 progress 的联动,才能真正读懂它为什么复杂。

DISCUSSION

评论区

想参与讨论?先 登录 再发表评论。
还没有评论,你可以成为第一个留言的人。