integral-order.js 6.4 KB
// pages/affirm-order/affirm-order.js
let method = require("../../utils/reuqest.js");
const util = require("../../utils/util.js");
Page({
  data: {
    showTime: false, //配送时间
    storePickupTime: '',
    userData: "",
    deliveryTime: '', //配送时间年月
    timers: '', //  配送时间
    timerId: '',
    // data: '', //配送时间
    // startTime: '',
    // endTime: '',
    cartList: [],
    goodsData: '',
    show: false,
    currentDate: '12:00',
    currentDateTwo: '13:00',
    minHour: 1,
    maxHour: 23,
    length: 0,
    maxlength: 50,
    leavaWord: '',
    discountText: '满3减1满3减1',
    allMoney: '4.00',
    giveFee: '8.00',
    totalMoney: '80.00',
    id: '',
    skuId: '',
    orderId: '',
    count: 1,
    stockNum: ''
  },
  //选择时间
  selectTime(e) {
    if (e.detail.time && e.detail.time !== this.data.timers) {
      this.setData({
        timers: e.detail.time,
        // showTime: e.detail.flag,
        deliveryTime: e.detail.deliveryTime,
        showTime: false,
        timerId: e.detail.timerId
      })
    }
  },
  onClose() {
    this.setData({
      showTime: false
    });
  },
  onReady() {
    this.timepicker = this.selectComponent('#aaa')
  },
  chooseTime() {
    this.setData({
      showTime: true
    })
    // this.timepicker.getDliveryTime();
  },
  onClickButton() {
    this.setData({
      showModal: true
    })
  },
  getDayTime() {
    var myDate = new Date();
    var year = myDate.getFullYear();
    var month = myDate.getMonth();
    var day = myDate.getDate();
    var dayNow = year + '-' + (month + 1) + "-" + day;
    this.setData({
      startTime: dayNow
    })
  },
  //地址信息
  getAddress() {
    let index = wx.getStorageSync('addIndex')
    method.getRequest("/address", data => {
      if (data.statusCode == 0) {
        let list = data.data.reverse();
        this.setData({
          userData: list[index],
        })
      }
    })
  },
  //地址页面跳转
  emit() {
    wx.navigateTo({
      url: '/pages/select-address/select-address',
    })
  },
  //选择时间
  //配送时间
  // bindDateChange: function (e) {
  //   this.setData({
  //     date: e.detail.value
  //   })
  // },
  // selectTime() {
  //   this.bindStartTimeChange()
  // },
  // bindStartTimeChange: function (e) {
  //   this.setData({
  //     startTime: e.detail.value
  //   })
  // },
  // bindEndTimeChange: function (e) {
  //   this.setData({
  //     endTime: e.detail.value
  //   })
  // },
  //商品信息
  getList(defaultSku) {
    let postData = {
      skuId: defaultSku,
      num: this.data.count
    }
    method.postRequest("/order/goodsBuyNow", postData, data => {
      if (data.statusCode == 0) {
        this.setData({
          goodsData: data.data
        })
        console.log(this.data.goodsData, 'goods')
      }
    })
  },
  //点击减少
  dec() {
    let that = this
    let count = that.data.count
    if (that.data.count > 1) {
      count--
    } else {
      wx.showToast({
        title: '已经是最少了哦~',
        icon: 'none'
      })
    }
    that.setData({
      count
    })
  },
  //点击增加
  add() {
    let that = this
    let count = that.data.count
    let stock = that.data.stockNum
    if (count < stock) {
      count++
      this.setData({

      })
    } else {
      wx.showToast({
        title: '不能超过库存哦~',
        icon: 'none'
      })
    }
    that.setData({
      count
    })
  },
  //留言
  userInput(e) {
    let value = e.detail.value
    let len = parseInt(value.length);
    if (value.length <= this.data.maxlength) {
      this.setData({
        content: value,
        length: len
      })
    } else {
      this.setData({
        content: value,
        length: this.data.maxlength
      })
    }
  },
  //商品-生成订单
  creatOrder: util.throttle(function () {
    if (this.data.userData == undefined) {
      wx.showToast({
        title: '请选择收货地址',
        icon: 'none'
      })
    } else if (this.data.timers == "") {
      wx.showToast({
        title: '请选择配送时间',
        icon: "none"
      })
    } else {
      let postData = {
        addressId: this.data.userData.id,
        couponId: "",
        deliveryTime: this.data.deliveryTime + this.data.timers,
        note: this.data.leavaWord,
        num: 1,
        skuId: this.data.skuId
      }
      method.postRequest("/order/generateOrder", postData, data => {
        if (data.statusCode == 0) {
          this.setData({
            orderId: data.data.id
          })
          this.exchange()
        } else {
          wx.showToast({
            title: data.msg,
            icon: 'none'
          })
          return false
        }
      })
    }
  }, 3000),
  //立即兑换
  exchange() {
    let postData = {
      num: 1,
      skuId: this.data.skuId
    }
    method.postRequest("/order/goodsBuyNow", postData, data => {
      if (data.statusCode == 0) {
        wx.showToast({
          title: '兑换成功',
          duration: 3000
        })
        wx.redirectTo({
          url: '/pages/order-detail/order-detail?orderId=' + this.data.orderId,
        })
      } else {
        wx.showToast({
          title: data.msg,
          icon: 'none'
        })
      }
    })
  },
  //兑换优惠券
  discount() {
    wx.redirectTo({
      url: '/pages/discount-card/discount-card'
    })

  },
  onLoad: function (options) {
    let carts = wx.getStorageSync('carts')
    let defaultSku = wx.getStorageSync('defaultSku')
    if (defaultSku) {
      this.getList(defaultSku)
    }
    this.setData({
      carts: carts
    })
    this.setData({
      id: options.id,
      count: options.count,
      stockNum: options.stockNum,
      skuId: defaultSku
    })
    this.getAddress()

  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // this.getList();
    this.getAddress();
    this.getDayTime(); //配送时间 获取当天时间
  },

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

  },

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

  },

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

  },

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

  },

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

  }
})