问题描述
我已经将我的模块从 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 (将#修改为@)