odoo10中的gantt图示例

1.Gantt属性说明

甘特图视图的根元素是<gantt />,它没有子节点但可以采用以下属性:

date_start (required)

提供每条记录事件的开始日期时间的字段名称。

date_stop

提供每条记录事件结束持续时间的字段名称。 可以用date_delay替换。 必须提供date_stopdate_delay中的一个(且仅一个)。

如果记录的字段为False,则假定为“点事件”,结束日期将设置为开始日期

date_delay

提供事件持续时间的字段的名称

duration_unit

minutehour (默认的), dayweekmonthyear其中一个

default_group_by

要分组任务的字段的名称

:该字段必须是实实在在存在于当前模型数据表中的字段,类似的多对多关联关系表中存放的字段不能用于该属性中

type

gantt经典甘特视图(默认)

consolidate 第一个子节点的值在甘特任务中得到合并

planning 子节点显示在甘特图的任务中

consolidation

字段名称,用于显示记录单元格中的合并值

consolidation_max

将“group by”字段作为键的字典,以及在以红色显示单元格之前可以达到的最大合并值(例如{“user_id”:100}

consolidation_exclude

如果设置为true,则描述是否必须从合并中排除任务的字段的名称,它在合并行中显示条带区域

warnings
字典定义必须使用双引号,{'user_id':100}不是有效值

string

要在合并值旁边显示的字符串,如果未指定,将使用合并字段的标签

fold_last_level

如果设置了值,则折叠最后一个分组级别

round_dnd_dates

允许将任务的开始和结束日期舍入到最近的刻度标记

drag_resize

调整任务大小,默认为true

progress

提供记录事件完成百分比的字段名称,介于0和100之间

2.Gantt示例

 1 <record id="work_bd_wbs_gantt" model="ir.ui.view">
 2     <field name="name">WBS甘特图</field>
 3     <field name="model">esw.work.breakdown</field>
 4     <field name="arch" type="xml">
 5         <gantt type="consolidate"
 6                date_start="plan_start_time"
 7                date_stop="plan_end_time"
 8                consolidation="work_remark"
 9                default_group_by="employee_id"
10                string="WBS"
12         />
13         <!--
14         consolidation_exclude = "exclude"
15         round_dnd_dates="true"
16         consolidation_max = '{"work_remark": 100}'
17         -->
18     </field>
19 </record>

:XML中注释掉的属性字段,设置了之后没有发现有什么明显的变化,有发现的可以留言告诉下

Python代码如下:

 1 plan_start_time = fields.Date(u'计划开始时间', required=True)
 2 plan_work_hours = fields.Integer(u'工时(小时)', required=True)
 3 plan_end_time = fields.Date(u'计划结束时间')
 4 employee_id = fields.Many2one(
 5     'hr.employee',
 6     string=u'人力资源',
 7     domain=_compute_project_employee_domain
 8 )
 9 pre_work_bd_id = fields.Many2one('esw.work.breakdown', string=u'前置任务')
10 work_remark = fields.Text(u'任务说明', size=200)
name = fields.Char(u'任务编号')

注:Python模型代码中建议定义name属性字段,在gantt中默认会用的该字段来做显示,不定义会显示为False

最终效果如下:

 

posted on 2019-05-28 10:03  汉有游女,君子于役  阅读(1061)  评论(0编辑  收藏  举报