tmp
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
// components/order-stats/index.js
|
||||
// 首页订单统计卡片:全部完成 / 本月完成 / 未完成
|
||||
const API = require('../../utils/api.js')
|
||||
|
||||
Component({
|
||||
data: {
|
||||
allCount: 0,
|
||||
allFee: 0,
|
||||
monthCount: 0,
|
||||
monthFee: 0,
|
||||
uncompletedCount: 0,
|
||||
uncompletedFee: 0
|
||||
},
|
||||
|
||||
lifetimes: {
|
||||
attached() {
|
||||
this.load()
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* 拉取订单记录并统计三个口径(数量与费用)
|
||||
* 全部完成:status === 'completed'
|
||||
* 本月完成:completed 且预约日期在本月
|
||||
* 未完成:status !== 'completed'
|
||||
* 费用取 payment.totalFee 合计
|
||||
*/
|
||||
load() {
|
||||
API.escort.getAllRecords({ page: 1, pageSize: 200 })
|
||||
.then(res => {
|
||||
if (res.code !== 0) return
|
||||
const records = res.data.records || []
|
||||
const now = new Date()
|
||||
const year = now.getFullYear()
|
||||
const month = now.getMonth()
|
||||
const feeOf = (item) => Number(item.payment && item.payment.totalFee) || 0
|
||||
|
||||
let allCount = 0
|
||||
let allFee = 0
|
||||
let monthCount = 0
|
||||
let monthFee = 0
|
||||
let uncompletedCount = 0
|
||||
let uncompletedFee = 0
|
||||
|
||||
records.forEach(item => {
|
||||
if (item.status === 'completed') {
|
||||
allCount++
|
||||
allFee += feeOf(item)
|
||||
const d = item.schedule && item.schedule.date
|
||||
? new Date(item.schedule.date)
|
||||
: null
|
||||
if (d && !isNaN(d.getTime()) && d.getFullYear() === year && d.getMonth() === month) {
|
||||
monthCount++
|
||||
monthFee += feeOf(item)
|
||||
}
|
||||
} else {
|
||||
uncompletedCount++
|
||||
uncompletedFee += feeOf(item)
|
||||
}
|
||||
})
|
||||
|
||||
this.setData({ allCount, allFee, monthCount, monthFee, uncompletedCount, uncompletedFee })
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('获取订单统计失败', err)
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user