EP-WachatApp/eaterplanet_ecommerce/moduleA/pin/me.js

299 lines
7.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var app = getApp();
var util = require('../../utils/util.js');
var status = require('../../utils/index.js');
//state 0:拼团中 1:成功 2:失败
//order_status_id 1已付款 2:拼团中,已付款 3待付款 5交易已取消 7退款
Page({
mixins: [require('../../mixin/globalMixin.js')],
data: {
tabs: [
{ id: 0, name: '全部' },
{ id: 1, name: '拼团中' },
{ id: 2, name: '拼团成功' },
{ id: 3, name: '拼团失败' }
],
order_status: 0,
showEmpty: false,
list: [],
loadMore: true,
loadText: "加载中...",
loadOver: false
},
pageNum: 1,
handlerGobackClick(delta) {
const pages = getCurrentPages();
if (pages.length >= 2) {
wx.navigateBack({
delta: delta
});
} else {
wx.switchTab({
url: '/eaterplanet_ecommerce/pages/index/index'
});
}
},
handlerGohomeClick(url) {
wx.switchTab({
url: '/eaterplanet_ecommerce/pages/index/index'
});
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
status.setNavBgColor();
this.getData();
},
/**
* 切换导航
*/
changeTabs: function (e) {
let that = this;
let order_status = e.currentTarget.dataset.type || 0;
this.pageNum = 1;
this.setData({ order_status, list: [], showEmpty: false, loadMore: true, loadOver: false }, ()=>{
that.getData();
})
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
let that = this;
util.check_login_new().then((res) => {
if (res) {
this.setData({ needAuth: false });
} else {
this.setData({ needAuth: true });
}
})
},
/**
* 授权成功回调
*/
authSuccess: function () {
let that = this;
this.pageNum = 1;
this.setData({
needAuth: false,
showEmpty: false,
list: [],
loadMore: true,
loadText: "加载中...",
loadOver: false
}, () => {
that.getData();
})
},
authModal: function () {
if (this.data.needAuth) {
this.setData({
showAuthModal: !this.data.showAuthModal
});
return false;
}
return true;
},
getData: function () {
wx.showLoading();
let that = this;
var token = wx.getStorageSync('token');
let order_id = this.orderId;
let pageNum = this.pageNum;
app.util.request({
url: 'entry/wxapp/index',
data: {
controller: 'user.group_orders',
token,
page: pageNum,
type: this.data.order_status
},
dataType: 'json',
success: function (res) {
wx.hideLoading();
wx.stopPullDownRefresh();
if (res.data.code == 0) {
let list = res.data.data;
let h = {};
if (pageNum == 1 && list.length == 0) h.showEmpty = true;
let oldList = that.data.list;
list = list.concat(oldList);
h.list = list;
h.loadOver = true;
h.loadText = that.data.loadMore ? "加载中..." : "没有更多商品了~";
that.setData(h, function () {
that.pageNum += 1;
})
} else {
let s = { loadMore: false }
if (pageNum == 1) s.showEmpty = true;
that.setData( s )
}
}
})
},
goLink: function (e) {
var pages_all = getCurrentPages();
var url = e.currentTarget.dataset.link;
let type = e.currentTarget.dataset.type || '';
if (type == 'ignore'){
let id = e.currentTarget.dataset.id;
if (type == 'ignore') url = `/eaterplanet_ecommerce/moduleA/pin/share?id=${id}`;
}
if (pages_all.length > 3) {
wx.redirectTo({ url })
} else {
wx.navigateTo({ url })
}
},
/**
* 取消订单
*/
cancelOrder: function (event) {
let id = event.currentTarget.dataset.type;
var token = wx.getStorageSync('token');
var that = this;
wx.showModal({
title: '取消支付',
content: '好不容易挑出来,确定要取消吗?',
confirmColor: '#F75451',
success(res) {
if (res.confirm) {
app.util.request({
url: 'entry/wxapp/index',
data: {
controller: 'order.cancel_order',
token: token,
order_id: id
},
dataType: 'json',
success: function (res) {
wx.showToast({
title: '取消成功',
icon: 'success',
duration: 1000
})
that.order();
}
})
}
}
})
},
order: function (status) {
var that = this;
var token = wx.getStorageSync('token');
this.pageNum = 1;
this.setData({
showEmpty: false,
list: [],
loadMore: true,
loadText: "加载中..."
}, () => {
that.getData();
})
},
/**
* 付款
*/
orderPay: function (event) {
var that = this;
var token = wx.getStorageSync('token');
let id = event.currentTarget.dataset.type;
wx.showLoading();
app.util.request({
url: 'entry/wxapp/index',
data: {
controller: 'car.wxpay',
token: token,
order_id: id,
scene: app.globalData.scene
},
dataType: 'json',
method: 'POST',
success: function (res) {
wx.hideLoading();
if (res.data.code == 0) {
// 交易组件
if(res.data.isRequestOrderPayment==1) {
wx.requestOrderPayment({
orderInfo: res.data.order_info,
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: res.data.signType,
paySign: res.data.paySign,
success: function (wxres) {
wx.redirectTo({
url: '/eaterplanet_ecommerce/moduleA/pin/share?id=' + id
})
},
fail: function (res) {
console.log(res);
}
})
} else {
wx.requestPayment({
appId: res.data.appId,
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: res.data.signType,
paySign: res.data.paySign,
success: function (wxres) {
wx.redirectTo({
url: '/eaterplanet_ecommerce/moduleA/pin/share?id=' + id
})
},
fail: function (res) {
console.log(res);
}
})
}
} else if (res.data.code == 2) {
wx.showToast({
title: res.data.msg,
icon: 'none'
})
}
}
})
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
let that = this;
this.pageNum = 1;
this.setData({
showEmpty: false,
list: [],
loadMore: true,
loadText: "加载中..."
}, () => {
that.getData();
})
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
console.log('这是我的底线');
this.data.loadMore && (this.setData({ loadOver: false }), this.getData());
}
})