diff --git a/src/pages/integrated/meeting/booking-detail.vue b/src/pages/integrated/meeting/booking-detail.vue index 455d9ce..2b5ba75 100644 --- a/src/pages/integrated/meeting/booking-detail.vue +++ b/src/pages/integrated/meeting/booking-detail.vue @@ -3,20 +3,40 @@ {{ detail.roomName }} - 容量:{{ detail.capacity }} - 位置:{{ detail.location }} + 容量:{{ detail.roomCapacity }}人 + 位置:{{ detail.roomLocation || '未设置' }} - - 设备:{{ detail.equipmentNames }} + + 设备:{{ detail.roomEquipment }} + + + 状态:{{ detail.roomStatusText }} + 预约信息 - 预约人:{{ detail.username }} + 预约人:{{ detail.applicantName }} + 预约日期:{{ detail.bookingDate }} 预约时间:{{ detail.startTime }} ~ {{ detail.endTime }} - 预约状态:{{ getStatusText(detail.checkStatus) }} + 会议时长:{{ detail.duration }}分钟 + 预约状态:{{ detail.checkStatusText }} 审核意见:{{ detail.checkReason }} - 备注:{{ detail.description }} + + + + 会议配置 + 会务服务:{{ detail.needServiceText }} + 桌子摆放:{{ detail.deskLayoutText }} + 备注说明:{{ detail.description }} + + + + 系统信息 + 创建人:{{ detail.createBy }} + 创建时间:{{ detail.createTime }} + 更新人:{{ detail.updateBy }} + 更新时间:{{ detail.updateTime }} @@ -28,17 +48,6 @@ import meetingRoomApi from '@/sheep/api/meetingRoom' const detail = ref({}) -function getStatusText(status: string) { - const map: Record = { - '1': '审核中', - '2': '审核通过', - '3': '审核拒绝', - '4': '已取消', - '5': '已结束', - } - return map[status] || status -} - onLoad(async (options: any) => { const id = options.id if (!id) return @@ -73,6 +82,12 @@ onLoad(async (options: any) => { .room-equip { font-size: 24rpx; color: #999; + margin-bottom: 8rpx; + } + .room-status { + font-size: 24rpx; + color: #ff6b35; + font-weight: 500; } } .section { diff --git a/src/pages/integrated/meeting/detail.vue b/src/pages/integrated/meeting/detail.vue index b9e144d..bcaca3d 100644 --- a/src/pages/integrated/meeting/detail.vue +++ b/src/pages/integrated/meeting/detail.vue @@ -36,7 +36,7 @@ > {{ slot.startTime }} - {{ slot.endTime }} - 🚫 已预约: {{ slot.bookedBy?.userName }} + 🚫 已预约 🚫 不可预约 ✓ 可预约 @@ -89,7 +89,7 @@ :class="['layout-option', selectedLayout === layout.id ? 'active' : '']" @tap="selectLayout(layout.id)" > - {{ layout.name }} + {{ layout.layoutName }} {{ layout.description }} @@ -245,6 +245,7 @@ const fetchDeskLayouts = async () => { if (response.code === 0 && response.data) { deskLayouts.value = response.data console.log('Desk layouts data:', deskLayouts.value) + console.log('First layout item structure:', deskLayouts.value[0]) } else { console.error('Failed to fetch desk layouts:', response) } @@ -302,7 +303,31 @@ function selectService(value: string) { // 选择桌子摆放形态 function selectLayout(layoutId: string) { + console.log('selectLayout called with layoutId:', layoutId) selectedLayout.value = layoutId + console.log('selectedLayout.value set to:', selectedLayout.value) +} + +// 获取选中的桌子摆放形态名称 +const getSelectedLayoutName = () => { + console.log('getSelectedLayoutName - selectedLayout.value:', selectedLayout.value) + console.log('getSelectedLayoutName - deskLayouts.value:', deskLayouts.value) + + if (!selectedLayout.value) { + console.log('No layout selected, returning 未选择') + return '未选择' + } + + const selectedLayoutItem = deskLayouts.value.find(layout => layout.id === selectedLayout.value) + console.log('Found selected layout item:', selectedLayoutItem) + + if (selectedLayoutItem) { + console.log('Returning layout name:', selectedLayoutItem.layoutName) + return selectedLayoutItem.layoutName + } else { + console.log('Layout item not found, returning 未选择') + return '未选择' + } } // 确认预约 @@ -331,6 +356,10 @@ async function confirmReserve() { const startSlot = timeSlots.value[selectedTime.value[0]] const endSlot = timeSlots.value[selectedTime.value[selectedTime.value.length - 1]] + const deskLayoutName = getSelectedLayoutName() + console.log('选中的桌子摆放形态ID:', selectedLayout.value) + console.log('桌子摆放形态名称:', deskLayoutName) + const res = await meetingRoomApi.bookMeetingRoom(roomId.value, { date, startTime: startSlot.startTime, @@ -339,7 +368,7 @@ async function confirmReserve() { description: '', attendees: [], need_service: needService.value, - desk_layout: selectedLayout.value + deskLayout: deskLayoutName }) console.log('预约接口响应:', res) diff --git a/src/pages/integrated/meeting/my-reservations.vue b/src/pages/integrated/meeting/my-reservations.vue index d428983..5d4df5e 100644 --- a/src/pages/integrated/meeting/my-reservations.vue +++ b/src/pages/integrated/meeting/my-reservations.vue @@ -23,7 +23,8 @@ 预约日期:{{ item.bookingDate }} 时间:{{ item.startTime }} ~ {{ item.endTime }} - 申请人:{{ item.createBy }} + 申请人:{{ item.applicantName }} + 创建时间:{{ item.createTime }} 查看详情 diff --git a/src/pages/tabbar/integrated.vue b/src/pages/tabbar/integrated.vue index cb56b54..13c60eb 100644 --- a/src/pages/tabbar/integrated.vue +++ b/src/pages/tabbar/integrated.vue @@ -9,7 +9,7 @@
- {{ todoCount > 99 ? "99+" : todoCount }} + {{ todoCount > 99 ? '99+' : todoCount }}
{{ item.label }}
@@ -80,7 +80,7 @@ async function fetchTodoCount() { todoCount.value = responseData.data.total || 0 } } catch (error) { - console.error("获取待办数量失败:", error) + console.error('获取待办数量失败:', error) todoCount.value = 0 } } @@ -96,14 +96,14 @@ onMounted(() => { function goPage(item) { // 访客邀约功能正在开发中 - // if (item.name === 'visitor') { - // uni.showToast({ - // title: '访客邀约功能正在开发中', - // icon: 'none', - // duration: 2000 - // }) - // return - // } + if (item.name === 'visitor') { + uni.showToast({ + title: '访客邀约功能正在开发中', + icon: 'none', + duration: 2000 + }) + return + } if (item.url) { uni.navigateTo({ url: item.url })