微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Orderline 正在表管理中重新初始化

如何解决Orderline 正在表管理中重新初始化

我已经将我的模块从 12 版迁移到 13 版,但我仍然无法理解 (init_from_json) 和 (export_as_json) 这两个函数的概念。我有一个组合包模块。当我第一次选择组合包交易时,它在 POS 订单行中运行良好,但是当我将 table1 更改为 table2 并从 table2 返回到 table1 时,组合包交易产品显示为单个产品或单个产品,并且在v12.如果我在控制台中看到它,则每次单击 POS 表时,POS 订单行都会重新初始化。我被困在这个阶段。您的回复将不胜感激。这是我的订单代码

var _super_order_line = models.Orderline.prototype;
    models.Orderline = models.Orderline.extend({
        init_from_JSON: function(json) {
           _super_order_line.init_from_JSON.call(this,json);
           var self = this
           if(json.is_pack){
              this.pack_data = []
              _.each(json.combo_ids,function(item){
                 item = item[2]
                 self.pack_data.push({
                  'product_id':self.pos.db.get_product_by_id(item.product_id),'qty':item.qty * json.qty,});
                })
           }
           if(json.is_extra){
              this.order_menu = json.order_menu
           }
        },export_as_JSON: function(){
            var self = this;
            var own_line = [];
            var total_price = 0;
            var json = _super_order_line.export_as_JSON.apply(this,arguments);
            console.log('EXPORT AS JSON: ',json);
            if(this.product.is_extra && this.own_data){
                _.each(this.own_data,function(item){
                    own_line.push([0,{'product_id':item.product_id.id,'name':item.product_id,'qty':self.get_quantity(),'price':item.price,'price_subtotal_incl':0.0,'price_subtotal':0.0,}]);
                    total_price += item.price;
                });
                json.order_menu = this.order_menu
            }
            if (this.product.is_extra){
                json.price_unit = total_price;
            }
            json.price_unit = this.price;
            json.is_extra = this.product.is_extra;
            json.own_ids = this.product.is_extra ? own_line : [];
            var combo_line = []
            if(self.product.is_pack && self.pack_data){
                console.log('self.pack_data',self.pack_data)
                _.each(self.pack_data,function(item){
                    combo_line.push([0,{
                                            'product_id':item.product_id.id,'qty':item.qty *                                                     self.get_quantity(),}]);
                })
            }
            console.log(combo_line);
            json.is_pack = this.product.is_pack;
            json.combo_ids = this.product.is_pack ? combo_line : [];
            return json;
        },});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。