0

我正在尝试在 POS 按钮中添加一些功能,特别是显示为“验证”的按钮。要测试此链接https://odoo-development.readthedocs.io/en/latest/dev/pos/gui.html中的指南是否有效,我只是添加了一个 console.log,如下所示:

odoo.define('my_module.js_file', function (require) {
    "use strict";

    var screens = require('point_of_sale.screens');

    screens.PaymentScreenWidget.include({
    init: function(parent, options) {
        this._super(parent, options);
        //My console log message
        console.log('Hello world!')
        this.pos.on('updateDebtHistory', function(partner_ids){
            this.update_debt_history(partner_ids);
      }, this);
    },
  });

但是该消息仅在 POS 结束加载数据时显示一次,而不是在我按下按钮时显示。我在这里做错了什么?

4

1 回答 1

1

要将代码添加到Validate按钮,您需要通过该include方法修改支付屏幕小部件(您已经这样做了)。

如果您从浏览器中检查该按钮,您会发现它有一个next用于将事件处理程序绑定到click JavaScript 事件的类。

示例

var screens = require('point_of_sale.screens');
var PaymentScreenWidget = screens.PaymentScreenWidget;

PaymentScreenWidget.include({

    validate_order: function(force_validation) {
        console.log('Hello world!');
        this._super(force_validation);
    },

});
于 2020-04-12T05:32:43.043 回答