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");
var t_pay = require("../../../../utils/pay2.js");

Page({ 
  data: {
    url: t.globalData.setting.url,
    resourceUrl: t.globalData.setting.resourceUrl,
    imgUrl: t.globalData.setting.imghost,
    goods: null,
    order: null,
    orderPrices: null,
    coupons: null,
    coupon: null,
    invoiceToggle: !0,
    payWithUserMoney: !0,
    payWithPoints: !0,
    maxWord: 0,
    enterAddressPage: !1,
    firstEnter: !0,
    //页面获取的参数
    param: null,
    postdata: null,
    //提交订单的格式
    formData: {
      order_amount: 0,//支付金额
      total_amount: 0,//总价
      all_price: 0,//商品卖的总价
      pay_points: 0,//使用积分
      user_money: 0,//使用余额
      couponCode: "",//使用优惠券(多单就用逗号隔开)
      shipping_price: 0,//物流费用
    },
    is_no_by:{},
    /*----------------立即购买---------------------*/
    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,

    rank_switch: 0,      //是不是开同等级卡
    show_card: null,     //显示的等级卡
    card_name: '',       //显示的卡的名称

    card_cut_price: null,//减价多少钱
    template_id:[],
    //dis_config:null,  //因为拼团有佣金抵扣
    //bn_use_commission: 0, //是不是使用佣金
  },
  onLoad: async function (t) {
    console.log("onLoad_pt_cart");
    //定义第一次进入
    this.data.fir_in=1;

    var th = this; this.setData({ is_b_now: t.is_bnow == undefined ? 0 : t.is_bnow, });
    var appD = getApp().get_b_now();
    getApp().getConfig2(function (e) {
      th.setData({
        bconfig: e
      });
    }, 1);
    th.data.postdata = appD;
    //如果期号有值
    if (appD.qh) {
      th.data.qh = appD.qh;
      th.data.pt_listno = appD.qh;
    }
    //th.data.kt_type=appD.kt_type;
    th.setData({ kt_type: appD.kt_type });
    if (appD.is_pt_tz) th.data.is_pt_tz = appD.is_pt_tz;
    th.data.param = t;
    //先获取物流，再获取用户信息，再展示页面
    //th.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);
  },

  //----------------展示页面,是再获取用户信息之后--------------
  show_page: function () {
    var th = this;
    //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 });
         //获取立即购买的商品信息
         th.get_buy_goods();
      }
    });
  },

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

        t.data.data.original_img = oo.imghost +  t.data.data.imgUrl;
        t.data.data['buynum'] = gg.goods_num;
        console.log(t.data.data);
        var distr_t = 0, et = 0
        if (t.data.data.distr_type == 0) {
          distr_t = gg.pick_dis;
        } else {
          distr_t = t.data.data.distr_type;
        }
        switch (distr_t) {
          case 0:
            et = 1;
            //-- 系统后台有设置要默认的 --
            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;
        }

        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 = 1;

          var gd = t.data.data;
          //-- 用商品的手店价来显示 --
          gg.goods_price = gd.money;

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

          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 {

          //--阶梯团很特殊，不能用总表来拿价格--
          getApp().request.get("/api/weshop/teamlist/get/" + oo.stoid + "/" + gg.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;  //用定金来购买
                  }

                    //-- 计算获得佣金的金额 --
                    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));

                    }


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

              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{
          s.fy_back('',0);
          t_pay.set_fir();
          util_pay.set_fir();

          var  back_url="/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + th.data.order_sn;

          //-- 通联的第三方支付的返回优化 --
          ut.is_pay_ok(th.data.order_id,back_url,"/pages/user/order_list/order_list?index=2&tabindex=1",function (){
              if(!th.data.order_id) return false;
              getApp().request.promiseGet("/api/weshop/rechargeServicelist/page",{
                  data: { store_id: os.stoid, order_id: th.data.order_id}
              }).then(res=>{
                  if(ut.ajax_ok(res)){
                      var item=res.data.data.pageData[0];
                      if(item.pt_status==1 || item.pt_status==2){
                          //支付支付，返回首页
                          ut.m_toast('支付成功');
                          setTimeout(()=>{
                              getApp().re_to(back_url);
                          },1000)

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


    if (th.data.isclose == 0) {
      wx.navigateTo({
        url: "/pages/index/index/index"
      })
    }
    //-----先获取物流，再获取用户信息，再展示页面-----
    th.get_info(th.show_page);
  },

  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: function () {
        var th = this, good = this.data.bn_goods;
        //-----------计算商品总价--------------
        var allpice = good.shop_price * good.buynum;
        allpice = parseFloat(allpice).toFixed(2);
        var txt = "formData.all_price";
        th.setData({ [txt]: allpice, });


        //-----------------总价-----------------
        var total_m = parseFloat(allpice);
        total_m = parseFloat(total_m).toFixed(2);
        var atxt = "formData.total_amount";
        th.setData({ [atxt]: total_m, })
        var order_m = total_m;
        var txt2 = "formData.order_amount";
        th.setData({ [txt2]: order_m })

  },


  //-- 要弹起来提示一下 --
  submitForm: function() {
        var th = this;
        this.sendsm(function() {
            th.submit_func();
        })
    },
  //--------------------提交订单-----------------------
  submit_func: 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");
    th.data.bn_exp_type =1;

    var item = {
          'user_id': to.globalData.user_id,
          'account': th.data.formData.order_amount,
          'store_id': oo.stoid, //商家
          'list': new Array(),
    };


      var gg = to.get_b_now();
      if (!gg.pick_id) {
          getApp().showWarning("未找到门店");
          return false;
      }
      var goods = {
          'card_id': gg.id,
          'itemid': th.data.bn_goods.erpItemID,
          'qty': gg.goods_num,
          'price': th.data.formData.order_amount,
          'pickup_id': gg.pick_id,
          'pickup_keyid': gg.keyid,
          'prom_type': this.data.postdata.prom_type,  //促销活动类型
          'prom_id': this.data.postdata.prom_id,     //促销活动id
          'is_pd_normal': th.data.bn_goods.is_normal,    //是否是普通购买
          'is_pt_tz': th.data.is_pt_tz,               //开团类型
      };

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

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

      if(this.data.postdata.prom_type == 1) {
          goods.price = this.data.postdata.prom_price;
      };

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

      //--导购分享过来的id--
      if (gg.guide_id) {
          goods.guide_id = gg.guide_id;
          goods.guide_type = gg.guide_type;
          //调用接口判断是不是会员
          await getApp().request.promiseGet("/api/weshop/shoppingGuide/getId/" + oo.stoid + "/" + gg.guide_id, {}).then(
              res => {
                  if (res.data.code == 0) {
                      goods.guide_name = res.data.data.salesman;
                      goods.guide_sn = res.data.data.salesman_no;
                  }
              })
      }


    //--商品的房间号--
    if (gg.room_id && gg.room_id > 0) {
      item.room_ids = gg.room_id;
      goods.room_id = gg.room_id;
    }
    item.list.push(goods);
    pdata=item;
    if (pdata.length == 0) return false;
    //var str = JSON.stringify(pdata);
    //console.log(str,"----");

      wx.showLoading({
          title: "加载中"
      });

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


              wx.hideLoading();
              if (res.statusCode == 200) {
                  var data = res.data;
                  if (data.code == 0) {
                      th.data.order_id = data.data.order_id;
                      th.data.order_sn = data.data.order_sn;

                      var order_amount = pdata.account;
                      //要进行判断，如果是用微信支付，就要跳转到支付界面
                      if (order_amount > 0) {
                          th.setData({ isclose: 0 });

                          t_pay.set_pay_url("/api/weshop/order/pay/createRechargeOrder");
                          t_pay.pay({
                              parentSn: data.data.order_sn,
                              store_id: oo.stoid
                          }, function () {
                              wx.showToast({
                                  title: '购买成功',
                                  icon: 'success',
                                  duration: 2000
                              });
                              setTimeout(function() {
                                  wx.redirectTo({
                                      url: "/packageA/pages/serviceCard_pd/team_success/team_success?ordersn=" + data.data.order_sn
                                  });
                              }, 1000)

                          }, function (e) {
                              wx.showToast({
                                  title: e,
                                  icon: 'none',
                                  duration: 2000
                              });

                              //-- 支付失败,要返回 --
                              setTimeout(function () {
                                  getApp().re_to("/pages/user/order_list/order_list?index=2&tabindex=1");
                              }, 1000)

                          })

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

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

    //------调起支付框--------
    weixinPay: function(n, success, fail) {
        var th=this;
        if (!n) return false;
        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().showWarning("支付失败") :
                    "requestPayment:fail cancel" == n.errMsg ? getApp().showWarning("您已取消支付") : getApp().showWarning("支付失败：" + n
                                .errMsg.substr("requestPayment:fail ".length)),
                "function" == typeof fail && fail();
            }
        });
    },

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

    },

    go_to:function (e) {
       var url=e.currentTarget.dataset.url;
       getApp().goto(url);
    }

});
