VtuanConfirm.js 6.7 KB
import {
  request
} from "../../request/index.js"
const a = getApp()
Page({
  data: {
    imagesUrl: a.globalData.baseUrl,
    img: false,
    img1: false,
    address_id: '', //地址ID;不传则找默认地址
    gou_arr: '', //购物车的ID数组[从购物车过来,传这个]
    id: '', //普通商品的ID[从商品详情过来,传id和gui_arr和num,单规格则传id和num]
    gui_arr: '', // 规格ID数组[从商品详情过来]
    num: '', //购买数量[从商品详情过来]
    ConfirmAnOrder: [],
    orderContent: '',
    address: {},
    order_no: '', // 订单号
    type: 3, //1=平台积分抵扣;2=4s店积分抵扣;3=不抵扣.
    bei: '选填,给商家留言', // 备注,
    service: '快递配送',
    shifu: {
      red_name: ''
    },
    all_pay: ' ', // 实付金额
    timeStamp: '',
    nonceStr: '',
    package: '',
    signType: 'MD5',
    paySign: '',
    pathed: 2,
    msg: '',
    list_id: '', // 优惠券id
    tuan_id: '',
  },

  onLoad: function (options) {
    let that = this
    console.log(options);
    if (options.gui_arr) {
      that.setData({
        id: options.id,
        num: options.num,
        gui_arr: options.gui_arr,
        tuan_id: options.tuan_id || '',

      })
      console.log("我走了换作了");
    } else {
      that.setData({
        id: options.id,
        num: options.num,
        tuan_id: options.tuan_id
      })
      console.log("我i的");
    }
    that.getConfirmAnOrder()
  },
  onShow: function () {},
  async getConfirmAnOrder() { // 确认订单
    let that = this
    try {
      const {
        data: {
          data
        }
      } = await request({
        url: 'api/shop2/tuanOrder',
        data: {
          id: that.data.id,
          num: that.data.num,
          gui_arr: that.data.gui_arr,
          address_id: that.data.address_id,
          tuan_id: that.data.tuan_id
        }
      })
      console.log(data);
      that.setData({
        ConfirmAnOrder: data.good,
        address: data.address ? data.address : {},
        address_id: data.address ? data.address.id : '',
        orderContent: data,
        all_pay: data.all_pay,
        order_no: data.order_no
      })
    } catch (err) {
      console.log(err);
      that.setData({
        msg: err.msg
      })
      that.popTest()
    }

  },
  goRedPacketd(e) {
    let order_no = e.currentTarget.dataset.order_no
    wx.navigateTo({
      url: '/pages/usePacket/usePacket?order_no=' + order_no
    })
  },

  changeReceiverAddress() {
    wx.navigateTo({
      url: '/pages/receiverAddress/receiverAddress'
    })
  },
  goTOpay() { // 订单支付
    let that = this
    let obj = {
      order_no: that.data.order_no,
      type: that.data.type,
      bei: that.data.bei,
      address_id: that.data.address.id,
      list_id: that.data.list_id
    }
    if (obj.address_id) {
      request({
        url: 'api/gou/buy2',
        data: obj
      }).then(res => {
        if (res.data.data.type == 0) {
          wx.requestPayment({
            timeStamp: res.data.data.timeStamp,
            nonceStr: res.data.data.nonceStr,
            package: res.data.data.package,
            signType: 'MD5',
            paySign: res.data.data.paySign,
            success(res) {
              console.log(res);
              wx.redirectTo({
                url: '/pages/VtuanOrder/VtuanOrder',
              })
            },
            fail(res) {
              console.log(res)
            }
          })
        } else {
          that.setData({
            msg: '支付成功'
          })
          that.popSuccessTest()
          setTimeout(() => {
            wx.redirectTo({
              url: '/pages/VtuanOrder/VtuanOrder',
            })
          }, 1000);
        }
      }).catch(err => {
        that.setData({
          msg: err.msg
        })
        this.popTest()
        console.log(err);
      })
    } else {
      that.setData({
        msg: '请先选择收货地址'
      })
      that.popTest()
    }
  },
  changeChe() { //车唛积分
    if (this.data.img1) {
      this.setData({
        img1: false,
        img: true,
        type: 1
      })
      this.actualPacket()
    } else {
      if (this.data.img) {
        this.setData({
          img: false,
          type: 3
        })
        this.actualPacket()
      } else {
        this.setData({
          img: true,
          type: 1
        })
        this.actualPacket()

      }
    }


  },
  change4S() { //4S店积分
    if (this.data.img) {
      this.setData({
        img1: true,
        img: false,
        type: 2
      })
      this.actualPacket()
    } else {
      if (this.data.img1) {
        this.setData({
          img1: false,
          type: 3
        })

      } else {
        this.setData({
          img1: true,
          type: 2
        })
        this.actualPacket()

      }
    }


  },
  clickme() { //备注
    this.showModal();
  },
  formSubmit(e) { //备注提交信息
    this.setData({
      bei: e.detail.value.value
    })
    console.log(e);
    this.hideModal()
  },
  async actualPacket() {
    let that = this
    let obj = {}
    obj.list_id = that.data.list_id
    obj.order_no = that.data.order_no
    obj.type = that.data.type
    const {
      data
    } = await request({
      url: 'api/red/shiPay',
      data: obj
    })
    that.setData({
      shifu: data.data,
      all_pay: data.data.shi
    })

  },
  //显示对话框
  showModal() {
    // 显示遮罩层
    var animation = wx.createAnimation({
      duration: 200,
      timingFunction: "linear",
      delay: 0
    })
    this.animation = animation
    animation.translateY(300).step()
    this.setData({
      animationData: animation.export(),
      showModalStatus: true
    })
    setTimeout(function () {
      animation.translateY(0).step()
      this.setData({
        animationData: animation.export()
      })
    }.bind(this), 100)
  },
  //隐藏对话框
  hideModal() {
    // 隐藏遮罩层
    var animation = wx.createAnimation({
      duration: 200,
      timingFunction: "linear",
      delay: 0
    })
    this.animation = animation
    animation.translateY(300).step()
    this.setData({
      animationData: animation.export(),
    })
    setTimeout(function () {
      animation.translateY(0).step()
      this.setData({
        animationData: animation.export(),
        showModalStatus: false
      })
    }.bind(this), 100)
  },
  popTest() {
    wx.showToast({ //纯文字弹窗
      title: this.data.msg,
      icon: 'none', //如果要纯文本,不要icon,将值设为'none'
      duration: 1300
    })
  },
  popSuccessTest() { // 消息提示
    wx.showToast({
      title: this.data.msg,
      icon: '', //默认值是success,就算没有icon这个值,就算有其他值最终也显示success
      duration: 1300, //停留时间
    })
  },


})