// 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; }); }, });