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 | ... | ... |