Odoo甘特图

概念

甘特图视图适当地显示甘特图(用于调度)

属性

gantt视图的根元素是,它没有子元素,但可以采用以下属性:

  • date_start (必填)
    为每个记录提供事件开始日期时间的字段的名称

  • date_stop(必填)
    为每个记录提供事件结束持续时间的字段的名称

  • color
    根据其值为药丸着色的字段名称

  • decoration-{$name}
    允许根据相应记录的属性更改行文本的样式。

    值是Python表达式。对于每条记录,表达式都使用记录的属性作为上下文值进行评估,如果为真,则将相应的样式应用于该行。以下是上下文中可用的一些其他值

    • uid: 当前用户的id

    • today: 当前本地日期作为YYYY-MM-DD形式的字符串

    • now: 添加当前时间后与今天相同。此值格式为YYYY-MM-DD hh:mm:ss

    {$name} 可以是以下引导上下文颜色之一(danger, info, secondary, success or warning).

  • default_group_by
    按以下方式对任务进行分组的字段名称

  • disable_drag_drop
    如果设置为true,甘特图视图将没有任何拖放支持

  • consolidation
    在记录单元格中显示合并值的字段名

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

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

  • create, cell_create, edit, delete, plan
    允许通过将相应属性设置为false(默认值:true)来禁用视图中的相应操作

    • create:如果启用,将在控制面板中提供添加按钮以创建记录

    • cell_create:如果启用并启用创建,则将鼠标悬停在时隙单元格上以在该时隙上创建新记录时将显示“+”按钮

    • edit: 如果启用,打开的记录将处于编辑模式(因此可编辑)。

    • plan:如果启用并启用编辑功能,将在时隙上显示一个"放大镜"按钮,以将未分配的记录计划到该时隙中

  • offset
    根据刻度,今天要添加的单位数来计算默认周期。示例:default_scale周的偏移量为+1将打开下周的甘特图,default_scale月的偏移量为-2将打开2个月前的甘特图。

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

  • string
    甘特视图的标题

  • precision
    JSON对象指定每个刻度中药丸的捕捉精度
    刻度日的可能值为(默认值:hour)

    • hour: 记录时间快照到完整的小时 (ex: 7:12 becomes 8:00)

    • hour:half: 记录时间为半小时 (ex: 7:12 becomes 7:30)

    • hour:quarter: 记录时间为半小时(ex: 7:12 becomes 7:15)

    刻度周的可能值为(默认值:day:half)

    • day: 记录时间快照到全天 (ex: 7:28 AM becomes 11:59:59 PM of the previous day, 10:32 PM becomes 12:00 PM of the current day)

    • day:half: 记录时间为半小时 (ex: 7:28 AM becomes 12:00 PM)

    刻度月的可能值为 (default: day:half):

    • day: 记录时间快照到全天 (ex: 7:28 AM becomes 11:59:59 PM of the previous day, 10:32 PM becomes 12:00 PM of the current day)

    • day:half:记录时间为半小时 (ex: 7:28 AM becomes 12:00 PM)

    比例年总是捕捉到全天
    精度属性示例: {“day”: “hour:quarter”, “week”: “day:half”, “month”: “day”}

  • total_row
    布尔值来控制是否应该显示包含记录总数的行 (default: false)

  • collapse_first_level
    布尔值来控制如果按一个字段分组是否可以折叠每行。(默认值:false,按两个字段分组时开始折叠)

  • display_unavailability
    布尔值将模型的gantt_unavailability函数返回的日期标记为甘特视图中的可用日期。记录仍然可以在其中调度,但它们的不可用会直观地显示出来。(默认值:假)

  • default_scale
    呈现视图时的默认比例。可能的值是(默认值:月):

    • day

    • week

    • month

    • year

  • scales
    此视图允许的标度以逗号分隔的列表。默认情况下,允许所有标度。有关此列表中可能使用的标度值,请参见default_scale

  • templates
    定义QWeb模板模板gant-popover,当用户将鼠标悬停在gantt视图中的一条记录上时使用该模板。

    gantt视图使用大多数标准的javascript qweb并提供以下上下文变量:

    • widget
      当前的GanttRow()可用于获取一些元信息。在颜色整数中转换的getColor方法也可以直接在模板上下文中使用,无需使用小部件

    • on_create
      如果在单击视图上的添加按钮时指定,而不是打开一个通用对话框,启动一个客户端操作。这应该保存该操作的xmcover(例如:on_create=“%(my_module.my_wizard)d”

  • form_view_id
    视图在用户创建或编辑记录时打开。请注意,如果未设置此属性,甘特图视图将回退到当前操作中表单视图的id(如果有)

  • dynamic_range
    如果设置为true,甘特图将从第一条记录开始,而不是从年/月/日开始。

  • thumbnails
    如果组是关系字段,这允许在组名称旁边显示缩略图。这需要一个python判断,哪个键是活动模型上字段的名称。值是相关模型上保存缩略图的字段的名称。

案例

使用Odoo看板视图中的model,创建起始和结束时间字段,字段类型必须为Datetime类型

    start_date = fields.Datetime(string="开始时间",default=fields.Date.today())
    end_date = fields.Datetime(string='结束时间', default=fields.Date.today())

新增甘特图

<record model="ir.ui.view" id="view_gantt">
    <field name="name">gantt</field>
    <field name="model">test_demo.comics</field>
    <field name="arch" type="xml">
        <gantt string="gantt"  date_start="start_date " date_stop="end_date" >
            <field name="name"/>
            <field name="total"/>
            <field name="score"/>
            <field name="cover_image" widget="image"/>
        </gantt>
    </field>
</record>

在显示视图的action中,引入gantt

<record id="act_comics_view" model="ir.actions.act_window">
    <field name="name">comics</field>
    <field name="res_model">test_demo.comics</field>
    <field name="view_mode">tree,kanban,calendar,gantt,form</field>
</record>

注:社区版不支持甘特图!所以不会显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值