var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"),
  s = require("../../../utils/util.js"),ut=s, o = require("../../../utils/md5.js"), to = getApp();
var oo=t.globalData.setting,os=oo;
var regeneratorRuntime = require('../../../utils/runtime.js');
var util_pay = require("../../../utils/pay.js");
Page({ 
  data: {
    url: t.globalData.setting.url, 
    resourceUrl: t.globalData.setting.resourceUrl,
    imgUrl: t.globalData.setting.imghost,
    goods: null,
    order: null,
    orderPrices: null,
    coupons: null,
    coupon: null,
    invoiceToggle: !0,
    payWithUserMoney: !0,
    payWithPoints: !0,
    maxWord: 0,
    enterAddressPage: !1,
    firstEnter: !0,
    //页面获取的参数
    param:null,
    //提交订单的格式
    formData: {
      order_amount:0,//支付金额
      total_amount:0,//总价
      all_price:0,//商品卖的总价
      pay_points: 0,//使用积分
      user_money: 0,//使用余额
      couponCode: "",//使用优惠券(多单就用逗号隔开)
      shipping_price:0,//物流费用
    },
    /*-----------当是购物车结算的时候-------------*/
    cartlist:null,
    old_cartlist:null,
    cartlist_y:null,  //购物车原始列表
    js_use_money: 0,  //是否使用余额
    is_all_zt:1,      //是否全部都是自提
    /*----------------立即购买---------------------*/
    is_b_now:0,    //0是购物车结算  1立即购买
    bn_goods:null, //立即购买时候的调用商品
    bn_use_money:0,//是否使用余额
    bn_exp_type:1, //0是物流 1自提
    bn_pick:0,     //选择的门店
    bn_pickname: "", //选择的门店名称
    bn_t_exp_t:0, //判断商品和门店一起决定的物流自提的方式0 都可以 1自提 2物流
    /*------------------------*/
    user_addr:null,//物流
    userinfo:null, //获取会员
    /*----------物流选择--------*/
    wu_arr:null,
    index:0,
    w_sele_index:0,
    //判断页面是返回回来的还是 首次进入的
    isclose:1,
    //申请提现的金额
    txmon:0,
    yuer:0,
    //提交中,不重复提交
    is_summit_ing:0,
    //--更优惠券抵用有关,立即购买的,如果是购物车,就要把相应的值,写入cartlist数组中--
    ckeck_quan_price:0,
    check_quan_price_list:'',
    check_quan_ware_list:'',
    // 设计一个数组来存放已经选择了的券编号,coupon_no是券号,money是面值,coupon_price是真正优惠的价格,数组的下标是pickid
    //using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"}
    using_quan:{},
    open_quan:0,
    //选择的券列表
    selected_quan_list:null,
  	//选择的券的门店
	selected_quan_pick:null,
    is_close_quan:0,
    disabled:0,
    open_express:0,//控制选择物流名列表 的属性
    is_express:0,       //选中物流的属性
    expres_name:"",     //点击选定
    isopen:0,           //券的说明
    is_coupon:null,     //选择券的控制属性
    is_shipping_code:"",//插入用户默认地址
    wu_arr_txt:"",      //要更新的物流的字段
	
	sales_rules:1,         //默认是显示线上库存
	isget_by_quan:{},       //是否调用了接口获取包邮券
	get_by_quan_list:null,       //立即购买的
	get_by_quan_list_cart:{},    //购物车的
    by_quan_list_cart:null,   //点击选择的包邮列表
	//如果是全场包邮了,或者是全场不包邮了,就不要选包邮券
    is_no_by:{},
    is_by:{},
    is_quan_by:{},
    //--购买赠送的商品--
    buy_now_gift_goods:null,
    //--订单优惠--
    order_prom:{},
    //-- 购物车优惠活动 --
    prom_goods_map:{},
    //-- order_prom_list --
    order_prom_list_cart:null,
    ispt_goods:0,  //是否平摊至单品,0要平摊 1不平摊
  },
  onLoad: function(t) {
    wx.setNavigationBarTitle({ title: "填写订单",})
    var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow,});
    th.data.param=t;
    //清空is_pick_up
    getApp().request.put("/api/weshop/useraddress/updatePickUp", {
        data: {user_id: getApp().globalData.user_id, is_pickup: 0},
        success: function (s) {
        }
    });
      //先获取是否有关闭使用优惠券
      getApp().getConfig2(function (ee) {
          var json_d = JSON.parse(ee.switch_list);
          th.data.ispt_goods=json_d.ispt_goods;  //是不是平摊到单品的控制参数赋值
          th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules});
          //-----先获取物流,再获取用户信息,再展示页面-----
          th.get_wuliu(th.get_info(th.show_page));
      })
  },
  onUnload: function () { this.setData({ isclose: 1 })},
  onHide: function () {
     this.setData({
         isget_by_quan:{},
         is_no_by:{},
         is_by:{}
     })
  },
  //----------子页返回父页触发----------
  onShow: function() {
    var th=this;
    if (th.data.isclose==0){
      wx.navigateTo({
        url: "/pages/index/index/index"
      })
    }else{
        this.getuser_addr(function(ie){
        console.log("getuser_addr")
        console.log(ie)
         //地址切换要把包邮券清空
        if( !th.data.user_addr ||  th.data.user_addr.address_id!=ie.address_id){
            var using_quan=th.data.using_quan;
            for(var i in using_quan){
              var item=using_quan[i];
              if(item.isby==1){
                var ob={},txt="using_quan["+i+"]";ob[txt]={};
                th.setData(ob);
              }
            }
            th.data.isget_by_quan={};
        }
       //更换地址回来要重新调用计算价钱的接口
       if(!th.data.user_addr ||  th.data.user_addr.address_id!=ie.address_id){
           th.setData({user_addr: ie });
           if (th.data.is_b_now == 1) {
               if(th.data.bn_goods) {
                   th.calculatePrice2();
               }
           }else{
               if (th.data.cartlist){
                   th.calculatePrice();
               }
           }
       }else{
           th.setData({user_addr: ie });
       }
       var going=0;
         //使用计时器,避免空现象
          /*---
          var jishi= setInterval(function () {
          if (th.data.is_b_now == 1 && going==0) {
              if(th.data.bn_goods) {
                 th.calculatePrice2();going=1;clearInterval(jishi);
              }
          }else if(going==0) {
             if (th.data.cartlist){
               th.calculatePrice();going = 1; clearInterval(jishi);
             }        
          }
        },500)--*/
      });
        //--更新默认地址--,看一下是不是跳到地址页面
        if(!getApp().globalData.is_cart2_old){
            this.update_code();
        }else{
            getApp().globalData.is_cart2_old=0;
        }
    }
  },
  //-------------------获取物流---------------
  get_wuliu(func) {
    var th = this;
    to.getwuliu(function (e) {
      th.setData({ wu_arr: e })
      typeof func == "function" && func();
    })
  },
  //------获取会员信息-----先获取用户信息,在进行下一步---
  get_info:function(func){
    var user_id = t.globalData.user_id;
    to.auth.get_u(func);
  },
  //------获取会员收货地址-----
  getuser_addr:function(func){  
      a.get("/api/weshop/useraddress/page", {
        data: { user_id: to.globalData.user_id, store_id: oo.stoid, pageSize: 600 },
        success: function (su) {
          /*---
          var user_addr=[
            { 'address_id': 882, 'user_id': 2661, 'consignee': '测试测试测', 'province': 3102, 'city': 3431, 'district': 3466,
              'address': 'ed', 'more_address': '山西-长治市-襄垣县-虎(音si)亭镇', 'mobile': 13012345678,'is_default':1},
          ];---*/
          var user_addr = su.data.data.pageData;
          var item = null;
          var def_item=null;
          for (var i = 0; i < user_addr.length; i++) {
            if (user_addr[i]['is_default'] == 1) { def_item = user_addr[i];}
            if (user_addr[i]['is_pickup'] == 1) { item = user_addr[i]; }
          }
          
          if (item == null) item = def_item;
          if (item == null) item = user_addr[0];
          if(item==undefined) item=null;
          func(item);
        }
      });
  },
  
  //----------------展示页面,是再获取用户信息之后--------------
  show_page:function(){
    var th=this,ta = this.data.param;
    th.setData({
      userinfo: to.globalData.userInfo,});
    //选获取地址
    th.getuser_addr(function(addr){
      th.setData({user_addr: addr});
      //--------------------------立即购买------------------
      if(ta.is_bnow== 1){
        //读取门店
        to.get_allsto(function (e) {
          th.setData({ allsto: e });
          //获取立即购买的商品信息
          th.get_buy_goods(ta.goods_id);
        });
      }else {
        //------------------------购物车结算----------------------
        //读取门店
        to.get_allsto(function (e) {
          th.setData({ allsto: e });
          //-------获取购物车已经选择的商品--------
          th.get_cart();
        })
      }
    });
    //获取提现金额
    getApp().request.get("/api/weshop/withdrawals/summoney", {
      data: { user_id: to.globalData.user_id, store_id: oo.stoid, status: 0 },
      success: function (su) {
        if (su.data.code == 0) {
          var yuer = parseFloat(th.data.userinfo.user_money -
              (th.data.userinfo.frozen_money>0?th.data.userinfo.frozen_money:0) - su.data.data.summoney).toFixed(2);
          th.setData({ txmon: su.data.data.summoney, yuer: yuer });
        }
      }
    });
  },
  //-----真的获取购物车,入口--------
  get_cart: function () {
    var th = this,app=getApp();
    a.get("/api/weshop/cart/list", {
      data: {
        user_id: to.globalData.user_id, selected:1,state:0,
        store_id: oo.stoid, pageSize: 600 },
      success:async function (su) {
        //按门店分类的数组
        var arr = new Array();
        var carr = su.data.data.pageData;
        th.data.cartlist_y = carr;  //存储原始购物车列表
        for (var i = 0; i < carr.length; i++) {
          var item = carr[i];
          //要把优惠活动加入,prom_goods_map中,赠品不要运算
          if(item.prom_type==3 && item.is_gift!=1){
            await th.add_prom_goods_map(item);
          }
          item.original_img = oo.imghost + item.original_img;
          /*----接口要弄出来的,先顶着-----*/
          var pcid = item.pick_id;
          var find = 0;
          //----如果有就加进去,没有就新增一个----
          //-----------循环查找门店-------------
          if (arr.length > 0) {
            for (var j = 0; j < arr.length; j++) {
              if (arr[j].pickup_id == pcid) {
                arr[j].goods.push(item);
                find = 1;break;
              }
            }
          }
          //------如果没有找到-----
          if (find == 0) {
            var pikname = '',sto=null;
            //----找到门店名称-----
            for (var k = 0; k < th.data.allsto.length; k++) {
              if (pcid == th.data.allsto[k].pickup_id) {
                pikname = th.data.allsto[k].pickup_name; sto = th.data.allsto[k]; break;
              }
            }
            var e_t=0,dis_t=0;//物流方式,配送方式
            if (item.distr_type == 0) {
              dis_t = sto.distr_type;
            } else {
              dis_t = item.distr_type ;
            }
            switch (dis_t) {
              case 0: e_t = 1; break;
              case 1: e_t = 1; break;
              case 2: e_t = 0; break;
            }
            //如果是物流的话,全部自提的控制要弄成0
            if (e_t == 0) th.setData({ is_all_zt:0});
            var narr = new Array(); narr.push(item);
            //-----------拼装购物车结算的数组,如果有默认物流时要用默认物流编号-----------------
            var m_wind=0,def_exp_code=getApp().globalData.userInfo.def_exp_code;
            if(e_t==0 && def_exp_code){
                 for(var k=0;k
{
                if(res.data.code==0){ frozenQuan=res.data.data; th.data.frozenQuan=frozenQuan; }
                th.calculatePrice();
                th.get_cart_quan();
            })
        },500)
      }
    });
  },
  //-----获取立即购买的商品信息,入口----
  get_buy_goods: function (e){
    var th=this;
    var gg = to.get_b_now();
    //--------如果goods_id一样,就是要立即购买-----
    if(e==gg.goods_id){
      a.get("/api/weshop/goods/get/" + oo.stoid+"/"+e, {
        success:async function (t) {
          var gd = t.data.data;
          t.data.data.original_img = oo.imghost + t.data.data.original_img;
          t.data.data['buynum'] = gg.goods_num;
          var distr_t=0,et=0
          if (t.data.data.distr_type==0){
            distr_t = gg.pick_dis;
          }else{
            distr_t = t.data.data.distr_type;
          }
          switch (distr_t){
            case 0: et=1; break;
            case 1: et = 1; break;
            case 2: et = 0; break;
          }
          var m_wind=0,def_exp_code=getApp().globalData.userInfo.def_exp_code;
          if(et==0 && def_exp_code){
                for(var k=0;k data.gift_limitnum)  num = 0;
                          }
                          //如果赠品数量超出礼品库存,就取消
                          if(num>data['gift_storecount']) num=0;
                          if(num>0){
                              var ob={};
                              ob.is_gift=1;
                              ob.prom_id=data.prom_id;
                              ob.goods_id=data.gift_goods_id;
                              ob.goods_name=data.gift_goods_name;
                              ob.goods_color=data.gift_goods_color;
                              ob.goods_spec=data.gift_goods_spec;
                              ob.original_img=os.imghost+data.gift_original_img;
                              ob.market_price=data.gift_market_price;
                              ob.gift_id=data.gift_id;
                              ob.shop_price=0;
                              ob.buynum=num;
                              ob.weight=data.gift_weight;              //商品的重量
                              ob.exp_sum_type=data.gift_exp_sum_type;  //商品的物流计算方式
                              th.setData({buy_now_gift_goods:ob});
                          }
                      }
                      th.setData({
                        bn_goods: data, bn_pickname: gg.pick_name, bn_exp_type: et,index:m_wind,
                        bn_pick: gg.pick_id, bn_t_exp_t: distr_t
                      });
                      //计算价格
                      th.calculatePrice2();
                      //获取优惠券
                      th.get_buy_now_quan();
                  })
              }else{
                //--看是不是搭配促销--
                if(gg.prom_type==5){
                      t.data.data.prom_id = gg.prom_id ;
                      t.data.data.prom_type =5;
                      //--主商品要有导购id和导购类型--
                      if(gg.guide_id){
                          t.data.data.guide_id=gg.guide_id;
                          t.data.data.guide_type=gg.guide_type;
                      }
                      th.setData({collocation_goods:gg.collocation_goods});
                      var cart_arr=new  Array();
                      var narr=gg.collocation_goods;
                      narr.push(t.data.data);
                      var ie = {
                         pickup_id: gg.pick_id, pname: gg.pick_name, goods: narr, exp_type: et, wind: m_wind, distr_t: distr_t,
                         goods_price: 0, shipping_price: 0, user_money: 0, total_amount: 0, order_amount: 0, user_note:0};
                      cart_arr.push(ie);
                      th.data.old_cartlist=cart_arr;
                }
                th.setData({
                    bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et,index:m_wind,
                    bn_pick: gg.pick_id, bn_t_exp_t: distr_t
                });
                //--搭配促销也是按照购物车的方式来计算优惠券--
                if(gg.prom_type==5){
                    var frozenQuan=null;
                    var url0="/api/weshop/users/frozenQuan/listFrozenQuan/"+app.globalData.user_id;
                    app.request.promiseGet(url0,{1:1}).then(res=> {
                        if(res.data.code==0){ frozenQuan=res.data.data; th.data.frozenQuan=frozenQuan; }
                        //计算价格
                        th.calculatePrice2();
                        th.get_cart_quan();
                    });
                }else{
                    //计算价格
                    th.calculatePrice2();
                    //获取优惠券,
                    th.get_buy_now_quan();
                }
              }
              break;
            case 1: //---秒杀-----
              var quanlist=null;
              getApp().request.get("/api/weshop/activitylist/getSJGoodsPrice/"+gd.store_id
                + "/" + gd.goods_id + "/1/" + gd.prom_id,{
                success: async function (tt) {
                  if(tt.data.code==0){
                      t.data.data.shop_price=tt.data.data.prom_price;
                  }else{
                      t.data.data.prom_id = 0; t.data.data.prom_type = 0;
                     th.data.ckeck_quan_price=t.data.data.shop_price*gg.goods_num;
                     th.data.check_quan_price_list=t.data.data.shop_price*gg.goods_num+"";
                     th.data.check_quan_ware_list=t.data.data.erpwareid+"";
                  }
                  th.setData({
                    bn_goods: t.data.data, bn_pickname: gg.pick_name, bn_exp_type: et,index:m_wind,
                    bn_pick: gg.pick_id, bn_t_exp_t: distr_t
                  });
                  //计算价格
                  th.calculatePrice2();
                  //获取优惠券
                  th.get_buy_now_quan();
                }
              });
              break;
          }
        },
      });
    }
  },
  //---------------检查是否有收货地址-------------------
  checkAddressList: function() {
    var t = this;
    return !(!this.data.order || null == this.data.order.userAddress) || (wx.showModal({
      title: "请先填写或选择收货地址~",
      success: function(a) {
        a.confirm ? t.enterAddressPage() : wx.navigateBack();
      },
      fail: function() {
        wx.navigateBack();
      }
    }), !1);
  },
  showInvoice: function() {
    this.setData({
      invoiceToggle: !this.data.invoiceToggle
    });
  },
  keyUpChangePay1: function(t) {
    this.setData({
      payWithUserMoney: !(t.detail.value.length > 0)
    });
  },
  keyUpChangePay2: function(t) {
    this.setData({
      payWithPoints: !(t.detail.value.length > 0)
    });
  },
  keyUpChangeNum: function(t) {
    this.setData({
      maxWord: t.detail.value.length
    });
  },
  //-------------------计算订单价格-------------------
  calculatePrice: function(t, s) {
    var th = this;
    to.getConfig2(function(ee){
      to.getwuliuprice( async function (rs) {
        var all_price=0;           //所有的商品总价
        var all_shipping_m= 0;     //所有的物流总价
        var all_total_m = 0;       //所有的订单应付总价
        var all_order_m = 0;       //所有的订单应付总价
        var all_user_m=0;          //所有的订单用户使用金额
        var all_coupon_price_m=0;  //所有的订单用户使用优惠券价格
        var all_cutprice=0;        //所有的优惠减件
        var all_order_prom=0;      //所有的订单优惠
        var umoney = th.data.userinfo.user_money - th.data.txmon - (th.data.userinfo.frozen_money?th.data.userinfo.frozen_money:0);
        var freight_free = ee.freight_free;   //全场满多少包邮
		var no_ex_id=ee.no_ex_id;
		var no_ex_good=null;
		var by_qc={};
        if(no_ex_id && freight_free>0){
          //-----------获取不包邮区域,不包邮商品-------
          await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods",{
            data:{store_id:os.stoid,id:no_ex_id}
          }).then(res=>{
            if(res.data.code==0){
              by_qc=res.data.data[0];
            }
          })
        };
		var c_arr=JSON.parse(JSON.stringify(th.data.old_cartlist));
        //---循环购物车---
        for(var i in c_arr){
           //因为搭配购买也是再这里计算,搭配购的is_b_now==1
           if(th.data.is_b_now==0) {
               //此时物流的选择方式要用th.data.cartlist;
               c_arr[i].exp_type = th.data.cartlist[i].exp_type;
               c_arr[i].wind = th.data.cartlist[i].wind;
               if(th.data.cartlist[i].check_quan_price_list) c_arr[i].check_quan_price_list= th.data.cartlist[i].check_quan_price_list;  //优惠券优惠什么商品价格
               if(th.data.cartlist[i].check_quan_ware_list) c_arr[i].check_quan_ware_list= th.data.cartlist[i].check_quan_ware_list;    //优惠券优惠什么商品
           }else{
               c_arr[i].exp_type = th.data.bn_exp_type;  //配送方式
               c_arr[i].wind = th.data.index;            //立即购买选择的物流
               //c_arr[i].=th.data.                        //立即购买的使用余额
               if(th.data.cartlist) c_arr[i].check_quan_price_list= th.data.cartlist[i].check_quan_price_list;  //优惠券优惠什么商品价格
               if(th.data.cartlist) c_arr[i].check_quan_ware_list= th.data.cartlist[i].check_quan_ware_list;    //优惠券优惠什么商品
           }
          var cart_item=c_arr[i];      //就是每一单的意思
          var pickid=cart_item.pickup_id;
          var o_price=0;
          var o_shipping_price=0,goods_weight=-1, goods_piece=-1;
          var item=c_arr[i].goods;   //就是每一单的从表的意思
          //--------循环计算总价-----------
          for(var j=0;j {
                     if (res.data.code == 0 && res.data.data.condition) {
                      var get_data = res.data.data;
                      item_map.is_bz = get_data.is_bz;         //是不是倍增
                      item_map.bs = get_data.bs;               //是不是倍数
                      item_map.is_past = get_data.is_past;     //是不是包邮
                      item_map.prom_price = get_data.price?get_data.price:item_map.price;
                      item_map.s_intValue = get_data.intValue;
                      item_map.s_coupon_id = get_data.coupon_id;
                      item_map.s_coupon_num = get_data.coupon_num;
                      if(get_data.gift_id && get_data.goodsinfo) {
                          item_map.gift_id = get_data.gift_id;
                          item_map.gift_goods_id = get_data.goods_id;
                          item_map.gift_goods_name = get_data.goods_name;
                          item_map.gift_goods_color = get_data.goodsinfo.goods_color ? get_data.goodsinfo.goods_color : '';
                          item_map.gift_goods_spec = get_data.goodsinfo.goods_spec ? get_data.goodsinfo.goods_spec : '';
                          item_map.gift_original_img = get_data.goodsinfo.original_img;
                          item_map.gift_limit_num = get_data.limit_num;
                          item_map.gift_storecount = get_data.gift_storecount;
                          item_map.gift_weight = get_data.goodsinfo.weight;
                          item_map.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
                      }
                      item_map.s_libao = get_data.libao;
                      item_map.s_lb_num = get_data.lb_num;
                    }
                   })
                }
               //有活动,且优惠活动并没有限制使用优惠券,且有减价
               //--看有没有减价--
               if(item_map.prom_price && item_map.price-item_map.prom_price){
                   if(cart_item.prom_pt_json){
                       cart_item.prom_pt_json.push({"prom_id":item_map.prom_id,"dis":(item_map.price-item_map.prom_price).toFixed(2),"ispt":0})
                   }else{
                       cart_item.prom_pt_json=[{"prom_id":item_map.prom_id,"dis":(item_map.price-item_map.prom_price).toFixed(2),"ispt":0}];
                   }
                   //---如果是系统要平摊至单品的时候---
                   if(!th.data.ispt_goods) {
                       //此处要对商品从表排序一下,按商品件数升序,商品单价降序
                       function sort_fun(a, b) {
                           if (a["goods_num"] === b["goods_num"]) {
                               if (a["goods_price"] < b["goods_price"]) {
                                   return 1;
                               } else if (a["goods_price"] > b["goods_price"]) {
                                   return -1;
                               } else {
                                   return 0;
                               }
                           } else {
                               if (a["goods_num"] > b["goods_num"]) {
                                   return 1;
                               } else {
                                   return -1;
                               }
                           }
                       }
                       //进行排序
                       item_map.goods.sort(sort_fun);
                       //这个位置就要开始平摊优惠到优惠活动的单品
                       var account_all = 0;
                       var per = (item_map.price - item_map.prom_price) / item_map.price;  //优惠单价
                       //比例太小的时候,就不进行平摊
                       if (per < 0.001) {
                           item_map.goods[0].account_yu = item_map.price - item_map.prom_price;
                       } else {
                           per = Math.floor(1000 * per) / 1000; //保留3位小数
                           for (var i in item_map.goods) {
                               var m_item = item_map.goods[i];
                               var m_all_amount = m_item.goods_price * m_item.goods_num - m_item.goods_price * m_item.goods_num * per;
                               var account = Math.floor(100 * m_all_amount /m_item.goods_num) / 100;
                               if (account) {
                                   item_map.goods[i].account = account;
                                   account_all += account * m_item.goods_num; //累加总实收
                               }
                           }
                           //算出余数
                           var yu = account_all - item_map.prom_price;
                           if (yu != 0) {
                               item_map.goods[0].account_yu = parseFloat(yu.toFixed(2));
                           }
                       }
                   }
                   o_price-=(item_map.price-item_map.prom_price);
                   //如果有限制使用优惠券,就要减掉参与的活动商品的钱
                   if(!item_map.is_xz_yh) q_conditin=o_price;
                }
                  //--------循环计算商品是不是包邮,是不是使用优惠券,此时循环是商品从表-----------
                  for(var j=0;j0 && o_price>=freight_free  && cart_item.exp_type == 0 && (by_qc.region_list || by_qc.goods_list) ){
            //如果有设置不包邮区域的时候
            if(by_qc.region_list!="" && by_qc.region_list!=null && by_qc.region_list!=undefined ){
              if(th.check_by_area(by_qc.region_list)){
                freight_free=0;
                th.data.is_no_by[pickid]=1;
              }
            }
            //如果有设置不包邮区商品
            if(by_qc.goods_list!="" && by_qc.goods_list!=undefined && by_qc!=null && freight_free>0){
              no_ex_good=by_qc.goods_list;
            }
          }
          //--如果是物流,且选择了地址,就要开始显示包邮券,且包邮券也已经优惠了优惠活动的金额--
          if (cart_item.exp_type == 0 && th.data.user_addr != null) {
            //看是不是有调用过包邮券
            if(!th.data.isget_by_quan[pickid]){
              //--判断要不要显示包邮券,调用接口,因为有for循环---
              await getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{
                data:{store_id:os.stoid,isuse:0,condition:q_conditin,user_id:getApp().globalData.user_id,pageSize:2000}
              }).then(res=>{
                if(res.data.code==0 && res.data.data.total>0){
                  //此时要循环判断包邮的地区,不包邮商品是不是符合
                  var arr=[],quanlist=res.data.data.pageData;
                  quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan,1);
                  for(var i in quanlist){
                    var item=quanlist[i];
                    var goods=cart_item.goods;
                    var g_arr=[];
                    for(var ii in goods){
                        g_arr.push(goods[ii].goods_id);
                    }
                    if(item.region_list && th.check_by_area(item.region_list)) continue;  //如果是不包邮区域
                    if(item.goods_list){
                         var no_goods_arr=item.goods_list.split(",");
                         if(ut.isContained(no_goods_arr,g_arr)) continue;   //如果是不包邮商品
                    }
                    arr.push(item);
                  }
                  if(arr){
                    th.data.get_by_quan_list_cart[pickid]=arr;
                    //th.setData({get_by_quan_list_cart:th.data.get_by_quan_list_cart});
                    if(th.data.is_b_now){
                        th.setData({get_by_quan_list:arr});
                    }
                  }
                  th.data.isget_by_quan[pickid]=1;
                }
              })
            }
          }
          var quan_no=null;
          if(th.data.using_quan[pickid])quan_no=th.data.using_quan[pickid].coupon_no;
          //如果是包邮券的时候,要看看券的情况
          if(quan_no &&  th.data.using_quan[pickid].isby==1){
               var quan=th.data.using_quan[pickid];
               if(!quan.goods_list){
                    th.data.is_quan_by[pickid]=1;  //专门给券的判断用的
               }else{
                  th.data.is_quan_by[pickid]=0;
                  //看有没有模板的包邮
                  if(no_ex_good){
                    var arr=no_ex_good.split(",");
                    var arr2=quan.goods_list.split(",");
                    if(ut.isContained(arr,arr2)){
                        getApp().my_warnning("全场不包邮商品和包邮券的重复",0,th);
                        th.data.using_quan[pickid]={};
                        th.setData({using_quan:th.data.using_quan})
                        return false;
                    }
                    var n_arr=ut.mergeArray(arr,arr2);
                    no_ex_good=n_arr.join(",");
                  }else{
                     no_ex_good=quan.goods_list;
                  }
               }
          }else{
            th.data.is_quan_by[pickid]=0;  //专门给券的判断用的
          }
		  //--------循环计算总价-----------
		  for(var j=0;j=freight_free && freight_free>0 && !is_good_no_by  &&  th.data.is_no_by[pickid]!=1){
                 continue;
              }
              //--如果是包邮券使用的情况下,如果商品是包邮的,那么就不进行计算--
              if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby==1 && !is_good_no_by){
                  continue;
              }
			  //----------------如果是选择了物流---------------------
			  if(cart_item.exp_type == 0 && item[j].is_free_shipping==0){
			     //如果地址不为空
			     if (th.data.user_addr!=null){
			       switch (item[j]['exp_sum_type']) {
			         case 1:
			           //统一运费
			           o_shipping_price += item[j]['uniform_exp_sum'];break;
			         case 2:
			           if (goods_weight < 0) goods_weight = 0;
			           //累积商品重量 每种商品的重量 * 数量
			           goods_weight += item[j]['weight'] * item[j]['goods_num']; break;
			         case 3:
			           if (goods_piece < 0) goods_piece = 0;
			           //累积商品数量
			           goods_piece += item[j]['goods_num'];break;
			       }
			     }
			   }
		  }
          //计算物流价格
          if (cart_item.exp_type == 0) {
            freight_free=0;  //后面不在进行判断
            var code = th.data.wu_arr[cart_item.wind].code;
            cart_item.shipping_price =
              th.calculatewuliu(code, o_shipping_price, goods_weight,
                goods_piece,th.data.user_addr, freight_free, o_price, rs);
             if(!th.data.using_quan[pickid] || th.data.using_quan[pickid].isby!=1){
                 if( cart_item.shipping_price ==0)  th.data.is_by[pickid]=1; //已经全场包邮,就不要选择券了
             }
          }else{
            cart_item.shipping_price=0;
          }
         cart_item.shipping_price=cart_item.shipping_price.toFixed(2);
          //---如果有选择优惠券的情况下---
         var quan_price=0;
         var  coupon_price=0;
         var quan_no= null;
         if(th.data.using_quan[pickid]!=null && th.data.using_quan[pickid]!=undefined)
              quan_no=th.data.using_quan[pickid].coupon_no;
         if(quan_no){
             //如果不是包邮券的时候
             if(th.data.using_quan[pickid] && th.data.using_quan[pickid].isby!=1) {
               //---获取优惠券优惠---
               await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice", {
                 data: {
                   storeId: oo.stoid,
                   CashRepNo: quan_no,
                   WaresSum: cart_item.check_quan_price_list,
                   WareIds: cart_item.check_quan_ware_list
                 }
               }).then(res => {
                 if (res.data.code == 0 && res.data.data.length > 0) {
                   var q_data = res.data.data;
                   //--存储商品优惠的内容--
                   cart_item.quan_youhui_list = q_data;
                   for (var k in q_data)
                     quan_price += q_data[k].WareCashSum;
                 }
               })
             }
          }
          //总价计算,总价不包含运费
          cart_item.order_amount= (o_price -quan_price).toFixed(2);
          cart_item.total_amount= f_o_price.toFixed(2);
          var order_prom_amount=0; var order_prom_id=0; var o_condition=cart_item.order_amount;
          var  order_m=0;
          //---判断是不是有订单优惠---
          await  getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion",{
                data:{store_id:os.stoid,orderAmount:cart_item.order_amount}
          }).then(res=>{
              if(res.data.code==0){
                  var ord_prom=res.data.data;
                  order_prom_id = ord_prom['id'];
                  switch (ord_prom['type']) {
                      case 0:
                          order_m = Math.round(o_condition * ord_prom['expression'])/100;//满额打折
                          order_prom_amount=(o_condition -order_m).toFixed(2);
                          break;
                      case 1:
                          //order_m = o_condition - ord_prom['expression'];//满额优惠金额
                          order_prom_amount= ord_prom['expression'];
                          break;
                  }
              }
          })
         cart_item.order_prom_amount=0;
         //--订单优惠的显示--
         if(order_prom_id>0){
             cart_item.order_amount= (o_price -quan_price-order_prom_amount).toFixed(2);
             cart_item.order_prom_id=order_prom_id;
             cart_item.order_prom_amount=order_prom_amount;
         }
          coupon_price=quan_price;
          if( cart_item.order_amount<0){
              cart_item.order_amount=0;
              coupon_price=o_price;
          }
          cart_item.total_amount= parseFloat(cart_item.total_amount)+parseFloat(cart_item.shipping_price);  //总金额
          cart_item.order_amount=parseFloat(cart_item.order_amount)+parseFloat(cart_item.shipping_price);  //总金额
          cart_item.total_amount= cart_item.total_amount.toFixed(2);
          cart_item.order_amount=cart_item.order_amount.toFixed(2);
          //搭配购在使用余额
          if(th.data.bn_use_money==1 && th.data.is_b_now==1){
              if (umoney > cart_item.order_amount) {
                      cart_item.user_money = cart_item.order_amount;
                      umoney = umoney - cart_item.order_amount;
                  }else {
                      cart_item.user_money = umoney;
                      umoney=0;
                  }
          }else{
              //--------------如果使用余额,购物车购买---------------------
              if (th.data.js_use_money == 1) {
                  if (umoney > cart_item.order_amount) {
                      cart_item.user_money = cart_item.order_amount;
                      umoney = umoney - cart_item.order_amount;
                  }else {
                      cart_item.user_money = umoney;
                      umoney=0;
                  }
              }else{
                  cart_item.user_money=0;
              }
          }
          cart_item.user_money = parseFloat(cart_item.user_money).toFixed(2);
          
          if (coupon_price>0) cart_item.coupon_price=coupon_price.toFixed(2);
          else cart_item.coupon_price = coupon_price
          if(quan_no) cart_item.quan_no = quan_no;
           //cart_item.goods_price = o_price.toFixed(2);
            cart_item.order_amount= cart_item.order_amount- cart_item.user_money;         //会员使用余额
            all_price += parseFloat(f_o_price);
            all_total_m +=  parseFloat(cart_item.total_amount);
            all_shipping_m +=  parseFloat(cart_item.shipping_price);
            all_order_m +=  parseFloat(cart_item.order_amount);
            all_user_m +=  parseFloat(cart_item.user_money);
            all_coupon_price_m+= parseFloat(cart_item.coupon_price);
            all_cutprice+=parseFloat(cart_item.cut_price);
            all_order_prom+=parseFloat(cart_item.order_prom_amount);
        }
        all_shipping_m=parseFloat(all_shipping_m).toFixed(2);
        all_total_m =  parseFloat(all_total_m).toFixed(2);
        all_order_m = parseFloat(all_order_m).toFixed(2);
        all_price = parseFloat(all_price).toFixed(2);
        all_user_m = parseFloat(all_user_m).toFixed(2);
        all_total_m = parseFloat(all_total_m).toFixed(2);
        all_coupon_price_m = parseFloat(all_coupon_price_m).toFixed(2);
        all_cutprice=all_cutprice.toFixed(2);
        all_order_prom=all_order_prom.toFixed(2);
        var atxt = "formData.total_amount";
        var atxt1 = "formData.order_amount";
        var atxt2 = "formData.all_price";
        var atxt3 = "formData.user_money";
        var atxt4 = "formData.shipping_price";
        var atxt5 = "formData.coupon_price";
        var atxt6 = "formData.cut_price";
        var atxt7 = "formData.order_prom_amount";
        th.setData({ [atxt]: all_total_m, [atxt1]: all_order_m,
          [atxt2]: all_price, [atxt3]: all_user_m, [atxt4]: all_shipping_m,
          [atxt5]: all_coupon_price_m,[atxt6]: all_cutprice,
          [atxt7]: all_order_prom,
        })
        th.data.order_prom_list_cart=c_arr;
      });
    });
  },
  //---------计算立即购买----------
  calculatePrice2: function () {
    var th = this, good = this.data.bn_goods;
    //搭配的计算要用购物的车计算方法
    if(good.prom_type==5){
       th.calculatePrice();
       return false;
    }
    //-----------计算商品总价--------------
    var allpice = good.shop_price * good.buynum;
    var cut_price=0;
    if(good.prom_type==3 && good.prom_price){
      cut_price=allpice-good.prom_price;
    }
    allpice=parseFloat(allpice).toFixed(2);
    var txt = "formData.all_price";
    th.setData({ [txt]: allpice, });
    if(cut_price){
      var c_txt="formData.cut_price";
      th.setData({ [c_txt]: cut_price, });
    }
    to.getConfig2(function (ee) {
      to.getwuliuprice(async function (rs) {
        var o_shipping_price = 0, goods_weight = -1, goods_piece = -1;
        //-----------当地址不为空,且是物流时,计算物流费用,并同时商品不是优惠活动的包邮----------
        if (th.data.user_addr != null && th.data.bn_exp_type == 0 && good.is_free_shipping == 0 && good.is_past!=1 ){
		//看是不是有调用过包邮券
		if(!th.data.isget_by_quan[th.data.bn_pick] && good.is_xz_yh!=1){
		       var condition=allpice-cut_price;
			   //--判断要不要显示包邮券,链式调用接口,调取包邮券,已经是减了优惠的金额---
			   getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea",{
				   data:{store_id:os.stoid,isuse:0,condition:condition,user_id:getApp().globalData.user_id,pageSize:2000}
			   }).then(res=>{
			   		if(res.data.code==0 && res.data.data.total>0){
						   //此时要循环判断包邮的地区,不包邮商品是不是符合
						   var arr=[],quanlist=res.data.data.pageData;
                           quanlist = th.check_is_frozenQuan(quanlist, th.data.frozenQuan,1);
						   for(var i in quanlist){
							     var item=quanlist[i];
							     if(item.region_list && th.check_by_area(item.region_list)) continue;  //如果是不包邮区域
							     if(item.goods_list && th.check_by_goods(item.goods_list)) continue;    //如果是不包邮商品
								 arr.push(item);
						   }
						   if(arr){
							   th.setData({get_by_quan_list:arr});
						   }
						   th.data.isget_by_quan[th.data.bn_pick]=1;
					} 
			   })
		  }
          switch (good['exp_sum_type']) {
            case 1:
              //统一运费
              o_shipping_price += good['uniform_exp_sum']; break;
            case 2:
              if (goods_weight < 0) goods_weight = 0;
              //累积商品重量 每种商品的重量 * 数量
              goods_weight += good['weight'] * good['buynum'];break;
            case 3:
              if (goods_piece < 0) goods_piece = 0;
              //累积商品数量
              goods_piece += good['buynum']; break;
          }
          var code = th.data.wu_arr[th.data.index].code;
          var freight_free = ee.freight_free;   //全场满多少包邮	  
		  var no_ex_id=ee.no_ex_id;
          th.data.is_no_by[th.data.bn_pick]=0;
          var no_by_data=null;
          var gift_freight_free=freight_free;
		  //有不包邮区域,且不免运费		
		  if(no_ex_id && freight_free>0 &&  freight_free<=allpice-cut_price){
			   //-----------获取不包邮区域,不包邮商品-------
			   await getApp().request.promiseGet("/api/weshop/areaFeemail/getAreaGoods",{
                    data:{store_id:os.stoid,id:no_ex_id}
			   }).then(res=>{
			      if(res.data.code==0){
                      no_by_data=res.data.data[0];
			   		  //如果有设置不包邮区域的时候
			          if(res.data.data[0].region_list){
			               if(th.check_by_area(res.data.data[0].region_list)){
                               freight_free=0;
                               th.data.is_no_by[th.data.bn_pick]=1;
                           }
			   		  }
			   		  //如果有设置不包邮商品
			   		  if(res.data.data[0].goods_list && freight_free){
			   		      if(th.check_by_goods(res.data.data[0].goods_list)){
                              freight_free=0;
                              th.data.is_no_by[th.data.bn_pick]=1;
                          }
			   		  }
			      }
			   })
		  }
         th.data.is_by[th.data.bn_pick]=0;
		  //--------------开始计算物流------------------		  
          var shipping_price=
            th.calculatewuliu(code, o_shipping_price, goods_weight,
              goods_piece, th.data.user_addr, freight_free, allpice-cut_price, rs);
          //如果有赠品的时候,也要计算赠品的物流费用
          if(th.data.buy_now_gift_goods){
              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);
          }
          if(shipping_price<=0){
               th.data.is_by[th.data.bn_pick]=1;  //已经是包邮了,就不要选择包邮券
          }
          shipping_price = parseFloat(shipping_price).toFixed(2);
          var wl_txt = "formData.shipping_price";
          th.setData({ [wl_txt]: shipping_price, })
          
        }else{
          var wl_txt = "formData.shipping_price";
          th.setData({ [wl_txt]: 0, })
        }
        //---如果有选择优惠券的情况下---
        var quan_price=0,bn_pick=th.data.bn_pick;
        var quan_no=null;
        if(th.data.using_quan[bn_pick]!=null && th.data.using_quan[bn_pick]!=undefined)
          quan_no=th.data.using_quan[bn_pick].coupon_no;
        if(quan_no){
            var aa=1;
            if(th.data.using_quan[bn_pick].isby==1){
                 shipping_price=0;
                 var wl_txt = "formData.shipping_price";
                 th.setData({ [wl_txt]: 0, })
            }else{
              //---获取优惠券优惠---
              await getApp().request.promiseGet("/api/weshop/couponList/getUseCouponPrice",{
                data:{storeId:oo.stoid,CashRepNo:quan_no, WaresSum:th.data.ckeck_quan_price, WareIds:th.data.check_quan_ware_list}
              }).then(res=>{
                if(res.data.code==0){
                  quan_price=res.data.data[0].WareCashSum;
                }
              })
            }
        }
        //-----------------支付价,优惠券不减物流-----------------
        var total_m = (parseFloat(allpice)).toFixed(2);
        var order_m = (parseFloat(allpice-cut_price)-quan_price).toFixed(2);
        var coupon_price=quan_price; //优惠券优惠了多少钱
        if(order_m<0) {
          order_m=0;coupon_price=parseFloat(order_m).toFixed(2);
        }
        //--看一下有没有订单优惠--
        var o_condition=parseFloat(order_m);
        if(o_condition>0){
             th.check_is_order_prom(o_condition,function () {
                   var order_prom_amount=0; var order_prom_id=0;
                   if(th.data.order_prom[th.data.bn_pick]){
                       var ord_prom=th.data.order_prom[th.data.bn_pick];
                       order_prom_id = ord_prom['id'];
                       switch (ord_prom['type']) {
                         case 0:
                            order_m = Math.round(o_condition * ord_prom['expression'])/100;//满额打折
                            order_prom_amount=(o_condition -order_m).toFixed(2);
                            break;
                         case 1:
                           order_m = o_condition - ord_prom['expression'];//满额优惠金额
                           order_prom_amount= ord_prom['expression'];
                           break;
                       }
                   }
                   //--订单优惠的显示--
                   if(order_prom_id>0){
                       var order_prom_txt1="formData.order_prom_id";
                       var order_prom_txt2="formData.order_prom_amount";
                       th.setData({ [order_prom_txt1]: order_prom_id,[order_prom_txt2]: order_prom_amount})
                   }
                   total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price);
                   order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price);
                   var atxt= "formData.total_amount";
                   th.setData({ [atxt]: total_m, })
                   var txt = "formData.user_money";
                   var txt2 = "formData.order_amount";
                   var txt3="formData.coupon_price";
                   var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money);
                   //--------------如果使用余额---------------------
                   if (th.data.bn_use_money == 1) {
                     if (amoney> order_m) {
                       order_m = order_m.toFixed(2);
                       th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price })
                     }else{
                       order_m =parseFloat(order_m - amoney);
                       order_m = order_m.toFixed(2);
                       th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price })
                     }
                   }else{
                     th.setData({ [txt]: 0, [txt2]: order_m,[txt3]:coupon_price })
                   }
                   //优惠活动送积分
                   if(good.s_intValue){
                     txt = "formData.give_integral";
                     th.setData({ [txt]:good.s_intValue });
                   }
                   //优惠送券
                   if(good.s_coupon_id){
                     var i_txt = "formData.give_coupon_id";
                     //这个是json格式的
                     var i_txt1 = "formData.g_coupon_num";
                     var ob=[{"num":good.s_coupon_num,"c_id":good.s_coupon_id}];
                     ob=JSON.stringify(ob);
                     th.setData({ [i_txt]:good.s_coupon_id,[i_txt1]:ob });
                   }
                   //优惠礼包
                   if(good.s_libao){
                     var l_txt = "formData.give_lb_id";
                     //这个是json格式的
                     var l_txt1 = "formData.g_lb_num";
                     var ob=[{"num":good.s_lb_num,"l_id":good.s_libao}];
                     ob=JSON.stringify(ob);
                     th.setData({ [l_txt]:good.s_libao,[l_txt1]:ob });
                   }
             })
        }else{
          total_m= parseFloat( total_m)+ parseFloat( th.data.formData.shipping_price);
          order_m = parseFloat(order_m)+ parseFloat( th.data.formData.shipping_price);
          var atxt= "formData.total_amount";
          th.setData({ [atxt]: total_m, })
          var txt = "formData.user_money";
          var txt2 = "formData.order_amount";
          var txt3="formData.coupon_price";
          var amoney = parseFloat(th.data.userinfo.user_money - th.data.txmon - th.data.userinfo.frozen_money);
          //--------------如果使用余额---------------------
          if (th.data.bn_use_money == 1) {
            if (amoney> order_m) {
              order_m = order_m.toFixed(2);
              th.setData({ [txt]: order_m, [txt2]:0,[txt3]:coupon_price })
            }else{
              order_m =parseFloat(order_m - amoney);
              order_m = order_m.toFixed(2);
              th.setData({ [txt]: amoney, [txt2]: order_m,[txt3]:coupon_price })
            }
          }else{
            th.setData({ [txt]: 0, [txt2]: order_m,[txt3]:coupon_price })
          }
          //优惠活动送积分
          if(good.s_intValue){
            txt = "formData.give_integral";
            th.setData({ [txt]:good.s_intValue });
          }
          //优惠送券
          if(good.s_coupon_id){
            var i_txt = "formData.give_coupon_id";
            //这个是json格式的
            var i_txt1 = "formData.g_coupon_num";
            var ob=[{"num":good.s_coupon_num,"c_id":good.s_coupon_id}];
            ob=JSON.stringify(ob);
            th.setData({ [i_txt]:good.s_coupon_id,[i_txt1]:ob });
          }
          //优惠礼包
          if(good.s_libao){
            var l_txt = "formData.give_lb_id";
            //这个是json格式的
            var l_txt1 = "formData.g_lb_num";
            var ob=[{"num":good.s_lb_num,"l_id":good.s_libao}];
            ob=JSON.stringify(ob);
            th.setData({ [l_txt]:good.s_coupon_id,[l_txt1]:ob });
          }
        }
      });
    });
  },
  //--------------------提交订单-----------------------
  async submitForm(t){
    var sub_value=t;
    if(this.data.is_summit_ing==1) return false; //--提交中退出--
    this.data.is_summit_ing=1;
    var th=this,pdata=new Array();
    var ff=true;
    //------------立即购买-------------
    if (th.data.is_b_now==1 && th.data.bn_goods.prom_type!=5){
      if(th.data.bn_exp_type == 0 && th.data.user_addr==null ){ 
          ff = false; getApp().my_warnning("请选择收货地址",0,th); 
         this.data.is_summit_ing = 0;
      }
      if (!ff) return false;
      var addr = th.data.user_addr;
      if (th.data.bn_exp_type == 1) addr=null;
      if(th.data.bn_exp_type==0)
        if(th.data.wu_arr==null ||  th.data.wu_arr.length<=0){
          getApp().my_warnning("读取物流失败",0,th);
          return false;
        }
      var item={
        'user_id': to.globalData.user_id,
        'consignee': addr == null ? "" : addr.consignee,
        'province': addr == null ? 0 : addr.province,
        'city': addr == null ? 0 : addr.city,
        'district': addr == null ? 0 : addr.district,
        'twon': addr == null ? 0 : addr.twon,
        'address': addr == null ? "": addr.address,
        'more_address': addr == null ? "" : addr.more_address,
        //'mobile': th.data.userinfo.mobile,
        'mobile': addr == null ? th.data.userinfo.mobile : addr.mobile,
        'email':'',
        'shipping_code': th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code,
        'shipping_name': th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name,
        'invoice_title':'',
        'goods_price': th.data.formData.all_price,           //商品总价
        'shipping_price': th.data.formData.shipping_price, //物流金额
        'user_money': th.data.formData.user_money,         //使用余额
        'total_amount': th.data.formData.total_amount,     //订单总价
        'order_amount': th.data.formData.order_amount,     //应付
        'user_note': t.detail.value.user_note,             //用户备注
        'store_id':oo.stoid,                //商家
        'pickup_id': th.data.bn_pick,       //门店
        'exp_type': th.data.bn_exp_type,    //配送方式
        'order_goods':new Array(),
      };
      //是不是重新提交
      if(th.data.is_continue==1) item.is_continue=1;
      //获取立即购买的商品的信息
      var gg = to.get_b_now();
      //--商品的房间号--
      if(gg.room_id && gg.room_id>0){
          item.room_ids=gg.room_id;
      }
      var order_prom_list={};
      //--判断有没有优惠活动--
      if(th.data.order_prom[item.pickup_id]){
          if(th.data.formData.order_prom_amount>0){
             order_prom_list.order_prom_id=th.data.formData.order_prom_id;
             order_prom_list.order_prom_amount=th.data.formData.order_prom_amount;
          }
      }
      //--判断优惠活动的提交--
      if(th.data.formData.cut_price>0){
        order_prom_list.discount_amount=th.data.formData.cut_price.toFixed(2);
        var ob=[{"prom_id":th.data.bn_goods.prom_id,"dis":th.data.formData.cut_price.toFixed(2),"ispt":0}]
        order_prom_list.prom_pt_json=JSON.stringify(ob);
      }
      if(th.data.formData.give_integral>0){
        order_prom_list.give_integral=th.data.formData.give_integral;
      }
      if(th.data.formData.give_coupon_id>0){
        order_prom_list.give_coupon_id=th.data.formData.give_coupon_id;
        order_prom_list.g_coupon_num=th.data.formData.g_coupon_num;
      }
      if(th.data.formData.give_lb_id>0){
        order_prom_list.give_lb_id=th.data.formData.give_lb_id;
        order_prom_list.g_lb_num=th.data.formData.g_lb_num;
      }
      item.order_prom_list=order_prom_list;
      //组装优惠券的钱
      if(parseFloat(th.data.formData.coupon_price)>0){
           item.coupon_price=th.data.formData.coupon_price;
           item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
      }
      if(th.data.using_quan[th.data.bn_pick] && th.data.using_quan[th.data.bn_pick].coupon_no && th.data.using_quan[th.data.bn_pick].isby){
         item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
         item.coupon_price=0;
      }
      var goods={
        'goods_id': gg.goods_id,
        'goods_name': gg.goods_name,
        'goods_sn': gg.goods_sn,
        'goods_num': gg.goods_num,
        'market_price': th.data.bn_goods.market_price,
        'goods_price': th.data.bn_goods.shop_price,
        'member_goods_price': th.data.bn_goods.shop_price,
        'store_id': oo.stoid,
        'prom_type':th.data.bn_goods.prom_type,  //促销活动类型
        'prom_id': th.data.bn_goods.prom_id,     //促销活动id
      };
      //-- 把导购的信息填入--
      if(gg.guide_id){
          goods.guide_id=gg.guide_id;
          goods.guide_type=gg.guide_type;
          //调用接口判断是不是会员
          await  getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+oo.stoid+"/"+gg.guide_id,{}).then(res=>{
              if(res.data.code==0){
                  goods.guide_name=res.data.data.salesman;
                  goods.guide_sn=res.data.data.salesman_no;
              }
          })
      }
      //--商品的房间号--
      if(gg.room_id && gg.room_id>0){
          goods.room_id=gg.room_id;
      }
	  //如果不立即购买或者秒杀,如果是线下库存购买的时候
	  if(goods.prom_type!=1 && goods.prom_type!=6 && th.data.sales_rules==2){
		  var isok=1;
		  await th.check_store_num(goods.goods_id,th.data.bn_pick, gg.goods_num,function(res){
			  isok=res;
		  });
		  if(!isok){
			  getApp().confirmBox("商品的门店库存不足");
			  th.data.is_summit_ing=0;
			  return false;
		  }
	  }
      //--组装优惠券的钱--
      if(th.data.formData.coupon_price){
        item.coupon_price=th.data.formData.coupon_price;
        item.coupon_no=th.data.using_quan[th.data.bn_pick].coupon_no;
        goods.quan_num=th.data.formData.coupon_price;
        goods.quan_no= item.coupon_no;
      }
      //---  如果有优惠促销的金额,要把金额先平摊下去 ---
      if(th.data.formData.cut_price>0 && !th.data.ispt_goods){
          var per=th.data.formData.cut_price/(goods.goods_price*goods.goods_num)                //优惠单价
          //比例太小不平摊
          if(per<0.001){
              goods.account_yu=th.data.formData.cut_price;
          }else{
              per=Math.floor(per*1000)/1000;
              var all_amount=goods.goods_price*goods.goods_num-goods.goods_price*goods.goods_num*per;          //商品总实收
              var account=Math.floor(all_amount/goods.goods_num*100)/100;                                   //实收单价保留俩位小数
              var account_yu=account*goods.goods_num-(goods.goods_price*goods.goods_num-th.data.formData.cut_price);   //算出余数
              goods.account=account;
              goods.account_yu=parseFloat(account_yu.toFixed(2));
          }
      }
      item.order_goods.push(goods);
      //--如果有赠品的时候,赠品也要提交---
      if(th.data.buy_now_gift_goods){
        var gift_gg=th.data.buy_now_gift_goods;
        var g_goods={
          'goods_id': gift_gg.goods_id,
          'goods_name': gift_gg.goods_name,
          'goods_sn': gift_gg.goods_sn,
          'goods_num': gift_gg.buynum,
          'market_price': gift_gg.market_price,
          'goods_price': 0,
          'member_goods_price': 0,
          'store_id': oo.stoid,
          'is_gift':1,
          'gift_id':gift_gg.gift_id,
          'prom_id':gift_gg.prom_id,
        };
        item.order_goods.push(g_goods);
      }
      pdata.push(item);
      console.log(pdata);
    }else{
      //---------购物车的结算---------
      if (th.data.is_all_zt == 0 && th.data.user_addr == null) { ff = false; getApp().confirmBox("请新建收货地址");}
      if (!ff) return false;
      var addr = th.data.user_addr;
      if (th.data.is_all_zt == 1) addr = null;
      var val_arr= t.detail.value;
      if(th.data.is_all_zt !=1)
        if(th.data.wu_arr==null || th.data.wu_arr.length<=0 ){
          getApp().confirmBox("读取物流失败");
          return false;
        }
      var order_prom_list_cart=th.data.order_prom_list_cart;
      //--组装推送数据--
      for (var i = 0; i < order_prom_list_cart.length;i++){
        var t_item = order_prom_list_cart[i];
        var item = {
          'user_id': to.globalData.user_id,
          'consignee': addr == null ? th.data.userinfo.mobile : addr.consignee,
          'province': addr == null ? 0 : addr.province,
          'city': addr == null ? 0 : addr.city,
          'district': addr == null ? 0 : addr.district,
          'twon': addr == null ? 0 : addr.twon,
          'address': addr == null ? "" : addr.address,
          'more_address': addr == null ? "" : addr.more_address,
          'mobile': th.data.userinfo.mobile,
          'email': '',
          'shipping_code': th.data.is_all_zt == 1 ? 0 : th.data.wu_arr[t_item.wind].code,
          'shipping_name': th.data.is_all_zt == 1 ? '' : th.data.wu_arr[t_item.wind].name,
          'invoice_title': '',
          'goods_price': t_item.goods_price,       //商品总价
          'shipping_price': t_item.shipping_price, //物流金额
          'user_money': t_item.user_money,         //使用余额
          'total_amount': t_item.total_amount,     //订单总价
          'order_amount': t_item.order_amount,     //应付
          'user_note': val_arr['user_note_' + t_item.pickup_id], //用户备注
          'store_id': oo.stoid,                //商家
          'pickup_id': t_item.pickup_id,       //门店
          'exp_type': t_item.exp_type,         //配送方式
          'order_goods': new Array(),
        };
        //是不是重新提交
        if(th.data.is_continue==1) item.is_continue=1;
        //组装优惠券的钱
        if(t_item.coupon_price) {
          item.coupon_price = t_item.coupon_price;
          item.coupon_no = th.data.using_quan[t_item.pickup_id].coupon_no;
        }else if(t_item.quan_no) {
          item.coupon_no = t_item.quan_no;
          item.coupon_price = 0;
        }
          var order_prom_list={};
          //--判断有没有优惠活动--
          if(t_item.order_prom_amount>0){
                  order_prom_list.order_prom_id=t_item.order_prom_id;
                  order_prom_list.order_prom_amount=t_item.order_prom_amount;
          }
          //--判断优惠活动的提交--
          if(t_item.cut_price>0){
              order_prom_list.discount_amount=t_item.cut_price.toFixed(2);
              order_prom_list.prom_pt_json=JSON.stringify(t_item.prom_pt_json);
          }
          if(t_item.s_intValue>0){
              order_prom_list.give_integral=t_item.s_intValue;
          }
          if(t_item.s_coupon_id>0){
              order_prom_list.give_coupon_id=t_item.s_coupon_id;
              order_prom_list.g_coupon_num=  JSON.stringify(t_item.g_coupon_num);
          }
          if(t_item.s_libao>0){
              order_prom_list.give_lb_id=t_item.s_libao;
              order_prom_list.g_lb_num=JSON.stringify(t_item.g_lb_num);
          }
          if(Object.keys(order_prom_list).length>0)
               item.order_prom_list=order_prom_list;
         //房间号的ids
         var room_ids="";
         //-------------让商品添加到商品列表--------------------
         for (var k = 0; k < t_item.goods.length;k++){
          var g_item = t_item.goods[k];
          var goods = {
            'goods_id': g_item.goods_id,
            'goods_name': g_item.goods_name,
            'goods_sn': g_item.goods_sn,
            'goods_num': g_item.goods_num,
            'market_price': g_item.market_price,
            'goods_price': g_item.goods_price,
            'member_goods_price': g_item.goods_price,
            'store_id': oo.stoid,
          };
          //把优惠的平摊结果写进去
          if(g_item.account){
              goods.account=g_item.account;
              goods.account_yu=g_item.account_yu;
          }
          //--把券的钱,写入从表---
          if(t_item.quan_youhui_list && t_item.coupon_price ){
              for(var kk in t_item.quan_youhui_list ){
                  var you_item=t_item.quan_youhui_list[kk];
                  if(g_item.erpwareid==you_item.WareId){
                      goods.quan_num=you_item.WareCashSum;
                      goods.quan_no=you_item.CashRepNo;
                  }
              }
          }
          //--判断活动的类型--
          switch (g_item.prom_type) {
              case 1:
                  goods.prom_type = g_item.prom_type;
                  goods.prom_id = g_item.prom_id;
                  break;
              case 3:
                  goods.prom_type=3;
                  goods.prom_id=g_item.prom_id;
                  if(g_item.is_gift){
                      goods.is_gift=g_item.is_gift;
                      goods.gift_id=g_item.gift_id;
                  }
                  break;
              case 5:
                  goods.prom_type=5;
                  goods.prom_id=g_item.prom_id;
                  if(g_item.is_collocation){
                      goods.is_collocation=g_item.is_collocation;
                  }
                  break
              default:
                  goods.prom_type = 0;goods.prom_id =0;
          }
		  //如果不立即购买或者秒杀,如果是线下库存购买的时候
		  if(goods.prom_type==0 && th.data.sales_rules==2){
		  		  var isok=1;
		  		  await th.check_store_num(goods.goods_id, t_item.pickup_id,goods.goods_num,function(res){
		  			  isok=res;
		  		  });
		  		  if(!isok){
		  			  getApp().confirmBox( goods.goods_name+"的门店库存不足");
		  			  th.data.is_summit_ing=0;
		  			  return false;
		  		  }
		  }
		  //导购ID
		  if(g_item.guide_id){
              goods.guide_id=g_item.guide_id;
              goods.guide_type=g_item.guide_type;
              //调用接口判断是不是会员
              await  getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/"+oo.stoid+"/"+g_item.guide_id,{}).then(res=>{
                  if(res.data.code==0){
                      goods.guide_name=res.data.data.salesman;
                      goods.guide_sn=res.data.data.salesman_no;
                  }
              })
          }
          //如果房间号不为空的时候
          if(g_item.room_id){
              goods.room_id=g_item.room_id;
              room_ids+=g_item.room_id+",";
          }
          item.order_goods.push(goods);
        }
        //如果房间号不为空的时候
        if(room_ids!="") item.room_ids= ut.sub_last(room_ids);
        pdata.push(item);
      }
    }
    if (pdata.length==0) return;
    var str = JSON.stringify(pdata);
    wx.showLoading({title: "加载中"});
    wx.request({
      url: oo.url + '/api/weshop/order/createWxdOrder',
      data: str,
      method: 'POST',
      header: {
        'content-type': 'application/json'
      },// 设置请求的 header
      success: function (res) {
        th.data.is_summit_ing=0;  //是否提交中
        wx.hideLoading();
        if (res.statusCode == 200) {
           var data=res.data;
           if(data.code==0){
            console.log(th.data.is_b_now);
            //如果是购物车结算,还要删除购物车
            if (th.data.is_b_now == 0) {
              console.log(th.data.cartlist_y);
              var list = th.data.cartlist_y;
              for (var i = 0; i < list.length; i++) {
                //删除购物车
                a.delete("/api/weshop/cart/del/" + oo.stoid + "/" + list[i].id, {});
              }
            }
            var order_amount = 0;
            pdata.forEach(function (em, ind) {
              order_amount += em.order_amount;
            })
            //要进行判断,如果是用微信支付,就要跳转到支付界面
            if (order_amount > 0) {
              th.setData({ isclose: 0 });
              //void e.jumpToCart4({
              //  order_sn: data.data,
              //}, 1);
                util_pay.pay(data.data, function() {
                    //app.my_warnning("支付成功",1,th);
                    //setTimeout(function () {
                        wx.navigateTo({
                            url: "/pages/payment/pay_success/pay_success?type=2&order_sn="+data.data
                        })
                    //},1000)
                }, function () {
                    //支付失败
                    setTimeout(function () {
                        wx.navigateBack({ delta: 1 })
                    },1000)
                },oo.stoid);
            } else {
              var dd = {
                parent_sn: data.data,
                store_id: oo.stoid,
                type: 2,
              };
              a.post("/api/weshop/order/pay/createOrder", {
                data: dd,
                success: function (t) {
                  //console.log(t);
                  if(t.data.code==0){
                      //app.my_warnning("支付成功",1,th);
                      //setTimeout(function () {
                        th.setData({ isclose: 0 });
                        wx.navigateTo({
                          url: "/pages/payment/pay_success/pay_success?type=2&order_sn="+data.data,
                        })
                      //}, 1000)
                  }
                },
                fail:function () {
                }
              });
            }
          }
           else{
             //--内容换行--
             var msg=data.msg;
             //赠品活动已经取消,无法赠送,是否继续买单?
             if(msg.indexOf("是否继续买单")>0){
                   wx.showModal({
                       title:"提示",
                       content: data.msg,
                       cancelText:'取消',
                       confirmText:'确定',
                       showCancel: true,
                       success(res){
                           if(res.cancel){
                               return;
                           }else if(res.confirm){
                               th.data.is_continue=1;
                               th.submitForm(sub_value);
                           }
                       }
                   })
                   return;
             }
             if(msg.length>13){
                 msg=msg.slice(0, 13) + "\r\n"+ msg.slice(13);
             }
             getApp().confirmBox(msg);
           }
        }else{
            console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
        }
      },
      fail: function () {
        th.data.is_summit_ing=0;
        wx.hideLoading();
        console.log("index.js wx.request CheckCallUser fail");
      },
      complete: function () {}
    })
  },
  //---确认线下门店的数量足不足---
  async check_store_num(goods_id,pick,goods_num,func){	    
	  	  var lock=0,pick_no,plist,erpwareid;
	  	  //先读取门店的lock
	  	  await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{
	  		  data:{store_id:os.stoid,wareId:goods_id,storageId:pick,pageSize:1000}
	  	  }).then(res=>{
	  		  if(res.data.code==0 && res.data.data.total>0){
				  for(var i in res.data.data.pageData)
	  			    lock+=res.data.data.pageData[i].outQty;
	  		  }
	  	  })
	  	  //先获取门店的编号
	  	  await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick,{
	  		  data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:pick}
	  	  }).then(res=>{
	  		  if(res.data.code==0){
	  			  pick_no=res.data.data.pickup_no;
	  		  }
	  	  })	   
		  //先获取商品的线下库存
		  await getApp().request.promiseGet("/api/weshop/goods/get/"+os.stoid+"/"+goods_id,{
		  	  data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:pick}
		  }).then(res=>{
		  	  if(res.data.code==0){
		  	  	 erpwareid=res.data.data.erpwareid;
		  	  }
		  })
	  	  //读取线下的门店库存 
	  	  await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{
	  		  data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid}
	  	  }).then(res=>{
	  		  if(res.data.code==0){
	  			  plist=res.data.data.pageData[0];		 
	  		  }
	  	  })	  
	  	  var isok=1;
	  	  if(goods_num>plist.CanOutQty-lock){
	  		isok=0;
	  	  }
	  	  func(isok);   
  },
  useCoupon: function() {
    if (this.data.order.couponNum <= 0) {
      getApp().my_warnning("无可用优惠券",0,this);
      return;
    }
    var a = {
      lid: this.data.coupon ? this.data.coupon.id : "0"
    };
    wx.navigateTo({
      url: "/pages/user/checkcoupon/checkcoupon?" + s.Obj2Str(a)
    });
  },
  enterAddressPage: function() {
    getApp().globalData.is_cart_old=1;
    this.data.isget_by_quan={};
    this.data.enterAddressPage = !0, wx.navigateTo({
      url: "/pages/user/address_list/address_list"
    });
  },
  //--------购物车购买时,选择自提和物流-----------
  setexptype_w:function(t){
    var def_exp_code= getApp().globalData.userInfo.def_exp_code,th=this;
    var ty = t.currentTarget.dataset.t, txt = t.currentTarget.dataset.txt,
        wl_txt = t.currentTarget.dataset.wl_txt,
        ont = t.currentTarget.dataset.ont;
    th.setData({ [txt]: ty });
    var iszt=1;
   
    if(ty==0){
      th.setData({ is_all_zt: 0 });
    }else{
      for(var i=0;i 0 && o_price >= freight_free){ return 0;}
    if (user_addr==null) { return 0; }
    //计算物流的config  item;
    var item=null;
    //先根据 镇 县 区找计算的config
    item = th.get_wuliu_config(user_addr.district,code,rs);
    if (item==null) item = th.get_wuliu_config(user_addr.city, code, rs);
    if (item==null) item = th.get_wuliu_config(user_addr.province, code, rs);
    if (item == null) item = th.get_wuliu_default(code,rs);
    if (item == null) return o_shipping_price;
    var fw_price = 0, fp_price=0;
    item=item.config;
    //------按重量----------
    if (goods_weight>=0 && item['money']) {
      fw_price =parseFloat(item['money']);
      if (goods_weight > item['first_weight']){
        var fw = goods_weight - item['first_weight'];
        var n = Math.ceil(fw/item['second_weight'])
        fw_price = fw_price + n * parseFloat(item['add_money']);
      }
    }
    //------按件数----------
    if (goods_piece > 0 && item['piecemoney']) {
      fp_price = parseFloat(item['piecemoney']);
      if (goods_piece > item['first_piece']) {
        var fp = goods_piece - item['first_piece'];
        var m = Math.ceil(fp / item['second_piece'])
        fp_price = fp_price + m * parseFloat(item['add_piecemoney']);
      }
    }
    var rspice =parseFloat(price + fw_price + fp_price);
    return rspice;
  },
  //------------循环获取config-----------
  get_wuliu_config:function(region_id,code,rs){
    var item=null,rslist = rs.pageData;
    for (var i = 0; i < rslist.length;i++){
      if (rslist[i].code == code && rslist[i].region_id == region_id) { item = rslist[i];}
    }
    return item;
  },
  //-------循环获取config,code default-------
  get_wuliu_default: function (code, rs) {
    var item = null, rslist=rs.pageData;
    for (var i = 0; i < rslist.length; i++) {
      if (rslist[i].shipping_code == code && rslist[i].is_default == 1) { item = rslist[i]; }
    }
    return item;
  },
  //----------立即购买,选择物流-------------
  bindPickerChange:function(e){
    var ind = e.detail.value
    this.setData({ index: ind });
    this.calculatePrice2();
  },
  //----------购物车结算,选择物流-------------
  bindPickerChange_w: function (e) {
    var ind=e.detail.value, txt = e.currentTarget.dataset.txt;
    this.setData({ [txt]: ind });
    this.calculatePrice();
  },
  /*----券的所有操作----*/
  open_coupon_list:function (e) {
    var th=this;
    var pickid=e.currentTarget.dataset.pickid;
    var bn=e.currentTarget.dataset.bn;
    var cindx=e.currentTarget.dataset.cind;
    var get_by_quan_list_cart=th.data.get_by_quan_list_cart[pickid];
    if(bn==1){
       th.setData({open_quan:1,selected_quan_pick:pickid, disabled:1});
    }else{
      //---多单打开券的时候,就要判断券在其他门店是否有使用---
      var quanlist=th.data.cartlist[cindx].quan_list;
      var exp_type=th.data.cartlist[cindx].exp_type;
      //对于在其他门店已经选择了的券 要判断是否显示到界面
      for(var i in quanlist){
          quanlist[i].is_using= th.check_in_sele(quanlist[i].CashRepNo,pickid);
      }
      if(get_by_quan_list_cart){
         for(var i in get_by_quan_list_cart){
             get_by_quan_list_cart[i].is_using= th.check_in_sele(get_by_quan_list_cart[i].no,pickid);
         }
         th.setData({by_quan_list_cart:get_by_quan_list_cart});
       }
      console.log("2222222券的列表", quanlist);
      th.setData({ sele_cart_ind:cindx,sele_exp_type:exp_type,open_quan:1,selected_quan_pick:pickid,selected_quan_list:quanlist,disabled:1});
    }
  },
  close_coupon:function (e) {
    var th=this;
    th.setData({open_quan:0,disabled:0});
  },
  //---判断券时候在已经选择的列表中---
  check_in_sele:function (no,pick_id) {
      var th=this;
      if(th.data.using_quan.length<=0) return false;
      for(var i in th.data.using_quan){
           //--如果键值等于本身就要跳出--
           if(i==pick_id) continue;
           var item=th.data.using_quan[i];
           if(item.coupon_no==no){
              return true;
           }
      }
      return false;
  },
  /*--点击选择券--*/
  sele_quan_item:function(e) {
    var no_use=e.currentTarget.dataset.no, quanlist=this.data.selected_quan_list;  
    //---所有的券的显示红色选择都清理一遍---
    for(var ind in quanlist){
       quanlist[ind].show_red=0;
    }
    this.setData({selected_quan_list:quanlist});
    var by_quanlist=this.data.get_by_quan_list;
    if(by_quanlist){
      //---所有的券的显示红色选择都清理一遍---
      for(var ind in by_quanlist){
        by_quanlist[ind].show_red=0;
      }
      this.setData({get_by_quan_list:by_quanlist});
    }
    var by_cart_list=this.data.by_quan_list_cart;
    if(by_cart_list){
      //---所有的券的显示红色选择都清理一遍---
      for(var ind in by_cart_list){
        by_cart_list[ind].show_red=0;
      }
      this.setData({by_quan_list_cart:by_cart_list});
    }
    var using_quan=this.data.using_quan;
    var th=this;
    //---如果是不使用优惠券---
    if(no_use==1){
          console.log("有进来吗券", no_use);
          if(using_quan[th.data.selected_quan_pick]){
              using_quan[th.data.selected_quan_pick].is_nouse_red=1;
          }
          else{
             using_quan[th.data.selected_quan_pick] ={is_nouse_red:1};
          }
          this.setData({ using_quan: using_quan, is_coupon:2222});
		 return;
    }
    var ind = e.currentTarget.dataset.ind;
    
    var quan_item = this.data.selected_quan_list[ind];
    var txt = "selected_quan_list[" + ind + "].show_red";
    
    var obj = {};
    obj[txt] = 1;
    if (quan_item.show_red) {
      obj[txt] = 0;
    }
    this.setData(obj);
    console.log(this.data.selected_quan_list, "选中的券的下标", quan_item, "数据都在这里", txt);
    if(using_quan[th.data.selected_quan_pick]){
      using_quan[th.data.selected_quan_pick].is_nouse_red=0;
    }
    else{
      using_quan[th.data.selected_quan_pick] ={is_nouse_red:0};
    }
    this.setData({using_quan:using_quan});
  },
  /*----- 点击选择包邮券 -----*/
  sele_quan_item_by:function(e) {
    var no_use=e.currentTarget.dataset.no;
    //立即购买的包邮券
    var by_quanlist=this.data.get_by_quan_list;
    if(by_quanlist) {
      //---所有的券的显示红色选择都清理一遍---
      for (var ind in by_quanlist) {
        by_quanlist[ind].show_red = 0;
      }
      this.setData({get_by_quan_list: by_quanlist});
    }
    //--购物车过来的包邮券--
    var by_cart_list=this.data.by_quan_list_cart;
    if(by_cart_list){
      //---所有的券的显示红色选择都清理一遍---
      for(var ind in by_cart_list){
        by_cart_list[ind].show_red=0;
      }
      this.setData({by_quan_list_cart:by_cart_list});
   }
    //普通券
   var quanlist=this.data.selected_quan_list;
   if(quanlist){
     //---所有的券的显示红色选择都清理一遍---
     for(var ind in quanlist){
       quanlist[ind].show_red=0;
     }
     this.setData({selected_quan_list:quanlist});
   }
    var th=this;
    var using_quan=this.data.using_quan;
    //---如果是不使用优惠券---
    if(no_use==1){
      if(using_quan[th.data.selected_quan_pick]){
        using_quan[th.data.selected_quan_pick].is_nouse_red=1;
      }
      else{
        using_quan[th.data.selected_quan_pick] ={is_nouse_red:1};
      }
      this.setData({ using_quan: using_quan, is_coupon:2222});
      return;
    }
    var pickid=th.data.selected_quan_pick;  //现在选择的是哪一个门店
    var ind = e.currentTarget.dataset.ind;
    //--如果是立即购买的部分--
    var txt="";var txt1=""; var quan_item=null;
    if(th.data.is_b_now){
        quan_item = this.data.get_by_quan_list[ind];
        txt = "get_by_quan_list[" + ind + "].show_red";
        var obj = {}; obj[txt] = 1;
        this.setData(obj);
    }else{
        txt= "by_quan_list_cart[" + ind + "].show_red";
        quan_item = th.data.by_quan_list_cart[ind];
        var obj = {}; obj[txt] = 1;
        this.setData(obj);
        th.data.get_by_quan_list_cart[pickid]=JSON.parse(JSON.stringify(th.data.by_quan_list_cart));  //要把选中的弄回数组
    }
    if(using_quan[th.data.selected_quan_pick]){
      using_quan[th.data.selected_quan_pick].is_nouse_red=0;
    }
    else{
      using_quan[th.data.selected_quan_pick] ={is_nouse_red:0};
    }
    this.setData({using_quan:using_quan});
  },
  //--确认使用券---
  confirm_quan:function () {
      var using_quan=this.data.using_quan;     //正在使用中的券列表
      var pickid=this.data.selected_quan_pick; //选中的门店ID
      var th=this;
      var selected_quan_list=this.data.selected_quan_list;  //选择了那个门店的券列表
      var get_by_quan_list=this.data.get_by_quan_list;      //立即购买的包邮券列表
      var by_quan_list_cart=this.data.by_quan_list_cart;    //购物车购买的包邮券列表
      //选择了的券
      var sele_quan=null;
      //循环普通的券
      for(var i in selected_quan_list){
          var item=selected_quan_list[i];
          if(item.show_red) {
             th.insert_into_using_quan(item,using_quan,pickid);
             return;
          }
      }
      //循环包邮的券,立即购买的
      for(var i in get_by_quan_list){
        var item=get_by_quan_list[i];
        if(item.show_red) {
          if(th.data.is_no_by[pickid]==1){
               getApp().my_warnning("已全场不能包邮,不能选择包邮券",0,th);return false;
          }
		  if(th.data.is_by[pickid]==1){
               getApp().my_warnning("已全场包邮,不能选择包邮券",0,th);return false;
          }
          th.insert_into_using_quan(item,using_quan,pickid,1);
          return;
        }
     }
     //循环包邮的券
    for(var i in by_quan_list_cart){
      var item=by_quan_list_cart[i];
      if(item.show_red) {
        if(th.data.is_no_by[pickid]==1){
          getApp().my_warnning("已全场不能包邮,不能选择包邮券",0,th);return false;
        }
        if(th.data.is_by[pickid]==1){
          getApp().my_warnning("已全场包邮,不能选择包邮券",0,th);return false;
        }
        th.insert_into_using_quan(item,using_quan,pickid,1);
        return;
      }
    }
      //选择了的券,看是不是点击了不使用券,点击了不使用优惠券
      if(using_quan[pickid]){
           if(using_quan[pickid].is_nouse_red==1){
                using_quan[pickid] ={is_nouse_red:1};
                th.setData({using_quan:using_quan});
                if(th.data.is_b_now==1){
                    th.calculatePrice2();
                }else{
                   th.calculatePrice();
                }
                th.setData({open_quan:0});
                return;
           }
      }
  },
  //----把券插入之后的操作,同时还要重新计算价格----
  insert_into_using_quan:function (item,using_quan,pickid,isby) {
        var th=this;
        if(isby==1){
          using_quan[pickid]={coupon_no:item.no,money:0,is_nouse_red:0,region_list:item.region_list,goods_list:item.goods_list};
          using_quan[pickid].isby=1;
        }else{
          using_quan[pickid]={coupon_no:item.CashRepNo,money:item.Sum,is_nouse_red:0};
          using_quan[pickid].isby=0;
        }
        this.setData({using_quan:using_quan});
        if(th.data.is_b_now==1){
          th.calculatePrice2();
        }else{
          th.calculatePrice();
        }
        th.setData({open_quan:0});
  },
  cart_set_err:function(e){
       var txt = e.currentTarget.dataset.err;
       var ob={};
       ob[txt] = this.data.imgUrl + "/miniapp/images/default_g_img.gif";
       this.setData(ob);
  },
  //--验证是否已经冻结--
  check_is_frozenQuan:function(quanlist,frozenQuan,isby){
        console.log("券列表",quanlist);
        if(!quanlist) return null;
        if(!frozenQuan) return quanlist;
        var arr=[];
        for(var i=0;i{
                          if (res.data.code == 0) {
                              var quan_list = res.data.data.pageData;
                              arr[ind].quan_list = th.check_is_frozenQuan(quan_list, th.data.frozenQuan);
                          }
                  })
              }
          }
          //如果是搭配购的立即购买的时候
          if(th.data.is_b_now){
              var quanlist=arr[0].quan_list;
              th.setData({selected_quan_list:quanlist,cartlist:arr})
          }else{
              th.setData({cartlist:arr })
          }
      })
  },
  //------ 获取立即购买的购物车的劵 --------
  get_buy_now_quan:function () {
       var quanlist=null,th=this,frozenQuan = null;
       var good = this.data.bn_goods;
       if(good.prom_price){
           th.data.ckeck_quan_price=good.prom_price;
       }
       //--如果商家后台没有限制使用优惠券,同时商品的优惠活动没有限制使用优惠券--
       if(th.data.is_close_quan != 1 && th.data.bn_goods.is_xz_yh!=1)
       {
           var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
           var url="/api/weshop/couponList/getUseCouponList";
           app.request.promiseGet(url0, {1: 1}).then(res => {
               if (res.data.code == 0) {
                   frozenQuan = res.data.data;th.data.frozenQuan=frozenQuan;
               }
               app.request.time_limit_get(6, url, {
                   data: {
                       storeId: oo.stoid,
                       userId: app.globalData.user_id,
                       BuySum: th.data.ckeck_quan_price,
                       WareIds: encodeURIComponent(th.data.check_quan_ware_list),
                       pageSize: 100
                   },
                   success: function (res) {
                       if (res.data.code == 0) {
                           quanlist = res.data.data.pageData;
                           if (quanlist) {
                               quanlist = th.check_is_frozenQuan(quanlist, frozenQuan);
                               th.setData({selected_quan_list:quanlist })
                           }
                       }
                   }
               })
           })
       }
  },
  //检查区域是不是包邮
  check_area:function(arr){
	  var user_addr=this.data.user_addr;
	  for(var i in arr){
		  var item=arr[i];
		  if(user_addr.twon==item || user_addr.district==item
		     || user_addr.city==item|| user_addr.province==item ){
			  return 0;
		  }		 
	  }	 
	  return 1;
  },
  
  //检查立即购买的商品是不是不包邮
  check_good:function(arr,goods_id){	  
	  if(!goods_id) goods_id=this.data.bn_goods.goods_id;
	  for(var i in arr){
	     var item=arr[i];
	     if(goods_id==item)  return 0;
	  }	 
	  return 1;
  },
  check_by_area:function(region_list){
	   var arr=region_list.split(",");
	   var check=this.check_area(arr);
	   return !check;
  },
  check_by_goods:function(goods_list,goods_id){
	  var arr=goods_list.split(",");
	  var check=this.check_good(arr,goods_id);
	  return !check;
  },
  //立即购买获取优惠活动的内容
  buy_now_prom_goods:function (prom_id,arr,func) {
      var price=arr.shop_price*arr.goods_num;
      var prom=null;
      getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+prom_id,{}).then(res=>{
        if(res.data.code==0){
             prom=res.data.data;
             return getApp().request.promiseGet("/api/weshop/goods/getDiscount", {
               data: {
                 price: price,
                 prom_id: prom_id,
                 goods_num: arr.goods_num,
                 user_id: getApp().globalData.user_id,
                 is_bz: prom.is_bz
               }
             })
        }else {
          func(arr);
        }
      }).then(res=>{
          if(res.data.code==0){
            var get_data=res.data.data;
            arr.is_bz=prom.is_bz;             //是不是倍增
            arr.is_xz_yh=prom.is_xz_yh;       //是不是优惠
            arr.bs=get_data.bs;               //是不是倍数
            arr.is_past=get_data.is_past;     //是不是包邮
            arr.prom_price=get_data.price?get_data.price:price;
            arr.s_intValue=get_data.intValue;
            arr.s_coupon_id=get_data.coupon_id;
            arr.s_coupon_num=get_data.coupon_num;
            //-- 看是不是有赠品 --
            if(get_data.gift_id) {
                arr.gift_id = get_data.gift_id;
                arr.gift_goods_id = get_data.goods_id;
                arr.gift_goods_name = get_data.goods_name;
                arr.gift_goods_color = get_data.goodsinfo.goods_color;
                arr.gift_goods_spec = get_data.goodsinfo.goods_spec;
                arr.gift_original_img = get_data.goodsinfo.original_img;
                arr.gift_weight = get_data.goodsinfo.weight;
                arr.gift_exp_sum_type = get_data.goodsinfo.exp_sum_type;
                arr.gift_limit_num = get_data.limit_num;
                arr.gift_storecount = get_data.gift_storecount;
            }
            arr.s_libao=get_data.libao;
            arr.s_lb_num=get_data.lb_num;
            arr.prom_id=prom_id;
          }
          func(arr);
      })
  },
  //--检查订单优惠--
  check_is_order_prom:function (condition,func,pick) {
    var th=this;
    if(this.data.is_b_now==1) pick=this.data.bn_pick;
    //---获取订单优惠---
    getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion",{
         data:{store_id:os.stoid,orderAmount:condition}
    }).then(res=>{
       if(res.data.code==0) {
         var data = res.data.data;
         th.data.order_prom[pick]=data;
       }
       func();
    })
  },
  //--- 加入优惠活动的映射中,同时要有一个good列表 ---
  add_prom_goods_map:async function (item) {
        var th=this;
        var pickid=item.pick_id;
        var map=th.data.prom_goods_map;
        var obj=map[pickid];
        if(map[pickid]){
            if(map[pickid][item.prom_id]){
                var ob=map[pickid][item.prom_id];
                ob.price+=item.goods_price*item.goods_num;
                ob.goods_num+=item.goods_num;
                ob.goods.push({goods_id:item.goods_id,goods_price:item.goods_price,goods_num:item.goods_num});
            }else{
                var prom=null;
                await getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+item.prom_id,{}).then(res=>{
                    if(res.data.code==0){ prom=res.data.data; }
                })
                var ob={};
                ob.prom_id=item.prom_id;
                ob.price=item.goods_price*item.goods_num;
                ob.goods_num=item.goods_num;
                ob.is_bz=prom.is_bz;
                ob.is_xz_yh=prom.is_xz_yh;
                ob.goods=new Array();
                ob.goods.push({goods_id:item.goods_id,goods_price:item.goods_price,goods_num:item.goods_num});
                map[pickid][item.prom_id]=ob;
            }
        }else{
            var ob={};
            var prom=null;
            await getApp().request.promiseGet("/api/weshop/promgoods/get/"+os.stoid+"/"+item.prom_id,{}).then(res=>{
                if(res.data.code==0){ prom=res.data.data; }
            })
            ob.prom_id=item.prom_id;
            ob.price=item.goods_price*item.goods_num;
            ob.goods_num=item.goods_num;
            ob.is_bz=prom.is_bz;
            ob.is_xz_yh=prom.is_xz_yh;
            ob.goods=new Array();
            ob.goods.push({goods_id:item.goods_id,goods_price:item.goods_price,goods_num:item.goods_num});
            var obj={};
            obj[item.prom_id]=ob;
            map[pickid]=obj;
        }
    },
  //计算立即购买赠品的物流费用
  get_now_gift_goods_wuliu:function (code, o_shipping_price, user_addr, gift_freight_free,allpice, rs,shipping_price,no_by_data) {
        var good=this.data.buy_now_gift_goods;
        var  goods_weight=-1, goods_piece=-1;
        var gift_shipping_price=0;
        var th=this;
        switch (good['exp_sum_type']) {
            case 1:
                //统一运费
                gift_shipping_price += good['uniform_exp_sum']; break;
            case 2:
                if (goods_weight < 0) goods_weight = 0;
                //累积商品重量 每种商品的重量 * 数量
                goods_weight += good['weight'] * good['buynum'];break;
            case 3:
                if (goods_piece < 0) goods_piece = 0;
                //累积商品数量
                goods_piece += good['buynum']; break;
        }
        //如果有设置不包邮区域的时候
        if(no_by_data && no_by_data.region_list){
            if(th.check_by_area(no_by_data.region_list)){
                gift_freight_free=0;
                th.data.is_no_by[th.data.bn_pick]=1;
            }
        }
        //如果有设置不包邮商品
        if(no_by_data && no_by_data.goods_list && gift_freight_free){
            if(th.check_by_goods(no_by_data.goods_list)){
                gift_freight_free=0;
                th.data.is_no_by[th.data.bn_pick]=1;
            }
        }
        var t_shipping_price=
            this.calculatewuliu(code, gift_shipping_price, goods_weight,
                goods_piece, user_addr, gift_freight_free, allpice, rs);
        return t_shipping_price+shipping_price;
    },
  //从优惠的映射中拿出商品从表的item
  item_map_get_goods:function(goods_id,map){
      for(var i in map.goods){
          if(map.goods[i].goods_id==goods_id) return map.goods[i];
      }
  }
});