From 7a12dba8b40506aea2df51b1a694fd1ef7d8acd9 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Thu, 26 Jun 2025 18:43:05 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=9C=8D=E5=8A=A1-=E4=BC=9A?=
=?UTF-8?q?=E8=AE=AE=E6=A8=A1=E5=9D=97=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages.json | 6 +
.../integrated/meeting/booking-detail.vue | 97 +++++++++
src/pages/integrated/meeting/detail.vue | 2 +-
src/pages/integrated/meeting/index.vue | 2 +-
.../integrated/meeting/my-reservations.vue | 186 +++++++++++-------
src/pages/integrated/visitor/myvisitor.vue | 43 +---
src/sheep/api/meetingRoom.ts | 19 ++
7 files changed, 239 insertions(+), 116 deletions(-)
create mode 100644 src/pages/integrated/meeting/booking-detail.vue
diff --git a/src/pages.json b/src/pages.json
index 426bf83..af8f1ac 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -478,6 +478,12 @@
"style": {
"navigationBarTitleText": "我的预约"
}
+ },
+ {
+ "path": "meeting/booking-detail",
+ "style": {
+ "navigationBarTitleText": "预约详情"
+ }
}
]
}
diff --git a/src/pages/integrated/meeting/booking-detail.vue b/src/pages/integrated/meeting/booking-detail.vue
new file mode 100644
index 0000000..455d9ce
--- /dev/null
+++ b/src/pages/integrated/meeting/booking-detail.vue
@@ -0,0 +1,97 @@
+
+
+
+ {{ detail.roomName }}
+
+ 容量:{{ detail.capacity }}
+ 位置:{{ detail.location }}
+
+
+ 设备:{{ detail.equipmentNames }}
+
+
+
+ 预约信息
+ 预约人:{{ detail.username }}
+ 预约时间:{{ detail.startTime }} ~ {{ detail.endTime }}
+ 预约状态:{{ getStatusText(detail.checkStatus) }}
+ 审核意见:{{ detail.checkReason }}
+ 备注:{{ detail.description }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/meeting/detail.vue b/src/pages/integrated/meeting/detail.vue
index d73fcca..f2a6a8d 100644
--- a/src/pages/integrated/meeting/detail.vue
+++ b/src/pages/integrated/meeting/detail.vue
@@ -221,7 +221,7 @@ async function reserveMeeting() {
date,
startTime: startSlot.startTime,
endTime: endSlot.endTime,
- title: '会议',
+ title: room.value.name || '会议',
description: '',
attendees: []
})
diff --git a/src/pages/integrated/meeting/index.vue b/src/pages/integrated/meeting/index.vue
index aec2f19..cbba6da 100644
--- a/src/pages/integrated/meeting/index.vue
+++ b/src/pages/integrated/meeting/index.vue
@@ -230,4 +230,4 @@ function goDetail(room) {
color: #bbb;
font-size: 20rpx;
}
-
+
diff --git a/src/pages/integrated/meeting/my-reservations.vue b/src/pages/integrated/meeting/my-reservations.vue
index 205c9c5..efa48b8 100644
--- a/src/pages/integrated/meeting/my-reservations.vue
+++ b/src/pages/integrated/meeting/my-reservations.vue
@@ -11,69 +11,108 @@
v-for="(tab, idx) in tabs"
:key="tab"
:class="['tab', idx === activeTab ? 'active' : '']"
- @tap="activeTab = idx"
+ @tap="onTabChange(idx)"
>{{ tab }}
-
-
- 优惠礼包
- 还未购买过优惠礼包
- >
-
-
-
-
-
- 预约时间:{{ item.time }}
- 会议主题:{{ item.subject }}
- 参会人:{{ item.attendees }}
-
-
-
\ No newline at end of file
diff --git a/src/pages/integrated/visitor/myvisitor.vue b/src/pages/integrated/visitor/myvisitor.vue
index a5ee811..3c67402 100644
--- a/src/pages/integrated/visitor/myvisitor.vue
+++ b/src/pages/integrated/visitor/myvisitor.vue
@@ -59,16 +59,7 @@
暂无访客记录
-
-
-
- 首页
-
-
-
- 我的
-
-
+
@@ -489,37 +480,5 @@ onMounted(() => {
color: #999;
font-size: 26rpx;
}
-
- .tabbar {
- position: fixed;
- left: 0;
- right: 0;
- bottom: 0;
- height: 100rpx;
- background: #fff;
- display: flex;
- border-top: 1px solid #eee;
- z-index: 999;
- }
-
- .tabbar-item {
- flex: 1;
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- color: #888;
- font-size: 24rpx;
- }
-
- .tabbar-icon {
- width: 48rpx;
- height: 48rpx;
- margin-bottom: 4rpx;
- }
-
- .tabbar-item.active {
- color: #1777FF;
- }
}
diff --git a/src/sheep/api/meetingRoom.ts b/src/sheep/api/meetingRoom.ts
index 1d2e9d8..4e7b56d 100644
--- a/src/sheep/api/meetingRoom.ts
+++ b/src/sheep/api/meetingRoom.ts
@@ -37,4 +37,23 @@ export default {
method: "POST",
data,
}),
+
+ /**
+ * 获取我的预约列表
+ */
+ getMyBookings: (params: { current: number; size: number; checkStatus?: number }) =>
+ request({
+ url: '/integrated/meetingRoom/app/my-bookings',
+ method: 'GET',
+ params,
+ }),
+
+ /**
+ * 获取预约详情
+ */
+ getBookingDetail: (id: string) =>
+ request({
+ url: `/integrated/meetingRoom/app/booking-detail/${id}`,
+ method: 'GET',
+ }),
}
\ No newline at end of file