zoukankan      html  css  js  c++  java
  • Odoo8模块中增加延时自动消失的提示

    在odoo中,如果必要栏位没有值,在保存时右上角会有如下图的提示,该提示会延时并自动关闭。

    1

    有网友问如何在自己的模块中增加这样的提示,以方便用户在操作时,能提示一些必要的信息。下面例出大致的步骤以供参考:

    1.一般来说我们是在py中执行到一些业务逻辑的时候需要提示,所以先看在py脚本中怎么来写,格式如下:

    def get_express_list(self, cr, uid, ids, context=None):  
                obj = self.browse(cr,uid,ids,context=context)  
                return {  
                    'type': 'ir.actions.client',  
                    'tag': 'get_sf_express_list',  
                    'target': 'new',  
                    'params':{'num_express':obj.num_express},  
                }

    我这个是用户点一个按钮,执行前端的一个js动作。这里的tag很重要,跟后面的js代码定义要一致。

    2.然后在模块的src/js/中建一个js文件,脚本大致内容如下:

    openerp.rhwl = function(instance) {  
            var _t = instance.web._t,  
                _lt = instance.web._lt;  
            var QWeb = instance.web.qweb;  
          
            instance.rhwl.getexpresslist = instance.web.Widget.extend({  
                init: function(parent,action){  
                    this._super(parent, action);  
                    this.action = action;  
                },  
                start: function () {  
                    var self = this;  
                    self.do_warn(_t("Get"), _t("获取成功"));  
                }  
            });  
          
            instance.web.client_actions.add("get_sf_express_list", "instance.rhwl.getexpresslist");  
        }

    前面openerp.rhwl中的rhwl是你的模块名称,这是odoo通用格式,红色的内容与py脚本中tag属性值要一致,然后在start方法调用do_warn或do_notify两个函数都可以。

    这个js大致的功能是这样子,在你的模块中给instance对象定义一个新的继承自instance.web.Widget对象的新对象 instance.rhwl.getexpresslist,并且将该对象注册到前端活动中,前后端通过get_sf_express_list字串来进行沟通调用。

    3.把js文件加载到模块__openerp__中,升级模块,你就可以看到效果了,我这里提示的信息是固定的,其实可以把标题和内容通过参数方式传过来。py调用时"params"可以设定传入的参数名和值(就是dict的key和value),在js中通过this.action.params来获取。

  • 相关阅读:
    layui flow loading占位图实现方法
    layui弹出层layer的area过大被遮挡
    layui 复选框checkbox 实现全选全选
    axios 设置headers token
    elementUI vue this.$confirm 和el-dialog 弹出框 移动
    vue + axios + formdata 上传文件带参数的爬坑之路
    Java四舍五入时保留指定小数位数
    List containsKey 和Map contains 判断集合中是否包含某个值
    BigDecimal 基本使用 比较大小和加减乘除
    springMVC返回json数据乱码问
  • 原文地址:https://www.cnblogs.com/chjbbs/p/5200263.html
Copyright © 2011-2022 走看看