feat(M08-A): 接入顾客端订单查询
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
const { request, ensureLogin, cents } = require('../../utils/api.js')
|
||||
|
||||
Page({
|
||||
data: {
|
||||
loading: false,
|
||||
errorMessage: '',
|
||||
orders: [],
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
total: 0,
|
||||
},
|
||||
|
||||
onShow() {
|
||||
this.loadOrders()
|
||||
},
|
||||
|
||||
async loadOrders() {
|
||||
this.setData({ loading: true, errorMessage: '' })
|
||||
try {
|
||||
await ensureLogin()
|
||||
const response = await request(`/orders?page=${this.data.page}&pageSize=${this.data.pageSize}`)
|
||||
this.setData({
|
||||
orders: (response.data.items || []).map(formatOrder),
|
||||
total: response.data.total || 0,
|
||||
})
|
||||
} catch (error) {
|
||||
this.setData({ errorMessage: error.message || '订单加载失败' })
|
||||
} finally {
|
||||
this.setData({ loading: false })
|
||||
}
|
||||
},
|
||||
|
||||
openOrder(event) {
|
||||
const orderId = event.currentTarget.dataset.orderId
|
||||
if (!orderId) return
|
||||
wx.navigateTo({ url: `/pages/orders/detail?orderId=${encodeURIComponent(orderId)}` })
|
||||
},
|
||||
})
|
||||
|
||||
function formatOrder(order) {
|
||||
return {
|
||||
...order,
|
||||
totalText: cents(order.totalAmountCents),
|
||||
paidText: cents(order.paidAmountCents),
|
||||
timeText: `${formatTime(order.startAt)} 至 ${formatTime(order.endAt)}`,
|
||||
}
|
||||
}
|
||||
|
||||
function formatTime(value) {
|
||||
const date = new Date(value)
|
||||
const pad = (input) => String(input).padStart(2, '0')
|
||||
return `${pad(date.getMonth() + 1)}-${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}`
|
||||
}
|
||||
Reference in New Issue
Block a user