如何修改 POS 中的支付界面 (Odoo 10)

How to modify Payment Interface in POS (Odoo 10)

我目前在 Odoo 上的 POS 上苦苦挣扎。我是使用 Javascript.

修改 Odoo 前端的新手

我已经看过不同的模块,但我很困惑,我已经搜索过了,但我在 Odoo 的旧版本(版本 8 和 9)中找到了相关问题和解决方案。

我只想在支付界面的"Cash (USD)"按钮下方添加"Care of"按钮,并添加一些功能

但是

它出现在小键盘窗格上方的左窗格中。

使用这行代码。

pos_custom/static/src/js

pos_custom.js

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

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

var careOfButton = screens.ActionButtonWidget.extend({
    template: 'careOfButton',

    button_click: function(){
        var self = this;
        this.gui.show_popup('selection',{
            'title': 'Welcome to JS world',

        });
    },

});

    screens.define_action_button({
        'name': 'careOf',
        'widget': careOfButton,
    });
});

pos_custom/static/src/xml

pos_custom.xml

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">

    <t t-name="careOfButton">
        <div class='control-button'>
            <i class='fa fa-tag' /> Care of
        </div>
    </t>

</templates>

请帮助我。任何建议/可能的解决方案。谢谢

您必须继承模板 PaymentScreen-Paymentmethods 并将您的按钮放在所有付款方式之后,您的模板应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" inherit_id="point_of_sale.template">

<t t-extend="PaymentScreen-Paymentmethods">
    <t t-jquery="div[class='paymentmethods']" t-operation="after">
        <div class='control-button'>
            <i class='fa fa-tag' /> Care of
        </div>
    </t>
</t>

对于 jquery 选择器,请查看 documentation

希望这个回答能对您有所帮助。