<?php
/**
 * vendor_panel/orders.php — Merchant Order Management
 * Complete Production-Ready Order Management System with Batch Updates, Filters, Search, Tracking & Print Slips
 */
ob_start(); // บัฟเฟอร์ output เพื่อให้ header() ทำงานได้แม้หลัง HTML ถูกส่งออกแล้ว
// หมายเหตุ: session_start() ถูกจัดการโดย middleware.php แล้ว ไม่ต้องเรียกซ้ำ
require_once __DIR__ . '/vendor_header.php';

$db = getDBConnection();

// ── BATCH STATUS UPDATE ─────────────────────────────────────
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['batch_update_status'])) {
    verifyCSRFToken($_POST['csrf_token'] ?? '');
    $orderIds = $_POST['order_ids'] ?? [];
    $newStatus = sanitize($_POST['batch_status'] ?? '');
    
    $allowed = ['processing', 'shipped', 'completed', 'cancelled'];
    if (!empty($orderIds) && in_array($newStatus, $allowed)) {
        $placeholders = implode(',', array_fill(0, count($orderIds), '?'));
        $params = array_merge([$newStatus, $vendorId], array_map('intval', $orderIds));
        
        // อัปเดตสถานะใน vendor_orders
        $stmt = $db->prepare("UPDATE vendor_orders SET status=?, updated_at=NOW() WHERE vendor_id=? AND id IN ($placeholders)");
        $stmt->execute($params);

        // Sync สถานะไปยัง orders table (ฝั่งลูกค้า) — ดึง order_id จาก vendor_orders ที่เพิ่งอัปเดต
        $syncParams = array_merge([$newStatus, $vendorId], array_map('intval', $orderIds));
        $db->prepare("
            UPDATE orders SET order_status=?, updated_at=NOW()
            WHERE id IN (
                SELECT order_id FROM vendor_orders WHERE vendor_id=? AND id IN ($placeholders)
            )
        ")->execute($syncParams);

        $_SESSION['flash_success'] = 'อัปเดตสถานะออเดอร์แบบ Batch (' . count($orderIds) . ' รายการ) เรียบร้อยแล้ว';
    } else {
        $_SESSION['flash_error'] = 'กรุณาเลือกออเดอร์อย่างน้อย 1 รายการ และระบุสถานะที่ถูกต้อง';
    }
    header('Location: orders.php'); exit;
}

// ── SINGLE ORDER STATUS & TRACKING UPDATE ───────────────────
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['update_single_status'])) {
    verifyCSRFToken($_POST['csrf_token'] ?? '');
    $voId       = (int)$_POST['vendor_order_id'];
    $status     = sanitize($_POST['new_status'] ?? '');
    $carrier    = sanitize($_POST['carrier_name'] ?? '');
    $tracking   = sanitize($_POST['tracking_number'] ?? '');

    requireVendorOrderOwnership($voId);

    $allowed = ['pending', 'processing', 'shipped', 'completed', 'cancelled'];
    if (in_array($status, $allowed)) {
        $shippedAtSql = ($status === 'shipped') ? ", shipped_at = NOW()" : "";

        // 1. อัปเดต vendor_orders (ข้อมูลฝั่ง vendor)
        $stmt = $db->prepare("UPDATE vendor_orders SET status=?, carrier_name=?, tracking_number=?, updated_at=NOW() $shippedAtSql WHERE id=? AND vendor_id=?");
        $stmt->execute([$status, $carrier, $tracking, $voId, $vendorId]);

        // 2. Sync สถานะ + tracking ไปยัง orders table (ฝั่งลูกค้า)
        $syncStmt = $db->prepare("
            UPDATE orders SET
                order_status      = ?,
                tracking_number   = ?,
                updated_at        = NOW()
            WHERE id = (SELECT order_id FROM vendor_orders WHERE id = ? AND vendor_id = ?)
        ");
        $syncStmt->execute([$status, $tracking, $voId, $vendorId]);

        // 3. ถ้าสถานะเป็น shipped/completed ให้อัปเดต payment_status = 'paid' ด้วย (ถ้ายังไม่ได้ paid)
        if (in_array($status, ['shipped', 'completed'])) {
            $db->prepare("
                UPDATE orders SET payment_status = 'paid'
                WHERE id = (SELECT order_id FROM vendor_orders WHERE id = ? AND vendor_id = ?)
                  AND payment_status != 'paid'
            ")->execute([$voId, $vendorId]);
        }

        $_SESSION['flash_success'] = 'อัปเดตข้อมูลและสถานะออเดอร์เรียบร้อยแล้ว';
    }
    header('Location: orders.php' . (isset($_GET['view']) ? '?view='.$voId : '')); exit;
}

// ── SEARCH & FILTER PARAMETERS ──────────────────────────────
$filterStatus = sanitize($_GET['status'] ?? '');
$search       = sanitize($_GET['search'] ?? '');
$startDate    = sanitize($_GET['start_date'] ?? '');
$endDate      = sanitize($_GET['end_date'] ?? '');

$where = ["vo.vendor_id = $vendorId"];
$params = [];

if (!empty($filterStatus)) {
    $where[] = "vo.status = ?";
    $params[] = $filterStatus;
}
if (!empty($search)) {
    $where[] = "(o.order_no LIKE ? OR o.shipping_name LIKE ? OR vo.tracking_number LIKE ?)";
    $params[] = "%$search%";
    $params[] = "%$search%";
    $params[] = "%$search%";
}
if (!empty($startDate) && !empty($endDate)) {
    $where[] = "DATE(vo.created_at) BETWEEN ? AND ?";
    $params[] = $startDate;
    $params[] = $endDate;
}

$whereSql = "WHERE " . implode(" AND ", $where);

// Fetch orders list
$stmt = $db->prepare("
    SELECT vo.*, o.order_no, o.shipping_name, o.shipping_phone, o.shipping_address,
           o.payment_status, o.payment_method, o.note AS customer_note,
           COUNT(oi.id) AS item_count,
           COALESCE(SUM(oi.quantity), 0) AS total_quantity
    FROM vendor_orders vo
    JOIN orders o ON vo.order_id = o.id
    LEFT JOIN order_items oi ON oi.vendor_order_id = vo.id
    $whereSql
    GROUP BY vo.id
    ORDER BY vo.created_at DESC
");
$stmt->execute($params);
$orders = $stmt->fetchAll();

// Counts per status
$statusCounts = [
    'all' => 0, 'pending' => 0, 'processing' => 0, 'shipped' => 0, 'completed' => 0, 'cancelled' => 0
];
$countRows = $db->prepare("SELECT status, COUNT(*) AS cnt FROM vendor_orders WHERE vendor_id=? GROUP BY status");
$countRows->execute([$vendorId]);
foreach ($countRows->fetchAll() as $r) {
    $statusCounts[$r['status']] = (int)$r['cnt'];
    $statusCounts['all'] += (int)$r['cnt'];
}

// ── SINGLE ORDER VIEW DETAIL ─────────────────────────────────
$viewId = (int)($_GET['view'] ?? 0);
$viewOrder = null;
$viewItems = [];
if ($viewId > 0) {
    requireVendorOrderOwnership($viewId);
    $viewStmt = $db->prepare("
        SELECT vo.*, o.order_no, o.shipping_name, o.shipping_phone, o.shipping_address,
               o.payment_status, o.payment_method, o.note AS customer_note, o.created_at AS order_date, o.payment_slip
        FROM vendor_orders vo
        JOIN orders o ON vo.order_id = o.id
        WHERE vo.id = ? AND vo.vendor_id = ?
    ");
    $viewStmt->execute([$viewId, $vendorId]);
    $viewOrder = $viewStmt->fetch();

    if ($viewOrder) {
        $itemStmt = $db->prepare("
            SELECT oi.*, p.main_image
            FROM order_items oi
            LEFT JOIN products p ON oi.product_id = p.id
            WHERE oi.vendor_order_id = ?
        ");
        $itemStmt->execute([$viewId]);
        $viewItems = $itemStmt->fetchAll();
    }
}

// ── PRINT MODE (Packing Slip / Shipping Label) ───────────────
$printMode = sanitize($_GET['print'] ?? '');
if (!empty($printMode) && $viewOrder) {
    ?>
    <div class="printable-area p-4 bg-white" id="printableArea">
      <div class="d-flex justify-content-between align-items-center mb-4 no-print border-bottom pb-3">
        <h5 class="fw-bold mb-0">🖨️ ตัวอย่างก่อนพิมพ์: <?php echo $printMode === 'shipping_label' ? 'ใบปะหน้าพัสดุ (Shipping Label)' : 'ใบจดรายการออเดอร์ (Packing Slip)'; ?></h5>
        <div>
          <button onclick="window.print()" class="btn btn-primary btn-sm px-4 me-2">🖨️ พิมพ์เอกสาร</button>
          <a href="orders.php?view=<?php echo $viewId; ?>" class="btn btn-outline-secondary btn-sm">ปิดหน้าต่างนี้</a>
        </div>
      </div>

      <?php if ($printMode === 'shipping_label'): ?>
        <!-- SHIPPING LABEL DESIGN -->
        <div style="max-width: 480px; margin: 0 auto; border: 2px dashed #000; padding: 20px; font-family: sans-serif;">
          <div style="border-bottom: 2px solid #000; padding-bottom: 10px; margin-bottom: 15px;" class="d-flex justify-content-between align-items-center">
            <div>
              <h4 style="margin:0; font-weight:bold;"><?php echo htmlspecialchars($vendor['store_name']); ?></h4>
              <small>ผู้ส่ง (FROM)</small>
            </div>
            <div style="text-align:right;">
              <div style="font-weight:bold; font-size:1.1rem;">#<?php echo htmlspecialchars($viewOrder['order_no']); ?></div>
              <small><?php echo date('d/m/Y H:i', strtotime($viewOrder['created_at'])); ?></small>
            </div>
          </div>

          <div style="min-height: 120px; border-bottom: 2px solid #000; padding-bottom: 15px; margin-bottom: 15px;">
            <small style="text-transform:uppercase; font-weight:bold; color:#555;">ผู้รับ (SHIP TO):</small>
            <div style="font-size: 1.2rem; font-weight: bold; margin-top: 5px;"><?php echo htmlspecialchars($viewOrder['shipping_name']); ?></div>
            <div style="font-size: 1rem; margin-top: 3px;">โทร: <?php echo htmlspecialchars($viewOrder['shipping_phone']); ?></div>
            <div style="font-size: 0.95rem; margin-top: 5px; line-height: 1.4;"><?php echo nl2br(htmlspecialchars($viewOrder['shipping_address'])); ?></div>
          </div>

          <div class="d-flex justify-content-between align-items-center">
            <div>
              <small>ผู้จัดส่ง:</small>
              <div style="font-weight:bold;"><?php echo !empty($viewOrder['carrier_name']) ? htmlspecialchars($viewOrder['carrier_name']) : 'standard'; ?></div>
            </div>
            <div style="text-align:right;">
              <small>เลข Tracking:</small>
              <div style="font-weight:bold; font-size:1.1rem;"><?php echo !empty($viewOrder['tracking_number']) ? htmlspecialchars($viewOrder['tracking_number']) : '-'; ?></div>
            </div>
          </div>
        </div>

      <?php else: ?>
        <!-- PACKING SLIP DESIGN -->
        <div style="max-width: 700px; margin: 0 auto; border: 1px solid #ddd; padding: 30px; font-family: sans-serif;">
          <div class="d-flex justify-content-between align-items-center border-bottom pb-3 mb-4">
            <div>
              <h3 style="margin:0; font-weight:bold;"><?php echo htmlspecialchars($vendor['store_name']); ?></h3>
              <div class="text-muted">ใบรายการจัดเตรียมสินค้า (Packing Slip)</div>
            </div>
            <div class="text-end">
              <h4>Order #<?php echo htmlspecialchars($viewOrder['order_no']); ?></h4>
              <div>วันที่สั่งซื้อ: <?php echo date('d/m/Y H:i', strtotime($viewOrder['order_date'])); ?></div>
            </div>
          </div>

          <div class="row mb-4">
            <div class="col-6">
              <strong>ข้อมูลผู้รับ:</strong><br>
              <?php echo htmlspecialchars($viewOrder['shipping_name']); ?><br>
              โทร: <?php echo htmlspecialchars($viewOrder['shipping_phone']); ?><br>
              <?php echo nl2br(htmlspecialchars($viewOrder['shipping_address'])); ?>
            </div>
            <div class="col-6 text-end">
              <strong>สถานะการชำระเงิน:</strong> <?php echo strtoupper($viewOrder['payment_status']); ?><br>
              <strong>ช่องทางชำระเงิน:</strong> <?php echo strtoupper($viewOrder['payment_method']); ?>
            </div>
          </div>

          <table class="table table-bordered align-middle">
            <thead class="table-light">
              <tr>
                <th style="width:50px;">#</th>
                <th>สินค้า</th>
                <th style="width:100px;" class="text-center">จำนวน</th>
                <th style="width:120px;" class="text-end">ราคา/ชิ้น</th>
                <th style="width:120px;" class="text-end">รวม</th>
              </tr>
            </thead>
            <tbody>
              <?php foreach ($viewItems as $i => $item): ?>
                <tr>
                  <td><?php echo $i + 1; ?></td>
                  <td>
                    <strong><?php echo htmlspecialchars($item['product_name']); ?></strong>
                    <?php if (!empty($item['size']) || !empty($item['color'])): ?>
                      <div class="small text-muted">ตัวเลือก: <?php echo htmlspecialchars($item['size'] . ' ' . $item['color']); ?></div>
                    <?php endif; ?>
                  </td>
                  <td class="text-center fw-bold"><?php echo $item['quantity']; ?></td>
                  <td class="text-end">฿<?php echo number_format($item['price'], 2); ?></td>
                  <td class="text-end fw-bold">฿<?php echo number_format($item['subtotal'], 2); ?></td>
                </tr>
              <?php endforeach; ?>
            </tbody>
            <tfoot>
              <tr>
                <th colspan="4" class="text-end">รวมยอดสุทธิ</th>
                <th class="text-end fw-bold">฿<?php echo number_format($viewOrder['subtotal'], 2); ?></th>
              </tr>
            </tfoot>
          </table>
        </div>
      <?php endif; ?>
    </div>
    <?php
    require_once __DIR__ . '/vendor_footer.php';
    exit;
}
?>

<!-- ── HEADER & SEARCH / FILTERS ─────────────────────────────── -->
<div class="d-flex flex-wrap align-items-center justify-content-between gap-3 mb-4">
  <div>
    <h4 class="fw-bold mb-1" style="color: #0f172a;">🛒 รายการคำสั่งซื้อ (Orders Management)</h4>
    <p class="text-muted small mb-0">จัดการคำสั่งซื้อ อัปเดตสถานะ ออกใบปะหน้า และกรอกเลขพัสดุ</p>
  </div>
</div>

<!-- Status Filter Tabs -->
<ul class="nav nav-pills gap-2 mb-4 bg-white p-2 rounded-3 border">
  <li class="nav-item">
    <a class="nav-link px-3 py-2 text-dark <?php echo empty($filterStatus) ? 'active bg-primary text-white' : ''; ?>" href="orders.php">
      ทั้งหมด <span class="badge bg-light text-dark ms-1"><?php echo $statusCounts['all']; ?></span>
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link px-3 py-2 text-dark <?php echo $filterStatus === 'pending' ? 'active bg-warning text-dark' : ''; ?>" href="orders.php?status=pending">
      ⏳ รอดำเนินการ <span class="badge bg-warning-subtle text-dark ms-1"><?php echo $statusCounts['pending']; ?></span>
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link px-3 py-2 text-dark <?php echo $filterStatus === 'processing' ? 'active bg-primary text-white' : ''; ?>" href="orders.php?status=processing">
      📦 กำลังแพ็ค <span class="badge bg-primary-subtle text-dark ms-1"><?php echo $statusCounts['processing']; ?></span>
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link px-3 py-2 text-dark <?php echo $filterStatus === 'shipped' ? 'active bg-info text-white' : ''; ?>" href="orders.php?status=shipped">
      🚚 จัดส่งแล้ว <span class="badge bg-info-subtle text-dark ms-1"><?php echo $statusCounts['shipped']; ?></span>
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link px-3 py-2 text-dark <?php echo $filterStatus === 'completed' ? 'active bg-success text-white' : ''; ?>" href="orders.php?status=completed">
      ✅ สำเร็จ <span class="badge bg-success-subtle text-dark ms-1"><?php echo $statusCounts['completed']; ?></span>
    </a>
  </li>
  <li class="nav-item">
    <a class="nav-link px-3 py-2 text-dark <?php echo $filterStatus === 'cancelled' ? 'active bg-secondary text-white' : ''; ?>" href="orders.php?status=cancelled">
      ❌ ยกเลิกแล้ว <span class="badge bg-secondary-subtle text-dark ms-1"><?php echo $statusCounts['cancelled']; ?></span>
    </a>
  </li>
</ul>

<!-- Filter Form & Batch Actions Bar -->
<form method="GET" action="orders.php" class="v-card p-3 mb-4">
  <div class="row g-2 align-items-center">
    <div class="col-12 col-md-5">
      <div class="input-group">
        <span class="input-group-text bg-light">🔍</span>
        <input type="text" name="search" class="form-control" placeholder="ค้นหาด้วย Order ID, ชื่อลูกค้า, เลขพัสดุ..." value="<?php echo htmlspecialchars($search); ?>">
      </div>
    </div>
    <div class="col-6 col-md-3">
      <input type="date" name="start_date" class="form-control" value="<?php echo htmlspecialchars($startDate); ?>">
    </div>
    <div class="col-6 col-md-3">
      <input type="date" name="end_date" class="form-control" value="<?php echo htmlspecialchars($endDate); ?>">
    </div>
    <div class="col-12 col-md-1 text-end">
      <button type="submit" class="btn btn-vendor-primary w-100">ค้นหา</button>
    </div>
  </div>
</form>

<!-- ── ORDERS LIST TABLE WITH BATCH ACTION ────────────────────────── -->
<form method="POST" action="orders.php" id="batchForm">
  <input type="hidden" name="csrf_token" value="<?php echo generateCSRFToken(); ?>">

  <!-- Batch Action Toolbar -->
  <div class="d-flex align-items-center justify-content-between bg-white p-3 rounded-3 border mb-3">
    <div class="d-flex align-items-center gap-2">
      <input type="checkbox" id="selectAll" class="form-check-input">
      <label for="selectAll" class="form-check-label fw-semibold small">เลือกทั้งหมด</label>
      <span class="text-muted small">|</span>
      <span class="small text-muted">อัปเดตสถานะแบบ Batch สำหรับรายการที่เลือก:</span>
    </div>
    <div class="d-flex align-items-center gap-2">
      <select name="batch_status" class="form-select form-select-sm" style="width: 160px;">
        <option value="">-- เลือกสถานะ --</option>
        <option value="processing">📦 กำลังแพ็ค</option>
        <option value="shipped">🚚 จัดส่งแล้ว</option>
        <option value="completed">✅ สำเร็จแล้ว</option>
        <option value="cancelled">❌ ยกเลิกออเดอร์</option>
      </select>
      <button type="submit" name="batch_update_status" class="btn btn-sm btn-dark px-3">อัปเดตสถานะพร้อมกัน</button>
    </div>
  </div>

  <div class="v-card overflow-hidden mb-4">
    <div class="table-responsive">
      <table class="table table-hover align-middle mb-0">
        <thead>
          <tr>
            <th style="width:40px;"></th>
            <th>Order No</th>
            <th>ลูกค้า / เบอร์โทร</th>
            <th>จำนวนสินค้า</th>
            <th>ยอดรวมสุทธิ</th>
            <th>สถานะ</th>
            <th>บริษัทขนส่ง / Tracking</th>
            <th>วันที่สั่งซื้อ</th>
            <th class="text-end">จัดการ</th>
          </tr>
        </thead>
        <tbody>
          <?php if (empty($orders)): ?>
            <tr>
              <td colspan="9" class="text-center py-5 text-muted">
                <div>🛒</div>
                <div class="mt-2">ไม่พบรายการคำสั่งซื้อตรงกับเงื่อนไขการค้นหา</div>
              </td>
            </tr>
          <?php else: ?>
            <?php foreach ($orders as $o): ?>
              <tr>
                <td>
                  <input type="checkbox" name="order_ids[]" value="<?php echo $o['id']; ?>" class="form-check-input order-checkbox">
                </td>
                <td class="fw-bold">#<?php echo htmlspecialchars($o['order_no']); ?></td>
                <td>
                  <div class="fw-semibold text-dark"><?php echo htmlspecialchars($o['shipping_name']); ?></div>
                  <div class="small text-muted">📞 <?php echo htmlspecialchars($o['shipping_phone']); ?></div>
                </td>
                <td class="fw-semibold"><?php echo $o['total_quantity']; ?> ชิ้น</td>
                <td class="fw-bold text-success">฿<?php echo number_format($o['subtotal'], 2); ?></td>
                <td>
                  <span class="badge-status badge-status-<?php echo strtolower($o['status']); ?>">
                    <?php echo strtoupper($o['status']); ?>
                  </span>
                </td>
                <td>
                  <?php if (!empty($o['tracking_number'])): ?>
                    <span class="badge bg-light text-dark border"><?php echo htmlspecialchars($o['carrier_name'] ?? 'standard'); ?></span>
                    <div class="small font-monospace text-primary fw-bold"><?php echo htmlspecialchars($o['tracking_number']); ?></div>
                  <?php else: ?>
                    <span class="text-muted small">- ยังไม่กรอก -</span>
                  <?php endif; ?>
                </td>
                <td class="small text-muted"><?php echo date('d/m/Y H:i', strtotime($o['created_at'])); ?></td>
                <td class="text-end">
                  <a href="orders.php?view=<?php echo $o['id']; ?>" class="btn btn-sm btn-outline-primary rounded-pill px-3">
                    👁️ รายละเอียด / อัปเดต
                  </a>
                </td>
              </tr>
            <?php endforeach; ?>
          <?php endif; ?>
        </tbody>
      </table>
    </div>
  </div>
</form>

<!-- ── SINGLE ORDER DETAIL MODAL / PANEL ───────────────────────── -->
<?php if ($viewOrder): ?>
<div class="v-card p-4 border border-primary border-2 mb-4">
  <div class="d-flex justify-content-between align-items-center border-bottom pb-3 mb-3">
    <div>
      <h5 class="fw-bold mb-1">📦 รายละเอียดคำสั่งซื้อ #<?php echo htmlspecialchars($viewOrder['order_no']); ?></h5>
      <span class="small text-muted">วันที่สั่งซื้อ: <?php echo date('d/m/Y H:i', strtotime($viewOrder['order_date'])); ?></span>
    </div>
    <div class="d-flex align-items-center gap-2">
      <!-- Print Buttons -->
      <a href="orders.php?view=<?php echo $viewId; ?>&print=packing_slip" target="_blank" class="btn btn-outline-dark btn-sm">🖨️ ใบรายการ (Packing Slip)</a>
      <a href="orders.php?view=<?php echo $viewId; ?>&print=shipping_label" target="_blank" class="btn btn-outline-primary btn-sm">🏷️ ใบปะหน้า (Shipping Label)</a>
      <a href="orders.php" class="btn-close ms-2"></a>
    </div>
  </div>

  <div class="row g-4 mb-4">
    <!-- Customer Info -->
    <div class="col-md-6">
      <div class="p-3 bg-light rounded-3 border h-100">
        <h6 class="fw-bold mb-2 text-dark">👤 ข้อมูลผู้รับสินค้า</h6>
        <div><strong>ชื่อ-นามสกุล:</strong> <?php echo htmlspecialchars($viewOrder['shipping_name']); ?></div>
        <div><strong>เบอร์โทรศัพท์:</strong> <?php echo htmlspecialchars($viewOrder['shipping_phone']); ?></div>
        <div class="mt-2"><strong>ที่อยู่จัดส่ง:</strong><br><?php echo nl2br(htmlspecialchars($viewOrder['shipping_address'])); ?></div>
        <div class="mt-2">
            <strong>การชำระเงิน (<?php echo strtoupper($viewOrder['payment_method']); ?>):</strong> <span class="badge bg-secondary"><?php echo strtoupper($viewOrder['payment_status']); ?></span>
            <?php if (!empty($viewOrder['payment_slip'])): ?>
                <a href="<?php echo UPLOAD_URL . htmlspecialchars($viewOrder['payment_slip']); ?>" target="_blank" class="btn btn-sm btn-outline-info ms-2">📄 ดูสลิปชำระเงิน</a>
            <?php endif; ?>
        </div>
        <?php if (!empty($viewOrder['customer_note'])): ?>
          <div class="mt-2 text-danger small"><strong>หมายเหตุจากลูกค้า:</strong> <?php echo htmlspecialchars($viewOrder['customer_note']); ?></div>
        <?php endif; ?>
      </div>
    </div>

    <!-- Update Form (Carrier & Tracking & Status) -->
    <div class="col-md-6">
      <form method="POST" action="orders.php" class="p-3 bg-light rounded-3 border h-100">
        <input type="hidden" name="csrf_token" value="<?php echo generateCSRFToken(); ?>">
        <input type="hidden" name="vendor_order_id" value="<?php echo $viewId; ?>">

        <h6 class="fw-bold mb-2 text-dark">🚚 อัปเดตสถานะและเลขพัสดุ</h6>

        <div class="mb-2">
          <label class="form-label small fw-semibold">บริษัทขนส่ง (Carrier):</label>
          <select name="carrier_name" class="form-select form-select-sm">
            <option value="Kerry Express" <?php echo ($viewOrder['carrier_name'] === 'Kerry Express') ? 'selected' : ''; ?>>Kerry Express</option>
            <option value="Flash Express" <?php echo ($viewOrder['carrier_name'] === 'Flash Express') ? 'selected' : ''; ?>>Flash Express</option>
            <option value="ไปรษณีย์ไทย (EMS)" <?php echo ($viewOrder['carrier_name'] === 'ไปรษณีย์ไทย (EMS)') ? 'selected' : ''; ?>>ไปรษณีย์ไทย (EMS)</option>
            <option value="J&T Express" <?php echo ($viewOrder['carrier_name'] === 'J&T Express') ? 'selected' : ''; ?>>J&T Express</option>
            <option value="Ninja Van" <?php echo ($viewOrder['carrier_name'] === 'Ninja Van') ? 'selected' : ''; ?>>Ninja Van</option>
          </select>
        </div>

        <div class="mb-2">
          <label class="form-label small fw-semibold">หมายเลขพัสดุ (Tracking Number):</label>
          <input type="text" name="tracking_number" class="form-control form-control-sm" placeholder="เช่น KRY12345678TH" value="<?php echo htmlspecialchars($viewOrder['tracking_number'] ?? ''); ?>">
        </div>

        <div class="mb-3">
          <label class="form-label small fw-semibold">เปลี่ยนสถานะออเดอร์:</label>
          <select name="new_status" class="form-select form-select-sm fw-bold">
            <option value="pending" <?php echo $viewOrder['status'] === 'pending' ? 'selected' : ''; ?>>⏳ รอดำเนินการ (Pending)</option>
            <option value="processing" <?php echo $viewOrder['status'] === 'processing' ? 'selected' : ''; ?>>📦 กำลังแพ็ค (Processing)</option>
            <option value="shipped" <?php echo $viewOrder['status'] === 'shipped' ? 'selected' : ''; ?>>🚚 จัดส่งแล้ว (Shipped)</option>
            <option value="completed" <?php echo $viewOrder['status'] === 'completed' ? 'selected' : ''; ?>>✅ สำเร็จแล้ว (Completed)</option>
            <option value="cancelled" <?php echo $viewOrder['status'] === 'cancelled' ? 'selected' : ''; ?>>❌ ยกเลิก (Cancelled)</option>
          </select>
        </div>

        <button type="submit" name="update_single_status" class="btn btn-vendor-primary btn-sm w-100">
          💾 บันทึกการอัปเดต
        </button>
      </form>
    </div>
  </div>

  <!-- Items Table -->
  <h6 class="fw-bold mb-2">📋 รายการสินค้าในออเดอร์นี้</h6>
  <div class="table-responsive">
    <table class="table table-bordered align-middle mb-0">
      <thead class="table-light">
        <tr>
          <th>สินค้า</th>
          <th class="text-center">ตัวเลือก</th>
          <th class="text-center">จำนวน</th>
          <th class="text-end">ราคา/ชิ้น</th>
          <th class="text-end">รวม</th>
        </tr>
      </thead>
      <tbody>
        <?php foreach ($viewItems as $item): ?>
          <tr>
            <td>
              <div class="d-flex align-items-center gap-2">
                <img src="<?php echo !empty($item['main_image']) ? htmlspecialchars($item['main_image']) : 'https://via.placeholder.com/40'; ?>" class="rounded-2" style="width:36px;height:36px;object-fit:cover;">
                <span class="fw-semibold text-dark"><?php echo htmlspecialchars($item['product_name']); ?></span>
              </div>
            </td>
            <td class="text-center small text-muted">
              <?php echo (!empty($item['size']) || !empty($item['color'])) ? htmlspecialchars($item['size'] . ' / ' . $item['color']) : '-'; ?>
            </td>
            <td class="text-center fw-bold"><?php echo $item['quantity']; ?></td>
            <td class="text-end">฿<?php echo number_format($item['price'], 2); ?></td>
            <td class="text-end fw-bold text-success">฿<?php echo number_format($item['subtotal'], 2); ?></td>
          </tr>
        <?php endforeach; ?>
      </tbody>
      <tfoot>
        <tr>
          <th colspan="4" class="text-end">รวมยอดขายสุทธิ:</th>
          <th class="text-end fs-6 fw-bold text-primary">฿<?php echo number_format($viewOrder['subtotal'], 2); ?></th>
        </tr>
      </tfoot>
    </table>
  </div>
</div>
<?php endif; ?>

<script>
// Toggle select all checkboxes
document.getElementById('selectAll').addEventListener('change', function() {
  const checkboxes = document.querySelectorAll('.order-checkbox');
  checkboxes.forEach(cb => cb.checked = this.checked);
});
</script>

<?php require_once __DIR__ . '/vendor_footer.php'; ?>
