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
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'
|
|
}
|
|
}
|
|
|
|
})
|