fix: 活动管理,费用明细逻辑修改。

This commit is contained in:
tianyongbao
2026-02-28 01:02:02 +08:00
parent 6201089d4d
commit 279a4f74d9

View File

@@ -448,19 +448,46 @@ function confirmSummary() {
const totalAmount = parseFloat(calculateTotalAmount())
const currentTotal = parseFloat(activity.totalCost) || 0
// 判断活动是否跨天
const startDate = activity.startTime ? dayjs(activity.startTime).format('YYYY-MM-DD') : ''
const endDate = activity.endTime ? dayjs(activity.endTime).format('YYYY-MM-DD') : ''
const isMultiDay = startDate !== endDate
// 构建费用明细
const details = selectedExpenses.value
.map((item) => {
let detailsWithDate = ''
if (isMultiDay) {
// 多天活动:按日期分组
const groupedByDate = {}
selectedExpenses.value.forEach((item) => {
const date = dayjs(item.createTime).format('MM-DD')
if (!groupedByDate[date]) {
groupedByDate[date] = []
}
const category = item.childCategoryName || ''
return `${category} ${item.amount}${item.remark ? '(' + item.remark + ')' : ''}`
groupedByDate[date].push(`${category} ${item.amount}${item.remark ? '(' + item.remark + ')' : ''}`)
})
.join('')
// 按日期组装明细
detailsWithDate = Object.keys(groupedByDate)
.sort()
.map((date) => `${date} ${groupedByDate[date].join('、')}`)
.join('')
} else {
// 单天活动:不带日期
detailsWithDate = selectedExpenses.value
.map((item) => {
const category = item.childCategoryName || ''
return `${category} ${item.amount}${item.remark ? '(' + item.remark + ')' : ''}`
})
.join('')
}
// 更新活动费用
const updateData = {
...activity,
totalCost: (currentTotal + totalAmount).toFixed(2),
costDetail: activity.costDetail ? `${activity.costDetail}${details}` : details
costDetail: activity.costDetail ? `${activity.costDetail}${detailsWithDate}` : detailsWithDate
}
updateActivity(updateData).then(() => {