You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

143 lines
3.6 KiB

// pages/activity_list/activity_list.js
// 引用数据请求的 公共函数
const util = require('../../utils/util.js')
Page({
/**
* 页面的初始数据
*/
data: {
loading: true,
repos: [],
pageNum: 1,
pageSize: 10,
hasMoreData: true,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.loadActivityLists();
},
loadActivityLists: function () {
wx.showLoading({
title: '正在加载',
mask: true,
});
var that = this;
wx.request({
url: getApp().gw.hostUrl + '/mall/wxa/activity/group/list',
method: 'get',
data: {
pageNum: that.data.pageNum,
pageSize: that.data.pageSize
},
header: {
'Content-Type': 'application/x-www-form-urlencoded',
'sessionId': wx.getStorageSync('sessionId')
},
success: function (res) {
wx.hideLoading();
if (res.data.code == 0 && res.data.response.length > 0) {
var lists = that.data.repos;
if (that.data.pageNum == 1) {
//刷新清空数据
lists = [];
}
var respList = res.data.response.map((n) => Object.assign({}, n, {
createdAt: util.formatTime(new Date(n.createdAt)).substr(0, 16),
img: that.switchImg(n.status),
activityTypeStr: that.switchType(n.activityType),
}));
if (respList.length < that.data.pageSize) {
//最后一页数据添加
that.setData({
repos: lists.concat(respList),
loading: false,
hasMoreData: false
});
} else {
that.setData({
repos: lists.concat(respList),
hasMoreData: true,
loading: false,
pageNum: that.data.pageNum + 1
});
}
} else {
if (res.data.code != 0){
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 1000
});
}
that.setData({
loading: false,
});
}
},
fail: function (e) {
wx.hideLoading();
wx.showToast({
title: '网络异常!',
icon: 'none',
duration: 1000
});
that.setData({
loading: false,
});
},
complete: function (res) {
// complete
that.data.loading = false
wx.hideNavigationBarLoading() //完成停止加载
wx.stopPullDownRefresh() //停止下拉刷新
},
})
},
onPullDownRefresh: function () {
this.data.pageNum = 1;
this.loadActivityLists();
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.hasMoreData) {
this.loadActivityLists();
} else {
wx.showToast({
title: '没有更多数据',
})
}
},
itemClick: function (event) {
var activityNo = event.currentTarget.dataset.activityno;
var groupNo = event.currentTarget.dataset.groupno;
wx.navigateTo({
url: '../activity_detail/activity_detail?activityNo=' + activityNo + '&groupNo=' + groupNo
})
},
switchType: function (activityType) {
switch (activityType) {
case 10: return '../../images/icon_pintuan.png'
case 20: return '../../images/icon_kanjia.png'
case 30: return '../../images/icon_duobao.png'
}
},
switchImg: function (status) {
switch (status) {
case 20: return '../../images/icon_task_finish.png'
case 90: return '../../images/icon_task_fail.png'
}
}
})