odoo16 实现扫码枪连续扫描功能

文章讲述了如何在Odoo16中通过修改前端js代码,监听扫码字段的change事件,实现扫码后自动保存的功能。通过添加一个延迟检查,只有当扫描结果为合格时才会触发自动保存,否则需要手动处理。作者提到对Odoo前端的不熟悉导致实现方式较为直接,计划进一步研究前端框架。
摘要由CSDN通过智能技术生成

odoo16 实现扫码枪连续扫描功能

其实要实现这个功能很简单,只要在前端js里监控扫码字段的change事件。 当满足要求,调用保存按钮的click方法,自动保存。这样扫码工人就不需要操作电脑了,可是由于对odoo前段代码不熟悉,这么个小功能花了我一周左右的时间,虽然问题解决了,但是实现的方式很暴力。不管怎么样,先解决问题再说吧。

addons/web/static/src/views/fields/input_field_hook.js

修改这个源文件,改其中的 onchange方法

  /**
     * On blur, we consider the field no longer dirty, even if it were to be invalid.
     * However, if the field is invalid, the new value will not be committed to the model.
     */
    function onChange(ev) {
        if (isDirty) {
            .......
        }
        // add by fatux  20230615
        // 调用自己的函数
        _myOnChange(ev)
    }
    
    
	// add by fatux
    // 自动保存数据
    function _myOnChange(ev){
    
        console.log(ev)
    
        let uri = ev.srcElement.baseURI
        let arr = uri.split("&")
        if (arr.length>=2 && arr[arr.length-1]==="view_type=form" && arr[arr.length-2]==="model=hx.tsl.info" ){
            if (ev.srcElement.id==="scanner_no"){
                setTimeout(()=>{
                debugger
                    if ($("div[name='is_pass']").text() === "合格"){
                        $(".o_form_button_create").click()
                    }
                },2000)
            }
        }
    }

当scanner_no扫描完之后,后台会执行一些onchange方法,然后is_pass会显示合格或者不合格
如果合格就自动保存,这里做了一个2秒钟的延时。 如果不合格需要手工处理。

odoo16 还是不熟悉,前端框架值得好好研究一下,后面有更好的办法再说。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Odoo 16企业版是一款全功能源码,它提供了完整的企业管理解决方案。它拥有强大的模块化架构,允许用户根据自己的需求选择和定制不同的模块。 首先,Odoo 16企业版包含了各种核心功能模块,如销售、采购、库存、会计、人力资源管理等。这些模块覆盖了企业运营中的各个方面,帮助企业管理和跟踪销售订单、库存流动、财务状况等。 此外,Odoo 16企业版还拥有一系列拓展模块,如CRM、电子商务、制造、项目管理等。这些模块可以根据企业的需求进行安装和配置,并与核心模块实现无缝集成。这让企业能够更好地管理客户关系、进行在线销售、规划生产流程等。 除了这些基本功能外,Odoo 16企业版还提供了丰富的附加功能,如报表和分析、界面定制、安全权限控制等。用户可以根据自己的喜好和需要来定制和适配系统的界面和功能。 最后,Odoo 16企业版的全功能源码允许企业进行更深入的定制和扩展。开发者可以基于现有的模块和框架来创建自己的定制模块,并与现有模块进行集成。这为企业提供了更大的灵活性和可定制性。 总之,Odoo 16企业版全功能源码提供了一个强大的企业管理平台,帮助企业实现更高效的运营和管理。无论是小型企业还是大型企业,都可根据自身需求来使用和定制Odoo 16企业版,提升企业的竞争力和效益。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值