Files
cardsystem/pages/order/order.js
2021-05-21 15:02:18 +08:00

149 lines
4.0 KiB
JavaScript

// pages/activityOrder/activityOrder.js
Page({
/**
* 页面的初始数据
*/
data: {
stateType : 'all', //状态
counts : '', //数量
orderArr : [], //列表
page : {}, //下一页
lodingStats : false //加载状态
},
/**
* 生命周期函数--监听页面加载
*/
onLoad (options) {
this.setData({
stateType: options.stateType
})
},
onShow() {
// 获取商品活动订单
this.orderInfo();
},
/**
* 商品活动订单
*/
orderInfo(page) {
wx.$api.exchange.index(this.data.stateType, page).then(res=>{
let listArr = this.data.orderArr,
newData = []
if(page == 1 || page == undefined) listArr = []
newData = listArr.concat(res.data.data)
this.setData({
counts : res.data.count,
orderArr : newData,
page : res.data.page,
lodingStats : false
})
wx.stopPullDownRefresh()
})
},
/**
* tabs
*/
orderTab(e){
if(this.data.stateType != e.currentTarget.dataset.state){
this.setData({
stateType: e.currentTarget.dataset.state
})
// 获取商品活动订单
this.orderInfo()
wx.pageScrollTo({
scrollTop: 0
})
}
},
/**
* 取消订单
*/
orderDelete(e) {
let orderId = e.currentTarget.dataset.id
wx.showModal({
title : '订单取消',
content : '确认取消吗?',
success : res=> {
if (res.confirm) {
wx.$api.exchange.cancel(orderId).then(res=>{
// 获取商品活动订单
this.orderInfo()
wx.showToast({
title: res.data,
icon : 'none'
})
})
} else if (res.cancel) {
wx.showToast({
title : '取消',
icon : 'loading',
duration: 1000
})
}
}
})
},
/**
* 支付提交
*/
orderPay(e) {
let orderid = e.currentTarget.dataset.id
wx.$api.exchange.payments(orderid).then(res=>{
wx.$api.index.wechat(res.data.trade_no).then(res=>{
let payInfo = JSON.parse(res.data)
wx.requestPayment({
timeStamp: payInfo.timeStamp,
nonceStr : payInfo.nonceStr,
package : payInfo.package,
paySign : payInfo.paySign,
signType : payInfo.signType,
success : res=>{
if(res.errMsg == "requestPayment:ok"){
wx.showToast({
title: '支付成功',
icon : 'success'
})
setTimeout(()=>{
wx.reLaunch({
url: '/pages/coupon/coupon?type=couponPublic'
})
},2000)
}
},
fail : res=>{
wx.redirectTo({
url: '/pages/order/order?stateType=unpay'
})
}
})
})
})
},
/**
* 上拉加载
*/
onReachBottom(){
this.setData({
lodingStats: true
})
let pageNumber = this.data.page.current
if(this.data.page.has_more){
pageNumber++
this.orderInfo(pageNumber)
}
}
})