修复套餐默认时间和时间段选择问题
This commit is contained in:
+17
-7
@@ -655,14 +655,24 @@ try {
|
||||
slotDuration: 30 // 30分钟一个时段
|
||||
};
|
||||
|
||||
// 预约数据
|
||||
const bookingsByDate_<?php echo $submission['id']; ?> = <?php echo json_encode($bookings_by_date); ?>;
|
||||
// 预约数据 - 为每个提交创建独立的预约数据对象
|
||||
const allBookingsByDate = <?php echo json_encode($bookings_by_date); ?>;
|
||||
|
||||
// 页面加载时初始化第一个预约的日期和时间
|
||||
// 页面加载时初始化所有预约的日期、时间和套餐信息
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
<?php foreach ($pending_submissions as $submission): ?>
|
||||
// 初始化日期
|
||||
selectDate(<?php echo $submission['id']; ?>, '<?php echo date('Y-m-d'); ?>');
|
||||
|
||||
// 初始化默认套餐信息(如果有默认选择的话)
|
||||
const packageSelect = document.getElementById('selected_package_<?php echo $submission['id']; ?>');
|
||||
if (packageSelect.value) {
|
||||
updatePackageInfo(<?php echo $submission['id']; ?>);
|
||||
} else if (packageSelect.options.length > 1) {
|
||||
// 默认选择第一个套餐
|
||||
packageSelect.selectedIndex = 1;
|
||||
updatePackageInfo(<?php echo $submission['id']; ?>);
|
||||
}
|
||||
<?php endforeach; ?>
|
||||
});
|
||||
|
||||
@@ -693,7 +703,7 @@ try {
|
||||
timeGrid.innerHTML = '';
|
||||
|
||||
// 获取当天已有预约
|
||||
const dayBookings = bookingsByDate_<?php echo $submission['id']; ?>[date] || [];
|
||||
const dayBookings = allBookingsByDate[date] || [];
|
||||
|
||||
// 生成时间段
|
||||
for (let hour = workingHours.start; hour < workingHours.end; hour++) {
|
||||
@@ -702,7 +712,7 @@ try {
|
||||
const slotTime = new Date(`${date} ${timeString}:00`);
|
||||
const now = new Date();
|
||||
const isPast = slotTime <= now;
|
||||
const isBooked = checkTimeSlotBooked(date, timeString, submissionId);
|
||||
const isBooked = checkTimeSlotBooked(date, timeString);
|
||||
|
||||
const slotDiv = document.createElement('div');
|
||||
slotDiv.className = `time-slot ${isPast ? 'past' : ''} ${isBooked ? 'booked' : 'available'}`;
|
||||
@@ -717,8 +727,8 @@ try {
|
||||
}
|
||||
|
||||
// 检查时间段是否已被预约
|
||||
function checkTimeSlotBooked(date, time, submissionId) {
|
||||
const bookings = bookingsByDate_<?php echo $submission['id']; ?>[date] || [];
|
||||
function checkTimeSlotBooked(date, time) {
|
||||
const bookings = allBookingsByDate[date] || [];
|
||||
|
||||
for (let booking of bookings) {
|
||||
const bookingStart = booking.start_time;
|
||||
|
||||
Reference in New Issue
Block a user