zoukankan      html  css  js  c++  java
  • odoo 分组视图下显示同一批次记录的总数

    修改前:

    修改后:

    xml文件:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- vim:fdn=3:
    -->
    <openerp>
        <data>
            <template id="assets_backend" name="rhwl_gene_inherit assets" inherit_id="web.assets_backend">
                <xpath expr="." position="inside">
                    <script type="text/javascript" src="/rhwl_gene_inherit/static/js/rhwl_gene_inherit.js"></script>
                </xpath>
            </template>
        </data>
    </openerp>

    js文件:

    openerp.rhwl_gene_inherit = function (instance) {
    var _t = instance.web._t,
    _lt = instance.web._lt;
    var QWeb = instance.web.qweb;

    instance.web.rhwl_gene_inherit = instance.web.rhwl_gene_inherit || {};

    instance.web.rhwl_gene_inherit.SearchView = instance.web.ListView.Groups.extend({
    init: function (view, options) {
    this._super.apply(this, arguments);
    // all_batch_str :全局变量用于保存批次名和该批次对应的数量
    this.all_batch_str = {};
    var self = this;
    var Mod = new instance.web.Model('rhwl.easy.genes.new');
    Mod.call("get_all_batch_num").then(function(all_batch_num) {
    self.all_batch_str = all_batch_num;
    });
    },

    render_groups: function (datagroups) {
    var self = this;
    for ( var i = 0; i < datagroups.length; i++) {
    if (datagroups[i].grouped_on === "batch_no"){
    var batch_no_name = datagroups[i].value;
    var current_num = datagroups[i].length;
    for (batch_str in self.all_batch_str) {
    if (batch_str === batch_no_name){
    datagroups[i].length = current_num+"/"+self.all_batch_str[batch_str];
    }
    }
    }
    }
    placeholder = this._super.apply(this, arguments);
    return placeholder;
    }
    });

    instance.web.views.add('rhwl_gene_inherit_ListView', 'instance.web.rhwl_gene_inherit.ListView');
    instance.web.rhwl_gene_inherit.ListView = instance.web.ListView.extend({
    init: function (parent, dataset, view_id, options) {
    this._super(parent, dataset, view_id, _.extend(options || {}, {
    GroupsType: instance.web.rhwl_gene_inherit.SearchView
    }));
    }
    });
    };

    py文件:

        def get_all_batch_num(self, cr, uid, context=None):
            res = {}
            sql_str = "SELECT batch_no, count(*) as batch_count from rhwl_easy_genes_new WHERE  batch_no is not NULL GROUP BY batch_no "
            cr.execute(sql_str)
            for i in cr.fetchall():
                res.update({i[0]: i[1]})
            return res
  • 相关阅读:
    linux运维之分析系统负载及运行状况
    linux运维之分析日志相关命令(1)
    centos7修改网卡名称为eth0
    LANMP环境编译参数查看方法
    自动化部署之搭建yum仓
    浙大 PAT 乙级 1001-1075 目录索引
    更改docker服务网段分配地址
    MySQL主从复制(Replication for Backup)
    MySQL读写分离-简单思考
    NGINX负载均衡缓存配置
  • 原文地址:https://www.cnblogs.com/dancesir/p/10724350.html
Copyright © 2011-2022 走看看