feat(reserve): add session/场次 info to success page and usage detail
- reserve-index: pass selected session time to success page via query param - reserve-success: receive and display session conditionally - reserve-list: add session field to ReserveRecord model and detail sheet - 4 of 6 mock records now include session data Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -215,8 +215,12 @@ function handleSubmit() {
|
|||||||
|
|
||||||
// Mock 预约成功
|
// Mock 预约成功
|
||||||
const reserveId = 'YP' + Date.now().toString().slice(-8)
|
const reserveId = 'YP' + Date.now().toString().slice(-8)
|
||||||
|
// 获取选中场次的时间段
|
||||||
|
const session = selectedSessions.value.find(s => s.id === selectedSession.value)
|
||||||
|
const sessionTime = session ? session.time : ''
|
||||||
|
const sessionParam = sessionTime ? `&session=${encodeURIComponent(sessionTime)}` : ''
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/reserve/reserve-success?reserveId=${reserveId}&date=${selectedDate.value}&scenic=${scenic.value.name}`
|
url: `/pages/reserve/reserve-success?reserveId=${reserveId}&date=${selectedDate.value}&scenic=${encodeURIComponent(scenic.value.name)}${sessionParam}`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -148,6 +148,10 @@
|
|||||||
<text class="sheet-label">预约入园日期</text>
|
<text class="sheet-label">预约入园日期</text>
|
||||||
<text class="sheet-value">{{ detailRecord?.date }}</text>
|
<text class="sheet-value">{{ detailRecord?.date }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-if="detailRecord?.session" class="sheet-row">
|
||||||
|
<text class="sheet-label">预约场次</text>
|
||||||
|
<text class="sheet-value">{{ detailRecord.session }}</text>
|
||||||
|
</view>
|
||||||
<view class="sheet-row">
|
<view class="sheet-row">
|
||||||
<text class="sheet-label">预约人</text>
|
<text class="sheet-label">预约人</text>
|
||||||
<text class="sheet-value">{{ detailRecord?.userName }}</text>
|
<text class="sheet-value">{{ detailRecord?.userName }}</text>
|
||||||
@@ -195,6 +199,7 @@ interface ReserveRecord {
|
|||||||
id: string
|
id: string
|
||||||
scenicName: string
|
scenicName: string
|
||||||
date: string
|
date: string
|
||||||
|
session?: string
|
||||||
status: RecordStatus
|
status: RecordStatus
|
||||||
userName: string
|
userName: string
|
||||||
maskedId: string
|
maskedId: string
|
||||||
@@ -226,12 +231,12 @@ const detailRecord = ref<ReserveRecord | null>(null)
|
|||||||
const cancelRecord = ref<ReserveRecord | null>(null)
|
const cancelRecord = ref<ReserveRecord | null>(null)
|
||||||
|
|
||||||
const records = ref<ReserveRecord[]>([
|
const records = ref<ReserveRecord[]>([
|
||||||
{ id: 'YP26062601', scenicName: '武功山金顶景区', date: '2026-06-27', status: 'pending', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012398', applyTime: '2026-06-25 14:30' },
|
{ id: 'YP26062601', scenicName: '武功山金顶景区', date: '2026-06-27', session: '08:00-10:00', status: 'pending', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012398', applyTime: '2026-06-25 14:30' },
|
||||||
{ id: 'YP26062502', scenicName: '杨岐山孽龙洞景区', date: '2026-06-26', status: 'pending', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012399', applyTime: '2026-06-24 10:15' },
|
{ id: 'YP26062502', scenicName: '杨岐山孽龙洞景区', date: '2026-06-26', session: '10:00-12:00', status: 'pending', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012399', applyTime: '2026-06-24 10:15' },
|
||||||
{ id: 'YP26062003', scenicName: '仙凤三宝景区', date: '2026-06-20', status: 'used', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012400', applyTime: '2026-06-18 09:20', verifyTime: '2026-06-20 09:45', verifyPhoto: 'https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?fm=jpg&q=80&w=200&h=200&fit=crop' },
|
{ id: 'YP26062003', scenicName: '仙凤三宝景区', date: '2026-06-20', session: '14:00-16:00', status: 'used', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012400', applyTime: '2026-06-18 09:20', verifyTime: '2026-06-20 09:45', verifyPhoto: 'https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?fm=jpg&q=80&w=200&h=200&fit=crop' },
|
||||||
{ id: 'YP26061804', scenicName: '武功山君澜温泉', date: '2026-06-18', status: 'cancelled', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012401', applyTime: '2026-06-16 16:40', cancelTime: '2026-06-17 20:30' },
|
{ id: 'YP26061804', scenicName: '武功山君澜温泉', date: '2026-06-18', status: 'cancelled', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012401', applyTime: '2026-06-16 16:40', cancelTime: '2026-06-17 20:30' },
|
||||||
{ id: 'YP26061505', scenicName: '凯光新天地生态旅游区', date: '2026-06-15', status: 'auto_used', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012402', applyTime: '2026-06-13 11:05', verifyTime: '2026-06-16 00:00', verifyPhoto: 'https://images.unsplash.com/photo-1527980965255-d3b416303d12?fm=jpg&q=80&w=200&h=200&fit=crop' },
|
{ id: 'YP26061505', scenicName: '凯光新天地生态旅游区', date: '2026-06-15', status: 'auto_used', userName: '张三', maskedId: '360302****1234', cardType: '超级玩家卡', cardNo: 'CJ0000012402', applyTime: '2026-06-13 11:05', verifyTime: '2026-06-16 00:00', verifyPhoto: 'https://images.unsplash.com/photo-1527980965255-d3b416303d12?fm=jpg&q=80&w=200&h=200&fit=crop' },
|
||||||
{ id: 'YP26061006', scenicName: '和平农场·哎马乐园', date: '2026-06-10', status: 'used', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012403', applyTime: '2026-06-08 08:50', verifyTime: '2026-06-10 10:22', verifyPhoto: 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?fm=jpg&q=80&w=200&h=200&fit=crop' },
|
{ id: 'YP26061006', scenicName: '和平农场·哎马乐园', date: '2026-06-10', session: '08:00-12:00', status: 'used', userName: '张三', maskedId: '360302****1234', cardType: '赣湘全域旅游年卡', cardNo: 'CJ0000012403', applyTime: '2026-06-08 08:50', verifyTime: '2026-06-10 10:22', verifyPhoto: 'https://images.unsplash.com/photo-1494790108377-be9c29b29330?fm=jpg&q=80&w=200&h=200&fit=crop' },
|
||||||
])
|
])
|
||||||
|
|
||||||
const filteredRecords = computed(() => {
|
const filteredRecords = computed(() => {
|
||||||
|
|||||||
@@ -20,6 +20,10 @@
|
|||||||
<text class="info-label">预约日期</text>
|
<text class="info-label">预约日期</text>
|
||||||
<text class="info-value">{{ reserveDate }}</text>
|
<text class="info-value">{{ reserveDate }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-if="reserveSession" class="info-row">
|
||||||
|
<text class="info-label">预约场次</text>
|
||||||
|
<text class="info-value">{{ reserveSession }}</text>
|
||||||
|
</view>
|
||||||
<view class="info-row">
|
<view class="info-row">
|
||||||
<text class="info-label">预约人</text>
|
<text class="info-label">预约人</text>
|
||||||
<text class="info-value">{{ userName }}</text>
|
<text class="info-value">{{ userName }}</text>
|
||||||
@@ -85,6 +89,7 @@ import { onLoad, onBackPress } from '@dcloudio/uni-app'
|
|||||||
const reserveId = ref('YP26062601')
|
const reserveId = ref('YP26062601')
|
||||||
const scenicName = ref('武功山金顶景区')
|
const scenicName = ref('武功山金顶景区')
|
||||||
const reserveDate = ref('2026-06-27(周六)')
|
const reserveDate = ref('2026-06-27(周六)')
|
||||||
|
const reserveSession = ref('')
|
||||||
const userName = ref('张三')
|
const userName = ref('张三')
|
||||||
const maskedId = ref('360302****1234')
|
const maskedId = ref('360302****1234')
|
||||||
const codePopup = ref<any>(null)
|
const codePopup = ref<any>(null)
|
||||||
@@ -97,6 +102,7 @@ onLoad((query: any) => {
|
|||||||
reserveDate.value = `${query.date}(${weekNames[d.getDay()]})`
|
reserveDate.value = `${query.date}(${weekNames[d.getDay()]})`
|
||||||
}
|
}
|
||||||
if (query?.scenic) scenicName.value = decodeURIComponent(query.scenic)
|
if (query?.scenic) scenicName.value = decodeURIComponent(query.scenic)
|
||||||
|
if (query?.session) reserveSession.value = decodeURIComponent(query.session)
|
||||||
})
|
})
|
||||||
|
|
||||||
// 拦截返回,跳转预约记录页
|
// 拦截返回,跳转预约记录页
|
||||||
|
|||||||
Reference in New Issue
Block a user