如何在自定义POS弹出窗口上使用条形码扫描仪?

问题描述 投票:6回答:1

我正在尝试创建一种形式,这将简化我尚未注册的产品的添加到我的小商店的命名法。为此,我创建了以下形式的模块:

<t t-extend="ConfirmPopupWidget">
    <t t-jquery="p.body" t-operation="replace">
        <div class="product-container">
            <div id="search_row" style="padding-bottom: 12px;padding-top: 11px;border-bottom: 1px solid gray;">
                <label>Barcode </label>
                <input style="height: 18px;" type="text" id="is_ean13" class="search" placeholder="EAN13 Barcode"/>
            </div>
            <div class="form-group">
                <label for="is_name" class="col-sm-2 control-label">Product Name </label>
                <div class="col-sm-10">
                    <input type="text" id="is_name" class="form-control" placeholder="Product name" style="height: 32px;background-color:#D2D2FF"/>
                </div>
            </div>
            <div class="form-group">
                <label for="is_sale_price" class="col-sm-2 control-label">Sale price</label>
                <div class="col-sm-10">
                    <input type="text" id="is_sale_price" class="form-control" placeholder="Sale Price"/>
                </div>
            </div>
            <div class="form-group">
                <label for="is_internal_reference" class="col-sm-2 control-label">Internal Reference</label>
                <div class="col-sm-10">
                    <input type="text" id="is_internal_reference" class="form-control" placeholder="Internal Reference"/>
                </div>
            </div>
        </div>
    </t>
</t>

我想从条形码扫描仪填充ean13条形码字段“is_ean13”,它已经被POS接口使用,但无法使其正常工作。

odoo.define('instant_sale.add_product', function (require) {
    "use strict";
    var bus = core.bus;
    // bind event handler
    bus.on('barcode_scanned', this, function(barcode) {
        this.scan(barcode);
    })
});

因为它是在https://media.readthedocs.org/pdf/odoo-development/latest/odoo-development.pdf第38页写的,但似乎我遗漏了一些东西,因为我无法捕捉到任何事件。

如何在POS界面中捕获条形码事件。任何帮助都非常感谢。谢谢!

javascript odoo odoo-9 qweb
1个回答
-1
投票

当条形码扫描器扫描某些东西时,它会像是键盘一样写入,然后点击输入。这是您获取扫描信息的方式。

因此,您需要在打开视图时将焦点放在字段输入上,以便扫描程序在正确的html输入中进行写入。

© www.soinside.com 2019 - 2024. All rights reserved.