71 lines
2.0 KiB
JavaScript
71 lines
2.0 KiB
JavaScript
|
|
const app = getApp()
|
||
|
|
|
||
|
|
function request(options) {
|
||
|
|
return new Promise((resolve) => {
|
||
|
|
wx.request({
|
||
|
|
url: `${app.globalData.apiBase}${options.url}`,
|
||
|
|
method: options.method || 'GET',
|
||
|
|
data: options.data || {},
|
||
|
|
header: options.header || {},
|
||
|
|
success: resolve,
|
||
|
|
fail: (error) => resolve({ statusCode: 500, data: { code: 500, message: error.errMsg } }),
|
||
|
|
})
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
Page({
|
||
|
|
data: {
|
||
|
|
token: '',
|
||
|
|
user: {},
|
||
|
|
stats: [],
|
||
|
|
orders: [],
|
||
|
|
audits: [],
|
||
|
|
loading: false,
|
||
|
|
error: '',
|
||
|
|
},
|
||
|
|
onShow() {
|
||
|
|
const token = wx.getStorageSync('mini-manager-token')
|
||
|
|
const user = wx.getStorageSync('mini-manager-user') || {}
|
||
|
|
if (!token) {
|
||
|
|
wx.redirectTo({ url: '/pages/login' })
|
||
|
|
return
|
||
|
|
}
|
||
|
|
this.setData({ token, user })
|
||
|
|
this.bootstrap()
|
||
|
|
},
|
||
|
|
async bootstrap() {
|
||
|
|
this.setData({ loading: true, error: '' })
|
||
|
|
const header = { Authorization: `Bearer ${this.data.token}` }
|
||
|
|
const [ordersRes, reportRes, auditRes] = await Promise.all([
|
||
|
|
request({ url: '/orders', header }),
|
||
|
|
request({ url: '/reports/performance', header }),
|
||
|
|
request({ url: '/audit-logs', header }),
|
||
|
|
])
|
||
|
|
const orders = ordersRes.data?.data?.list || []
|
||
|
|
const report = reportRes.data?.data || {}
|
||
|
|
const audits = auditRes.data?.data?.list || []
|
||
|
|
this.setData({
|
||
|
|
orders,
|
||
|
|
audits,
|
||
|
|
stats: [
|
||
|
|
{ label: '待审订单', value: orders.filter((item) => item.order_status === 'pending_approve').length },
|
||
|
|
{ label: '订单总数', value: report.order_count || orders.length },
|
||
|
|
{ label: '利润总额', value: Number(report.profit_total || 0).toFixed(2) },
|
||
|
|
],
|
||
|
|
loading: false,
|
||
|
|
})
|
||
|
|
},
|
||
|
|
gotoApprove(e) {
|
||
|
|
const { orderId } = e.currentTarget.dataset
|
||
|
|
wx.navigateTo({ url: `/pages/approve-detail?orderId=${orderId}` })
|
||
|
|
},
|
||
|
|
copyText() {
|
||
|
|
wx.showToast({ title: '已复制(示意)', icon: 'none' })
|
||
|
|
},
|
||
|
|
logout() {
|
||
|
|
wx.removeStorageSync('mini-manager-token')
|
||
|
|
wx.removeStorageSync('mini-manager-user')
|
||
|
|
wx.redirectTo({ url: '/pages/login' })
|
||
|
|
},
|
||
|
|
})
|