纸通宝小程序
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.
 

127 lines
3.4 KiB

import { getUserOrderList } from "../../../../api/ztb"
const util = require('../../../../utils/util')
const event = require('../../../../utils/event.js')
const tdsdk = require('../../../../libs/tdweapp')
const app = getApp()
const status = ['', 1, 2, 3, 4, 5, 6, 7, 8, 9]
Page({
data: {
height: app.globalData.fragmentHeight,
kg: app.globalData.kg,
loading: true,
requesting: false,
finished: false,
tabList: [ '全部', '待付诚意金', '待上传资料', '待上传资料确认', '待支付尾款', '待收货', '待扣点确认', '待退货确认', '已完成', '已关闭' ],
tabIndex: 0,
top: 0,
orderList: [],
form: {
status: '',
pageNum: 1,
pageSize:15
}
},
onLoad: function (options) {
this.setData({
height: app.globalData.fragmentHeight - 90,
kg: app.globalData.kg,
['form.status']: options.status ? statusList[parseInt(options.status)] : '',
tabIndex: options.status ? parseInt(options.status) : 0
})
event.on('EventMessage', this, this.onEvent)
this.fetchOrderList()
},
onEvent: function (message) {
if (message.what == 320) {
this.onRefreshList()
}
},
onRefreshList: function () {
if (this.data.requesting) {
return
}
this.setData({
orderList: [],
['form.status']: this.data.form.status,
['form.pageNum']: 1,
loading: true,
finished: false
})
this.fetchOrderList()
},
fetchOrderList: function () {
if (this.data.requesting || this.data.finished) {
return
}
if (this.data.loading) {
this.data.requesting = true
} else {
this.setData({ requesting: true })
}
getUserOrderList(this.data.form).then(result => {
if (result.data.records.length) {
var respList = result.data.records
let nowList = `orderList[${this.data.orderList.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
})
}
}).catch(err => {
this.setData({
requesting: false,
loading: false
})
util.showToast(err)
})
},
lookItem: function (e) {
var item = this.data.orderList[e.currentTarget.dataset.page][e.currentTarget.dataset.index]
wx.navigateTo({ url: '/submodel/pages/morder/detail/index?orderId=' + item.orderId })
},
onTabChange: function ({detail}) {
if (this.data.tabIndex == detail.index) {
return
}
this.data.tabIndex = detail.index
this.data.form.status = status[this.data.tabIndex]
this.onRefreshList()
},
onUnload: function(){
event.remove('EventMessage', this)
},
onShow: function () {
tdsdk.Page.onShow()
},
onHide: function(){
tdsdk.Page.onHide()
},
onUnload: function () {
tdsdk.Page.onUnload()
}
})