feat(private): 包场预定天数改用后端动态配置(getPrivateBookingConfig API + index.vue动态读取)
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user