Commit 773836e4e6074792756f78c454c16267695d12d3

Authored by WXD-SEASON\season
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  
... ...