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");
let self = null;
 
Page({
  data: {
    prom_type: 9,

    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,
    is_no_by: {},
    postdata: null,
    //提交订单的格式
    formData: {
      order_amount: 0, //支付金额
      total_amount: 0, //总价
      all_price: 0, //商品卖的总价
      pay_points: 0, //使用积分
      user_money: 0, //使用余额
      couponCode: "", //使用优惠券(多单就用逗号隔开)
      shipping_price: 0, //物流费用
    },

    /*----------------立即购买---------------------*/
    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,

    //判断页面是返回回来的还是 首次进入的
    isclose: 1,
    kt_type: 0, //开团类型
    is_pt_tz: 0, //是否开团团长
    qh: '', //期号
    pt_listno: '', //期号
    is_normal: 0,
    is_express: 0, //选择物流的控制器
    yuer: 0,
    udata: null,//用户预存值，数据
    rank_switch: 0, //是不是开同等级卡
    show_card: null, //显示的等级卡
    card_name: '', //显示的卡的名称
    card_cut_price: null, //减价多少钱  
    is_pre_cut:0, //是否可以使用预存 0是不可以1的可以
    act:null,  //幸运购的活动
    same_ok:1,  //同城配送的控制，默认ok
    bconfig: null,
    showFold:true,
    template_id:[],

    //-- 订单促销判断积累 ---2024-2-20
    order_prom_map_ck: {},
    //能不能使用订单促销
    can_use_ord_prom:{},
    //存储订单促销的取价，按照门店进行索引
    show_ord_prom:{},
    sameCityExp_off:0, //未达到起送价
    sameCityExp_info:'',//未达到起送价提示信息
  },



  onReady() {

    setTimeout(() => {
      wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
        if (res.length != 0) {
          this.setData({
            showFold: res[0].height < res[1].height,
          });
        };

      }).exec();
    }, 1000);

  },
  
  clickCollapse() {
    this.setData({
      flag: !this.data.flag,
    })
  },



  onReady() {

    setTimeout(() => {
      wx.createSelectorQuery().selectAll(".showArea, .hideArea").boundingClientRect(res => {
        if (res.length != 0) {
          this.setData({
            showFold: res[0].height < res[1].height,
          });
        };

      }).exec();
    }, 1000);

  },
  
  clickCollapse() {
    this.setData({
      flag: !this.data.flag,
    })
  },
  onLoad: async function (t) {

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

    // console.log('收到的传参', t);
    wx.setNavigationBarTitle({
      title: '填写订单',
    });
    self = this;

    t.goods_price_y=t.goods_price;
    this.setData({
      is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow,
      param: t,
    });

    var appD = getApp().get_b_now();

    this.data.postdata = appD;

    getApp().getConfig2(function (e) {
      self.setData({
        bconfig: e
      });
    }, 1);
    // 获取幸运购活动团team_id
    // this.get_teamId({
    //   store_id: oo.stoid,
    //   user_id: getApp().globalData.user_id,
    //   aid: t.group_id,
    // });




    //如果期号有值01
    // if (appD.qh) {
    // 	th.data.qh = appD.qh;
    // 	th.data.pt_listno = appD.qh;
    // }



    // this.setData({//01
    // 	// kt_type: appD.kt_type
    // });

    // 01
    // if (appD.is_pt_tz) th.data.is_pt_tz = appD.is_pt_tz;


    //先获取物流，再获取用户信息，再展示页面
    // this.get_wuliu(th.get_info(th.show_page));

    //判断是不是佣金抵扣
    getApp().is_distribut(this);
    try {
      let template_id =await getApp().get_template_id('1001,1012,1027')
      this.setData({
        template_id
      })
    } catch (error) {}
  },

  onUnload: function () {
    this.setData({
      isclose: 1
    })
  },

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

  //-------------------获取物流---------------
  get_wuliu(func) {
    var th = this;
    // console.log("getwuliu4545");
    to.getwuliu(function (e) {
      if (th.data.is_default_logistics) {
        //如果第一个不是开启默认，说明要让用户自己选
        if (!e[0].is_default) {
          th.setData({
            is_default_logistics: 0
          });
        }
      }
      th.setData({
        wu_arr: e
      })
      typeof func == "function" && func();
    })
  },

  //------获取会员收货地址-----
  getuser_addr: function (func) {
    if (to.globalData.baddr != null) {
      var user_addr = to.globalData.baddr;
      to.globalData.baddr = null;
      func(user_addr);
    } else {
      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);
        }
      });
    }
  },
  //获取预存款余额
  async getAdvancesum() {
    /*-----获取线下会员的预存款和优惠券的数量-----*/
    let url = "/api/weshop/users/getinfo/" + os.stoid + "/" + getApp().globalData.userInfo.user_id
    await getApp().request.promiseGet(url, {
      data: {
        isShowLoading: 0,
      },
    }).then(su => {
      if (su.data.code == 0 && su.data.data) {
        var data = su.data.data;
        if (!data) data = {};
        data.cashcount = parseInt(data.cashcount);
        this.setData({
          udata: data,
        });
      }
    })

  },
  //购物车预存开启关闭
  prestore(e) {
    let ind = e.currentTarget.dataset.ind;
    let item = e.currentTarget.dataset.item
    let txt = 'cartlist[' + ind + '].yck_off';
    let txt1 = 'old_cartlist[' + ind + '].yck_off';
    if (item.yck_off == 2) {
      this.setData({ [txt]: 1, [txt1]: 1 })
    } else if (item.yck_off == 1) {
      this.setData({ [txt]: 2, [txt1]: 2 })
    }
    this.calculatePrice()//计算金额
  },
  //直接购买预存开启关闭
  prestore2() {
    let txt = 'bn_goods.yck_off';
    if (this.data.bn_goods.yck_off == 2) {
      this.setData({ [txt]: 1 })
    } else if (this.data.bn_goods.yck_off == 1) {
      this.setData({ [txt]: 2 })
    }
    this.calculatePrice2()//计算金额
  },
  //计算商品预存款前置方法------------------------------------
  async beforAdvancesum(cartList) {
    // let cartList= this.data.cartlist
    // let cartList= arr
    // let length = cartList.length
    if(!this.data.is_pre_cut){
      return {}
    }
    wx.showLoading({
      title: '加载中',
      mask: true
    })
    // for (let i = 0; i < length; i++) {
    let item = cartList;
    let goods = item.goods
    let keyid = item.sto.keyid
    let listform = []
    goods.map(ite => {
      let obj = {
        wareno: ite.goods_sn,
        price: ite.goods_price,
        qty: ite.goods_num,
        sumprice:ite.sumprice
      }
      listform.push(obj)
    })
    let arr = await this.getGoodsAdvancesum(keyid, listform, cartList)
    // }
    wx.hideLoading()
    return arr
  },
  //计算商品预存款请求方法------------------------------------
  async getGoodsAdvancesum(storageid, listform, cartList) {
    if(!getApp().globalData.config){
      await getApp().request.promiseGet("/api/weshop/store/get/" + os.stoid,{
      }).then(res=>{
        if(res.data.code==0){
          getApp().globalData.config = res.data.data
        }
      })
    }
    if(!getApp().globalData.config) return false;

    let res = await getApp().request.promisePost(`/api/weshop/delphiapi/saveErpApi`, {
      data: {
        accdb: getApp().globalData.config.erpid,
        ApiName: 'api.pos.shop.advancesum.seek',
        usercode: "admin",
        vipid: this.data.userinfo.erpvipid,
        oddsum: "0",
        advancesum: cartList.order_amount,
        storageid: storageid,
        listform
      },
      is_json: 1
    })
    console.log('计算商品的预存款');
    console.log(res);
    let yck = 0
    let yckid = ""
    let yckIdArr = []
    let pre_json = null
    if (res.data.code == 0 && res.data.data && res.data.data.length > 0) {
      let resData = res.data.data
      resData.map(ite => {
        yck += ite.advancesum*1
        yckIdArr.push(ite.advanceitemid)
      })
      pre_json = resData
    }
    yckid = yckIdArr.join()
    let obj = {}
    if (yck * 1 > 0) {
      obj.yck_off = 1
    } else {
      obj.yck_off = 0
    }
    obj.yck = yck.toFixed(2)
    obj.yckid = yckid
    obj.pre_json = pre_json
    return obj
  },
  //----------------展示页面,是再获取用户信息之后--------------
  show_page: async function () {
    var th = this;
    //获取用户预存款
    await th.getAdvancesum()
    //th.setData({ userinfo: to.globalData.userInfo});  会员信息要时时获取		  
    var user = getApp().globalData.userInfo;
    getApp().request.get("/api/weshop/users/get/" + oo.stoid + "/" + user.user_id, {
      data: {
        r: Math.random()
      },
      success: function (e) {

        getApp().globalData.userInfo = e.data.data;
        th.setData({
          userinfo: e.data.data
        });
        //获取立即购买的商品信息


        var op_data={
            store_id: oo.stoid,
            user_id: getApp().globalData.user_id,
            aid: th.data.param.group_id,
        };

        th.get_teamId(op_data,function (){
          th.get_buy_goods();
        })



        //获取提现金额
        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);
              if (yuer < 0) yuer = 0;
              th.setData({
                txmon: su.data.data.summoney,
                yuer: yuer
              });
            }
          }
        });
      }
    });
  },

  //-----获取立即购买的商品信息----
  get_buy_goods: function () {
    var th = this,
      a = getApp().request;
    var gg = th.data.postdata;
    //调用商品
    a.get("/api/weshop/goods/get/" + oo.stoid + "/" + gg.goods_id, {
      success: async function (t) {
        var gd = t.data.data;
        if (!gd) return false;

        //-- 如果商品有同城配送的参数的时候,一件代发商品不能显示同城配送按钮 --
        if (gd.is_same_city && th.data.is_same_city && gd.whsle_id <= 0) {
          await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + gg.pick_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 })
              }
            }

          })

        }


        t.data.data.original_img = oo.imghost + t.data.data.original_img;
        t.data.data['buynum'] = gg.goods_num;
        // console.log(t.data.data);
        var distr_t = 0,
          et = 0;

        if (t.data.data.is_minishop == 1 && getApp().is_sp_hao()) {

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

            wx.navigateBack({ delta: 1 })

            return false
          }

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

        }

        if (t.data.data.distr_type == 0) {
          distr_t = gg.pick_dis;
        } else {
          //distr_type配送方式 0=用户自选 1=自提 2=物流 
          distr_t = t.data.data.distr_type;
        }
        switch (distr_t) {
          case 0:
            et = 1;
            //-- 系统后台有设置要默认的 --
            if (th.data.json_d.pickupway && th.data.json_d.pickupway == 1) et = 0;
            break;
          case 1:
            et = 1;
            break;
          case 2:
            et = 0;
            break;
        }

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


        t.data.data.shop_price_y =  t.data.data.shop_price;
        t.data.data.shop_price = gg.goods_price;
        //--如果是普通购买的时候--
        if (gg.is_normal == 1) {
          t.data.data.prom_id = 0;
          t.data.data.prom_type = 0;
          t.data.data.is_normal = 0;

          var gd = t.data.data;
          //-- 用商品的手店价来显示 --
          gg.goods_price = gd.shop_price;
          //---是不是购买等级卡成功的返回---等级卡显示的判断---
          var is_card_back = getApp().globalData.is_card_back;
          if (is_card_back) {
            gg.goods_price = gd[th.data.card_name];
            t.data.data.shop_price = gg.goods_price;
            getApp().globalData.is_card_back = 0;
            th.setData({
              card_cut_price: 0
            });
          } else {
            //--- 商品不能是搭配购，商家等级卡开通的情况下,  会员不是等级会员的情况， 商品有设置等级卡价格，同时等级卡价格小于商品的价格
            if (th.data.card_name && gd[th.data.card_name] > 0 && gg.goods_price > gd[th.data.card_name] && !th.data.userinfo
              .card_field) {
              var cut_p = gg.goods_price - gd[th.data.card_name];
              th.setData({
                card_cut_price: cut_p
              });
            }
          }

          if (th.data.bn_goods) {
            et = th.data.bn_exp_type;
          }

          //如果有开启佣金抵扣，同时会员是分销商的时候
          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 = (t.data.data.fir_rate || 0) * gg.goods_num;
              sec_num = (t.data.data.sec_rate || 0) * gg.goods_num;
              thi_num = (t.data.data.thi_rate || 0) * gg.goods_num;
            } else {
              fir_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
              sec_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
              thi_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
            }
            var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);

            t.data.data.use_commission = c_num;

          }

          t.data.data.goods_price=th.data.param.goods_price;

          //用深拷贝把商品缓存起来，方便后面使用
          th.data.old_bn_goods=ut.deep_cp(t.data.data);

          th.setData({
            bn_goods: t.data.data,
            bn_pickname: gg.pick_name,
            bn_pick: gg.pick_id,
            bn_t_exp_t: distr_t,
            is_normal: 1,
            bn_exp_type: et
          });



          th.calculatePrice2();
        }

        else { //01

          //--阶梯团很特殊，不能用总表来拿价格--
          getApp().request.get("/api/weshop/teamlist/get/" + oo.stoid + "/" + gd.prom_id, {
            success: function (tt) {

              if (tt.data.code == 0) {
                var pt_data = tt.data.data;
                var now = s.gettimestamp();

                if (pt_data.is_end == 1) {
                  t.data.data.prom_id = 0;
                  t.data.data.prom_type = 0;
                  // t.data.data.is_normal=1;
                } else if (now > pt_data.end_time) {
                  t.data.data.prom_id = 0;
                  t.data.data.prom_type = 0;
                  // t.data.data.is_normal=1;
                } else {
                  t.data.data.shop_price = tt.data.data.price; //活动价格
                  t.data.data.is_normal = 0;
                  if (pt_data.kttype == 3) {
                    t.data.data.shop_price = tt.data.data.yf_price; //用定金来购买
                  }
                }
              } else {
                t.data.data.prom_id = 0;
                t.data.data.prom_type = 0;
                // t.data.data.is_normal=1;
              }

              if (th.data.bn_goods) {
                et = th.data.bn_exp_type;
              }


              //如果有开启佣金抵扣，同时会员是分销商的时候
              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 = (t.data.data.fir_rate || 0) * gg.goods_num;
                  sec_num = (t.data.data.sec_rate || 0) * gg.goods_num;
                  thi_num = (t.data.data.thi_rate || 0) * gg.goods_num;
                } else {
                  fir_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.firstRate || 0) / 100).toFixed(2);
                  sec_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.secondRate || 0) / 100).toFixed(2);
                  thi_num = parseFloat((t.data.data.commission || 0) * gg.goods_num * (th.data.dis_config.thirdRate || 0) / 100).toFixed(2);
                }
                var c_num = getApp().get_commission(fir_num, sec_num, thi_num, th);

                t.data.data.use_commission = c_num;

              }

              t.data.data.goods_price=th.data.param.goods_price;
              //用深拷贝把商品缓存起来，方便后面使用
              th.data.old_bn_goods=ut.deep_cp(t.data.data);

              th.setData({
                bn_goods: t.data.data,
                bn_pickname: gg.pick_name,
                bn_pick: gg.pick_id,
                bn_t_exp_t: distr_t,
                bn_exp_type: et
              });

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

      }
    });
  },

  //----------子页返回父页触发----------
  onShow: function () {

    var th = this;

    //判断是不是第一次进入
    if(this.data.fir_in){
      this.data.fir_in=0;
    }else{
        var fy=ut.fy_back('/pages/user/order_list/order_list',1);
        if(fy) return false;
        util_pay.set_fir();

        var back="/packageC/pages/luckyGo/luckyGo_details/luckyGo_details?type=1&ordersn=" + this.data.ok_order_sn +
         "&group_id=" + th.data.param.group_id + "&goods_id=" + th.data.param.goods_id +
         "&goods_name=" + th.data.bn_goods.goods_name;

        //-- 通联的第三方支付的返回优化 --
        ut.is_pay_ok(th.data.ok_order_sn,back,'/pages/user/order_list/order_list',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.pay_status==1){
                //支付支付，返回首页
                ut.m_toast('支付成功');
                setTimeout(()=>{
                  getApp().re_to(back);
                },1000)

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

    }



    if (th.data.isclose == 0) {
      wx.navigateTo({
        url: "/pages/index/index/index"
      })
    } else {
      this.getuser_addr(function (ie) {

        //更换地址回来要重新调用计算价钱的接口
        if (!th.data.user_addr || th.data.user_addr.address_id != ie.address_id) {
          th.setData({
            add_back: 1,same_ok:1
          });
          //if(th.data.bn_goods) th.calculatePrice2();
        }
        th.setData({
          user_addr: ie,is_show_sub:0
        });

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

    //价格要返回，在重新进来的时候
    let goods_price_y=this.data.param.goods_price_y;
    this.setData({
      show_ord_prom:{},
      can_use_ord_prom:{},
      'param.goods_price':goods_price_y
    })

    //先获取是否有关闭使用优惠券
    getApp().getConfig2(function (ee) {
      var json_d = JSON.parse(ee.switch_list);
      th.data.json_d = json_d;
      th.data.ispt_goods = json_d.ispt_goods; //是不是平摊到单品的控制参数赋值
      var is_default_logistics = json_d.is_default_logistics;
      var is_same_city = json_d.is_same_city;

      th.setData({
        is_pre_cut:json_d.is_pre_cut,//预存是否可以使用0是不可以 ，1是可以
        is_close_quan: json_d.is_close_quan,
        sales_rules: ee.sales_rules,
        rank_switch: json_d.rank_switch,
        is_default_logistics: is_default_logistics,
        is_same_city: is_same_city
      });

      var rank_switch = json_d.rank_switch;
      var max_price = -1;
      var show_card = null;
      var name = "";
      //如果有开等级卡的时候,
      //因为都是调接口，要返回在计算
      if (rank_switch == 2) {
        //-- 获取所有的等级卡, --
        getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?storeId=" + os.stoid, {}).then(res => {
          if (res.data.code == 0) {
            var plusCard = res.data.data;
            //-- 循环判断，拿到最贵的那张卡 --
            for (var ih in plusCard) {
              if (plusCard[ih].IsStopBuy == true) {
                continue;
              }
              if (max_price < 0) {
                max_price = plusCard[ih].CardFee;
                name = 'card' + plusCard[ih]['CorrPrice'];
                show_card = plusCard[ih];
              } else {
                if (max_price < plusCard[ih].CardFee) {
                  max_price = plusCard[ih].CardFee;
                  name = 'card' + plusCard[ih]['CorrPrice'];
                  show_card = plusCard[ih];
                }
              }
            }

            if (show_card) {
              name = name.toLowerCase();
              th.setData({
                card_name: name,
                show_card: show_card
              })
            }
          }
          //-----先获取物流，再获取用户信息，再展示页面-----
          th.get_wuliu(th.get_info(th.show_page));
        })
      } else {
        //-----先获取物流，再获取用户信息，再展示页面-----
        th.get_wuliu(th.get_info(th.show_page));
      }
    }, 1)

  },
  //---------------检查是否有收货地址-------------------
  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
    });
  },
  //---------计算立即购买----------
  calculatePrice2: async function () {
    console.log('calculatePrice2');
    var th = this,
      good = this.data.bn_goods;

    //-----------计算商品总价--------------
    //var allpice = th.data.param.goods_price;
    var allpice = (th.data.act.group_price/100).toFixed(2);
    if(th.data.can_use_ord_prom[th.data.bn_pick]){
       allpice=th.data.param.goods_price*th.data.bn_goods.buynum;
    }

    allpice = parseFloat(allpice).toFixed(2);
    var txt = "formData.all_price";
    th.setData({
      [txt]: allpice,
    });

    this.setData({ sub: 1 });

    wx.showLoading({
      title: "处理中.",
      mask: true
    })
    //to.getwuliuprice(async function (rs) {

    var o_shipping_price = 0,
      goods_weight = -1,
      goods_piece = -1;
    var out_of_weight = null; //超出多少重量


    //-- 判断订单优惠的叠加 --
    var ord_prom=null;
    var o_condition=allpice;
    if(th.data.act.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;
      //   }
      // })

      th.set_by_now_ord_prom(th.data.bn_goods);
      th.data.order_prom_map_ck[th.data.bn_pick].goods_price_all=o_condition;
      ord_prom=await th.get_cur_ord_prom(th.data.bn_pick);

    }


    //-----------当地址不为空，且是物流时，计算物流费用,同时阶梯团不计算拼团价格----------
    if (th.data.user_addr != null && th.data.bn_exp_type == 0  && (th.data.kt_type !=
      3 || th.data.bn_goods.is_normal == 1)) {

      if(good.is_free_shipping){
          var wl_txt = "formData.shipping_price";
          th.setData({
            [wl_txt]: 0,
          })

      }else{

        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;
        if(!ord_prom ||  ord_prom.is_post_temp) {
          if (th.data.act.is_post_temp ) {
            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 gd_arr_list = [];
        gd_arr_list.push(good);
        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,sub: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;
          }
        })
        if (!is_ok) {
          wx.hideLoading();
          wx.showToast({
            title: "计算物流错误", icon: 'none', duration: 2000
          })
          th.setData({show_submit:1, submit: 0,same_ok:0,sub:0 })
          return false;
        }

        shipping_price = parseFloat(shipping_price).toFixed(2);
        var wl_txt = "formData.shipping_price";
        th.setData({
          [wl_txt]: shipping_price,
        })
      }


    } else if (th.data.bn_exp_type == 1) {
      var wl_txt = "formData.shipping_price";
      th.setData({
        [wl_txt]: 0,
      })
    }



    //判断是否同城配送,而且没有调用过
    if (th.data.bn_exp_type == 2 && th.data.user_addr) {

      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 req_data = {
        store_id: os.stoid,
        order_amount: th.data.param.goods_price,
        lon: lon, lat: lat,
        pickup_id: th.data.bn_pick,
        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) {
          var wl_txt = "formData.shipping_price";
          th.setData({ [wl_txt]: res.data.data, })
          th.setData({
            sameCityExp_off:0,
            sameCityExp_info:''
          })
        } else {
          if (res.data.code==-2) {  //未达到起送价
            th.setData({
              sameCityExp_off:2,
              sameCityExp_info:res.data.msg
            })
          }else{
            th.setData({
              sameCityExp_off:1,
              sameCityExp_info:res.data.msg
            })
          }
          is_next = 0;
          wx.showToast({
            title: res.data.msg, icon: 'none', duration: 2000
          })
        }
      })
      if (!is_next){
        th.setData({is_show_sub:1,sub:0,same_ok:0 })
        return false
      }

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

    //-- 如果是订单优惠的时候,allpice要拿来减掉一些 --
    var order_prom_id=0;
    var order_prom_amount=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_amount > 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 })
    }



    //-----------------总价-----------------
    // 幸运购 01
    var total_m = parseFloat(allpice) + parseFloat( th.data.formData.shipping_price);
    //var total_m = parseFloat(th.data.param.goods_price) + parseFloat(th.data.formData.shipping_price);
    total_m = parseFloat(total_m).toFixed(2);

    var atxt = "formData.total_amount";
    th.setData({
      [atxt]: total_m,
    })
    var order_m = total_m;

    //预存金额使用参与计算
    if (th.data.udata && th.data.udata.Balance > 0 && order_m * 1 > 0) {
      if (!th.data.bn_goods.keyid) {
        //获取门店信息
        await getApp().request.promiseGet("/api/weshop/pickup/list", {
          data: {
            store_id: os.stoid,
            ids: th.data.bn_pick
          }
        }).then(res => {
          if (ut.ajax_ok(res)) {
            console.log(res);
            if (res.data.code == 0) {
              let resData = res.data.data.pageData
              if (resData && resData[0]) {
                let keyid = resData[0].keyid
                let txt = 'bn_goods.keyid'
                th.setData({
                  [txt]: keyid
                })
              }
            }
          }
        })
      }
      if (th.data.bn_goods.keyid) {
        let cart_yc = await th.beforAdvancesum({
          order_amount: order_m,
          goods: [{
            goods_sn: th.data.bn_goods.goods_sn,
            goods_price: th.data.param.goods_price || th.data.bn_goods.shop_price || th.data.bn_goods.goods_price,
            goods_num: th.data.bn_goods.buynum || th.data.bn_goods.goods_num,
            sumprice:parseFloat(allpice).toFixed(2) //幸运购没有优惠券
          }],
          sto: {
            keyid: th.data.bn_goods.keyid
          }
        })

        if (!good.yck_off) {
          good.yck_off = cart_yc.yck_off
        }
        good.yck = cart_yc.yck
        good.yckid = cart_yc.yckid
        good.pre_json = cart_yc.pre_json
        let yct1 = 'bn_goods.yck_off';
        let yct2 = 'bn_goods.yck';
        let yct3 = 'bn_goods.yckid';
        let yct4 = 'bn_goods.pre_json';
        th.setData({
          [yct1]: good.yck_off,
          [yct2]: good.yck,
          [yct3]: good.yckid,
          [yct4]: good.pre_json,
        })

        if (good.yck_off && good.yck_off == 2) {
          let order_amount = (order_m - good.yck).toFixed(2);
          let yck = 0
          if (order_amount * 1 > 0) {
            order_m = order_amount;
            // all_prestore+=parseFloat(good.yck);
            yck = parseFloat(good.yck)
          } else {
            // all_prestore+=order_m*1
            yck = parseFloat(order_m)
            order_m = 0
          }
          let atxt10 = "formData.prestore"; //预存金额
          let atxt11 = "formData.pre_json"; //预存json
          let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表
          th.setData({
            [atxt10]: yck,
            [atxt11]: [good.pre_json],
            [atxt12]: [yck],
          })
          // formData.prestore
          // all_yck_arr.push(yck) //真实预存款抵扣金额
          // all_pre_json.push(good.pre_json)
          // all_prestore = parseFloat(all_prestore); //真实预存款抵扣金额总和
        }else{
          let atxt10 = "formData.prestore"; //预存金额
          let atxt11 = "formData.pre_json"; //预存json
          let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表
          th.setData({
            [atxt10]: 0,
            [atxt11]: '',
            [atxt12]: [],
          })
        }
      }
    } else {
      let yct1 = 'bn_goods.yck_off';
      let yct2 = 'bn_goods.yck';
      let yct3 = 'bn_goods.yckid';
      let yct4 = 'bn_goods.pre_json';
      let atxt10 = "formData.prestore"; //预存金额
      let atxt11 = "formData.pre_json"; //预存json
      let atxt12 = "formData.all_yck_arr"; //预存真实抵扣列表
      th.setData({
        [yct2]: 0,
        [yct3]: '',
        [yct4]: '',
        [atxt10]: 0,
        [atxt11]: '',
        [atxt12]: [],
      })
    }


    var txt = "formData.user_money";
    var txt2 = "formData.order_amount";
    var txt4 = "formData.use_commission";

    if (parseFloat(order_m) < parseFloat(th.data.bn_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) {
      order_m = (parseFloat(order_m) - parseFloat(th.data.bn_goods.use_commission)).toFixed(2);
      th.setData({ [txt4]: th.data.bn_goods.use_commission })
    }
    //--------------如果使用余额---------------------
    if (th.data.bn_use_money == 1 && th.data.yuer > 0) {
      if (parseFloat(th.data.yuer) > parseFloat(order_m)) {
        th.setData({
          [txt]: order_m,
          [txt2]: 0,
          is_show_sub: 1, sub: 0
        })
      } else {
        order_m = parseFloat(order_m) - parseFloat(th.data.yuer);
        order_m = order_m.toFixed(2);
        th.setData({
          [txt]: th.data.yuer,
          [txt2]: order_m,
          is_show_sub: 1, sub: 0
        })
      }
    } else {
      th.setData({
        [txt]: 0,
        [txt2]: order_m,
        is_show_sub: 1, sub: 0
      })
    }
    wx.hideLoading();
    //});

  },
    //订阅消息提醒
    sendsm: function (t) {
      let that = this;
      let template_id = this.data.template_id;
      // //授权订阅
      wx.requestSubscribeMessage({
        tmplIds: template_id,
        success(res) {
         that.submitConfirm(t)
        },
        fail(res) {
          that.submitConfirm(t)
        }
      })
  
    },

  // 提交订单前弹出确认对话框
  submitConfirm(e) {
    // is_show为0不显示温馨提示，为1显示温馨提示
    if (this.data.param.is_show == 1 && !this.data.can_use_ord_prom[this.data.bn_pick]) {
      wx.showModal({
        title: '温馨提示',
        content: this.data.param.alert,
        success(res) {
          if (res.confirm) {
            console.log('用户点击确定');
            self.submitForm(e);
          } else if (res.cancel) {
            console.log('用户点击取消');
          }
        }
      });
    } else {
      this.submitForm(e);
    };

  },


  //--------------------提交订单-----------------------
  submitForm: async function (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;
    //------------立即购买-------------
    // console.log("buy_new");

    //如果不是阶梯团，或者是普通购买，商家选择了物流，以及地址为空的时候
    //if (th.data.bn_exp_type == 0 && th.data.user_addr == null
    if (getApp().is_no_addr(th,th.data.bn_exp_type) && (th.data.kt_type != 3 || th.data.bn_goods.is_normal ==
      1)) {
      ff = false;
      getApp().my_warnning("请选择收货地址", 0, this);
      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;

    console.log(th.data.formData);
    console.log(th.data.wu_arr);
    console.log(th.data.bn_exp_type);

    if (th.data.bn_exp_type == 0 && (th.data.kt_type != 3 || th.data.bn_goods.is_normal == 1)) {
      if (th.data.wu_arr == null || th.data.wu_arr.length <= 0) {
        getApp().my_warnning("读取物流失败", 0, this);
        this.data.is_summit_ing = 0;
        return false;
      }
    }

    //阶梯团强制带1，自提~~~01
    // if (th.data.kt_type == 3) {
    // 	th.data.bn_exp_type = 1;
    // }

    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': addr == null ? th.data.userinfo.mobile : addr.mobile,
      'email': '',
      'invoice_title': '',
      'goods_price': th.data.param.goods_price, //商品总价
      //'goods_price': th.data.formData.all_price,           //商品总价
      'shipping_price': th.data.formData.shipping_price, //物流金额
      '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,
      '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, //配送方式
      'is_normal': th.data.bn_goods.is_normal, //是否是普通购买
      //'pt_prom_id': th.data.bn_goods.prom_id, //拼单ID 01
      //'is_pt_tz': th.data.is_pt_tz, //开团类型 01
      'order_goods': new Array(),
    };

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

    }

    //--判断有没有优惠活动--
    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;
      item.order_prom_list = order_prom_list;
    }


    //如果不是阶梯团，或者是普通购买，01
    // if ((th.data.kt_type != 3 || th.data.bn_goods.is_normal == 1)) {
    if (th.data.bn_goods.is_normal == 1) {
      item['shipping_code'] = th.data.bn_exp_type == 1 ? 0 : th.data.wu_arr[th.data.index].code;
      item['shipping_name'] = th.data.bn_exp_type == 1 ? '' : th.data.wu_arr[th.data.index].name;
    }

    // if (!th.data.bn_goods.is_normal) {
    // 	item.is_zsorder = th.data.kt_type + 1; //开团类型 01
    // }


    //老会员成为分销下线需要的参数
    if (getApp().globalData.first_leader && !getApp().globalData.userInfo.first_leader) {
      //判断一下分享人是不是分享商
      await app.request.promiseGet("/api/weshop/users/get/" + os.stoid + "/" + getApp().globalData.first_leader, {}).then(
        res => {
          if (res.data.code == 0) {
            var user = res.data.data;
            if (user.is_distribut == 1) {
              item.first_leader = parseInt(getApp().globalData.first_leader);
            }
          }
        })
    }

    if (th.data.qh != '') {
      item.team_qh = th.data.qh;
      item.pt_listno = th.data.qh;
    }

    //-- 如果有使用佣金抵扣的话 --
    if (th.data.bn_use_commission) {
      item.use_commission = th.data.bn_goods.use_commission;
    }


    var gg = to.get_b_now();
    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.param.goods_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,  //促销活动类型 01
      // 'prom_id': th.data.bn_goods.prom_id,     //促销活动id 01

      'prom_type': 9, //促销活动类型
      'prom_id': th.data.param.group_id, //促销活动id
    };


    if(th.data.bn_goods.discount_field){
      goods.discount_field=th.data.bn_goods.discount_field;
    }

    //如果有参与非实收的订单促销，那么就相当于是普通购买
    if(th.data.can_use_ord_prom[th.data.bn_pick]){
      goods.is_pd_normal=1;
      goods.prom_type=0;
      goods.prom_id=0;

      //如果是指定门店，就要判断
      if (th.data.bn_goods.pick_group_ids) {
        var idx0 = th.data.bn_goods.pick_up_lists.findIndex(function (e) {
          return e.pickup_id == th.data.bn_pick;
        })
        if (idx0 < 0) {
          getApp().my_warnning(th.data.bn_goods.goods_name + "的门店不可售", 0, th);
          th.data.is_summit_ing = 0;
          th.setData({
            submit: 0
          })
          return false;
        }
      }

      if (th.data.sales_rules==1 && th.data.bn_goods.store_count<goods.goods_num){
        getApp().confirmBox("商品的门店库存不足");
        th.data.is_summit_ing = 0;
        th.setData({
          submit: 0
        })
        return false;
      }
      //如果不立即购买或者秒杀，如果是线下库存购买的时候
      if (th.data.sales_rules >= 2 && !th.data.bn_goods.whsle_id && !getApp().is_virtual(th.data.bn_goods)) {
        var isok = 1;
        await th.check_store_num(goods.goods_id, th.data.bn_pick, goods.goods_num, function (res) {
          isok = res;
        });
        if (!isok) {
          getApp().confirmBox("商品的门店库存不足");
          th.data.is_summit_ing = 0;
          th.setData({
            submit: 0
          })
          return false;
        }
      }




    }

    if (getApp().globalData.skinface_id) {
      goods.skinface_id = getApp().globalData.skinface_id;
    }

    if (th.data.bn_goods.whsle_id) {
      item.is_whsle = 1;
      goods.is_whsle_goods = 1;
    }

    //--导购分享过来的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.groupchat_id){
      goods.groupchat_id=gg.groupchat_id
      item.groupchat_ids=gg.groupchat_id
    }

    //--商品的房间号--
    if (gg.room_id && gg.room_id > 0) {
      item.room_ids = gg.room_id;
      goods.room_id = gg.room_id;
    }

    // if (th.data.bn_goods.is_normal) {
    // 	goods.is_pd_normal = 0;
    // }

    item.order_goods.push(goods);
    pdata.push(item);

    if (pdata.length == 0) return;

    //如果有使用预存，要处理
    if (th.data.formData && th.data.formData.prestore * 1 > 0 && th.data.bn_goods.yck_off==2) {
      let formData = th.data.formData
      let pre_json = formData.pre_json
      let all_yck_arr = formData.all_yck_arr
      pdata.map((item, i) => {
        item.pre_cut = all_yck_arr[i] ? all_yck_arr[i].toFixed(2) : 0
        item.pre_preferential = 0
        item.pre_json = pre_json[i] ? JSON.stringify(pre_json[i]) : ''
      })
    }
        
    if (!pdata.keyid && th.data.bn_goods) {
      pdata.map(ite => {
        ite.keyid = th.data.bn_goods.keyid
      })
      // pdata.keyid = th.data.bn_goods.keyid
    }

    //var str = JSON.stringify(pdata);
    //console.log("支付数据");
    //console.log(str);
    //return false;
    wx.showLoading({
      title: "加载中"
    });

    getApp().request.promisePost("/api/weshop/order/createWxdOrder", {
      data: pdata,is_json:1,is_normal:1
    }).then(res => {

        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++) {
                //删除购物车
                getApp().request.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,
              //  type:1,
              // }, 1);

              th.data.ok_order_sn=data.data;
              util_pay.pay(data.data, function () {
                setTimeout(function () {
                  // wx.reLaunch({
                  // 	//url: "/packageG/pages/payment/pay_success/pay_success?type=1&order_sn="+data.data,
                  // 	url: "/packageG/pages/team/team_success/team_success?ordersn=" + data.data,
                  // })

                  wx.redirectTo({
                    url: "/packageC/pages/luckyGo/luckyGo_details/luckyGo_details?type=1&ordersn=" + data.data +
                      "&group_id=" + th.data.param.group_id + "&goods_id=" + th.data.param.goods_id +
                      "&goods_name=" + th.data.bn_goods.goods_name,
                  });

                }, 1000)
              }, function () {
                //支付失败
                setTimeout(function () {
                  //wx.navigateBack({ delta: 1 })
                  wx.reLaunch({
                    url: "/pages/user/order_list/order_list",
                  })
                }, 1000)

              }, oo.stoid, 1);

            } else {
              var dd = {
                parent_sn: data.data,
                store_id: oo.stoid,
                type: 1,
              };
              wx.showLoading({
                title: '支付中',
                mask: true,
              });
              //return false;
              getApp().request.post("/api/weshop/order/pay/createOrder", {
                data: dd,
                success: function (t) {
                  // console.log(t);
                  // app.my_warnning("支付成功",1,th);
                  wx.hideLoading();
                  if (t.data.code == 0) {

                    // setTimeout(function () {
                    th.setData({
                      isclose: 0
                    });

                    wx.showToast({
                      title: '支付成功',
                      icon: 'success',
                      duration: 2000,
                      success: function () {
                        // 幸运购
                        setTimeout(function () {
                          wx.redirectTo({
                            url: "/packageC/pages/luckyGo/luckyGo_details/luckyGo_details?type=1&ordersn=" + data.data +
                              "&group_id=" + th.data.param.group_id + "&goods_id=" + th.data.param.goods_id +
                              "&goods_name=" + th.data.bn_goods.goods_name,
                          });
                        }, 0);

                      },
                    })


                    //                  if(th.data.is_normal==1){
                    //                      /*--
                    //                      wx.navigateTo({
                    //                        url: "/pages/user/order_list/order_list",
                    //                      })--*/

                    // //                      var url="/packageG/pages/payment/pay_success/pay_success?type=1&order_sn="+data.data;
                    // //                      wx.reLaunch({
                    // // 	url: url  
                    // // })

                    //                  }else{
                    //                      // wx.reLaunch({
                    //                      //   url: "/packageG/pages/team/team_success/team_success?ordersn=" + data.data,
                    //                      // })
                    //                  }


                    // }, 1000)

                  } else {
                    wx.showToast({
                      title: t.data.msg,
                      icon: 'none',
                      duration: 2000,
                      success: function () {

                        // wx.reLaunch({
                        // 	url: "/pages/user/order_list/order_list",
                        // })

                      },
                    })
                  };


                }
              });
            }
          } else {
            th.data.is_summit_ing = 0; //是否提交中
            getApp().confirmBox(data.msg);
          }
        } else {
          th.data.is_summit_ing = 0; //是否提交中
          console.log("index.js wx.request CheckCallUser statusCode" + res.statusCode);
        }

    }).catch(function(err) {
      th.data.is_summit_ing = 0; //是否提交中
      wx.hideLoading();
      console.log("index.js wx.request CheckCallUser fail");
    })
  },





  useCoupon: function () {
    if (this.data.order.couponNum <= 0) {
      //return t.showWarning("无可用优惠券");
      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.enterAddressPage = !0, wx.navigateTo({
      url: "/packageF/pages/user/address_list/address_list"
    });
  },




  //--------立即购买时，选择自提和物流-----------
  setexptype_w: function (t) {
    var th = this;
    var ty = t.currentTarget.dataset.t,
      txt = t.currentTarget.dataset.txt;
    th.setData({
      [txt]: ty
    });
    var iszt = 1;
    if (ty == 0) {
      th.setData({
        is_all_zt: 0
      });
    } else {
      for (var i = 0; i < th.data.cartlist.length; i++) {
        var item = th.data.cartlist[i];
        if (item.exp_type == 0) {
          iszt = 0;
          break;
        }
      }
      th.setData({
        is_all_zt: iszt
      });
    }
    //----计算此时购物车的价格----
    th.calculatePrice();
  },




  //--------立即购买时，选择自提和物流----------
  setexptype: function (t) {
    var th = this;
    var ty = t.currentTarget.dataset.t;
    th.setData({
      bn_exp_type: ty,
      same_ok:1,
      sameCityExp_off:0, 
      sameCityExp_info:'',
    });
    //当物流为空的时候。
    if (ty == 0 && th.data.wu_arr == null) {
      return th.get_wuliu(th.calculatePrice2());
    }
    th.calculatePrice2()
    console.log('setexptype');
  },




  //--------立即购买时，使用余额--------
  set_bn_useyuer: function () {
    var th = this;
    th.setData({
      bn_use_money: !th.data.bn_use_money
    });
    th.calculatePrice2();
  },





  set_js_useyuer: function () {
    var th = this;
    th.setData({
      js_use_money: !th.data.js_use_money
    });
    th.calculatePrice();
  },




  //-------------------计算物流---------------
  calculatewuliu: function (code, o_shipping_price, goods_weight, out_of_weight,
    goods_piece, user_addr, freight_free, o_price, rs, pickid) {
    var price = 0,
      th = this;
    price += parseFloat(o_shipping_price);
    //如果是包邮
    if (freight_free > 0 && o_price >= freight_free && out_of_weight >= 0) {
      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 (item == null) return o_shipping_price;
    //------按重量----------
    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 (out_of_weight < 0 && o_price >= freight_free && !th.data.is_no_by[pickid]) {
      fw_price = parseFloat(item['money']);
      var out_of_weight = Math.abs(out_of_weight);
      if (out_of_weight > item['first_weight']) {
        var fw = out_of_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) {
      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;
  },
  //检查立即购买的商品是不是不包邮
  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_goods: function (goods_list, goods_id) {
    var arr = goods_list.split(",");
    var check = this.check_good(arr, goods_id);
    return !check;
  },

  check_by_area: function (region_list) {
    var arr = region_list.split(",");
    var check = this.check_area(arr);
    return !check;
  },
  //检查区域是不是包邮
  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;
  },

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





  //----------购物车结算，选择物流------------- 01
  // bindPickerChange_w: function(e) {
  // 	var ind = e.detail.value,
  // 		txt = e.currentTarget.dataset.txt;
  // 	this.setData({
  // 		[txt]: ind
  // 	});
  // 	this.calculatePrice();
  // },




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




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



  //更新下默认，在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)
  },



  // 关闭物流的弹窗
  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();
        }
      }
    })
  },




  //跳转到购买卡
  buycard: function () {
    getApp().goto("/pages/user/plus/plus");
    getApp().globalData.plus_buy_back = 1;
  },


  // 获取team_id
  get_teamId(options,func) {
    var th=this;
    let aid = options.aid;
    let store_id = options.store_id;
    let user_id = options.user_id || '0';
    let url = `/api/weshop/prom/luckyActivity/page?store_id=${store_id}&is_end=0&timetype=1&id=${aid}&user_id=${user_id}`;
    getApp().request.get(url, {
      success: function (res) {
        if (res.data.code == 0) {
          let team_id = res.data.data.pageData[0]['team_id'];
          th.setData({
            act:res.data.data.pageData[0]
          })

          wx.setStorage({
            key: 'team_id',
            data: team_id,
          });

          func();
        };
      }
    });
  },


  //立即购买的时候，使用余额
  set_bn_commission: function () {
    var th = this;
    th.setData({ bn_use_commission: !th.data.bn_use_commission });
    th.calculatePrice2();
  },

  //-- 获取订单促销的判断结构 --
  set_by_now_ord_prom(item){
    let pickid=this.data.bn_pick;
    let order_prom_map_ck= this.data.order_prom_map_ck;
    order_prom_map_ck[pickid]={
      shop_price_all:0,   //手店价的累计
      market_price_all:0, //市场价的累计
      goods_price_all:0,  //实收价的累计
      no_ord_price:0,    //要累计上不参与订单促销的金额
      goodsList:[],
    }

    let pk_ord_map=order_prom_map_ck[pickid];
    pk_ord_map.shop_price_all += item.shop_price_y * item.buynum;
    pk_ord_map.market_price_all += item.market_price * item.buynum;

  },

  //获取当前进行中订单促销，同时带入相应的金额判断订单促销是不是运行，同时订单促销的条件不是实收价判断的话，默认的时候，订单促销是不参与运算的
  async get_cur_ord_prom(pickid) {
    let ord_prom = null;
    let order_prom_map_ck = this.data.order_prom_map_ck[pickid];
    if(!order_prom_map_ck) return null;

    //获取当前进行中的优惠促销
    await getApp().request.promiseGet("/api/weshop/promorder/getPromOrder", {
      data: {
        store_id: os.stoid,
        orderAmount: -1,  //-1为不判断金额条件
        user_id: getApp().globalData.user_id
      }
    }).then(res => {
      if (res.data.code == 0) {
        ord_prom = res.data.data;
      }
    })

    if (!ord_prom) return null;
    //用于计算订单促销的金额
    let calculate_price=0;

    let txt1='show_ord_prom['+pickid+']';
    //-- 此时判断活动的金额满足与否 --
    switch (ord_prom.discount_field) {
        //实收价的时候
      case 0:
        //要先还原
        this.setData({
          [txt1]: 0
        });

        if (ord_prom.money > order_prom_map_ck.goods_price_all){
          return null;
        }
        break;
        //手店价的时候
      case 1:
        if (ord_prom.money > order_prom_map_ck.shop_price_all){
          //要先还原
          this.setData({
            [txt1]: 0
          });
          return null;
        }
        //要显示订单促销使用的按钮
        this.setData({
          [txt1]: 1
        });
        break;
        //市场价的时候
      case 2:
        if (ord_prom.money > order_prom_map_ck.market_price_all){
          //要先还原
          this.setData({
            [txt1]: 0
          });
          return null;
        }
        //要显示订单促销使用的按钮
        this.setData({
          [txt1]: 2
        });
        break;
    }
    //如果订单促销是不参与订单促销的，那么就直接返回null（订单促销不是实收价的时候）
    if(ord_prom.discount_field>0 && !this.data.can_use_ord_prom[pickid]){
      return null;
    }
    return ord_prom;
  },

  //立即购买的时候，点击订单促销的参与
  set_can_use_ord_prom_now:function (e){

    if(this.data.sub) return false;
    this.setData({ sub: 1,same_ok:1 });

    let pickid=this.data.bn_pick;
    let txt = 'can_use_ord_prom[' + pickid + ']';
    let can_use = this.data.can_use_ord_prom[pickid] ? this.data.can_use_ord_prom[pickid] : 0;
    this.setData({
      [txt]: !can_use
    })

    let th=this;
    let good=th.data.bn_goods;
    let param=th.data.param;

    //如果有要参与订单促销的按钮点击后,要修改商品的价格
    if(th.data.can_use_ord_prom[pickid]){
      let discount_field=th.data.show_ord_prom[pickid];
      switch (discount_field){
        case 1:
          good.shop_price=good.shop_price_y;
          param.goods_price=good.shop_price_y;
          break;
        case 2:
          good.shop_price=good.market_price;
          param.goods_price=good.market_price;
          break;
      }
      //-- 转成普通商品 ---
      good.prom_type=0;
      good.prom_id=0;
      good.discount_field=discount_field;


    }else{
      good=ut.deep_cp(th.data.old_bn_goods);
      param.goods_price=good.goods_price;
    }

    th.setData({
      bn_goods:good,
      param
    })
    wx.showLoading({
      title: "处理中.",
      mark:true
    })
    th.calculatePrice2()
  },

  //---确认线下门店的数量足不足---
  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 && res.data.data && res.data.data.pageData && res.data.data.pageData.length) {
        plist = res.data.data.pageData[0];
      }
    })
    var isok = 1;
    if (!plist || goods_num > plist.CanOutQty - lock) {
      isok = 0;
    }
    func(isok);
  },
  //去凑单
  qcd(){
    getApp().goto("/pages/index/index/index");
  },


});
