121 lines
2.6 KiB
JavaScript
121 lines
2.6 KiB
JavaScript
// packageH/credit_value/detail/detail.js
|
|
import DPagination from "../DPagination";
|
|
import DHttp from "../DHttp";
|
|
const pagination = new DPagination("detailData");
|
|
Page({
|
|
/**
|
|
* 页面的初始数据
|
|
*/
|
|
data: {
|
|
currentShowTab: "all",
|
|
detailData: {},
|
|
detailPageCount: 0,
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面加载
|
|
*/
|
|
onLoad: function (options) {
|
|
pagination.bind(this);
|
|
pagination.clean();
|
|
this.loadDetailData("all");
|
|
},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
*/
|
|
onReady: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面显示
|
|
*/
|
|
onShow: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面隐藏
|
|
*/
|
|
onHide: function () {},
|
|
|
|
/**
|
|
* 生命周期函数--监听页面卸载
|
|
*/
|
|
onUnload: function () {},
|
|
|
|
/**
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
*/
|
|
onPullDownRefresh: function () {},
|
|
|
|
/**
|
|
* 页面上拉触底事件的处理函数
|
|
*/
|
|
onReachBottom: function () {
|
|
this.loadDetailData(this.data.currentShowTab);
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage: function () {},
|
|
switchListTab({ detail: { name } }) {
|
|
pagination.clean();
|
|
this.loadDetailData(name);
|
|
this.setData({
|
|
detailPageCount: 0,
|
|
});
|
|
},
|
|
loadDetailData(type) {
|
|
switch (type) {
|
|
case "all":
|
|
this.getDetailData(null);
|
|
break;
|
|
case "income":
|
|
this.getDetailData(1);
|
|
break;
|
|
case "expenditure":
|
|
this.getDetailData(2);
|
|
break;
|
|
}
|
|
},
|
|
getDetailData(dataType) {
|
|
if (pagination.loading || pagination.finished) {
|
|
return;
|
|
}
|
|
pagination.loading = true;
|
|
wx.showLoading({
|
|
title: "加载中",
|
|
mask: true,
|
|
});
|
|
const requestParams = {
|
|
page: pagination.loadPage,
|
|
};
|
|
if (requestParams !== null) {
|
|
requestParams["detail_type"] = dataType;
|
|
}
|
|
DHttp.request(
|
|
"plugin.credit-inventory.frontend.controllers.detail.index",
|
|
requestParams
|
|
)
|
|
.then(({ data, last_page, current_page, per_page }) => {
|
|
pagination.loading = false;
|
|
wx.hideLoading();
|
|
if (last_page == current_page || data.length < per_page) {
|
|
pagination.finished = true;
|
|
}
|
|
pagination.limit = per_page;
|
|
pagination.push(data);
|
|
this.setData({
|
|
detailPageCount: this.data.detailPageCount + data.length,
|
|
});
|
|
})
|
|
.catch(({ msg }) => {
|
|
wx.hideLoading();
|
|
wx.showToast({
|
|
title: msg,
|
|
icon: "none",
|
|
});
|
|
pagination.loading = false;
|
|
});
|
|
},
|
|
});
|