// president/pages/home/home.js import { routers, viewImage, sharePage, isFn, getGlobalVal } from '../../../utils/util.js' import { GetBooksTab, GetBooksInlibrary, CallOutBooks } from '../../../utils/api.js' const { navigateTo, redirectTo, navigateBack } = routers() const { globalData } = getApp() const { baseImgUrl, thumbnail } = globalData Page({ /** * 页面的初始数据 */ data: { baseImgUrl, thumbnail, isLoaded: 0, title: '', pageSize: 10, pageNo: 1, isAll: 0, isLoad: false, selextIndex: 0, gradeListArry: [], themeListArry: [], isShow: 0, isShowPromptModel: true, itemIndex: 0, items: ['根据入馆时间排序', '根据书籍借阅量排序', '根据馆藏稀缺度排序'], list: [ ], footerData: { actIndex: 0, list: [ { text: '在馆书籍', icon: '../../../assets/zai_guan_shu_ji_gray.png', actIcon: '../../../assets/zai_guan_shu_ji_blue.png', url: 'president/pages/home/home', zindex: 3 }, { text: '好书推荐', icon: '../../../assets/wish_gray.png', actIcon: '../../../assets/wish_blue.png', url: 'president/pages/good_books_new/good_books_new', zindex: 3 }, { text: '调书清单', icon: '../../../assets/diao_shu_qing_dan_gray.png', actIcon: '../../../assets/diao_shu_qing_dan_blue.png', url: 'president/pages/book_inventory/book_inventory', zindex: 3 } ] }, nodataArray: { text: "暂无数据" } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { options.vipId = getGlobalVal('vipId', `vipId_${getGlobalVal('userId')}`) options.libId = getGlobalVal('list').length > 0 ? getGlobalVal('list')[0].libId : '' this.setData({ options }) const { title } = this.data this.setData({ title: options.title }) this.getData(res => { this.setData({ isLoaded: 1 }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { const obj = { navigateTo, redirectTo, navigateBack, viewImage } for (const i in obj) { this[i] = obj[i] } }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { this.setData({ pageNo: 1 }) this.getData(res => { wx.stopPullDownRefresh() }) }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { const { isAll, isDown } = this.data if (isAll) { this.setData({ isDown: true }) return } else { this.setData({ isLoad: true, isDown: false }) this.getData(() => { this.setData({ isLoad: false }) }) } }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { if (isFn(sharePage)) return sharePage() }, TipSelect: function (e) { debugger const { index } = e.currentTarget.dataset const { selextIndex } = this.data if (selextIndex == index) return this.setData({ selextIndex: index }) this.getData() }, /** * 展示选择框 */ showItemCtl: function () { const { isShow } = this.data this.setData({ isShow: !isShow }) }, MessageconfirmClose: function () { const { isShowPromptModel } = this.data this.setData({ isShowPromptModel: !isShowPromptModel }) }, /** * 展示选择框 */ selectItemCtl: function (e) { const { index } = e.currentTarget.dataset const { itemIndex, items } = this.data if (index == itemIndex) return this.setData({ itemIndex: index, isShow: 0, pageNo: 1 }) this.getData() }, /** * 获取书籍数据 */ getData: function (cb) { const continuousFn = { fn: this.getData, param: { ...arguments } } const { content, options, pageNo, pageSize, itemIndex, title } = this.data const { libId } = this.data.options; GetBooksInlibrary({ data: { libId, pageNo, pageSize, type: ~~itemIndex + 1, title }, continuousFn }).then(res => { const { list } = res.data let listTemp = [] if (pageNo == 1) { listTemp = [].concat(list) } else { listTemp = [].concat(this.data.list, list) } this.setData({ list: listTemp, pageNo: list.length == pageSize ? pageNo + 1 : pageNo, isAll: list.length < pageSize }) cb && cb(res) }).catch(res => { cb && cb(res) }) }, /** * 输入搜索值 */ inputSearchCtl: function (e) { const { value } = e.detail const { title } = this.data if (title == value) return const temp = {} temp[`title`] = value this.setData(temp) }, /** * 清除搜索值 */ clearSearchCtl: function () { const temp = {} temp[`title`] = '' this.setData(temp) }, /** * 提交搜索值 */ submitSearchCtl: function () { const temp = {} temp[`pageNo`] = 1 this.setData(temp) this.getData() }, })