纸通宝小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

367 lines
13 KiB

// pages/message/index.js
const request = require('../../../utils/request') //导入模块
const event = require('../../../utils/event')
const util = require('../../../utils/util')
const app = getApp()
Component({
options: {
addGlobalClass: true,
multipleSlots: true
},
/**
* 页面的初始数据
*/
data: {
height: app.globalData.safeFragmentHeight - 100,
kg: app.globalData.kg,
stickyTop: app.globalData.CustomBar,
firstShow: false,
scrollTop: 0,
fixed: false,
toView: null,
banning: true,
bannerList: [],
noticeList: [],
iconList: [
{ icon: '/assets/image/ico_trade.png', badge: 0, name: '特价专区' },
{ icon: '/assets/image/ico_purchase.png', badge: 0, name: '采购商品' },
{ icon: '/assets/image/ico_agent.png', badge: 0, name: '我要代卖' },
{ icon: '/assets/image/ico_index.png', badge: 0, name: '价格指数' },
{ icon: '/assets/image/ico_price.png', badge: 0, name: '实时价格' },
{ icon: '/assets/image/ico_queue.png', badge: 0, name: '车辆排队' }
],
tabList: [ '卖废纸', '买废纸', '代卖' ],
tabIndex: 0,
loading: [true, true, true],
requesting: [false, false, false],
finished: [false, false, false],
form: [{ isOnlySupplyProduct: false, pageNum: 1 }, { pageNum: 1 }, { pageNum: 1, enableSalesAgent: 1 }],
orderList: [],
orderList1: [],
orderList2: []
},
lifetimes: {
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
attached: function () {
event.on('EventMessage', this, this.onEvent)
},
detached: function () {
event.remove('EventMessage', this)
}
},
methods: {
onRestart: function () {
if(!this.data.firstShow){
this.setData({
height: app.globalData.safeFragmentHeight - 100,
kg: app.globalData.kg,
stickyTop: app.globalData.CustomBar,
firstShow: true
})
this.onRefreshList()
}
this.data.firstShow = true
if(!this.data.noticeList.length){
this.fetchBannerList()
}
if(!this.data.noticeList.length){
this.fetchNoticeList()
}
},
onEvent: function (message) {
console.log('mall>>index>>onEvent', message)
if (message.what == 10 && app.globalData.isVIP == 1) {
// this.setData({ token: app.globalData.token })
// this.onRefreshList()
}
if(message.what == 1001){
this.setData({ kg: app.globalData.kg })
}
},
stopTouchMove: function(e){
return false
},
onFixedChange: function({detail}){
this.data.fixed = detail.fixed
},
onScroll: function({detail}) {
this.setData({ scrollTop: detail.scrollTop })
},
tapBanner: function(e){
var item = this.data.bannerList[e.currentTarget.dataset.index]
if(item.redirectInfo.targetView == 'showH5'){
util.navigateTo('/pages/html/html/index?link=' + item.redirectInfo.params.id + '?title=' + item.title)
} else if(item.redirectInfo.targetView == 'showImage'){
util.navigateTo('/pages/html/banner/index?src=' + item.redirectInfo.params.id)
}
if(item.redirectInfo.targetView == 'showBidList'){
util.navigateTo('/pages/goods/ablility/index')
} else if(item.redirectInfo.targetView == 'showProxyList'){
// wx.navigateTo({ url: '/pages/goods/ablility/index' })
} else if(item.redirectInfo.targetView == 'showQNPrice'){
util.navigateTo('/pages/mall/price-index/index')
} else if(item.redirectInfo.targetView == 'showFactoryPrice'){
util.navigateTo('/pages/article/price-detail/index')
} else if(item.redirectInfo.targetView == 'showFactoryQueue'){
util.navigateTo('/pages/article/queue-detail/index')
} else if(item.redirectInfo.targetView == 'showArticleHome'){
// 情报首页
event.emit('EventMessage', { what: 250, desc: 'page-article', index: 0 })
} else if(item.redirectInfo.targetView == 'myArticle'){
util.navigateTo('/pages/article/list/index')
} else if(item.redirectInfo.targetView == 'myMessage'){
util.navigateTo('/pages/message/index/index')
} else if(item.redirectInfo.targetView == 'member'){
util.navigateTo('/pages/ztbvip/index')
} else if(item.redirectInfo.targetView == 'showPurchaseList'){
util.navigateTo('/pages/purchase/ablility/index')
} else if(item.redirectInfo.targetView == 'showProductList'){
util.navigateTo('/pages/goods/ablility/index?type=1')
} else if(item.redirectInfo.targetView == 'logistics'){
util.navigateTo('/pages/html/logistics/index')
} else if(item.redirectInfo.targetView == 'contract'){
util.navigateTo('/pages/home/service/index')
} else if(item.redirectInfo.targetView == 'myAddress'){
util.navigateTo('/pages/adress/list/index')
} else if(item.redirectInfo.targetView == 'myBankCard'){
util.navigateTo('/pages/bank/vindex/index')
} else if(item.redirectInfo.targetView == 'personalBillDetail'){
util.navigateTo('/pages/bank/bill/index')
} else if(item.redirectInfo.targetView == 'myScore'){
util.navigateTo('/pages/html/integral/index')
} else if(item.redirectInfo.targetView == 'myBalance'){
util.navigateTo('/pages/withdrawal/balance/index')
} else if(item.redirectInfo.targetView == 'myProxyList'){
util.navigateTo('/pages/agent/order/index')
} else if(item.redirectInfo.targetView == 'myBidList'){
util.navigateTo('/pages/bidding/index/index')
} else if(item.redirectInfo.targetView == 'myShop'){
util.navigateTo('/pages/shop/index/index')
}
},
onGridTap: function(e){
var index = e.currentTarget.dataset.index
if (index === 0) {
util.navigateTo('/pages/goods/ablility/index')
} else if (index === 1) {
util.navigateTo('/pages/purchase/ability/index')
} else if (index === 2) {
util.navigateTo('/pages/agent/index/index')
} else if (index === 3) {
util.navigateTo('/pages/mall/price-index/index')
} else if (index === 4) {
util.navigateTo('/pages/article/price-detail/index')
} else if (index === 5) {
util.navigateTo('/pages/article/queue-detail/index')
}
},
onTabChange: function({detail}){
if(this.data.tabIndex == Number(detail.index)){
return
}
if(this.data.fixed){
this.setData({ tabIndex: parseInt(detail.index), toView: 'sticky' })
} else {
this.setData({ tabIndex: parseInt(detail.index) })
}
if(this.data.tabIndex == 0 && !this.data.orderList.length){
this.fetchGoodsList()
} else if(this.data.tabIndex == 1 && !this.data.orderList1.length){
this.fetchPurchaseList()
} else if(this.data.tabIndex == 2 && !this.data.orderList2.length){
this.fetchAgentList()
}
},
fetchBannerList: function(){
// /banner/get/banner-list/{type} 获取banner
request.get('/recycle-service/banner/get/banner-list/1').then(result => {
//成功回调
this.setData({ bannerList: result.data })
}).catch(err => {
})
},
fetchNoticeList: function(){
if (this.data.loopRequesting) {
return
}
this.data.loopRequesting = true
// /get/recently-order-success-list获取最近成交订单的列表
request.post('/recycle-service/get/recently-order-success-list').then(result => {
//成功回调
this.data.loopRequesting = false
this.data.noticeList = []
if(result.data && result.data.length){
for (let index = 0; index < result.data.length; index++) {
this.data.noticeList.push(result.data[index].msg)
}
this.setData({noticeList: this.data.noticeList})
}
}).catch(err => {
//异常回调
this.data.loopRequesting = false
})
},
onRefreshList: function () {
if(this.data.tabIndex == 0){
this.setData({
orderList: [],
['form[' + this.data.tabIndex + '].pageNum']: 1,
['loading[' + this.data.tabIndex + ']']: true,
['finished[' + this.data.tabIndex + ']']: false
})
this.fetchGoodsList()
} else if(this.data.tabIndex == 1){
this.setData({
orderList1: [],
['form[' + this.data.tabIndex + '].pageNum']: 1,
['loading[' + this.data.tabIndex + ']']: true,
['finished[' + this.data.tabIndex + ']']: false
})
this.fetchPurchaseList()
} else if(this.data.tabIndex == 2){
this.setData({
orderList2: [],
['form[' + this.data.tabIndex + '].pageNum']: 1,
['loading[' + this.data.tabIndex + ']']: true,
['finished[' + this.data.tabIndex + ']']: false
})
this.fetchAgentList()
}
},
fetchMoreList: function(){
if(this.data.tabIndex == 0){
this.fetchGoodsList()
} else if(this.data.tabIndex == 1){
this.fetchPurchaseList()
} else if(this.data.tabIndex == 2){
this.fetchAgentList()
}
},
//*************************************************fetchGoodsList************************************************//
fetchGoodsList: function () {
if (this.data.requesting[this.data.tabIndex] || this.data.finished[this.data.tabIndex]) {
return
}
if (this.data.loading[this.data.tabIndex]) {
this.data.requesting[this.data.tabIndex] = true
} else {
this.setData({ ['requesting[' + this.data.tabIndex + ']']: true })
}
request.get('/recycle-service/get/product-index-list/for/mini', this.data.form[0]).then(result => {
//成功回调
if (result.data.records.length) {
var respList = result.data.records
let nowList = `orderList[${this.data.orderList.length}]`
var num = result.data.current
var finished = result.data.current >= result.data.pages
this.setData({
[nowList]: respList,
['form[0].pageNum']: (num + 1),
['finished[0]']: finished,
['requesting[0]']: false,
['loading[0]']: false
})
} else {
this.setData({
['finished[0]']: true,
['requesting[0]']: false,
['loading[0]']: false
})
}
}).catch(err => {
//异常回调
this.setData({
['requesting[0]']: false,
['finished[0]']: true,
['loading[0]']: false
})
})
},
//*************************************************fetchPurchaseList************************************************//
fetchPurchaseList: function () {
if (this.data.requesting[1] || this.data.finished[1]) {
return
}
if (this.data.loading[1]) {
this.data.requesting[1] = true
} else {
this.setData({ ['requesting[1]']: true })
}
// /purchase/get/product-list 获取店铺采购商品列表接口
request.get('/recycle-service/purchase/get/product-list', this.data.form[1]).then(result => {
//成功回调
if (result.data.records.length) {
var respList = result.data.records
let nowList = `orderList1[${this.data.orderList1.length}]`
var num = result.data.current
var finished = result.data.current >= result.data.pages
this.setData({
[nowList]: respList,
['form[1].pageNum']: (num + 1),
['finished[1]']: finished,
['requesting[1]']: false,
['loading[1]']: false
})
} else {
this.setData({
['requesting[1]']: false,
['finished[1]']: true,
['loading[1]']: false
})
}
}).catch(err => {
//异常回调
this.setData({
['requesting[1]']: false,
['finished[1]']: true,
['loading[1]']: false
})
})
},
//*************************************************fetchAgentList************************************************//
// 获取特价列表
fetchAgentList: function () {
if (this.data.requesting[2] || this.data.finished[2]) {
return
}
if (this.data.loading[2]) {
this.data.requesting[2] = true
} else {
this.setData({ ['requesting[2]']: true })
}
request.get('/recycle-service/get/paper-mill-paper-category-price-list', this.data.form[2]).then(result => {
//成功回调
if (result.data.records.length) {
var respList = result.data.records
let nowList = `orderList2[${this.data.orderList2.length}]`
var num = result.data.current
var finished = result.data.current >= result.data.pages
this.setData({
[nowList]: respList,
['form[2].pageNum']: (num + 1),
['finished[2]']: finished,
['requesting[2]']: false,
['loading[2]']: false
})
} else {
this.setData({
['requesting[2]']: false,
['finished[2]']: true,
['loading[2]']: false
})
}
}).catch(err => {
//异常回调
this.setData({
['requesting[2]']: false,
['finished[2]']: true,
['loading[2]']: false
})
})
}
}
})