Commit fef0c4c0ec3e15674ad48055e6c8ccf2be826345
1 parent
2daab0cd
1.就是优惠券的钱要减掉来判断包邮的条件
2. 购买等级卡返回
Showing
1 changed file
with
72 additions
and
67 deletions
pages/cart/cart2/cart2.js
| ... | ... | @@ -120,7 +120,8 @@ Page({ |
| 120 | 120 | wx.setNavigationBarTitle({ title: "填写订单",}) |
| 121 | 121 | var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow,}); |
| 122 | 122 | th.data.param=t; |
| 123 | - | |
| 123 | + //清理一下,确保最新的系统配置 | |
| 124 | + getApp().globalData.config2=null; | |
| 124 | 125 | //清空is_pick_up |
| 125 | 126 | getApp().request.put("/api/weshop/useraddress/updatePickUp", { |
| 126 | 127 | data: {user_id: getApp().globalData.user_id, is_pickup: 0}, |
| ... | ... | @@ -207,11 +208,13 @@ Page({ |
| 207 | 208 | },500)--*/ |
| 208 | 209 | |
| 209 | 210 | }); |
| 210 | - //--更新默认地址--,看一下是不是跳到地址页面 | |
| 211 | - if(!getApp().globalData.is_cart_old){ | |
| 211 | + var is_card_back=getApp().globalData.is_card_back; | |
| 212 | + //--更新默认地址--,看一下是不是跳到地址页面,同时也不是购买等级卡返回的,这里很重要,否则会重新更新收货物流公司 | |
| 213 | + if(!getApp().globalData.is_cart_old && !is_card_back && !getApp().globalData.plus_buy_back){ | |
| 212 | 214 | this.update_code(); |
| 213 | 215 | }else{ |
| 214 | 216 | getApp().globalData.is_cart_old=0; |
| 217 | + getApp().globalData.plus_buy_back=0; | |
| 215 | 218 | } |
| 216 | 219 | } |
| 217 | 220 | |
| ... | ... | @@ -984,7 +987,37 @@ Page({ |
| 984 | 987 | var o_price=0; |
| 985 | 988 | var o_shipping_price=0,goods_weight=-1, goods_piece=-1; |
| 986 | 989 | var item=c_arr[i].goods; //就是每一单的从表的意思 |
| 987 | - | |
| 990 | + | |
| 991 | + //---如果有选择优惠券的情况下--- | |
| 992 | + var quan_price=0; | |
| 993 | + var coupon_price=0; | |
| 994 | + var quan_no= null; | |
| 995 | + | |
| 996 | + if(th.data.using_quan[pickid]!=null && th.data.using_quan[pickid]!=undefined) | |
| 997 | + quan_no=th.data.using_quan[pickid].coupon_no; | |
| 998 | + | |
| 999 | + //普通券的时候 | |
| 1000 | + if(quan_no && th.data.using_quan[pickid].isby!=1){ | |
| 1001 | + //---获取优惠券优惠--- | |
| 1002 | + await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { | |
| 1003 | + data: { | |
| 1004 | + storeId: oo.stoid, | |
| 1005 | + CashRepNo: quan_no, | |
| 1006 | + WaresSum: cart_item.check_quan_price_list, | |
| 1007 | + WareIds: cart_item.check_quan_ware_list | |
| 1008 | + } | |
| 1009 | + }).then(res => { | |
| 1010 | + if (res.data.code == 0 && res.data.data.length > 0) { | |
| 1011 | + var q_data = res.data.data; | |
| 1012 | + //--存储商品优惠的内容-- | |
| 1013 | + cart_item.quan_youhui_list = q_data; | |
| 1014 | + for (var k in q_data) | |
| 1015 | + quan_price += q_data[k].WareCashSum; | |
| 1016 | + } | |
| 1017 | + }) | |
| 1018 | + } | |
| 1019 | + | |
| 1020 | + | |
| 988 | 1021 | //--------循环计算总价----------- |
| 989 | 1022 | for(var j=0;j<item.length;j++){ |
| 990 | 1023 | o_price += item[j].goods_price * item[j].goods_num; |
| ... | ... | @@ -996,14 +1029,14 @@ Page({ |
| 996 | 1029 | |
| 997 | 1030 | //判断包邮券的钱 |
| 998 | 1031 | var q_conditin=0; |
| 999 | - q_conditin=o_price; | |
| 1032 | + q_conditin=o_price-quan_price; | |
| 1000 | 1033 | |
| 1001 | 1034 | cart_item.goods_price = f_o_price.toFixed(2); //商品总费用,用f_o_price来计算 |
| 1002 | 1035 | //计算物流费用 |
| 1003 | 1036 | cart_item.shipping_price = 0; |
| 1004 | 1037 | |
| 1005 | - //--有不包邮区域,且不免运费,全场的计算-- | |
| 1006 | - if(no_ex_id && freight_free>0 && o_price>=freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list) ){ | |
| 1038 | + //--有不包邮区域,且不免运费,全场的计算,要减到优惠金额 和券的金额-- | |
| 1039 | + if(no_ex_id && freight_free>0 && (o_price-quan_price)>=freight_free && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list) ){ | |
| 1007 | 1040 | //如果有设置不包邮区域的时候 |
| 1008 | 1041 | if(by_qc.region_list!="" && by_qc.region_list!=null && by_qc.region_list!=undefined ){ |
| 1009 | 1042 | if(th.check_by_area(by_qc.region_list)){ |
| ... | ... | @@ -1055,12 +1088,7 @@ Page({ |
| 1055 | 1088 | }) |
| 1056 | 1089 | } |
| 1057 | 1090 | } |
| 1058 | - | |
| 1059 | - var quan_no=null; | |
| 1060 | - if(th.data.using_quan[pickid]){ | |
| 1061 | - quan_no=th.data.using_quan[pickid].coupon_no; | |
| 1062 | - } | |
| 1063 | - | |
| 1091 | + | |
| 1064 | 1092 | //如果是包邮券的时候,要看看券的情况 |
| 1065 | 1093 | if(quan_no && th.data.using_quan[pickid].isby==1){ |
| 1066 | 1094 | var quan=th.data.using_quan[pickid]; |
| ... | ... | @@ -1101,7 +1129,7 @@ Page({ |
| 1101 | 1129 | } |
| 1102 | 1130 | |
| 1103 | 1131 | //如果达到全场包邮的条件,同时,没有地区不包邮,或者商品不包邮 |
| 1104 | - if(o_price>=freight_free && freight_free>0 && !is_good_no_by && th.data.is_no_by[pickid]!=1){ | |
| 1132 | + if(o_price-quan_price>=freight_free && freight_free>0 && !is_good_no_by && th.data.is_no_by[pickid]!=1){ | |
| 1105 | 1133 | continue; |
| 1106 | 1134 | } |
| 1107 | 1135 | |
| ... | ... | @@ -1140,7 +1168,7 @@ Page({ |
| 1140 | 1168 | code=th.data.wu_arr[cart_item.wind].code; |
| 1141 | 1169 | cart_item.shipping_price = |
| 1142 | 1170 | th.calculatewuliu(code, o_shipping_price, goods_weight, |
| 1143 | - goods_piece,th.data.user_addr, freight_free, o_price, rs); | |
| 1171 | + goods_piece,th.data.user_addr, freight_free, o_price-quan_price, rs); | |
| 1144 | 1172 | |
| 1145 | 1173 | if(!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby!=1){ |
| 1146 | 1174 | if( cart_item.shipping_price ==0) th.data.is_by[pickid]=1; //已经全场包邮,就不要选择券了 |
| ... | ... | @@ -1150,38 +1178,7 @@ Page({ |
| 1150 | 1178 | } |
| 1151 | 1179 | |
| 1152 | 1180 | cart_item.shipping_price=cart_item.shipping_price.toFixed(2); |
| 1153 | - //---如果有选择优惠券的情况下--- | |
| 1154 | - var quan_price=0; | |
| 1155 | - var coupon_price=0; | |
| 1156 | - var quan_no= null; | |
| 1157 | - | |
| 1158 | - if(th.data.using_quan[pickid]!=null && th.data.using_quan[pickid]!=undefined) | |
| 1159 | - quan_no=th.data.using_quan[pickid].coupon_no; | |
| 1160 | - | |
| 1161 | - if(quan_no){ | |
| 1162 | - //如果不是包邮券的时候 | |
| 1163 | - if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby!=1) { | |
| 1164 | - var ui=2; | |
| 1165 | - //---获取优惠券优惠--- | |
| 1166 | - await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", { | |
| 1167 | - data: { | |
| 1168 | - storeId: oo.stoid, | |
| 1169 | - CashRepNo: quan_no, | |
| 1170 | - WaresSum: cart_item.check_quan_price_list, | |
| 1171 | - WareIds: cart_item.check_quan_ware_list | |
| 1172 | - } | |
| 1173 | - }).then(res => { | |
| 1174 | - if (res.data.code == 0 && res.data.data.length > 0) { | |
| 1175 | - var q_data = res.data.data; | |
| 1176 | - //--存储商品优惠的内容-- | |
| 1177 | - cart_item.quan_youhui_list = q_data; | |
| 1178 | - for (var k in q_data) | |
| 1179 | - quan_price += q_data[k].WareCashSum; | |
| 1180 | - } | |
| 1181 | - }) | |
| 1182 | - } | |
| 1183 | - } | |
| 1184 | - | |
| 1181 | + | |
| 1185 | 1182 | //总价计算,总价不包含运费 |
| 1186 | 1183 | cart_item.order_amount= (o_price -quan_price).toFixed(2); |
| 1187 | 1184 | cart_item.total_amount= f_o_price.toFixed(2); |
| ... | ... | @@ -1368,12 +1365,32 @@ Page({ |
| 1368 | 1365 | to.getwuliuprice(async function (rs) { |
| 1369 | 1366 | |
| 1370 | 1367 | var o_shipping_price = 0, goods_weight = -1, goods_piece = -1; |
| 1368 | + | |
| 1369 | + //---如果有选择优惠券的情况下--- | |
| 1370 | + var quan_price=0,bn_pick=th.data.bn_pick; | |
| 1371 | + var quan_no=null; | |
| 1372 | + if(th.data.using_quan[bn_pick]!=null && th.data.using_quan[bn_pick]!=undefined) | |
| 1373 | + quan_no=th.data.using_quan[bn_pick].coupon_no; | |
| 1374 | + | |
| 1375 | + if(quan_no){ | |
| 1376 | + if(th.data.using_quan[bn_pick].isby!=1){ | |
| 1377 | + //---获取优惠券优惠--- | |
| 1378 | + await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice",{ | |
| 1379 | + data:{storeId:oo.stoid,CashRepNo:quan_no, WaresSum:th.data.ckeck_quan_price, WareIds:th.data.check_quan_ware_list} | |
| 1380 | + }).then(res=>{ | |
| 1381 | + if(res.data.code==0){ | |
| 1382 | + quan_price=res.data.data[0].WareCashSum; | |
| 1383 | + } | |
| 1384 | + }) | |
| 1385 | + } | |
| 1386 | + } | |
| 1387 | + | |
| 1371 | 1388 | //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮---------- |
| 1372 | 1389 | if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1 ){ |
| 1373 | 1390 | //看是不是有调用过包邮券 |
| 1374 | 1391 | if(!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh!=1){ |
| 1375 | - var condition=allpice-cut_price; | |
| 1376 | - //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额--- | |
| 1392 | + var condition=allpice-cut_price-quan_price; | |
| 1393 | + //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额,见到优惠券的钱--- | |
| 1377 | 1394 | getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{ |
| 1378 | 1395 | data:{store_id:os.stoid,isuse:0,condition:condition,user_id:getApp().globalData.user_id,pageSize:2000} |
| 1379 | 1396 | }).then(res=>{ |
| ... | ... | @@ -1417,8 +1434,10 @@ Page({ |
| 1417 | 1434 | |
| 1418 | 1435 | var no_by_data=null; |
| 1419 | 1436 | var gift_freight_free=freight_free; |
| 1437 | + | |
| 1438 | + | |
| 1420 | 1439 | //有不包邮区域,且不免运费 |
| 1421 | - if(no_ex_id && freight_free>0 && freight_free<=allpice-cut_price){ | |
| 1440 | + if(no_ex_id && freight_free>0 && freight_free<= parseFloat(allpice)-cut_price-quan_price){ | |
| 1422 | 1441 | //-----------获取不包邮区域,不包邮商品------- |
| 1423 | 1442 | await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods",{ |
| 1424 | 1443 | data:{store_id:os.stoid,id:no_ex_id} |
| ... | ... | @@ -1447,11 +1466,11 @@ Page({ |
| 1447 | 1466 | //--------------开始计算物流------------------ |
| 1448 | 1467 | var shipping_price= |
| 1449 | 1468 | th.calculatewuliu(code, o_shipping_price, goods_weight, |
| 1450 | - goods_piece, th.data.user_addr, freight_free, allpice-cut_price, rs); | |
| 1469 | + goods_piece, th.data.user_addr, freight_free, parseFloat(allpice)-cut_price-quan_price, rs); | |
| 1451 | 1470 | |
| 1452 | 1471 | //如果有赠品的时候,也要计算赠品的物流费用 |
| 1453 | 1472 | if(th.data.buy_now_gift_goods){ |
| 1454 | - shipping_price=th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free, allpice-cut_price, rs,shipping_price,no_by_data); | |
| 1473 | + shipping_price=th.get_now_gift_goods_wuliu(code, o_shipping_price, th.data.user_addr, gift_freight_free, parseFloat(allpice)-cut_price-quan_price, rs,shipping_price,no_by_data); | |
| 1455 | 1474 | } |
| 1456 | 1475 | |
| 1457 | 1476 | if(shipping_price<=0){ |
| ... | ... | @@ -1466,26 +1485,12 @@ Page({ |
| 1466 | 1485 | var wl_txt = "formData.shipping_price"; |
| 1467 | 1486 | th.setData({ [wl_txt]: 0, }) |
| 1468 | 1487 | } |
| 1469 | - //---如果有选择优惠券的情况下--- | |
| 1470 | - var quan_price=0,bn_pick=th.data.bn_pick; | |
| 1471 | - var quan_no=null; | |
| 1472 | - if(th.data.using_quan[bn_pick]!=null && th.data.using_quan[bn_pick]!=undefined) | |
| 1473 | - quan_no=th.data.using_quan[bn_pick].coupon_no; | |
| 1488 | + | |
| 1474 | 1489 | if(quan_no){ |
| 1475 | - var aa=1; | |
| 1476 | 1490 | if(th.data.using_quan[bn_pick].isby==1){ |
| 1477 | 1491 | shipping_price=0; |
| 1478 | 1492 | var wl_txt = "formData.shipping_price"; |
| 1479 | 1493 | th.setData({ [wl_txt]: 0, }) |
| 1480 | - }else{ | |
| 1481 | - //---获取优惠券优惠--- | |
| 1482 | - await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice",{ | |
| 1483 | - data:{storeId:oo.stoid,CashRepNo:quan_no, WaresSum:th.data.ckeck_quan_price, WareIds:th.data.check_quan_ware_list} | |
| 1484 | - }).then(res=>{ | |
| 1485 | - if(res.data.code==0){ | |
| 1486 | - quan_price=res.data.data[0].WareCashSum; | |
| 1487 | - } | |
| 1488 | - }) | |
| 1489 | 1494 | } |
| 1490 | 1495 | } |
| 1491 | 1496 | //-----------------支付价,优惠券不减物流----------------- | ... | ... |