// pages/bidding/index/index.js import { getMessageList, getNotificationList, readMessage, getMessageNumber } from "../../api/ztb" const util = require('../../../utils/util') const event = require('../../../utils/event.js') const app = getApp() Page({ /** * 页面的初始数据 */ data: { height: app.globalData.fragmentHeight, loading: true, requesting: false, finished: false, tabList: [ {id: 0, name: '订单', badge: 12}, {id: 1, name: '系统', badge: 0} ], tabIndex: 0, top: 0, messageList: [], form: { pageNum: 1 } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ height: app.globalData.fragmentHeight - 90, CustomBar: app.globalData.CustomBar }) event.on('EventMessage', this, this.onEvent) this.fetchMessageNumber() this.fetchMessageList() }, onEvent: function (message) { if (message.what == 320) { this.onRefreshList() } }, onRefreshList: function () { this.setData({ messageList: [], tabIndex: this.data.tabIndex, ['form.pageNum']: 1, loading: true, finished: false }) this.fetchMessageNumber() this.fetchMessageList() }, fetchMessageNumber: function () { getMessageNumber().then(result => { this.setData({ ['tabList[0].badge']: result.data.messageNumber, ['tabList[1].badge']: result.data.notificationNumber }) }) }, fetchMessageList: function () { if (this.data.requesting || this.data.finished) { return } if (this.data.loading) { this.data.requesting = true } else { this.setData({ requesting: true }) } if(this.data.tabIndex == 0){ getMessageList(this.data.form).then(result => { this.doResult(result) }).catch(err => { this.setData({ requesting: false, loading: false }) util.showToast(err) }) } else { getNotificationList(this.data.form).then(result => { this.doResult(result) }).catch(err => { this.setData({ requesting: false, loading: false }) util.showToast(err) }) } }, doResult: function(result){ if (result.data.records.length) { var respList = result.data.records let nowList = `messageList[${this.data.messageList.length}]` var num = this.data.form.pageNum var finished = this.data.form.pageNum >= result.data.pages if(this.data.form.pageNum == 1){ this.setData({ [nowList]: respList, total: result.data.total, ['form.pageNum']: (num + 1), top: 0, finished, requesting: false, loading: false }) } else { this.setData({ [nowList]: respList, total: result.data.total, ['form.pageNum']: (num + 1), finished, requesting: false, loading: false }) } } else { this.setData({ finished: true, requesting: false, loading: false }) } }, lookItem: function (e) { var item = this.data.messageList[e.currentTarget.dataset.page][e.currentTarget.dataset.index] if(item.status == 0){ readMessage({ idList: [item.id] }).then(result => { //成功回调 var badge = this.data.tabList[this.data.tabIndex].badge - 1 if(badge < 0){ badge = 0 } this.setData({ ['tabList[' + this.data.tabIndex + '].badge']: badge, ['messageList[' + e.currentTarget.dataset.page + '][' + e.currentTarget.dataset.index + '].status']: 1 }) this.redirectInfo(item.redirectInfo) }) } else { this.redirectInfo(item.redirectInfo) } }, redirectInfo: function(redirect){ if(!redirect){ return } if(redirect.targetView == 'biddingDetail'){// 买家竞价的详情页 wx.navigateTo({ url: '/pages/bidding/detail/index?id=' + redirect.params.id }) } else if(redirect.targetView == 'buyerOrderDetail'){// 买家订单的详情页 wx.navigateTo({ url: '/pages/morder/detail/index?orderId=' + redirect.params.id }) } else if(redirect.targetView == 'sellerOrderDetail'){// 卖家订单的详情页 sellerOrderDetail wx.navigateTo({ url: '/pages/morder/detail/index?type=1&orderId=' + redirect.params.id }) } else if(redirect.targetView == 'storeIndex'){// 店铺首页 storeIndex wx.navigateTo({ url: '/pages/shop/detail/index?storeId=' + redirect.params.id }) } else if(redirect.targetView == 'personalBillDetail'){// 账单详情页 personalBillDetail wx.navigateTo({ url: '/pages/bank/bill-detail/index?id=' + redirect.params.id }) } else if(redirect.targetView == 'member'){// 会员页 member wx.navigateTo({ url: '/pages/ztbvip/index' }) } else if(redirect.targetView == 'proxySellSellerOrderDetail'){// 代卖详情proxySellSellerOrderDetail wx.navigateTo({ url: '/pages/agent/detail/index?id=' + redirect.params.id }) } else { wx.navigateTo({ url: '/pages/message/detail/index?id=' + redirect.params.id }) } }, onTabChange: function (e) { if (this.data.tabIndex == Number(e.detail.key)) { return } this.data.tabIndex = Number(e.detail.key) this.onRefreshList() }, readAllMessage: function(){ wx.showLoading({ title: '加载中', mask: true }) readMessage({ idList: [] }).then(result => { this.setData({ ['tabList[0].badge']: 0, ['tabList[1].badge']: 0 }) wx.hideLoading() }).catch(err => { wx.hideLoading() util.showToast(err) }) }, onUnload: function(){ event.remove('EventMessage', this) } })