4b886840c0
- private/index.vue 重写为场地×时间网格,双向滚动,sticky表头 - 当前时间红线指示,已过时灰块/已占用浅红/已选中蓝色 - 支持多场地连续时段选择,非连续会提示 - 日期改为近7天,Tab栏样式与约课页统一 - 底部按钮:未选时全宽长条,选中后显示摘要+小按钮 - privateBooking.js 新增 getPrivateBookingGrid API - quote/create 改为 items[] 格式,每场地独立时间段 - confirm.vue 按 items 逐条展示 - pages/private/index.vue onShow 自动刷新 - .env 冰场馆URL修正
33 lines
736 B
Vue
33 lines
736 B
Vue
<template>
|
|
<view class="tab-page">
|
|
<ComprehensivePrivate v-if="isComprehensive" ref="contentRef" />
|
|
<IcePrivate v-else ref="contentRef" />
|
|
</view>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref } from 'vue'
|
|
import { onShow } from '@dcloudio/uni-app'
|
|
import { getStoredVenue } from '@/utils/venue'
|
|
import ComprehensivePrivate from '@/pages/comprehensive/private/index.vue'
|
|
import IcePrivate from '@/pages/ice/private/index.vue'
|
|
|
|
const isComprehensive = getStoredVenue() === 'comprehensive'
|
|
const contentRef = ref()
|
|
let isFirstShow = true
|
|
|
|
onShow(() => {
|
|
if (isFirstShow) {
|
|
isFirstShow = false
|
|
return
|
|
}
|
|
contentRef.value?.refresh?.()
|
|
})
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.tab-page {
|
|
min-height: 100vh;
|
|
}
|
|
</style>
|