// pages/cart/cart_wk/cart_wk.js
var t = getApp(),
  oo = t.globalData.setting,app=t,
  os=oo;
var ut=require("../../../../utils/util.js");
var util_pay=require("../../../../utils/pay.js");
var regeneratorRuntime = require('../../../../utils/runtime.js');

Page({
  /**
   * 页面的初始数据 
   */
  data: {
    imgUrl: t.globalData.setting.imghost,
    order_id: 0, //订单ID
    order: null, //订单所有字段
    user_addr: null, //会员地址
    pickup: null,    //门店
    goods: null,      //商品
    /*------------------------*/
    userinfo: null, //获取会员
    /*----------物流选择--------*/
    wu_arr: null,
    index: 0,
    is_express: 0,
    //申请提现的金额
    txmon: 0,
    yuer: 0,
    //判断页面是返回回来的还是 首次进入的
    isclose: 1,

    //配送方式 0=用户自选 1=自提 2=物流
    distr_type: 0,
    //实际配送方式 0物流  1自提
    exp_type: 1,
    //------物流费用------
    exp_price: 0,
    enterAddressPage: 0,  //进入地址页面
    is_no_by: {},
    allpice: 0,
    show_pay_type: 0,

    teamgroup: null,
    submit:1, //默认按钮是灰色
    show_submit:0, //不线上

      dis_config: null,
      bn_use_commission: 0, //是不是使用佣金

      bn_is_order_yh:1,  //是不是订单优惠
      bn_is_post_temp:1, //是不是进行计算包邮模板

    paying:0,  //支付中
    same_ok:1,  //同城配送的控制
    formData:{
      order_prom_amount:0,
      coupon_price:0
    },

    //--更优惠券抵用有关，立即购买的，如果是购物车，就要把相应的值，写入cartlist数组中--
    ckeck_quan_price: 0,
    check_quan_price_list: '',
    check_quan_ware_list: '',

    check_quan_price_scj:0,  //市场价取价

    // 设计一个数组来存放已经选择了的券编号,coupon_no是券号，money是面值，coupon_price是真正优惠的价格，数组的下标是pickid
    //using_quan[11]={coupon_no:"1212121",money:"20",coupon_price:"45"}
    using_quan: {},
    isget_by_quan: {},       //是否调用了接口获取包邮券
    is_by:{},
    get_by_quan_list: null,       //立即购买的
    first_entry: 0,//进入次数，如果是第一次进入，进行判断是否进行优惠券是否直接使用
    def_coupon1: null,//购物车优惠券列表
    def_coupon2: null,//直接购买优惠券列表
    def_coupon3: null,//购物车包邮券列表
    def_coupon4: null,//直接购买包邮券列表
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    //定义第一次进入
    this.data.fir_in=1;

    //清空is_pick_up
    getApp().request.put("/api/weshop/useraddress/updatePickUp", {
      data: { user_id: getApp().globalData.user_id, is_pickup: 0 },
      success: function (s) {
      }
    });

    var th = this;
    this.data.order_id = options.order_id;
    //--初始化--
    getApp().getConfig2(function (e) {
      var json_d = JSON.parse(e.switch_list);

      //测试强行写死，后面一定要删除
      //json_d.pickupway=2;


      th.data.json_d = json_d;
      var is_default_logistics = json_d.is_default_logistics;
      var is_same_city = json_d.is_same_city;
      th.setData({ is_default_logistics: is_default_logistics,is_same_city:is_same_city });

      th.get_wuliu(th.get_info(th.show_page));
    }, 1)

    //判断是不是佣金抵扣
    getApp().is_distribut(this);

  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

    this.updateOrderCoupon();

    var th = this;
    //判断是不是第一次进入
    if(this.data.fir_in){
      this.data.fir_in=0;
    }else{
        //-- 富友插件的优化 --
        ut.fy_back('',0);
        this.data.paying=0;
        util_pay.set_fir();

        //-- 通联的第三方支付的返回优化 --
        ut.is_pay_ok(th.data.ok_order_sn,"/packageG/pages/payment/pay_success/pay_success?type=1&order_sn=" + this.data.ok_order_sn,'back',function (){
          if(!th.data.ok_order_sn) return false;
          getApp().request.promiseGet("/api/weshop/order/page",
              {data:{store_id:os.stoid,parent_sn:th.data.ok_order_sn}}).then(res=>{

              if(ut.ajax_ok(res)){
                var item=res.data.data.pageData[0];
                //已经支付尾款，或者所有的会员都已经支付尾款
                if(item.pt_status==4 || item.pt_status==5){
                  //支付支付，返回首页
                  ut.m_toast('支付成功');
                  setTimeout(()=>{
                    getApp().re_to("/packageG/pages/payment/pay_success/pay_success?type=1&order_sn=" + th.data.ok_order_sn);
                  },1000)

                }else{
                  //支付支付，返回首页
                  ut.m_toast('支付失败');
                  setTimeout(()=>{
                    getApp().goto("/pages/index/index/index");
                  },1000)
                }
              }
          })
        });

    }

    getApp().check_can_share();

    if (th.data.isclose == 0) {
      wx.navigateTo({
        url: "/pages/index/index/index"
      })
    }
    th.getuser_addr(function (addr) {
      if (addr == null || addr == undefined || addr.length == 0) {
        th.setData({ user_addr: null, enterAddressPage: 1,same_ok:1  });
      } else {
        th.setData({
          user_addr: addr, enterAddressPage: 0,same_ok:1
        });
      }
      if (th.data.goods) {
        th.calculatePrice2();
      }

    })

    //--更新默认地址--,看一下是不是跳到地址页面
    if (!getApp().globalData.is_cart_old) {
      this.update_code();
    } else {
      getApp().globalData.is_cart_old = 0;
    }

  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {  getApp().globalData.no_clear=1 },
  //---------------获取物流---------------
  get_wuliu(func) {
    var th = this,
      to = getApp();
    to.getwuliu(function (e) {
      //如果第一个不是开启默认，说明要让用户自己选
      if (!e[0].is_default) {
        th.setData({ is_default_logistics: 0 });
      }

      th.setData({ wu_arr: e })
      typeof func == "function" && func();
    })
  },
  //------获取会员信息-----先获取用户信息，在进行下一步---
  get_info: function (func) {
    var user_id = t.globalData.user_id,
      to = getApp();
    to.auth.get_u(func);
  },

  //------获取会员收货地址-----
  getuser_addr: function (func) {
    var to = getApp(),
      a = to.request;

    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 = 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,
      to = getApp();
    th.setData({
      userinfo: to.globalData.userInfo,
    });
    //选获取地址
    th.getuser_addr(function (addr) {

      if (addr == null || addr == undefined || addr.length == 0) {
        th.setData({
          enterAddressPage: 1,
        });

      } else {
        th.setData({
          user_addr: addr, enterAddressPage: 0,
        });
      }
      //获取立即购买的商品信息
      th.get_buy_goods(th.data.order_id);
    });
    //获取提现金额
    getApp().request.get("/api/weshop/withdrawals/summoney", {
      data: {
        user_id: to.globalData.user_id,
        store_id: oo.stoid,
        status: 0
      },
      success: function (su) {
        console.log("withdrawals");
        if (su.data.code == 0) {
          var yuer = parseFloat(th.data.userinfo.user_money -
            th.data.userinfo.frozen_money - su.data.data.summoney).toFixed(2);
          th.setData({
            txmon: su.data.data.summoney,
            yuer: yuer
          });
        }
      }
    });
  },

  //-----获取商品------
  async get_buy_goods(ord) {
    var order = null,
      order_goods = null,
      goods = null,
      pickup = null,
      distr_type = 0,
      exp_type = 0,
      teamgroup = null,
      teamlist=null,
      th = this;

      let ord_m=null;
    //---获取订单---
    await getApp().request.promiseGet("/api/weshop/order/get/" + oo.stoid + "/" + ord, {}).then(res => {
      order = res.data.data;
    });

    //-- 如果有数据的话 --
    let od_m=await getApp().request.promiseGet("/api/weshop/orderMore/get/" + os.stoid + "/" + order.order_sn, {})
    if(od_m && od_m.data.code==0 && od_m.data.data){
      ord_m=od_m.data.data;
    }

    //---获取订单从表---
    await getApp().request.promiseGet("/api/weshop/ordergoods/page", {
      data: {
        store_id: oo.stoid,
        order_id: ord
      }
    }).then(res => {
      order_goods = res.data.data.pageData[0];
    });

    //---获取商品---
    await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + order_goods.goods_id, {}).then(res => {
      goods = res.data.data;
      order.market_price = goods.market_price;
      order.show_img = oo.imghost + goods.original_img;
    });
    //---获取门店---
    await getApp().request.promiseGet("/api/weshop/pickup/get/" + oo.stoid + "/" + order.pickup_id, {}).then(res => {
      pickup = res.data.data;
    });

    //---获取尾款价格---
    await getApp().request.promiseGet("/api/weshop/teamgroup/page", {
      data: { store_id: oo.stoid, team_id: order.pt_prom_id, listno: order.pt_listno }
    }).then(res => {
      teamgroup = res.data.data.pageData[0];
    });

    await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + order.pt_prom_id, {
          data: { }
      }).then(res => {
          if(res.data.code==0) teamlist=res.data.data;
      });


    var act_set=null;
    var url = '/api/weshop/activitylist/getActInfo1/'+os.stoid+'/6/'+order.pt_prom_id;
    await getApp().promiseGet(url, {}).then(res => {
          if(res.data.code==0){
              act_set=res.data.data;
          }
      })

     //-- 之前用的券要清理掉，从头选 --
     if(order.coupon_no){
        await getApp().request.promisePost('/api/weshop/users/frozenQuan/del/'+order.user_id+'/'+order.coupon_no,{})
     }

      if(act_set.is_order_yh){
          th.data.bn_is_order_yh=1;
      }else{
          th.data.bn_is_order_yh=0;
      }

      if(act_set.is_post_temp){
          th.data.bn_is_post_temp=1;
      }else{
          th.data.bn_is_post_temp=0;
      }

      
    var jsarr = JSON.parse(teamgroup.jt_json);
    var count = teamgroup.jt_ct_num;
    if(teamgroup.is_xuni_ct) count=teamlist.ct_num;

    //要计算尾款的价钱
    var price = 0;
    jsarr.forEach(function (value, index) {
      if (count >= value['rynum']) price = value['price'];
    })

    var tail_money = (price * order_goods.goods_num - order['order_amount'] - order['user_money']).toFixed(2);
    order.pre_cut=0
    if(ord_m && ord_m.pre_cut){
      tail_money-=ord_m.pre_cut;
      order.pre_cut=ord_m.pre_cut;
    }

    tail_money = parseFloat(tail_money);
    order.tail_money = tail_money;

    if (!goods) return false;

    if(goods.is_minishop==1 && getApp().is_sp_hao()){

          if(goods.distr_type==1 || pickup.distr_type==1) {
              wx.showToast({
                  title: "视频号仅支持物流",
                  icon: 'none',
                  duration: 2000
              })

              setTimeout(function(){
                  wx.navigateBack({delta: 1})
              },1000)

              return false
          }

          goods.distr_type=2;
          th.setData({show_same_city:0})

      }


    //--判断物流--
    if (goods.distr_type)
      distr_type = goods.distr_type;
    else
      distr_type = pickup.distr_type;


      //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 --
      if(goods.is_same_city && th.data.is_same_city && goods.whsle_id<=0){
         await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+order.pickup_id, {}).then(res=>{
              if(res.data.code==0){
                  var pk=res.data.data;
                  if(pk && pk.is_same_city){
                      th.setData({show_same_city:1})
                  }
              }
          })
      }


      switch (distr_type) {
      case 0:
        exp_type = 1;
        //-- 系统后台有设置要默认的 --
        if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) exp_type = 0;
        break; //自选
      case 1:
        exp_type = 1;

        break //自提
      case 2:
        exp_type = 0;
        break; //物流
    }

    if(th.data.show_same_city==1 && th.data.json_d.pickupway && th.data.json_d.pickupway == 2 ){
      exp_type = 2;
    }


    order.order_goods = order_goods;

      //-- 计算获得佣金的金额 --
      if (getApp().globalData.userInfo.is_distribut
          && th.data.dis_config && th.data.dis_config.is_yongjin_dk) {
          var fir_num = 0;
          var sec_num = 0;
          var thi_num = 0;
          if (th.data.dis_config.pattern == 1) {
              fir_num = (teamlist.fir_rate || 0) * order_goods.goods_num;
              sec_num = (teamlist.sec_rate || 0) * order_goods.goods_num;
              thi_num = (teamlist.thi_rate || 0) * order_goods.goods_num;
          } else {
              fir_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
              sec_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
              thi_num = parseFloat((teamlist.commission || 0) * order_goods.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
          }
          var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);
          goods.use_commission = parseFloat(c_num.toFixed(2));

      }

     if(teamlist.is_quan){
         let q_ch_money= parseFloat(price * order_goods.goods_num).toFixed(2);
         th.data.ckeck_quan_price = q_ch_money;
         th.data.check_quan_price_list = q_ch_money + "";
         th.data.check_quan_ware_list = goods.erpwareid + "";

         let scj_money= parseFloat( order.market_price * order_goods.goods_num).toFixed(2);
         th.data.check_quan_price_scj = scj_money;

     }else{
         goods.is_xz_yh = 1;
     }




    this.setData({
      order: order,
      distr_type: distr_type,
      pickup: pickup,
      bn_pick: pickup.pickup_id,
      exp_type: exp_type,
      goods: goods,
      teamgroup: teamgroup,
      teamlist: teamlist,
    });

    //--计算价格--
    th.calculatePrice2();
    th.get_buy_now_quan();
  },


  calculatePrice2: async function () {
    wx.showLoading();
    var th = this;
    th.setData({submit: 1,same_ok:1})

    var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.tail_money;

    //---如果有选择优惠券的情况下---
    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) {
      //如果是一件代发就不要找商品
      if (th.data.using_quan[bn_pick].isby != 1) {
        //---获取优惠券优惠---
        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 && res.data.data && res.data.data.length > 0) {

            quan_price = res.data.data[0].WareCashSum;

            if(quan_price>th.data.order.tail_money){
                quan_price=th.data.order.tail_money
            }
            allpice=allpice-quan_price;

          }
        })
      }
    }

    var order_prom_txt3 = "formData.coupon_price";
    th.setData({[order_prom_txt3]: quan_price})

    var o_condition = allpice;
    var ord_prom=null;
    var order_prom_amount=0;

    if (th.data.bn_is_order_yh) {
      await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
        data: {store_id: os.stoid, orderAmount: o_condition, user_id: getApp().globalData.user_id}
      }).then(res => {
        if (res.data.code == 0) {
          ord_prom = res.data.data;

          //如果订单促销的取价不是实收，清空订单促销
          if(ord_prom && ord_prom.discount_field>0) ord_prom=null;
        }
      })
    }

    //如果有使用优惠券，如何订单促销有控制使用优惠券不参与此活动的话
    if(quan_price>0 && ord_prom && ord_prom.is_xz_yh ){
      ord_prom=null;
    }
    th.data.ord_prom=ord_prom;

    //--计算物流--
    if (th.data.exp_type == 0) {
      th.calculate_wuliu(allpice);
      return false;
    }else if(th.data.exp_type == 2){
      th.calculate_same_city(allpice);
      return false;
    } else {

      var order_prom_id=0;
      if (ord_prom) {
        order_prom_id = ord_prom['id'];
        switch (ord_prom['type']) {
          case 0:
            allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
            order_prom_amount = (o_condition - allpice).toFixed(2);
            break;
          case 1:
            //-- 如果有优惠促销倍减的时候 --
            var bs = 1;
            if (ord_prom.is_bz) {
              bs = Math.floor(o_condition / ord_prom.money);
            }
            allpice = o_condition - bs * ord_prom['expression'];//满额优惠金额
            order_prom_amount = ord_prom['expression'];
            break;
        }
      }





      //--订单优惠的显示--
      var order_prom_txt1 = "formData.order_prom_id";
      var order_prom_txt2 = "formData.order_prom_amount";

      if (order_prom_id > 0) {
        th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
      } else {
        th.setData({[order_prom_txt1]: 0, [order_prom_txt2]: 0})
      }

      if (th.data.bn_use_commission) {
        allpice -= th.data.goods.use_commission;
      }


      allpice = allpice.toFixed(2);

      th.setData({exp_price: 0, allpice: allpice, submit: 0, show_submit: 1})
      th.def_coupon_fn()
      // wx.hideLoading();
    }
  },

  //--图片失败，默认图片--
  bind_bnerr: function (e) {
    var _errImg = e.target.dataset.errorimg;
    var _errObj = {};
    _errObj[_errImg] = this.data.imgUrl + "/miniapp/images/del/logo.jpg";
    this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;
  },

  //-------------------获取物流---------------
  get_wuliu(func) {
    var th = this, to = getApp();
    to.getwuliu(function (e) {
      th.setData({
        wu_arr: e
      })
      typeof func == "function" && func();
    })
  },

  //--------点击选择----------
  set_wuliu: function (e) {
    var type = e.currentTarget.dataset.type, th = this;
    this.setData({
      exp_type: type,same_ok:1,first_entry:0
    });
    //--计算物流的值--
    if (th.data.goods) {
      th.calculatePrice2();
    }

  },

  //关闭支付
  close_show_pay: function () {
    this.setData({ show_pay_type: 0 });
  },
  //--弹起支付框--
  to_pay() {

    let order=this.data.order;
    let formData=this.data.formData;
    let exp_price=this.data.exp_price;
    let bn_use_commission=this.data.bn_use_commission;

    //如果支付为0的时候
    if(order.tail_money+exp_price-formData.coupon_price-(bn_use_commission?goods.use_commission:0)-(formData.order_prom_amount?formData.order_prom_amount:0)<=0 ){
       this.to_pay_type(1);
       return false;
    }

    //如果有再计算价格的过程中，不能提交订单
    if(this.data.submit){ return false}
    if(!this.data.same_ok){ return false}

    //--物流支付时要有地址--
    if (this.data.exp_type == 0 && this.data.user_addr == null) {
      return getApp().my_warnning("请选择收货地址", 0, this);
    }

    this.setData({ show_pay_type: 1 });
  },

  //选择支付方式
  set_pay_type: function (e) {

    if(this.data.paying) return false;
    this.data.paying=1;

    var type = e.currentTarget.dataset.type;
    this.to_pay_type(type);
  },

  //--立即支付--
  to_pay_type: function (ind) {
    var th = this;
    //--物流支付时要有地址--
    //if (th.data.exp_type == 0 && th.data.user_addr == null) {
    if (getApp().is_no_addr(th,th.data.exp_type)) {
      this.data.paying=0;
      return getApp().my_warnning("请选择收货地址", 0, th);
    }

    th.data.exp_type=parseInt(th.data.exp_type+'');
    //---支付参数--
    var dd = {
      order_sn: th.data.order.order_sn,
      order_id: th.data.order.order_id,
      store_id: oo.stoid,
      exp_type: th.data.exp_type,
      user_id: t.globalData.user_id,
      listno: th.data.order.pt_listno,
      prom_id: th.data.order.pt_prom_id,
      tail_pay_type: ind,//0微信支付 1余额支付
    };

    //组装优惠券的钱
    if (parseFloat(th.data.formData.coupon_price) > 0) {
       dd.coupon_price = th.data.formData.coupon_price;
       dd.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) {
       dd.coupon_no = th.data.using_quan[th.data.bn_pick].coupon_no;
       dd.coupon_price = 0;
    }


    if (th.data.exp_type == 0 || th.data.exp_type == 2) {
      var index = th.data.index;
      dd.shipping_code = th.data.wu_arr[index].code;
      dd.shipping_name = th.data.wu_arr[index].name;
      dd.shipping_price = parseFloat(th.data.exp_price);
      dd.addressid = th.data.user_addr.address_id;
    }

    //如果是同城配送的时候
    // if(th.data.exp_type==2){
    //     dd.shipping_price = parseFloat(th.data.exp_price);
    // }

    if(dd.exp_type==2){
      dd.lon=th.data.lon?th.data.lon:0;
      dd.lat=th.data.lat?th.data.lat:0;
      dd.goods_weight=th.data.bn_gd_w;
      dd.samecity_order_amount=th.data.bn_samecity_order_amount;
    }


    if(getApp().globalData.scene){
      dd.scene=getApp().globalData.scene;
    }

    if(th.data.bn_use_commission){
        dd.use_commission=th.data.goods.use_commission;
    }

    if(th.data.bn_use_commission){
      dd.use_commission=th.data.goods.use_commission;
    }

    //--判断有没有优惠活动--
    if (th.data.formData.order_prom_amount > 0) {
      var order_prom_list = {};
      order_prom_list.order_prom_id = th.data.formData.order_prom_id;
      order_prom_list.order_prom_amount = th.data.formData.order_prom_amount;
      dd.order_prom_list = order_prom_list;
    }

    var arr = [];
    arr.push(dd);
    //console.log(JSON.stringify(arr));

    getApp().request.promisePost("/api/weshop/order/pay/payTuanWk", {
      data: arr,is_json:1,is_normal:1
    }).then(t => {

        //---用微信支付---
        if (dd.tail_pay_type == 0) {

          if (t.data.code != 0) {
              getApp().my_warnning(t.data.msg, 1, th);
              th.data.paying=0;
              return false;
          }

          //-- 把订单号记录起来 --
          th.data.ok_order_sn=th.data.order.order_sn;
          util_pay.pay_data(t,function (){
                var allmoney = th.data.allpice;
                th.jumpPaymentPage(th.data.order.order_sn, allmoney);
          },function (){
                th.data.paying=0;
                //getApp().my_warnning("支付失败", 0, th);

                th.updateOrderCoupon();  //取消祝福
          })

          //var n = t.data.data;
          // th.weixinPay(n,
          //   function () {
          //     var allmoney = th.data.allpice;
          //     th.jumpPaymentPage(th.data.order.order_sn, allmoney);
          //   }, function () {
          //     th.data.paying=0;
          //     getApp().my_warnning("支付失败", 0, th);
          //   })
        } else {
          if (t.data.code == 0) {
            //---用余额支付---
            // getApp().my_warnning("支付成功", 1, th);
						wx.showToast({
						  title: '支付成功',
						  icon: 'success',
						  duration: 2000
						});
            setTimeout(function () {
              th.setData({ isclose: 0 });
              th.data.paying=0;
              wx.redirectTo({
                url: "/pages/user/order_list/order_list"
              })
            }, 1000)
          } else {
             th.data.paying=0;
             getApp().my_warnning(t.data.msg, 1, th);
          }
        }
    }).catch(function(err) {
      th.data.paying=0;
    })
  },

  //检查区域是不是包邮
  check_area: function (arr) {
    var user_addr = this.data.user_addr;
    if (!user_addr) return 0;
    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.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;
  },

  //----计算物流的钱----
  async calculate_wuliu(p_allpice) {
    //让按钮变灰色
    this.setData({submit: 1});
    var to = getApp(), th = this;
    //to.getwuliuprice(async function (rs) {
    var o_shipping_price = 0, goods_weight = -1, goods_piece = -1, good = th.data.goods;
    var out_of_weight = null; //超出多少重量

    good.buynum = th.data.order.order_goods['goods_num'];
    var gd_arr_list = [];
    gd_arr_list.push(good);

    var ord_prom = this.data.ord_prom;
    var order_prom_id=0;
    var order_prom_amount=0;
    //--全部金额--
    var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.pt_tail_money;
    if(p_allpice) allpice=p_allpice;
    // if(th.data.bn_use_commission){
    //     allpice-=th.data.goods.use_commission;
    // }
    var pickid=th.data.bn_pick;
    var o_condition=allpice;
    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 (th.data.user_addr != null && th.data.exp_type == 0 && good.is_free_shipping == 0) {

      //看是不是有调用过包邮券
      if (!th.data.isget_by_quan[th.data.pickid] && good.is_xz_yh != 1) {

        //--判断要不要显示包邮券,链式调用接口，调取包邮券，已经是减了优惠的金额，见到优惠券的钱---
        getApp().request.promiseGet("/api/weshop/userfeemail/pageAndArea", {
          data: {
            store_id: os.stoid,
            isuse: 0,
            condition: o_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) {
                var no_goods_arr = item.goods_list.split(",");
                if (ut.isContained(no_goods_arr, gd_arr_list)) continue;   //如果是不包邮商品
              }
              arr.push(item);
            }
            if (arr) {
              th.setData({ get_by_quan_list: arr,def_coupon3: arr });
            }
            th.data.isget_by_quan[th.data.bn_pick] = 1;
          }
        })
      }

      //订单促销的包邮模板  和 活动的包邮模板要一起判断
      if ((!ord_prom || ord_prom.is_post_temp) && th.data.bn_is_post_temp) {
        var user_addr = th.data.user_addr;
        var req_d = {
          province: user_addr.province, city: user_addr.city, district: user_addr.district,
          wuliu: parseFloat(allpice).toFixed(2), store_id: os.stoid
        }
        var back_data = null;
        await getApp().request.promisePost("/api/weshop/order/areaFreight", {
          is_json: 1, data: req_d
        }).then(rs => {
          if (rs.data.code == 0) back_data = rs.data.data;
        });
      }


      var is_by_quan = 0;
      var quan_no_goods_arr=null;

      //如果是包邮券的时候，要看看券的情况,判断一下包邮有没有不包邮模板
      if (quan_no && th.data.using_quan[pickid].isby == 1) {
        var quan = th.data.using_quan[pickid];
        if (quan.goods_list) {
          quan_no_goods_arr = quan.goods_list.split(",");
        } else {
          is_by_quan = 1;
        }
      }

      //如果有包邮券的不包邮商品的时候
      if (quan_no_goods_arr) {
         if (back_data && back_data.no_free_goods) {
          back_data['is_by_all'] = 1;
          var arr3 = back_data.no_free_goods.filter(item => {
            return quan_no_goods_arr.includes(item)
          })
          back_data.no_free_goods = null;
          if (arr3.length) {
            back_data.no_free_goods = arr3;
          }
        }
        if (!back_data || !back_data.no_free_goods) {
          if (!back_data) back_data = {};
          back_data['is_by_all'] = 1;
          back_data['no_free_goods'] = quan_no_goods_arr;
        }
      }

      if(!is_by_quan){
          var cut_good_weight = 0;
          for (let i in gd_arr_list) {
            let item = gd_arr_list[i];

            if (back_data && back_data['is_by_all'] && (!back_data.no_free_goods || back_data.no_free_goods.indexOf(item.goods_id) == -1)) {
              if(back_data.weight_free* 1000<item['weight'] * item['buynum']) {
                if (item['exp_sum_type'] == 2 && back_data.weight_free > 0) {
                  if (goods_weight < 0) goods_weight = 0;
                  goods_weight += item['weight'] * item['buynum'];
                  cut_good_weight += item['weight'] * item['buynum'];
                }
                if (back_data.weight_free > 0) {
                  out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
                }
              }
              continue;
            }

            switch (item['exp_sum_type']) {
              case 1:
                //统一运费
                o_shipping_price += item['uniform_exp_sum'];
                break;
              case 2:
                if (goods_weight < 0) goods_weight = 0;
                //累积商品重量 每种商品的重量 * 数量
                goods_weight += item['weight'] * item['buynum'];

                if (back_data && back_data.is_by_all && !back_data.no_free_goods) {
                  cut_good_weight += item['weight'] * item['buynum'];
                  if (back_data.weight_free > 0) {
                    out_of_weight = (back_data.weight_free * 1000) - cut_good_weight;
                  }
                }
                break;
              case 3:
                if (goods_piece < 0) goods_piece = 0;
                //累积商品数量
                goods_piece += item['buynum'];
                break;
            }
          }

          //如果是正值的时候
          if (out_of_weight >= 0) out_of_weight = -cut_good_weight;
          else out_of_weight = -back_data.weight_free * 1000;

          if (!th.data.wu_arr) {
            wx.hideLoading();
            wx.showToast({
              title: "物流配置未启用物流公司", icon: 'none', duration: 2000
            })
            //th.setData({ show_submit:0, });
            th.setData({show_submit: 1, submit: 0, same_ok: 0})
            return false;
          }
          var code = th.data.wu_arr[th.data.index].code;

          //--------------开始计算物流------------------
          var shipping_price = 0;
          //     ut.calculatewuliu(code, o_shipping_price, goods_weight, out_of_weight,
          //     goods_piece, th.data.user_addr, back_data, rs);

          var w_data = {
            store_id: os.stoid, code: code,
            o_shipping_price: o_shipping_price,
            goods_weight: goods_weight,
            out_of_weight: out_of_weight, goods_piece: goods_piece,
            user_addr_province: th.data.user_addr.province,
            user_addr_city: th.data.user_addr.city,
            user_addr_district: th.data.user_addr.district,
            is_by_all: back_data && back_data.is_by_all ? 1 : 0,
            no_free_goods: back_data && back_data.no_free_goods && back_data.no_free_goods.length > 0 ? 1 : 0,
          }

          var is_ok = 0;
          await getApp().request.promisePost('/api/weshop/order/getOrderWuLiPrice', {
            data: w_data,
            is_json: 1
          }).then(res => {
            if (res.data.code == 0) {
              shipping_price = res.data.data;
              is_ok = 1;
            } else {
              getApp().confirmBox("计算物流错误:" + res.data.msg);
            }
          })
          if (!is_ok) {
            th.setData({show_submit: 1, submit: 0, same_ok: 0})
            wx.hideLoading();
            return false;
          }
      }





      //-- 计算一下订单促销 --
      if (ord_prom) {
        order_prom_id = ord_prom['id'];
        switch (ord_prom['type']) {
          case 0:
            allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
            order_prom_amount = (o_condition - allpice).toFixed(2);
            break;
          case 1:
            //-- 如果有优惠促销倍减的时候 --
            var bs = 1;
            if (ord_prom.is_bz) {
              bs = Math.floor(o_condition / ord_prom.money);
            }
            allpice = o_condition - bs * ord_prom['expression'];//满额优惠金额
            order_prom_amount = ord_prom['expression'];
            break;
        }
      }

      //--订单优惠的显示--
      var order_prom_txt1 = "formData.order_prom_id";
      var order_prom_txt2 = "formData.order_prom_amount";
      if (order_prom_id > 0) {
        th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
      } else {
        th.setData({[order_prom_txt1]: 0, [order_prom_txt2]: 0})
      }


      var exp_price = parseFloat(shipping_price).toFixed(2);
      allpice = parseFloat(exp_price) + parseFloat(allpice);

      if (allpice < th.data.goods.use_commission) {
        if (th.data.bn_use_commission) {
          wx.showToast({
            title: '应付金额小于本单佣金，不可使用！',
            icon: 'none',
            duration: 2000
          })
        }

        th.setData({
          bn_use_commission: 0
        });
      }


      if (th.data.bn_use_commission) {
        allpice -= th.data.goods.use_commission;
      }


      allpice = allpice.toFixed(2);

      exp_price = parseFloat(exp_price);
      th.setData({exp_price: exp_price, allpice: allpice, submit: 0, show_submit: 1})
    } else {
      var allpice = th.data.order.order_amount + th.data.order.user_money + th.data.order.tail_money;


      //-- 计算一下订单促销 --
      if (ord_prom) {
        order_prom_id = ord_prom['id'];
        switch (ord_prom['type']) {
          case 0:
            allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
            order_prom_amount = (o_condition - allpice).toFixed(2);
            break;
          case 1:
            //-- 如果有优惠促销倍减的时候 --
            var bs = 1;
            if (ord_prom.is_bz) {
              bs = Math.floor(o_condition / ord_prom.money);
            }
            allpice = o_condition - bs * ord_prom['expression'];//满额优惠金额
            order_prom_amount = ord_prom['expression'];
            break;
        }
      }

      //--订单优惠的显示--
      var order_prom_txt1 = "formData.order_prom_id";
      var order_prom_txt2 = "formData.order_prom_amount";
      if (order_prom_id > 0) {
        th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
      } else {
        th.setData({[order_prom_txt1]: 0, [order_prom_txt2]: 0})
      }



      if (allpice < th.data.goods.use_commission) {
        if (th.data.bn_use_commission) {
          wx.showToast({
            title: '应付金额小于本单佣金，不可使用！',
            icon: 'none',
            duration: 2000
          })
        }

        th.setData({
          bn_use_commission: 0
        });
      }

      if (th.data.bn_use_commission) {
        allpice -= th.data.goods.use_commission;
      }

      allpice = allpice.toFixed(2);
      th.setData({exp_price: 0, allpice: allpice, submit: 0, show_submit: 1})
    }
    th.def_coupon_fn()
    // wx.hideLoading();
    //});

  },

  //----计算物流的钱---
  async calculate_same_city(p_allpice) {
        //让按钮变灰色
        this.setData({submit:1});
        var th = this;
        var good = th.data.goods;
        good.buynum=th.data.order.order_goods['goods_num'];


        var ord_prom = this.data.ord_prom;
        var order_prom_id=0;
        var order_prom_amount=0;

        //--全部金额--
        var allpice = p_allpice;
        var o_condition=p_allpice;

        //-----------当地址不为空，且是物流时，计算物流费用----------
        if (th.data.user_addr != null) {

                var lon=0;var lat=0;
                //-- 获取距离  --
                await getApp().request.promisePost("/api/weshop/order/sameCityExp/getGeocoder", {
                    is_json: 1, data: {address:th.data.user_addr.more_address+th.data.user_addr.address,store_id:os.stoid}
                }).then(res=>{
                    if(res.data.code==0){
                        var data= JSON.parse(res.data.data);
                        if(data.status==0){
                            lon=data.result.location.lng;
                            lat=data.result.location.lat;
                        }
                    }
                })

               var gd_w = good['weight'] * good['buynum'];
               //--------------开始计算物流------------------
               var shipping_price =0;

               //-- 获取距离  --
               var req_data={
                    store_id:os.stoid,
                    order_amount:allpice,
                    lon:lon,lat:lat,
                    pickup_id:th.data.pickup.pickup_id,
                    goods_weight:gd_w
                }

                var is_next=1;
                //获取同城配送参数
                await getApp().request.promisePost("/api/weshop/order/sameCityExp/getMoney", {is_json:1,data:req_data}).then(res=>{
                    if(res.data.code==0){
                        shipping_price=res.data.data;
                    }else{
                        is_next=0;
                        wx.showToast({
                            title: res.data.msg, icon: 'none',  duration: 2000
                        })
                    }
                })
                if(!is_next) {
                    th.setData({show_submit:1, submit: 0,same_ok:0 })
                    return false
                }

                //-- 计算一下订单促销 --
                if (ord_prom) {
                  order_prom_id = ord_prom['id'];
                  switch (ord_prom['type']) {
                    case 0:
                      allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
                      order_prom_amount = (o_condition - allpice).toFixed(2);
                      break;
                    case 1:
                      //-- 如果有优惠促销倍减的时候 --
                      var bs = 1;
                      if (ord_prom.is_bz) {
                        bs = Math.floor(o_condition / ord_prom.money);
                      }
                      allpice = o_condition - bs * ord_prom['expression'];//满额优惠金额
                      order_prom_amount = ord_prom['expression'];
                      break;
                  }
                }

                //--订单优惠的显示--
                var order_prom_txt1 = "formData.order_prom_id";
                var order_prom_txt2 = "formData.order_prom_amount";
                if (order_prom_id > 0) {
                  th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
                } else {
                  th.setData({[order_prom_txt1]: 0, [order_prom_txt2]: 0})
                }



          th.data.lon=lon;
                th.data.lat=lat;
                th.data.bn_gd_w=gd_w;
                th.data.bn_samecity_order_amount=req_data.order_amount;

                var exp_price = parseFloat(shipping_price).toFixed(2);

                allpice = parseFloat(exp_price) + parseFloat(allpice);





            if(th.data.bn_use_commission){
                allpice-=th.data.goods.use_commission;
            }


            allpice = allpice.toFixed(2);

                exp_price = parseFloat(exp_price);
                th.setData({ exp_price: exp_price, allpice: allpice,submit:0,show_submit:1 })



        } else {



          //-- 计算一下订单促销 --
          if (ord_prom) {
            order_prom_id = ord_prom['id'];
            switch (ord_prom['type']) {
              case 0:
                allpice = Math.round(o_condition * ord_prom['expression']) / 100;//满额打折
                order_prom_amount = (o_condition - allpice).toFixed(2);
                break;
              case 1:
                //-- 如果有优惠促销倍减的时候 --
                var bs = 1;
                if (ord_prom.is_bz) {
                  bs = Math.floor(o_condition / ord_prom.money);
                }
                allpice = o_condition - bs * ord_prom['expression'];//满额优惠金额
                order_prom_amount = ord_prom['expression'];
                break;
            }
          }

          //--订单优惠的显示--
          var order_prom_txt1 = "formData.order_prom_id";
          var order_prom_txt2 = "formData.order_prom_amount";
          if (order_prom_id > 0) {
            th.setData({[order_prom_txt1]: order_prom_id, [order_prom_txt2]: order_prom_amount})
          } else {
            th.setData({[order_prom_txt1]: 0, [order_prom_txt2]: 0})
          }



            if(th.data.bn_use_commission){
                allpice-=th.data.goods.use_commission;
            }

            allpice = allpice.toFixed(2);
            th.setData({ exp_price: 0, allpice: allpice,submit:0,show_submit:1})
        }
        th.def_coupon_fn()
        // wx.hideLoading();


    },


  //---------------检查是否有收货地址-------------------
  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);
  },

  //--进入收货地址的编辑页面--
  enterAddressPage: function () {
    getApp().globalData.is_cart_old = 1;
    this.data.enterAddressPage = 1, wx.navigateTo({
      url: "/packageF/pages/user/address_list/address_list?is_back=1"
    });
  },

  //------------循环获取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 });
  },

  //------支付成功页面--------
  jumpPaymentPage: function (order_sn, order_amount) {
    wx.setStorageSync("order:order_list:update", !0), wx.redirectTo({
      url: "/packageG/pages/payment/pay_success/pay_success?order_sn=" + order_sn + "&type=1",
    });
  },

  //------调起支付框--------
  weixinPay: function (n, success, fail) {
    if (!n) return false;
    var th = this;

      getApp().globalData.no_clear=1;

    wx.requestPayment({
      timeStamp: String(n.timeStamp),
      nonceStr: n.nonceStr,
      package: n.packageValue,
      signType: n.signType,
      paySign: n.paySign,
      success: function (n) {
        // console.log(n), getApp().showSuccess("支付成功！");
				wx.showToast({
				  title: '支付成功',
				  icon: 'success',
				  duration: 2000
				});
        "function" == typeof success && success();
      },
      fail: function (n) {
        console.log(n), "requestPayment:fail" == n.errMsg ? getApp().my_warnning("支付失败", 0, th) : "requestPayment:fail cancel" == n.errMsg ? getApp().my_warnning("您已取消支付", 0, th) : getApp().my_warnning("支付失败：" + n.errMsg.substr("requestPayment:fail ".length), 0, th),
          "function" == typeof fail && fail();
      }
    });
  },

  //更新下默认，在onshow里面
  update_code() {
    var th = this, m_wind = 0, def_exp_code = getApp().globalData.userInfo.def_exp_code;
    var uii = setInterval(function () {
      if (th.data.wu_arr) {
        clearInterval(uii);
        if(th.data.is_default_logistics) return false;
        for (var k = 0; k < th.data.wu_arr.length; k++) {
          var item = th.data.wu_arr[k];
          if (def_exp_code == item.code) {
            m_wind = k;
          }
        }
        //--如果是立即购买--
        th.setData({ index: m_wind, is_express: m_wind });
      }
    }, 500)
  },


  //// 开启物流的弹窗
  show_wu_arr: function (e) {
    this.setData({ open_express: 1 });
  },

  // 关闭物流的弹窗
  close_express: function () {
    this.setData({ open_express: 0 });
  },
  // 选择物流
  click_express_name: function (e) {
    var express_name = e.currentTarget.dataset.name, shippingcode = e.currentTarget.dataset.shippingcode;
    var index = e.currentTarget.dataset.idxe;
    var ob = { is_express: index, is_shipping_code: shippingcode, index: index };
    this.setData(ob);
  },

  //点击确定物流
  determine_expres: function (e) {
    this.setData({ open_express: 0 });
    this.calculatePrice2();
  },
  //设置默认物流
  select_default_logistics: function () {
    var th = this;
    var is_shipping_code = this.data.is_shipping_code
    getApp().request.put("/api/weshop/users/update", {
      data: { user_id: getApp().globalData.user_id, store_id: oo.stoid, def_exp_code: is_shipping_code },
      success: function (rse) {
        if (rse.data.code == 0) {
          getApp().globalData.userInfo.def_exp_code = is_shipping_code;
          th.setData({ open_express: 0 });
          //----计算此时购物车的价格，这个页面没有calculatePrice(),2021.7.19----
          //if (th.data.is_b_now == 1) th.calculatePrice2();
          //else th.calculatePrice();
          th.calculatePrice2();
        }
      }
    })
  },

  //使用
  set_bn_commission:function(){
      var th = this;
      th.setData({bn_use_commission: !th.data.bn_use_commission});
      th.calculatePrice2();
  },

  //------ 获取立即购买的购物车的劵 --------
  get_buy_now_quan: function () {
    var quanlist = null, th = this, frozenQuan = null;
    var good = this.data.goods;

    //一件代发商品不使用优惠券
    if (good.whsle_id) return false;
    if(!th.data.check_quan_ware_list)  return false;




    //--如果商家后台没有限制使用优惠券，同时商品的优惠活动没有限制使用优惠券--
    if (th.data.is_close_quan != 1 && good.is_xz_yh != 1 && th.data.check_quan_ware_list) {
      var url0 = "/api/weshop/users/frozenQuan/listFrozenQuan/" + app.globalData.user_id;
      var url = "/api/weshop/couponList/getUseCouponList";

      let quan_rq={
        storeId: oo.stoid,
        userId: app.globalData.user_id,
        BuySum: th.data.ckeck_quan_price,
        WareIds: encodeURIComponent(th.data.check_quan_ware_list),
        pageSize: 100,
      };

      if(parseFloat(th.data.ckeck_quan_price)>=parseFloat(th.data.check_quan_price_scj)){
        quan_rq.BuyPosSum=th.data.ckeck_quan_price;
        quan_rq.PosWareIds=encodeURIComponent(th.data.check_quan_ware_list)
      }

      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: quan_rq,
          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,def_coupon2: quanlist })
              }
            }
          }
        })
      })
    }
  },

  //--验证是否已经冻结--
  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 < quanlist.length; i++) {
      var item = quanlist[i];
      var is_find = 0;
      var Q_no = quanlist[i].CashRepNo;
      if (isby) Q_no = quanlist[i].no;
      for (var j = 0; j < frozenQuan.length; j++) {
        var q_no = frozenQuan[j].cashRepNo;
        if (Q_no == q_no) {
          is_find = 1;
          break;
        }
      }
      if (!is_find) arr.push(item);
    }
    return arr;
  },

  /*----券的所有操作----*/
  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;

    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;


      //对于在其他门店已经选择了的券 要判断是否显示到界面
      var t_user = th.data.using_quan[pickid];

      for (var i in quanlist) {
        quanlist[i].is_using = th.check_in_sele(quanlist[i].CashRepNo, pickid);
        if (t_user && quanlist[i].CashRepNo == t_user.coupon_no)
          quanlist[i].show_red = 1;
        else
          quanlist[i].show_red = 0;
      }

      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);
          if (t_user && get_by_quan_list_cart[i].no == t_user.coupon_no)
            get_by_quan_list_cart[i].show_red = 1;
          else
            get_by_quan_list_cart[i].show_red = 0;
        }
        th.setData({ by_quan_list_cart: get_by_quan_list_cart });
      } else {
        th.setData({ by_quan_list_cart: null });
      }

      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 });
  },

    /*--点击选择券--*/
    sele_quan_item_befor: function (e) {

      var ind = 0;
      var quan_item = this.data.selected_quan_list[ind];
      var pickid = this.data.selected_quan_pick;  //现在选择的是哪一个门店
      //--如果券是单品使用的时候--
      if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") {
        //---只有多件购买的时候才要计算，//购物车购买和搭配勾的时候---
        var gg = getApp().get_b_now();
        if (this.data.is_b_now == 0 || gg.prom_type == 5) {
          var arr = this.data.order_prom_list_cart;
          var t_pk_item = null;
          for (var ii in arr) {
            var ep = arr[ii];
            if (pickid == ep.pickup_id) {
              t_pk_item = ep;
              break;
            }
          }
          //--寻找券指定的商品--
          var gd = null;
          if (t_pk_item) {
            var goods = t_pk_item.goods;
            for (var gid in goods) {
              if (quan_item.UseObjectID == goods[gid].erpwareid) {
                gd = goods[gid];
              }
            }
          }
          if (!gd) {
            // getApp().my_warnning("未找到指定商品使用", 0, this, 600);
            return false;
          }
          //计算价格，如果有平摊的实收要计算实收的金额
          var item_price = gd.goods_price * gd.goods_num;
          //-- 如果有平摊下去，有实收价格的时候，就要用account_fir来计算价格 --
          if (gd.account_fir != null && gd.account_fir != undefined) {
            item_price = gd.account_fir * gd.goods_num;
          }
  
          if (item_price < parseFloat(quan_item.BuySum)) {
            // getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600);
            return false;
          }
        }
      }
  
      var  quanlist = this.data.selected_quan_list;
      //---所有的券的显示红色选择都清理一遍---
      for (var i in quanlist) {
        quanlist[i].show_red = 0;
      }
      this.setData({ selected_quan_list: quanlist });
      var by_quanlist = this.data.get_by_quan_list;
      if (by_quanlist) {
        //---所有的券的显示红色选择都清理一遍---
        for (var inb in by_quanlist) {
          by_quanlist[inb].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 inc in by_cart_list) {
          by_cart_list[inc].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: th.is_coupon });
      //   return;
      // }
  
  
      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 });
      return true
    },
  /*--点击选择券--*/
  sele_quan_item: function (e) {

    var ind = e.currentTarget.dataset.ind;
    var quan_item = this.data.selected_quan_list[ind];
    var pickid = this.data.selected_quan_pick;  //现在选择的是哪一个门店
    //--如果券是单品使用的时候--
    if (quan_item && quan_item.UseObjectType && quan_item.UseObjectType == "20") {
      //---只有多件购买的时候才要计算，//购物车购买和搭配勾的时候---
      var gg = getApp().get_b_now();
      if (this.data.is_b_now == 0 || gg.prom_type == 5) {
        var arr = this.data.order_prom_list_cart;
        var t_pk_item = null;
        for (var ii in arr) {
          var ep = arr[ii];
          if (pickid == ep.pickup_id) {
            t_pk_item = ep;
            break;
          }
        }
        //--寻找券指定的商品--
        var gd = null;
        if (t_pk_item) {
          var goods = t_pk_item.goods;
          for (var gid in goods) {
            if (quan_item.UseObjectID == goods[gid].erpwareid) {
              gd = goods[gid];
            }
          }
        }
        if (!gd) {
          getApp().my_warnning("未找到指定商品使用", 0, this, 600);
          return false;
        }
        //计算价格，如果有平摊的实收要计算实收的金额
        var item_price = gd.goods_price * gd.goods_num;
        //-- 如果有平摊下去，有实收价格的时候，就要用account_fir来计算价格 --
        if (gd.account_fir != null && gd.account_fir != undefined) {
          item_price = gd.account_fir * gd.goods_num;
        }

        if (item_price < parseFloat(quan_item.BuySum)) {
          getApp().my_warnning("该单品金额没有大于等于" + quan_item.BuySum + "元时不能使用优惠券", 0, this, 600);
          return false;
        }
      }
    }

    var no_use = e.currentTarget.dataset.no, quanlist = this.data.selected_quan_list;
    //---所有的券的显示红色选择都清理一遍---
    for (var i in quanlist) {
      quanlist[i].show_red = 0;
    }
    this.setData({ selected_quan_list: quanlist });
    var by_quanlist = this.data.get_by_quan_list;
    if (by_quanlist) {
      //---所有的券的显示红色选择都清理一遍---
      for (var inb in by_quanlist) {
        by_quanlist[inb].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 inc in by_cart_list) {
        by_cart_list[inc].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: th.is_coupon });
      return;
    }


    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_befor: 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 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: th.is_coupon });
    //   return;
    // }

    var pickid = th.data.selected_quan_pick;  //现在选择的是哪一个门店
    var ind = 0;
    //--如果是立即购买的部分--
    var txt = "";
    var txt1 = "";
    var quan_item = null;

    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);


    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 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: th.is_coupon });
      return;
    }

    var pickid = th.data.selected_quan_pick;  //现在选择的是哪一个门店
    var ind = e.currentTarget.dataset.ind;
    //--如果是立即购买的部分--
    var txt = "";
    var txt1 = "";
    var quan_item = null;

    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);


    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_befor: 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,0,false);
        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,false);
        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,false);
        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 });
        th.calculatePrice2();
        th.setData({ open_quan: 0 });
        return;
      }
    }
  },
  //--确认使用券---
  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 });
        th.calculatePrice2();
        th.setData({ open_quan: 0 });
        return;
      }
    }
  },
  //默认选择优惠券
  def_coupon_fn() {
    // setTimeout(() => {
    //   this.def_coupon_fn_aft()
    // }, 100);
    wx.showLoading({
      title: '加载中',
      mask:true
    })
  try {
    setTimeout(() => {
      wx.hideLoading()
      this.def_coupon_fn_aft()
    }, 1000);
  } catch (error) { }

},
  //默认选择优惠券
  def_coupon_fn_aft() {
    console.error('进入默认优惠券选择');
    let th = this;
    let first_entry = th.data.first_entry;
    console.error(first_entry);
    if (first_entry > 0) {
      return
    }
    first_entry += 1;
    th.setData({
      first_entry
    })
    let length1 = th.data.def_coupon1 ? th.data.def_coupon1.length : 0
    let length2 = th.data.def_coupon2 ? th.data.def_coupon2.length : 0
    let length3 = th.data.def_coupon3 ? th.data.def_coupon3.length : 0
    let length4 = th.data.def_coupon4 ? th.data.def_coupon4.length : 0
    let length = length1 + length2 
    if (th.data.exp_type==0) {
      length+= length3 + length4
    }
    console.error(length);
    if (length != 1) {
      return
    }
    if (length1 == 1) {
      console.error('优惠券1');
      let first_entry = th.data.first_entry;
      let quan_list = th.data.def_coupon1
      if (quan_list && quan_list.length == 1 && first_entry == 1) {
        // first_entry += 1;
        th.setData({
          sele_cart_ind: 0,
          sele_exp_type: th.data.cartlist[0].exp_type,
          selected_quan_pick: th.data.cartlist[0].pickup_id,
          selected_quan_list: th.data.cartlist[0].quan_list,
          // first_entry
        })
        let quan_off = th.sele_quan_item_befor();
        if (quan_off) {
          th.confirm_quan_befor()
        }
      }
      return
    }
    if (length2 == 1) {
      console.error('优惠券2');
      let first_entry = th.data.first_entry;
      let quanlist = th.data.def_coupon2
      if (quanlist && quanlist.length == 1 && first_entry == 1) {
        // first_entry += 1;
        th.setData({
          selected_quan_pick: th.data.bn_pick,
          // first_entry
        })
        let quan_off = th.sele_quan_item_befor();
        if (quan_off) {
          th.confirm_quan_befor()
        }

      }
      return
    }
    if (length3 == 1 && th.data.exp_type == 0) {
      console.error('优惠券3');
      let first_entry = th.data.first_entry;
      let quanlist = th.data.def_coupon3
      if (quanlist && quanlist.length == 1 && first_entry == 1) {
        // first_entry += 1;
        th.setData({
          selected_quan_pick: th.data.bn_pick,
          // first_entry
        })

        th.sele_quan_item_by_befor();
        th.confirm_quan_befor()

      }
      return
    }

  },
  //----把券插入之后的操作，同时还要重新计算价格----
  insert_into_using_quan: async function (item, using_quan, pickid, isby, showToast = true) {


    var th = this;
    var old_quan = null;
    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 {
      if (using_quan[pickid]) old_quan = using_quan[pickid];
      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 });

      th.calculatePrice2(function () {

        // if (old_quan) using_quan[pickid] = old_quan;
        // else using_quan[pickid] = null;
        // th.setData({ using_quan: using_quan, submit: 0 });
        // wx.showToast({
        //   title: "不能使用优惠券，同城起送价不足",
        //   icon: 'none',
        //   duration: 2000
        // })

      });

      th.setData({ open_quan: 0 });
  },

  //优惠券锁定后解锁方法
  async updateOrderCoupon(){
    try{
      let req_data={
        store_id:oo.stoid,
        user_id:(getApp().globalData.userInfo.user_id || 0),
        order_id:this.data.order_id,
      }
      await getApp().request.promisePost("/api/weshop/order/updateOrderCoupon",{
        is_json:1,
        data:req_data
      }).then(res=>{
        console.log(111)
      })
    }catch(error){

    }
  },

  //点击打开优惠券使用说明
  clik_coupons: function (e) {
    var ind = e.currentTarget.dataset.idx;
    var is_open = this.data.selected_quan_list[ind].is_open;

    if (is_open == 1) is_open = 0;
    else is_open = 1;

    var txt = "selected_quan_list[" + ind + "].is_open"
    var obj = {};
    obj[txt] = is_open;

    this.setData(obj);
    this.setData({ disabled: 1 })
  },
  
  clik_coupons3: function (e) {
    var ind = e.currentTarget.dataset.idx;
    var is_open = this.data.city_coupon_list[ind].is_open;

    if (is_open == 1) is_open = 0;
    else is_open = 1;

    var txt = "city_coupon_list[" + ind + "].is_open"
    var obj = {};
    obj[txt] = is_open;

    this.setData(obj);
    this.setData({ disabled: 1 })
  },






})