const { listGoodsOrders } = require('../../api/orderApi') const { listExpressOrders } = require('../../api/expressApi') const { listGroupBuyOrders } = require('../../api/groupBuyApi') const { statusText } = require('../../utils/request') Page({ data: { loading: false, orders: [] }, onLoad() { this.load() }, onShow() { this.load() }, load() { this.setData({ loading: true }) Promise.all([ listGoodsOrders().catch(() => []), listExpressOrders().catch(() => []), listGroupBuyOrders().catch(() => []) ]) .then(([goodsOrders, expressOrders, groupBuyOrders]) => { const orders = [] ;(goodsOrders || []).forEach((item) => orders.push({ id: item.id, type: 'goods', typeText: '商品订单', orderNo: item.orderNo, title: item.orderNo, amountCent: item.payableAmountCent, status: item.status })) ;(expressOrders || []).forEach((item) => orders.push({ id: item.id, type: 'express', typeText: '快递代取', orderNo: item.orderNo, title: item.expressCompany + ' ' + item.pickupCode, amountCent: item.feeCent, status: item.status })) ;(groupBuyOrders || []).forEach((item) => orders.push({ id: item.id, type: 'group', typeText: '团购订单', orderNo: item.orderNo, title: item.groupBuyTitle, amountCent: item.amountCent, status: item.status })) this.setData({ orders }) }) .catch((error) => wx.showToast({ title: error.message, icon: 'none' })) .finally(() => this.setData({ loading: false })) }, goDetail(event) { const { type, id } = event.currentTarget.dataset wx.navigateTo({ url: '/pages/orders/detail?type=' + type + '&id=' + id }) }, statusText(status) { return statusText(status) } })