66 lines
2.6 KiB
HTML
66 lines
2.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>QTCART 통합 관리</title>
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
<link rel="stylesheet" href="/static/css/inventory.css">
|
|
</head>
|
|
<body>
|
|
<header>
|
|
<div class="logo">🛒 QT-CART</div>
|
|
<nav>
|
|
<a href="/dashboard" class="nav-btn">관제 모니터링</a>
|
|
<a href="/inventory" class="nav-btn active">통합 관리</a>
|
|
</nav>
|
|
</header>
|
|
|
|
<div class="container">
|
|
<div class="inventory-section">
|
|
<div class="section-header">
|
|
📦 재고 및 유통기한 관리
|
|
<button onclick="refreshAll()" style="background:none; border:none; color:#3b82f6; cursor:pointer; font-weight:600;">🔄 새로고침</button>
|
|
</div>
|
|
<div class="table-wrapper">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th width="10%">ID</th>
|
|
<th width="30%">상품명</th>
|
|
<th width="20%">가격</th>
|
|
<th width="25%" class="sortable" onclick="renderTable('expiry')">유통기한 ▼</th>
|
|
<th width="15%" class="sortable" onclick="renderTable('stock')">재고량 ▼</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="inventoryBody"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="sales-section">
|
|
<div class="kpi-container">
|
|
<div class="kpi-card">
|
|
<div class="kpi-icon">💰</div>
|
|
<div class="kpi-title">이번 달 총 매출</div>
|
|
<div class="kpi-value" id="monthTotal">0원</div>
|
|
</div>
|
|
<div class="kpi-card">
|
|
<div class="kpi-icon">🧾</div>
|
|
<div class="kpi-title">이번 달 거래 수</div>
|
|
<div class="kpi-value" id="monthCount">0건</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="chart-container">
|
|
<div style="font-weight:700; color:#e2e8f0; margin-bottom:10px;">📉 최근 30일 매출 추이</div>
|
|
<div style="flex:1; position: relative;">
|
|
<canvas id="salesChart"></canvas>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script src="/static/js/inventory.js"></script>
|
|
</body>
|
|
</html> |