const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    success: false,
    fail: false,
    name: '',
    addressId: 0,
    tel: '',
    area: '',
    address: '',
    cover_type: false,
    total: '',
    info: {
      address: {
        address: '',
        area: '',
        id: '',
        tel: '',
        name: '',
        goods: []
      },
      goods: {}
    },
    totalnum: '',
    datak: 1,
    car_ids: [],
    user_ticket_id2: '',
    user_ticket_id1: '',
    coupon: '',
    couponone: '',
    nouse: '',
    obj: '',
    type: 0,
    combo_id: '',
    entrance_type: '',
    copyaddress: '',
  },

  // 选择优惠券
  selectcoupon(e) {
    let goods = this.data.info.goods;
    console.log(goods)
    let arr = []
    goods.forEach(function (value, index, array) {
      arr.push(value.id)
    })
    let couponid = e.currentTarget.dataset.id;
    console.log(couponid)
    wx.navigateTo({
      url: '/pages/lingqucoupon/lingqucoupon?type=' + couponid + '&total=' + this.data.info.real_total + '&goods_ids=' + JSON.stringify(arr)
    })
  },
  // 领取优惠券
  lingqucoupon() {
    wx.navigateTo({
      url: '/pages/coupon/coupon?type=' + 2
    })
  },
  //加减商品数量
  num_change(e) {
    let that = this
    let num = Number(e.currentTarget.dataset.num)
    let type = e.currentTarget.dataset.type
    let index = e.currentTarget.dataset.index
    let id = e.currentTarget.dataset.id
    let check = e.currentTarget.dataset.check
    let coudan = this.data.coudan
    let coudan_arr = this.data.coudan_arr
    if (type == 1) {
      num++
    } else {
      num--
      if (num < 1) {
        return
      }
    }
    that.setData({
      [`info.coudanProduct[${index}].num`]: num
    })
    if (check) {
      coudan.forEach((item, index) => {
        if (item.id == id) {
          item.num = num
          coudan_arr[index].num = num
        }
      })
      this.get_choudan()
    }
  },
  // 计算凑单费用
  get_choudan() {
    let coudan_arr = this.data.coudan_arr
    let choudan_money = 0;
    for (let obj of coudan_arr) {
      console.log(obj)
      console.log(obj.price2)
      if (obj.price2 != null) {
        console.log(111)
        choudan_money = (obj.price2 * 100 * obj.num) / 100 + choudan_money
      } else {
        console.log(222)
        choudan_money = (obj.price * 100 * obj.num) / 100 + choudan_money
      }
    }
    console.log(typeof (choudan_money))
    console.log(choudan_money)
    this.setData({
      choudan_money: choudan_money * 100
      //  choudan_money: Math.floor(choudan_money* 100) / 100
    })
  },
  show_cover() {
    let that = this
    if (!that.data.cover_type) {
      if (that.data.info.status == 0) {
        that.setData({
          fail: true
        })
        return
      }
      if (!that.data.info.address) {
        wx.showToast({
          title: '请添加地址',
          icon: 'none',
          duration: 1000
        })
        return
      }
    }
    that.setData({
      cover_type: !this.data.cover_type
    })
  },
  // 去添加地址
  add_address() {
    wx.navigateTo({
      url: '/pages/address/address',
    })
  },
  //选择凑单商品
  chooseGoods(e) {
    // coudan 凑单商品组成的数组
    // coudan_type 凑单的状态  可能废弃
    let that = this
    let coudan = this.data.coudan ? this.data.coudan : []
    let coudan_arr = this.data.coudan_arr ? this.data.coudan_arr : []
    let check = e.currentTarget.dataset.check
    let num = e.currentTarget.dataset.num
    let index = e.currentTarget.dataset.index
    let id = e.currentTarget.dataset.id
    let price = e.currentTarget.dataset.price;
    let price2 = e.currentTarget.dataset.price2;
    if (check) {
      check = 0
      coudan.forEach((item, index) => {
        if (item.id == id) {
          coudan.splice(index, 1)
          coudan_arr.splice(index, 1)
        }
      })
    } else {
      check = 1
      //选中
      coudan.push({
        id: id,
        num: num
      })
      coudan_arr.push({
        id: id,
        num: num,
        price: Number(price),
        price2: Number(price2)
      })
    }
    that.setData({
      coudan: coudan,
      coudan_arr: coudan_arr,
      [`info.coudanProduct[${index}].check`]: check
    })
    that.get_choudan()
  },
  //获取页面信息
  get_info(combo_id, data, address_id, user_ticket_id1, user_ticket_id2) {
    let that = this
    let url = that.data.type == 4 ? app.interface.prev_pay : that.data.type == 3 ? app.interface.now_prev_pay : '/order/affirm';
    if (that.data.type == 3 || that.data.type == 4) {
      let params = {
        info: that.data.params,
        address_id: address_id
      }
      app.post(url, params).then((res) => {
          console.log('返回订单信息',res)
        console.log('99999', res, Number(res.msg.total))
        res.msg.total = Number(res.msg.total * 100)
        res.msg.yunfei = Number(res.msg.yunfei * 100)
        let total = (res.msg.total + res.msg.yunfei).toFixed("1");
        console.log(total)

        that.setData({
          info: res.msg,
          total: total

        })

        console.log('9988756', that.data.info)

      })
    } else {
      let params = {
        combo_id: combo_id,
        data: data,
        address_id: address_id,
        user_ticket_id1: user_ticket_id1,
        user_ticket_id2: user_ticket_id2
      }
      app.postk(url, params).then((res) => {
          console.log('订单',res)
        console.log('99999', res, Number(res.data.total))
        let coupon = wx.getStorageSync('coupon');
        if (coupon != '') {
          this.setData({
            coupon: wx.getStorageSync('coupon')
          })
        }
        let couponone = wx.getStorageSync('couponone');
        if (couponone != '') {
          this.setData({
            couponone: wx.getStorageSync('couponone')
          })
        }
        console.log(this.data.couponone)
        res.data.total = Number(res.data.total * 100) / 100
        res.data.freight = Number(res.data.freight * 100) / 100
        res.data.sum_goods_total = Number(res.data.sum_goods_total * 100) / 100
        // let total = (res.msg.total + res.data.yunfei).toFixed("1");
        console.log(res.data)
        that.setData({
          info: res.data,
          totalnum: res.data.goods.length,
        })
        let info = that.data.info
        console.log(info)
        info.address = {}
        info.address.address = that.data.copyaddress.address
        info.address.area = that.data.copyaddress.area
        info.address.id = that.data.copyaddress.id
        info.address.tel = that.data.copyaddress.tel
        info.address.name = that.data.copyaddress.name
        that.setData({
            info
        })
        console.log(info)
        console.log('9988756', that.data.info.goods)
      }).catch(function (err) {
        console.log(err);
      });


    }

  },

  // get_info(type, info, id) {
  //   let that = this
  //   let url = type == 4 ? app.interface.prev_pay : app.interface.now_prev_pay
  //   let params = {
  //     info: info
  //   }
  //   app.post(url, params).then((res) => {
  //     console.log('99999', res, Number(res.msg.total))
  //     res.msg.total = Number(res.msg.total * 100)
  //     res.msg.yunfei = Number(res.msg.yunfei * 100)
  //     let total = (res.msg.total + res.msg.yunfei).toFixed("1");
  //     console.log(total)

  //     that.setData({
  //       info: res.msg,
  //       total:total

  //     })

  //     console.log('9988756', that.data.info)

  //   })
  // },
  get_info1(combo_id, data, address_id, user_ticket_id1, user_ticket_id2) {
    let that = this
    // let url='/order/affirm'
    // 判断进入入口

    let url = type == 3 ? app.interface.now_prev_pay : app.interface.prev_pay
    let params = {
      combo_id: combo_id,
      data: data,
      address_id: address_id,
      user_ticket_id1: user_ticket_id1,
      user_ticket_id2: user_ticket_id2,
    }
    app.postk(url, params).then((res) => {
      let couponone = wx.getStorageSync('couponone');
      if (couponone != '') {
        this.setData({
          couponone: wx.getStorageSync('couponone')
        })
      }
      console.log(this.data.couponone)
      res.data.total = Number(res.data.total * 100) / 100
      res.data.freight = Number(res.data.freight * 100) / 100
      res.data.sum_goods_total = Number(res.data.sum_goods_total * 100) / 100
      // let total = (res.msg.total + res.data.yunfei).toFixed("1");
      that.setData({
        info: res.data,
        totalnum: res.data.goods.length
      })
      console.log('9988756', that.data.info.goods)
    }).catch(function (err) {
      console.log(err);
    });
  },
  //获取页面信息
  get_youfei(id) {
    let that = this
    let url = that.data.type == 4 ? app.interface.youfei1 : app.interface.youfei
    let params = {
      info: that.data.params,
      address_id: id
    }
    app.post(url, params).then((res) => {
      that.setData({
        "info.yunfei": Number(res.msg.yunfei) * 100
      })
    })
  },
  //点击支付
  submit() {
    // let type = wx.getStorageSync('entrance_type');
    // if(type==0){
    let that = this
    let list = that.data.info.goods
    let coudan = that.data.coudan
    let info = []
    if (that.data.type == 4) {
      for (let obj of list) {
        info.push({
          goods_id: obj.id,
          number: obj.number
        })
      }
    } else {
      for (let obj of list) {
        info.push({
          goods_id: obj.id,
          number: obj.number
        })
      }
    }
    if (coudan && coudan.length > 0) {
      info = info.concat(coudan)
    }
    let arr = [];
    arr.push(that.data.obj)
    let url = '/order/create_order';
    console.log('9998887755', that.data.datak)
    let data = that.data.datak
    let params = {
      combo_id: that.data.combo_id,
      data: that.data.datak,
      car_ids: that.data.car_ids.join(","),
      // info: JSON.stringify(info),
      address_id: that.data.info.address.id,
      user_ticket_id1: that.data.user_ticket_id1,
      user_ticket_id2: that.data.user_ticket_id2,
      // data:JSON.stringify(arr),
    }
    console.log(params)
    app.postk(url, params).then((res) => {
      that.setData({
        cover_type: false
      })
      that.order_pay(res.data.order_id)
    })
    // }else{
    //   this.submit_score()
    // }

  },
  //点击支付
  submit_score() {
    let that = this;
    let list = that.data.info.products
    let coudan = that.data.coudan
    let info = []
    if (that.data.type == 4) {
      for (let obj of list) {
        info.push({
          id: obj.product.id,
          num: obj.product.num
        })
      }
    } else {
      for (let obj of list) {
        info.push({
          id: obj.id,
          num: obj.num
        })
      }
      console.log(info)
    }
    if (coudan && coudan.length > 0) {
      info = info.concat(coudan)
    }
    let url = app.interface.now_add
    let params = {
      address: that.data.info.address.id,
      info: JSON.stringify(info)
    }
    app.post(url, params).then((res) => {
      that.setData({
        cover_type: false
      })
      that.order_pay_score(res.msg)
    })
  },

  //积分商城订单支付
  order_pay_score(order_odd) {
    let url = app.interface.order_pay
    let params = {
      order_odd: order_odd
    }
    app.post(url, params).then((res) => {
      this.setData({
        order: res.msg
      })
      if (res.msg.message == "支付成功") {
        this.setData({
          success: true
        })
      } else if (res.msg.message == "余额不足") {
        this.setData({
          fail: true
        })
      }
    })
  },

  //开放订单支付
  order_pay(order_odd) {
    let that = this;
    let url = '/order/pay'
    let params = {
      order_id: order_odd
    }
    app.postk(url, params).then((res) => {
      that.payment(res.data)
    })
  },
  payment(res) {
    let that = this;
    console.log(347734748)
    var timeStamp = res.timeStamp.toString();
    // console.log(timeStamp);
    wx.requestPayment({
      timeStamp: timeStamp,
      nonceStr: res.nonceStr,
      package: res.package,
      signType: res.signType,
      paySign: res.paySign,
      success: function (res) {
        console.log(res)
        wx.redirectTo({
          url: '/pages/order/order_list/order_list?type=' + 1 + '&statusk=' + 2,
        })
      },
      fail: function (res) {
        console.log(123);
        console.log(res);
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    if (options.obj) {
      this.setData({
        obj: JSON.parse(options.obj)
      })
    }
    this.setData({
      type: options.type,
      entrance_type: wx.getStorageSync('entrance_type'),
      params: options.info,
      datak: options.info,
    })
    if (options.car_id) {
      this.setData({
        car_ids: JSON.parse(options.car_id)
      })
    }
    console.log('343购物车id', this.data.car_ids)
    this.get_info('', options.info, '', '', '')
  },


  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let pages = getCurrentPages();
    let currPage = pages[pages.length - 1]
    console.log('887766554', this.data.params)
    console.log(currPage.data)
    if (currPage.data.id) {
      this.setData({
        "info.address.address": currPage.data.address,
        "info.address.area": currPage.data.area,
        "info.address.id": currPage.data.id,
        "info.address.tel": currPage.data.tel,
        "info.address.name": currPage.data.name,
        copyaddress: {
          address: currPage.data.address,
          area: currPage.data.area,
          id: currPage.data.id,
          tel: currPage.data.tel,
          name: currPage.data.name,
        }
      })
      // this.get_youfei(currPage.data.user_ticket_id1)
    }

    console.log(this.data.info.address.address)
    this.setData({
      user_ticket_id1: currPage.data.user_ticket_id1
    })

    this.get_info('', this.data.params, currPage.data.id, currPage.data.user_ticket_id1, currPage.data.user_ticket_id2)

    // if (currPage.data.user_ticket_id2) {
    //   console.log(66666,this.data.params)
    //   this.setData({
    //     user_ticket_id2:currPage.data.user_ticket_id2
    //   })
    //   this.get_info1('', this.data.params, '','',currPage.data.user_ticket_id2)
    // }
    // if (wx.getStorageSync('no_address')) {
    //   wx.setStorageSync('no_address', false)
    //   this.setData({
    //     "info.address": null
    //   })
    // }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})