将总标签添加到树页脚odoo 12

Add total label to tree footer odoo 12

我需要在树的最后一行添加总计标签,最后一行用于求和值,如何编辑树脚?

view.xml

<xpath expr="//field[@name='field_list']/tree/field[@name='name']" position="after">
  <field name="field1" sum="Total Field 1"/>
  <field name="field2" sum="Total Field 2"/>
  <field name="field3" sum="Total Field 3"/>
</xpath>           

截图

有没有办法编辑树脚?

列表页脚用于显示聚合(sumavg),它呈现在 ListRenderer_renderFooter 中。

方法文档字符串:

/**
     * Render the footer.  It is a <tfoot> with a single row, containing all
     * aggregates, if applicable.
     *
     * @private
     * @returns {jQueryElement} a <tfoot> element
     */

计算聚合的方法会检查字段类型,如果字段类型不是以下integerfloatmonetary之一,计算将被忽略。

您可以更改 _renderFooter 以便能够使用字段属性提供要在页脚中显示的静态文本。

示例:

var ListRenderer = require("web.ListRenderer");
ListRenderer.include({
        _renderFooter: function () {
            var res = this._super();
            _.each(this.columns, function (column) {
               if(!('aggregate' in column) && column.attrs.text) {
                   res.find('.'+column.attrs.name).text(column.attrs.text);
               }
            });
            return res;
        },
});  

要添加以上代码,请查看 Assets Management 文档。

要在相应列的页脚显示文本,请在字段标签中设置text属性(如果字段包含聚合,文本将被忽略)。

<field name="total" text="Total"/>