feat(private): 包场预定天数改用后端动态配置(getPrivateBookingConfig API + index.vue动态读取)

This commit is contained in:
gqt
2026-08-14 14:58:03 +08:00
parent 2ca2ead6da
commit 30c2b5ffea
2 changed files with 23 additions and 2 deletions
@@ -115,11 +115,15 @@ const selectedCells = ref({})
const now = ref(dayjs())
let loadRequestId = 0
const bookingConfig = ref({ member_advance_days: 7, non_member_advance_days: 3 })
const weekDays = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
const hasPositiveBalance = computed(() => toAmountNumber(session.member?.balance) > 0)
const dateOptions = computed(() => {
const today = dayjs()
const dateCount = hasPositiveBalance.value ? 7 : 3
const dateCount = hasPositiveBalance.value
? bookingConfig.value.member_advance_days
: bookingConfig.value.non_member_advance_days
return Array.from({ length: dateCount }).map((_, i) => {
const d = today.add(i, 'day')
return {
@@ -360,9 +364,15 @@ function normalizeClock(value) {
async function refresh() {
await session.init()
try {
bookingConfig.value = await privateBookingApi.getPrivateBookingConfig()
} catch {
// 获取配置失败时使用默认值 7/3,不阻塞页面
}
if (!hasPositiveBalance.value) {
const todayStr = dayjs().format('YYYY-MM-DD')
const maxDateStr = dayjs().add(2, 'day').format('YYYY-MM-DD')
const maxOffset = bookingConfig.value.non_member_advance_days - 1
const maxDateStr = dayjs().add(maxOffset, 'day').format('YYYY-MM-DD')
if (selectedDate.value < todayStr || selectedDate.value > maxDateStr) {
selectedDate.value = todayStr
}