Commit 773836e4e6074792756f78c454c16267695d12d3
1 parent
2b165cd7
购物车侯
Showing
1 changed file
with
76 additions
and
11 deletions
pages/cart/cart2/cart2.js
... | ... | @@ -2544,6 +2544,15 @@ Page({ |
2544 | 2544 | |
2545 | 2545 | //房间号的ids |
2546 | 2546 | var room_ids = ""; |
2547 | + | |
2548 | + //-- 把券的钱,写入从表 --- | |
2549 | + if (t_item.quan_youhui_list && t_item.coupon_price) { | |
2550 | + for (var kk in t_item.quan_youhui_list) { | |
2551 | + var you_item = t_item.quan_youhui_list[kk]; | |
2552 | + //-- 对券的价格进行平摊 -- | |
2553 | + await th.split_set_goods_quanprice(you_item,t_item); | |
2554 | + } | |
2555 | + } | |
2547 | 2556 | //-------------让商品添加到商品列表-------------------- |
2548 | 2557 | for (var k = 0; k < t_item.goods.length; k++) { |
2549 | 2558 | var g_item = t_item.goods[k]; |
... | ... | @@ -2567,17 +2576,6 @@ Page({ |
2567 | 2576 | goods.pricing_type = g_item.pricing_type; |
2568 | 2577 | } |
2569 | 2578 | |
2570 | - //--把券的钱,写入从表--- | |
2571 | - if (t_item.quan_youhui_list && t_item.coupon_price) { | |
2572 | - for (var kk in t_item.quan_youhui_list) { | |
2573 | - var you_item = t_item.quan_youhui_list[kk]; | |
2574 | - if (g_item.prom_type!=7 && g_item.erpwareid == you_item.WareId) { | |
2575 | - goods.quan_num = you_item.WareCashSum; | |
2576 | - goods.quan_no = you_item.CashRepNo; | |
2577 | - } | |
2578 | - } | |
2579 | - } | |
2580 | - | |
2581 | 2579 | //--判断活动的类型-- |
2582 | 2580 | switch (g_item.prom_type) { |
2583 | 2581 | case 1: |
... | ... | @@ -4040,6 +4038,73 @@ Page({ |
4040 | 4038 | go_url:function (e) { |
4041 | 4039 | var url = e.currentTarget.dataset.url; |
4042 | 4040 | getApp().goto(url); |
4041 | + }, | |
4042 | + | |
4043 | + //进行对商品的平摊g_item是单个商品,you_item是这个商品分多少优惠券的钱,goods是商品列表 | |
4044 | + split_set_goods_quanprice:async function (you_item,t_item) { | |
4045 | + var coupon_price=t_item.coupon_price; | |
4046 | + var goods=t_item.goods; | |
4047 | + var arr=[]; | |
4048 | + //判断是不是有goods_id重复 | |
4049 | + for(var i=0;i<goods.length;i++){ | |
4050 | + if(goods[i].prom_type!=7 && goods[i].erpwareid==you_item.WareId){ | |
4051 | + var gg_ite={ | |
4052 | + goods_id:goods[i].goods_id, | |
4053 | + goods_num:goods[i].goods_num, | |
4054 | + goods_price:goods[i].goods_price, | |
4055 | + }; | |
4056 | + if(goods[i].account) gg_ite.goods_price=goods[i].account; | |
4057 | + gg_ite.idx=i;arr.push(gg_ite); | |
4058 | + } | |
4059 | + } | |
4060 | + | |
4061 | + if(arr.length<=0) return false; | |
4062 | + if(arr.length==1){ | |
4063 | + var idx=arr[0].idx; | |
4064 | + t_item.goods[idx].quan_num =Math.floor(coupon_price* 100) / 100; | |
4065 | + t_item.goods[idx].quan_no=t_item.quan_no; | |
4066 | + return false; | |
4067 | + } | |
4068 | + | |
4069 | + var pt_data = { | |
4070 | + 'dis': parseFloat(coupon_price), | |
4071 | + 'goods': arr, | |
4072 | + } | |
4073 | + | |
4074 | + var pt_res = null; | |
4075 | + await getApp().request.promisePost("/api/weshop/order/getGoodsSplit", { | |
4076 | + is_json: 1, | |
4077 | + data: pt_data | |
4078 | + }).then(res => { | |
4079 | + if (res.data.code == 0) { | |
4080 | + pt_res = res.data.data; | |
4081 | + } | |
4082 | + }) | |
4083 | + if (pt_res) { | |
4084 | + var q_s_num = 0; | |
4085 | + for (var i in pt_res) { | |
4086 | + var idx = pt_res[i].idx; | |
4087 | + //有account的实收价,就要用account实收价 | |
4088 | + var price=(t_item.goods[idx].account?t_item.goods[idx].account:t_item.goods[idx].goods_price); | |
4089 | + price=(price - pt_res[i].fisrt_account)* t_item.goods[idx].goods_num; | |
4090 | + t_item.goods[idx].quan_num =price; | |
4091 | + | |
4092 | + t_item.goods[idx].quan_num =Math.floor(t_item.goods[idx].quan_num * 100) / 100; | |
4093 | + t_item.goods[idx].quan_no=t_item.quan_no; | |
4094 | + q_s_num += t_item.goods[idx].quan_num; | |
4095 | + } | |
4096 | + | |
4097 | + if (q_s_num > parseFloat(coupon_price) || q_s_num < parseFloat(coupon_price)){ | |
4098 | + for (var ik in arr) { | |
4099 | + if (arr[ik].goods_num == 1) { | |
4100 | + var id = arr[ik].idx; | |
4101 | + var pri=Math.floor(coupon_price*100)/100-Math.floor(q_s_num*100)/100 | |
4102 | + t_item.goods[id].quan_num+=pri; | |
4103 | + break; | |
4104 | + } | |
4105 | + } | |
4106 | + } | |
4107 | + } | |
4043 | 4108 | } |
4044 | 4109 | |
4045 | 4110 | ... | ... |