fix: finalize merged venue navigation
This commit is contained in:
@@ -5,6 +5,12 @@
|
|||||||
<text class="subtitle">进入对应场馆后,会员、预约、订单和支付数据彼此独立。</text>
|
<text class="subtitle">进入对应场馆后,会员、预约、订单和支付数据彼此独立。</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
<view v-if="selectedVenue" class="current-card">
|
||||||
|
<text class="current-label">当前场馆</text>
|
||||||
|
<text class="current-name">{{ selectedVenue.name }}</text>
|
||||||
|
<button class="primary-button continue-btn" @tap="continueCurrentVenue">继续进入</button>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="venue-list">
|
<view class="venue-list">
|
||||||
<view
|
<view
|
||||||
v-for="venue in venues"
|
v-for="venue in venues"
|
||||||
@@ -18,7 +24,7 @@
|
|||||||
<text class="venue-desc">{{ venue.description }}</text>
|
<text class="venue-desc">{{ venue.description }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="venue-action">
|
<view class="venue-action">
|
||||||
<text>{{ venue.key === currentVenue ? '当前' : '进入' }}</text>
|
<text>{{ venue.key === currentVenue ? '切换进入' : '进入' }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -33,6 +39,7 @@ import { VENUE_OPTIONS } from '@/utils/venue'
|
|||||||
const venueStore = useVenueStore()
|
const venueStore = useVenueStore()
|
||||||
const venues = VENUE_OPTIONS
|
const venues = VENUE_OPTIONS
|
||||||
const currentVenue = computed(() => venueStore.currentVenue)
|
const currentVenue = computed(() => venueStore.currentVenue)
|
||||||
|
const selectedVenue = computed(() => venueStore.currentVenueOption)
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
venueStore.init()
|
venueStore.init()
|
||||||
@@ -41,6 +48,11 @@ onMounted(() => {
|
|||||||
const selectVenue = (venueKey) => {
|
const selectVenue = (venueKey) => {
|
||||||
venueStore.enterVenue(venueKey)
|
venueStore.enterVenue(venueKey)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const continueCurrentVenue = () => {
|
||||||
|
if (!venueStore.currentVenue) return
|
||||||
|
venueStore.enterVenue(venueStore.currentVenue)
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@@ -75,6 +87,33 @@ const selectVenue = (venueKey) => {
|
|||||||
gap: 24rpx;
|
gap: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.current-card {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 12rpx;
|
||||||
|
margin-bottom: 32rpx;
|
||||||
|
padding: 28rpx;
|
||||||
|
border-radius: $border-radius-lg;
|
||||||
|
background: $bg-color-main;
|
||||||
|
border: 1rpx solid $border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.current-label {
|
||||||
|
color: $text-color-muted;
|
||||||
|
font-size: 22rpx;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.current-name {
|
||||||
|
color: $text-color-main;
|
||||||
|
font-size: 32rpx;
|
||||||
|
font-weight: 900;
|
||||||
|
}
|
||||||
|
|
||||||
|
.continue-btn {
|
||||||
|
margin-top: 12rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.venue-card {
|
.venue-card {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|||||||
Reference in New Issue
Block a user