From f67dd6397222a0b30b4055b848964e6b03967e86 Mon Sep 17 00:00:00 2001 From: jacobxu666 Date: Fri, 26 Jun 2026 01:33:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E9=A2=84=E7=BA=A6?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E4=B8=89=E9=A1=B5=E9=9D=A2=20+=20=E8=AE=A2?= =?UTF-8?q?=E5=8D=95/=E4=BD=BF=E7=94=A8=E8=AE=B0=E5=BD=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 pages/reserve/reserve-index 景区预约页(日期选择/场次/库存/实名信息) - 新增 pages/reserve/reserve-success 预约成功页(二维码/规则/返回拦截) - 新增 pages/reserve/reserve-list 预约使用记录页(Tab筛选/取消/详情弹窗) - 预约日期仅展示明天起3天,支持已约满/无场次状态 - 使用详情增加卡种/卡号/核销照片/时间字段,照片可放大预览 - 订单列表/详情全部激活改绑定,卡号CJ格式,Tab均分布局 - 景区详情立即预约跳转预约页,使用说明跳转独立页面 - 统一景区信息区字号间距规范 Co-Authored-By: Claude --- src/pages.json | 18 + src/pages/qrcode/index.vue | 4 + src/pages/reserve/reserve-index.vue | 663 ++++++++++++++++++++++ src/pages/reserve/reserve-list.vue | 612 ++++++++++++++++++++ src/pages/reserve/reserve-success.vue | 381 +++++++++++++ src/pages/scenic-detail/scenic-detail.vue | 3 +- 6 files changed, 1679 insertions(+), 2 deletions(-) create mode 100644 src/pages/reserve/reserve-index.vue create mode 100644 src/pages/reserve/reserve-list.vue create mode 100644 src/pages/reserve/reserve-success.vue diff --git a/src/pages.json b/src/pages.json index fa0c224..aa376c0 100644 --- a/src/pages.json +++ b/src/pages.json @@ -102,6 +102,24 @@ "style": { "navigationBarTitleText": "订单详情" } + }, + { + "path": "pages/reserve/reserve-index", + "style": { + "navigationBarTitleText": "景区预约" + } + }, + { + "path": "pages/reserve/reserve-success", + "style": { + "navigationBarTitleText": "预约成功" + } + }, + { + "path": "pages/reserve/reserve-list", + "style": { + "navigationBarTitleText": "预约/使用记录" + } } ], "subPackages": [ diff --git a/src/pages/qrcode/index.vue b/src/pages/qrcode/index.vue index 3b584c3..85353c9 100644 --- a/src/pages/qrcode/index.vue +++ b/src/pages/qrcode/index.vue @@ -234,6 +234,10 @@ function onFeatureClick(item: { label: string }) { uni.navigateTo({ url: '/pages/usage-guide/usage-guide' }) return } + if (item.label === '使用记录') { + uni.navigateTo({ url: '/pages/reserve/reserve-list' }) + return + } uni.showToast({ title: `${item.label}功能开发中`, icon: 'none' }) } diff --git a/src/pages/reserve/reserve-index.vue b/src/pages/reserve/reserve-index.vue new file mode 100644 index 0000000..04e85a5 --- /dev/null +++ b/src/pages/reserve/reserve-index.vue @@ -0,0 +1,663 @@ + + + + + diff --git a/src/pages/reserve/reserve-list.vue b/src/pages/reserve/reserve-list.vue new file mode 100644 index 0000000..1e5040e --- /dev/null +++ b/src/pages/reserve/reserve-list.vue @@ -0,0 +1,612 @@ + + + + + diff --git a/src/pages/reserve/reserve-success.vue b/src/pages/reserve/reserve-success.vue new file mode 100644 index 0000000..793645f --- /dev/null +++ b/src/pages/reserve/reserve-success.vue @@ -0,0 +1,381 @@ + + + + + diff --git a/src/pages/scenic-detail/scenic-detail.vue b/src/pages/scenic-detail/scenic-detail.vue index 945bdea..6b145cd 100644 --- a/src/pages/scenic-detail/scenic-detail.vue +++ b/src/pages/scenic-detail/scenic-detail.vue @@ -207,8 +207,7 @@ function onCopyAddress() { }) } function onBookClick(cardType: string) { - const label = cardType === 'super' ? '超级玩家卡' : '赣湘全域旅游年卡' - uni.showToast({ title: `${label}预约功能开发中`, icon: 'none' }) + uni.navigateTo({ url: '/pages/reserve/reserve-index' }) }