// president/pages/home/home.js import { routers, viewImage, sharePage, isFn, getGlobalVal } from '../../../utils/util.js' import { GetBooksTab, GoodBooksSearch, CallOutBooks, CallInBooks, DeleteBooks} 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, isResult:false, isDown:false, GrangeList: ['学前段', '低年段', '中年段', '高年段'], bookList: [ { name: '在馆书籍', amount: '', unit: '本' }, { name: '服务期会员', amount: '', unit: '人' }, { name: '在借书籍', amount: '', unit: '本' }, ], isShow: 0, 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) 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() }, /** * 展示选择框 */ showItemCtl: function () { const { isShow } = this.data this.setData({ isShow: !isShow }) }, /** * 展示选择框 */ 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; GoodBooksSearch({ data: { title, pageNo, pageSize }, continuousFn }).then(res => { const { list } = res.data let listTemp = [] if (pageNo == 1) { listTemp = [].concat(list) } else { listTemp = [].concat(this.data.list, list) } const correctListTemp = (res => { console.log(res) var d = [] for (let i in res) { res[i].number = 0 } return res })(listTemp) this.setData({ list: correctListTemp, pageNo: list.length == pageSize ? pageNo + 1 : pageNo, isAll: list.length < pageSize }) cb && cb(res) }).catch(res => { cb && cb(res) }) }, /** * 调出书籍 */ getBooksCtl: function (e) { const { index } = e.currentTarget.dataset; const continuousFn = { fn: this.getBooksCtl, param: { ...arguments } } const { list, libId } = this.data const { book_info_id, book_detail_id, isbn13 } = list[index] CallOutBooks({ data: { libId, bookInfoId: book_info_id, bookDetailId: book_detail_id, isbn13 }, continuousFn }).then(res => { wx.showToast({ title: `已加入调出列表` }) this.getData() }) }, /** * 输入搜索值 */ 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 {title}=this.data; if (!title){ wx.showToast({ title: `搜索内容不能为空`, icon: 'none' }) return } const temp = {} temp[`pageNo`] = 1 this.setData(temp) this.getData(res=>{ this.setData({ isResult:true}) }) }, /** * 调入 */ addBook: function (e) { const { isbn13, detailid, infoid, size, number, index } = e.currentTarget.dataset const continuousFn = { fn: this.addBook, param: { ...arguments } } const { libId, list } = this.data var numbers = number; var temp = {}; if (numbers < size) { numbers = numbers + 1; this.setData({ number: numbers }) temp[`list[${index}].number`] = numbers this.setData(temp) CallInBooks({ data: { libId, bookInfoId: infoid, isbn13 }, continuousFn }).then(res => { wx.showToast({ title: `已加入调入清单`, icon: 'none' }) // this.getData() }) } else { if (size == 1) { wx.showToast({ title: `该书籍库存只有一本了,无法再添加了`, icon: 'none' }) } else { wx.showToast({ title: `已达上限`, icon: 'none' }) } return } }, /** * 删除 */ subtractionBook: function (e) { const { isbn13, detailid, infoid, size, number, index } = e.currentTarget.dataset const continuousFn = { fn: this.subtractionBook, param: { ...arguments } } const { list, libId } = this.data let ids = []; ids.push( infoid ) var numbers = number; var temp = {}; console.log(number, index) if (numbers > 0) { numbers = numbers - 1; this.setData({ number: numbers }) temp[`list[${index}].number`] = numbers this.setData(temp) DeleteBooks({ data: { ids, libId }, continuousFn }).then(res => { wx.showToast({ title: `删除成功`, icon: 'none' }) // this.getData() }) } else { wx.showToast({ title: `已经删除`, icon: 'none' }) return } } })