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,6 +2544,15 @@ Page({ | ||
2544 | 2544 | ||
2545 | //房间号的ids | 2545 | //房间号的ids |
2546 | var room_ids = ""; | 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 | for (var k = 0; k < t_item.goods.length; k++) { | 2557 | for (var k = 0; k < t_item.goods.length; k++) { |
2549 | var g_item = t_item.goods[k]; | 2558 | var g_item = t_item.goods[k]; |
@@ -2567,17 +2576,6 @@ Page({ | @@ -2567,17 +2576,6 @@ Page({ | ||
2567 | goods.pricing_type = g_item.pricing_type; | 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 | switch (g_item.prom_type) { | 2580 | switch (g_item.prom_type) { |
2583 | case 1: | 2581 | case 1: |
@@ -4040,6 +4038,73 @@ Page({ | @@ -4040,6 +4038,73 @@ Page({ | ||
4040 | go_url:function (e) { | 4038 | go_url:function (e) { |
4041 | var url = e.currentTarget.dataset.url; | 4039 | var url = e.currentTarget.dataset.url; |
4042 | getApp().goto(url); | 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 |