confirmExpertVisitPayment($wr_id); } elseif ($action === 'schedule_visit') { $visit_datetime = clean_xss_tags($_POST['visit_datetime'] ?? ''); $expert_id = clean_xss_tags($_POST['expert_id'] ?? ''); $result = $estimateManager->scheduleExpertVisit($wr_id, $visit_datetime, $expert_id); } elseif ($action === 'complete_visit') { $visit_notes = clean_xss_tags($_POST['visit_notes'] ?? ''); $result = $estimateManager->completeExpertVisit($wr_id, $visit_notes); } else { throw new Exception('알 수 없는 요청입니다.'); } if ($result['success']) { alert($result['message'], './expert_visits.php'); } else { throw new Exception($result['message']); } } catch (Exception $e) { alert('오류: ' . $e->getMessage()); } goto_url('./expert_visits.php'); exit; } // 검색 조건 $sfl = isset($_GET['sfl']) ? clean_xss_tags($_GET['sfl']) : ''; $stx = isset($_GET['stx']) ? clean_xss_tags($_GET['stx']) : ''; $status_filter = isset($_GET['status_filter']) ? clean_xss_tags($_GET['status_filter']) : ''; $where = []; if ($stx) { if ($sfl === 'customer_name') { $where[] = "cm.mb_name LIKE '%{$stx}%'"; } elseif ($sfl === 'expert_name') { $where[] = "em.mb_name LIKE '%{$stx}%'"; } } if ($status_filter) { $where[] = "e.temp_2 = '{$status_filter}'"; } $where_clause = empty($where) ? "e.temp_1 = 'Y'" : "e.temp_1 = 'Y' AND " . implode(' AND ', $where); // 페이징 $page = (int) ($_GET['page'] ?? 1); $page_rows = 10; $total_count_sql = " SELECT COUNT(*) as cnt FROM estimate e LEFT JOIN g5_write_order w ON e.wr_id = w.wr_id LEFT JOIN g5_member cm ON w.mb_id = cm.mb_id LEFT JOIN g5_member em ON e.extra_4 = em.mb_id WHERE {$where_clause} "; $total_count_res = sql_fetch($total_count_sql); $total_count = $total_count_res['cnt']; $total_page = ceil($total_count / $page_rows); $from_record = ($page - 1) * $page_rows; // 목록 조회 $sql = " SELECT e.id as estimate_id, e.wr_id, e.temp_1, e.temp_2 as status, e.temp_3 as visit_fee, e.temp_4 as visit_datetime, e.temp_5 as visit_notes, e.extra_4 as expert_id, w.wr_subject, w.mb_id as customer_id, cm.mb_name as customer_name, cm.mb_hp as customer_phone, em.mb_name as expert_name FROM estimate e LEFT JOIN g5_write_order w ON e.wr_id = w.wr_id LEFT JOIN g5_member cm ON w.mb_id = cm.mb_id LEFT JOIN g5_member em ON e.extra_4 = em.mb_id WHERE {$where_clause} ORDER BY e.id DESC LIMIT {$from_record}, {$page_rows} "; $result = sql_query($sql); $visits = []; while ($row = sql_fetch_array($result)) { $visits[] = $row; } // 전문가 목록 (레벨 8 이상) $experts = []; $expert_sql = "SELECT mb_id, mb_name FROM g5_member WHERE mb_level >= 9 ORDER BY mb_name"; $expert_result = sql_query($expert_sql); while ($row = sql_fetch_array($expert_result)) { $experts[] = $row; } include_once(G5_ADMIN_PATH . '/admin.head.php'); // var_dump($expert_sql); // var_dump(sql_fetch_array($expert_result)); ?>

고객이 요청한 전문가 방문을 관리합니다.
결제 확인, 일정 조율, 방문 완료 처리를 할 수 있습니다.

목록
견적 ID 고객명 연락처 방문 상태 방문 비용 방문 일정 담당 전문가 관리
데이터가 없습니다.