为了账号安全,请及时绑定邮箱和手机立即绑定

使用javascript修改POS odoo中的删除订单功能

使用javascript修改POS odoo中的删除订单功能

江户川乱折腾 2023-07-06 19:44:06
我想修改这个“减号按钮”,如果用户单击生成令牌,则该按钮将对该订单禁用。简单来说,为其订单生成令牌的用户无法删除其当前令牌。
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

我想出了一些临时修复方案,但这不是解决方案:


好的,基本上我就是这么做的


PosBaseWidget.include({


          init: function(parent, options) {

            this._super(parent, options);


        },

        get_order_by_uid: function(uid) {

        var orders = this.pos.get_order_list();

        for (var i = 0; i < orders.length; i++) {

            if (orders[i].uid === uid) {

//                 this.pos.get_order().token_number=Token;

                return orders[i];

            }

        }

        return undefined;

    },

        deleteorder_click_handler: function(event, $el) {

            var self  = this;

            var order = this.pos.get_order();


            if (!order) {

                return;

            } else if ( !order.is_empty() ){


                this.gui.show_popup('confirm',{

                    'title': _t('Destroy Current Order ?'),

                    'body': _t('You will lose any data associated with the current order'),

                    confirm: function(){

                        self.pos.delete_current_order();

                    },

                });

            } else {

                this.pos.delete_current_order();

            }

        },

          renderElement: function(){

            var self = this;

            this._super();

            this.$('.order-button.select-order').click(function(event){


            });

            this.$('.neworder-button').click(function(event){

                self.neworder_click_handler(event,$(this));

            });

            this.$('.deleteorder-button').click(function(event){

                if(Token == null )

               {

                    self.deleteorder_click_handler(event,$(this));


               }

                else

                {

                    self.neworder_click_handler(event,$(this));

                      this.pos.get_order().order_progress="In progress";


                }

            });


        }


});


where 

     var PosBaseWidget = require('point_of_sale.BaseWidget');

     var Token = Math.floor((Math.random() * 1000) + 1000);

令牌实际上在这里帮助为当前会话中的每个订单分配随机唯一编号,这只是对我的问题的临时解决方案,并且还产生了一些新问题*例如“新订单按钮[+签名按钮]一键创建两个订单”。*


作为 odoo 的新手,对其 javascript 来说是陌生的(不是常规的 javascript )


我每天都在开发模块来改进这一点。在找到对我的问题更持久的解决方案后将进行更新。非常感谢建议、提示、意见和建议。


查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信