Files
LinHelp/miniapp/miniprogram/pages/orders/index.js
2026-07-07 16:38:13 +08:00

71 lines
1.9 KiB
JavaScript

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)
}
})