feat: migrate comprehensive courses to sessions

This commit is contained in:
gqt
2026-07-12 20:31:07 +08:00
parent d17b646ae0
commit f3f8aee9a0
10 changed files with 139 additions and 95 deletions
@@ -99,19 +99,19 @@ const loadItems = async () => {
}
const getItemTitle = (item) => {
if (businessType.value === 'course') return item.course?.title || '课程预约'
if (businessType.value === 'course') return item.session?.title || '课程预约'
if (businessType.value === 'private') return item.courts?.map((court) => court.name).join('、') || '包场预约'
return `篮球门票 ${item.order_no}`
}
const getItemTime = (item) => {
if (businessType.value === 'course') return formatTimeRange(item.course?.start_at, item.course?.end_at)
if (businessType.value === 'course') return formatTimeRange(item.session?.start_at, item.session?.end_at)
if (businessType.value === 'private') return formatTimeRange(item.start_at, item.end_at)
return item.checked_in_at ? `核销时间 ${formatDateTime(item.checked_in_at)}` : `生成时间 ${formatDateTime(item.created_at)}`
}
const getItemDesc = (item) => {
if (businessType.value === 'course') return `${item.course?.coach_name || ''} · ${item.course?.courts?.map((court) => court.name).join('、') || ''}`
if (businessType.value === 'course') return `${item.session?.coach_name || ''} · ${item.session?.courts?.map((court) => court.name).join('、') || ''}`
if (businessType.value === 'private') return `${item.courts?.length || 0} 个场地`
return item.status === 'available' ? '可到馆核销使用' : item.status_label
}