prepare("UPDATE bookings SET status = ? WHERE id = ?"); $stmt->execute([$action, $booking_id]); $success_message = '预约状态更新成功!'; } elseif (in_array($action, ['已付款', '未付款'])) { // 更新付款状态 $stmt = $pdo->prepare("UPDATE bookings SET payment_status = ? WHERE id = ?"); $stmt->execute([$action, $booking_id]); $success_message = '付款状态更新成功!'; } elseif ($action == 'update_time' && isset($_POST['new_start_time']) && isset($_POST['new_end_time'])) { // 更新预约时间 $new_start_time = $_POST['new_start_time']; $new_end_time = $_POST['new_end_time']; $stmt = $pdo->prepare("UPDATE bookings SET start_time = ?, end_time = ? WHERE id = ?"); $stmt->execute([$new_start_time, $new_end_time, $booking_id]); $success_message = '预约时间更新成功!'; } elseif ($action == 'update_notes' && isset($_POST['notes_content'])) { // 更新客服备注 $notes_content = $_POST['notes_content']; $stmt = $pdo->prepare("UPDATE bookings SET custom_services = ? WHERE id = ?"); $stmt->execute([$notes_content, $booking_id]); echo 'success'; exit(); } } catch (Exception $e) { $error_message = '更新失败:' . $e->getMessage(); } } // 获取所有预约,支持状态筛选和搜索功能 try { // 构建查询,支持筛选和搜索 $query = "SELECT b.*, p.package_name, p.package_reminder FROM bookings b LEFT JOIN packages p ON b.package_id = p.id WHERE 1=1 "; $params = []; // 状态筛选 if (isset($_GET['status']) && !empty($_GET['status'])) { $query .= " AND b.status = ?"; $params[] = $_GET['status']; } else if (!isset($_GET['search']) || empty($_GET['search'])) { // 默认为只显示未完成订单,但如果有搜索条件则显示所有订单 $query .= " AND b.status NOT IN ('已完成', '已取消')"; } // 搜索功能 if (isset($_GET['search']) && !empty($_GET['search'])) { $searchTerm = '%' . $_GET['search'] . '%'; $query .= " AND (b.phone LIKE ? OR b.car_number LIKE ?)"; $params[] = $searchTerm; $params[] = $searchTerm; } $query .= " ORDER BY b.start_time DESC"; $stmt = $pdo->prepare($query); $stmt->execute($params); $bookings = $stmt->fetchAll(); } catch (Exception $e) { $error_message = '获取预约列表失败:' . $e->getMessage(); $bookings = []; } ?>