QT-CART
This commit is contained in:
1 parent
e429161a89
commit
0c55b8f1aa
134 files changed
+6071
-5801
No files matched your search
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>QTCART 관제 시스템</title>
|
||||
<link rel="stylesheet" href="/static/css/dashboard.css">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="logo">🛒 QT-CART</div>
|
||||
<nav>
|
||||
<a href="/dashboard" class="nav-btn active">관제 모니터링</a>
|
||||
<a href="/inventory" class="nav-btn">통합 관리</a>
|
||||
</nav>
|
||||
<div class="status-group">
|
||||
<div id="apiBadge" class="status-badge off"><span class="dot"></span> 서버 연결</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="cart-select-grid" id="cartGrid">
|
||||
</div>
|
||||
|
||||
<div id="detailPanel" class="cart-panel">
|
||||
<div class="panel-header">
|
||||
<div class="cart-info">
|
||||
<div class="cart-icon">🛒</div>
|
||||
<div class="cart-name" id="detailName">QTCART 1호차</div>
|
||||
</div>
|
||||
<div id="detailStatusText" class="panel-status">● 데이터 로딩중</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="panel-left">
|
||||
<div class="sensor-grid">
|
||||
<div class="data-box">
|
||||
<div class="data-label">배터리 잔량</div>
|
||||
<div class="data-value"><span id="detailBattery">--</span><span class="unit">%</span></div>
|
||||
</div>
|
||||
<div class="data-box">
|
||||
<div class="data-label">현재 속도</div>
|
||||
<div class="data-value"><span id="detailSpeed">--</span><span class="unit">cm/s</span></div>
|
||||
</div>
|
||||
<div class="data-box">
|
||||
<div class="data-label">기대 무게</div>
|
||||
<div class="data-value" style="color:#fbbf24;"><span id="detailExpected">0</span><span class="unit">g</span></div>
|
||||
</div>
|
||||
<div class="data-box">
|
||||
<div class="data-label">실제 무게</div>
|
||||
<div class="data-value"><span id="detailReal">--</span><span class="unit">g</span></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="items-section">
|
||||
<div class="items-header">
|
||||
<div class="items-title">📦 담긴 상품 목록</div>
|
||||
<div class="items-summary">
|
||||
총 <span id="detailCount">0</span>개
|
||||
<span class="total-price" id="detailPrice">0원</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-scroll-box">
|
||||
<table class="items-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>상품명</th>
|
||||
<th style="text-align: right;">단가</th>
|
||||
<th style="text-align: right;">무게</th>
|
||||
<th style="text-align: right;">수량</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="detailListBody">
|
||||
<tr><td colspan="4" style="text-align: center; color: #64748b; padding: 30px;">데이터 없음</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-right">
|
||||
<div class="map-header">
|
||||
<div class="map-title">🗺️ 실시간 위치</div>
|
||||
<div class="map-coords" id="mapCoords">X: 0.0, Y: 0.0</div>
|
||||
</div>
|
||||
<div class="canvas-container">
|
||||
<canvas id="robotMap" width="500" height="400"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script src="/static/js/dashboard.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
<!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>
|
||||
Reference in new issue
Block a user