一、加入购物车的时候判断是否已经存在该条数组,如果有,则将已存在数据数量加1,不存在就连接两个数组,加入到已有数组列表
/* 加入购物车 */
addCart:function(e){
var that=this;
var index = e.currentTarget.dataset.index; //数量
//新定义一个数组用来装新添加入购物车的数据
var newarray = [{
orderDFoodName: this.data.addname,
orderDFoodPrice: this.data.addprice,
orderDNumber: this.data.num,
orderDTaste: this.data.kouwei,
orderDFoodGuid:this.data.foodid, //orderDOrderGuid:this.data.comid
}];
//var i=0;
//合并相同id和口味的数据 循环比较id和口味
console.log('购物车列表长度',this.data.orderList.length);
if(this.data.orderList.length==0){
console.log('第一个添加的');
this.setData({
orderList: newarray.concat(this.data.orderList)
})
}else{
var listcon=[];
for(var i=0;i<this.data.orderList.length;i++){
var foodnum=this.data.orderList[i].orderDFoodGuid;
var ftast=this.data.orderList[i].orderDTaste; console.log('套餐id',i,foodnum);
console.log('口味',i,ftast);
var newid=this.data.foodid;
var newtast=this.data.kouwei;
console.log('新数组id',newid);
console.log('新数组口味',newtast);
if(foodnum==newid && ftast==newtast){
var sum=this.data.orderList[i].orderDNumber;
sum=sum+index;
console.log('数量',sum);
this.data.orderList[i].orderDNumber=sum;
newarray=[];//合并后清空新数组
}else{
console.log('不一样的时候不清空newarry');
}
}
this.setData({
orderList: newarray.concat(this.data.orderList),
//合并到购物车列表
})
}
this.setData({
HZL_num: parseFloat((this.data.HZL_num+this.data.num).toFixed(0)),
//购物车总数
//orderList: newarray.concat(this.data.orderList),
//合并到购物车列表
showModalStatus: !this.data.showModalStatus, //点击加入购物车。关闭弹出框
//total:
this.data.total+this.data.num*this.data.options[index].price //计算总价格
total:parseFloat((this.data.total + index *
this.data.addprice).toFixed(2)),
'HZL_my_cat.price': this.data.addprice,
'HZL_my_cat.num': this.data.num,
'HZL_my_cat.name': this.data.addname
})
console.log(this.data.orderList);
},