File manager - Edit - /home/webapp69.cm.in.th/u69319090028/Shop/views/admin/finance/index.php
Back
<?php $s = $stats ?? []; ?> <div class="d-flex flex-column flex-md-row justify-content-between align-items-md-center gap-2 mb-4"> <div> <h4 class="fw-bold mb-1 text-dark">รายงานการเงินมาร์เก็ตเพลส (Marketplace Financials)</h4> <p class="text-muted small mb-0">ภาพรวมปริมาณการซื้อขายรวม (GMV), ส่วนแบ่งค่าคอมมิชชัน, ยอดคืนเงิน และรายรับสุทธิ</p> </div> <div> <a href="<?= url('/admin/finance/settlements') ?>" class="btn btn-outline-primary btn-sm py-1 px-3"> <i class="bi bi-bank2 me-1"></i>รอบการโอนเงินให้ผู้ขาย (Settlements) → </a> </div> </div> <!-- ── Filter Bar ──────────────────────────────────────── --> <div class="card border-0 shadow-sm mb-4"> <div class="card-body py-2 px-3"> <form method="GET" action="<?= url('/admin/finance') ?>" class="d-flex flex-wrap gap-2 align-items-end"> <div> <label class="form-label small fw-bold mb-1 text-muted">จากวันที่</label> <input type="date" name="date_from" class="form-control form-control-sm" value="<?= e($filters['date_from'] ?? '') ?>"> </div> <div> <label class="form-label small fw-bold mb-1 text-muted">ถึงวันที่</label> <input type="date" name="date_to" class="form-control form-control-sm" value="<?= e($filters['date_to'] ?? '') ?>"> </div> <div style="min-width: 180px;"> <label class="form-label small fw-bold mb-1 text-muted">ร้านค้า</label> <select name="store_id" class="form-select form-select-sm"> <option value="all">ทุกร้านค้า</option> <?php if (!empty($allStores)): foreach ($allStores as $st): ?> <option value="<?= (int)$st['id'] ?>" <?= ($filters['store_id'] ?? '') == $st['id'] ? 'selected' : '' ?>><?= e($st['store_name']) ?></option> <?php endforeach; endif; ?> </select> </div> <button class="btn btn-primary btn-sm px-3"> <i class="bi bi-funnel me-1"></i>กรองข้อมูล </button> <?php if (!empty(array_filter($filters, fn($v) => $v !== 'all' && $v !== ''))): ?> <a href="<?= url('/admin/finance') ?>" class="btn btn-outline-secondary btn-sm">ล้างการกรอง</a> <?php endif; ?> </form> </div> </div> <!-- ── Financial KPI Metric Cards ──────────────────────── --> <div class="row g-3 mb-4"> <div class="col-6 col-lg-3"> <div class="admin-metric-card h-100"> <div class="d-flex align-items-center justify-content-between mb-2"> <span class="small text-muted fw-semibold">GMV รวมที่สำเร็จ</span> <div class="admin-metric-icon-box bg-primary bg-opacity-10 text-primary"> <i class="bi bi-currency-exchange"></i> </div> </div> <div class="admin-metric-value text-primary">฿<?= number_format((float)($s['gmv'] ?? 0), 2) ?></div> <div class="admin-metric-sub">จาก <?= number_format((int)($s['completed_orders'] ?? 0)) ?> ออเดอร์สำเร็จ</div> </div> </div> <div class="col-6 col-lg-3"> <div class="admin-metric-card h-100"> <div class="d-flex align-items-center justify-content-between mb-2"> <span class="small text-muted fw-semibold">Platform Commission</span> <div class="admin-metric-icon-box bg-warning bg-opacity-10 text-warning"> <i class="bi bi-percent"></i> </div> </div> <div class="admin-metric-value text-warning">฿<?= number_format((float)($s['total_commission'] ?? 0), 2) ?></div> <div class="admin-metric-sub">รายได้ค่าธรรมเนียมแพลตฟอร์ม</div> </div> </div> <div class="col-6 col-lg-3"> <div class="admin-metric-card h-100"> <div class="d-flex align-items-center justify-content-between mb-2"> <span class="small text-muted fw-semibold">ยอดจ่ายผู้ขาย (Net Seller)</span> <div class="admin-metric-icon-box bg-success bg-opacity-10 text-success"> <i class="bi bi-bank"></i> </div> </div> <div class="admin-metric-value text-success">฿<?= number_format((float)($s['net_seller_revenue'] ?? 0), 2) ?></div> <div class="admin-metric-sub">ยอดเงินรอตัดรอบจ่ายร้านค้า</div> </div> </div> <div class="col-6 col-lg-3"> <div class="admin-metric-card h-100"> <div class="d-flex align-items-center justify-content-between mb-2"> <span class="small text-muted fw-semibold">ยอดคืนเงิน (Refunded)</span> <div class="admin-metric-icon-box bg-danger bg-opacity-10 text-danger"> <i class="bi bi-arrow-return-left"></i> </div> </div> <div class="admin-metric-value text-danger">฿<?= number_format((float)($s['total_refunded'] ?? 0), 2) ?></div> <div class="admin-metric-sub">คำขอคืนเงินที่เสร็จสิ้น</div> </div> </div> </div> <!-- ── Monthly Financial Breakdown Table ───────────────── --> <div class="admin-table-container mb-4"> <div class="admin-table-header"> <div class="d-flex align-items-center gap-2"> <i class="bi bi-graph-up text-primary"></i> <span class="fw-bold text-dark" style="font-size: 0.9rem;">สรุปรายได้ย้อนหลัง 6 เดือน (Monthly Performance)</span> </div> </div> <div class="table-responsive"> <table class="admin-table"> <thead> <tr> <th>เดือน / ปี (Month)</th> <th class="text-center">จำนวนคำสั่งซื้อ</th> <th class="text-end">ยอดซื้อขายรวม (Gross GMV)</th> <th class="text-end">ค่าคอมมิชชัน (Platform Fee)</th> <th class="text-end">ยอดจ่ายผู้ขาย (Net Seller Payout)</th> </tr> </thead> <tbody> <?php if (empty($monthly)): ?> <tr> <td colspan="5" class="text-center text-muted py-4">ยังไม่มีประวัติข้อมูลทางการเงินในรอบ 6 เดือนที่ผ่านมา</td> </tr> <?php else: foreach ($monthly as $m): ?> <tr> <td class="fw-semibold text-dark"> <i class="bi bi-calendar3 me-2 text-muted"></i><?= date('F Y', strtotime($m['month'] . '-01')) ?> </td> <td class="text-center font-monospace"> <?= number_format((int)$m['order_count']) ?> </td> <td class="text-end font-monospace fw-semibold text-dark"> ฿<?= number_format((float)$m['gmv'], 2) ?> </td> <td class="text-end font-monospace fw-bold text-warning"> ฿<?= number_format((float)$m['commission'], 2) ?> </td> <td class="text-end font-monospace fw-bold text-success"> ฿<?= number_format((float)$m['net_revenue'], 2) ?> </td> </tr> <?php endforeach; endif; ?> </tbody> </table> </div> </div> <!-- ── Top Stores Revenue Breakdown Table ─────────────── --> <div class="admin-table-container"> <div class="admin-table-header"> <div class="d-flex align-items-center gap-2"> <i class="bi bi-shop text-primary"></i> <span class="fw-bold text-dark" style="font-size: 0.9rem;">ยอดขายและรายได้แยกตามร้านค้า (Top Stores Performance)</span> </div> </div> <div class="table-responsive"> <table class="admin-table"> <thead> <tr> <th>ร้านค้า</th> <th class="text-center">ออเดอร์สำเร็จ</th> <th class="text-end">ยอดขายรวม (Gross Sales)</th> <th class="text-end">ค่าคอมมิชชันแพลตฟอร์ม</th> <th class="text-end">รายรับสุทธิของร้านค้า</th> </tr> </thead> <tbody> <?php if (empty($topStores)): ?> <tr> <td colspan="5" class="text-center text-muted py-4">ยังไม่มีข้อมูลยอดขายแยกตามร้านค้า</td> </tr> <?php else: foreach ($topStores as $st): ?> <tr> <td> <div class="fw-semibold text-dark"><?= e($st['store_name']) ?></div> <div class="text-muted small font-monospace">/shop/<?= e($st['store_slug']) ?></div> </td> <td class="text-center font-monospace"><?= number_format((int)$st['completed_orders']) ?></td> <td class="text-end font-monospace fw-semibold text-dark">฿<?= number_format((float)$st['store_gmv'], 2) ?></td> <td class="text-end font-monospace fw-bold text-warning">฿<?= number_format((float)$st['store_commission'], 2) ?></td> <td class="text-end font-monospace fw-bold text-success">฿<?= number_format((float)$st['store_net_revenue'], 2) ?></td> </tr> <?php endforeach; endif; ?> </tbody> </table> </div> </div>
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.22 |
proxy
|
phpinfo
|
Settings