|
|
|
|
|
<!DOCTYPE html> |
|
|
<html lang="zh-CN"> |
|
|
<head> |
|
|
<meta charset="UTF-8"> |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|
|
<title>云端车联管家 | TCU管理平台</title> |
|
|
<link rel="stylesheet" href="style.css"> |
|
|
<script src="https://cdn.tailwindcss.com"></script> |
|
|
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script> |
|
|
<script src="https://unpkg.com/feather-icons"></script> |
|
|
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script> |
|
|
<script src="components/sidebar.js"></script> |
|
|
<script src="components/topbar.js"></script> |
|
|
<script src="components/stats-card.js"></script> |
|
|
</head> |
|
|
<body class="bg-gray-50" style="font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;"> |
|
|
<div class="flex h-screen overflow-hidden"> |
|
|
|
|
|
<custom-sidebar></custom-sidebar> |
|
|
|
|
|
<div class="flex flex-col flex-1 overflow-hidden"> |
|
|
|
|
|
<custom-topbar></custom-topbar> |
|
|
|
|
|
|
|
|
<main class="flex-1 overflow-auto p-6"> |
|
|
|
|
|
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6"> |
|
|
<stats-card |
|
|
title="车辆总数" |
|
|
value="1,842" |
|
|
icon="truck" |
|
|
color="blue"> |
|
|
</stats-card> |
|
|
<stats-card |
|
|
title="在线车辆" |
|
|
value="1,236" |
|
|
icon="wifi" |
|
|
color="green"> |
|
|
</stats-card> |
|
|
<stats-card |
|
|
title="离线车辆" |
|
|
value="452" |
|
|
icon="alert-circle" |
|
|
color="orange"> |
|
|
</stats-card> |
|
|
<stats-card |
|
|
title="异常车辆" |
|
|
value="154" |
|
|
icon="alert-octagon" |
|
|
color="red"> |
|
|
</stats-card> |
|
|
<stats-card |
|
|
title="激活TCU" |
|
|
value="1,792" |
|
|
icon="cpu" |
|
|
color="indigo"> |
|
|
</stats-card> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6"> |
|
|
<div class="bg-white rounded-xl shadow-sm p-6"> |
|
|
<h3 class="text-lg font-medium text-gray-800 mb-4">在线率统计</h3> |
|
|
<div class="h-64"> |
|
|
<canvas id="onlineRateChart"></canvas> |
|
|
</div> |
|
|
</div> |
|
|
<div class="bg-white rounded-xl shadow-sm p-6"> |
|
|
<h3 class="text-lg font-medium text-gray-800 mb-4">心跳监控</h3> |
|
|
<div class="h-64"> |
|
|
<canvas id="heartbeatChart"></canvas> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="bg-white rounded-xl shadow-sm overflow-hidden mb-6"> |
|
|
<div class="px-6 py-4 border-b border-gray-100"> |
|
|
<h3 class="text-lg font-medium text-gray-800">TCU设备列表</h3> |
|
|
</div> |
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">设备ID</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">车辆ID</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">状态</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">最后心跳</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">固件版本</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">绑定状态</th> |
|
|
<th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">操作</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200"> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-3827-AB</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-2374-XX</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">在线</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">2分钟前</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">v2.3.5</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">已绑定</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">配置</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">OTA升级</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-5291-CD</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-3942-XY</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">离线</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">3小时前</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">v2.2.1</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">已绑定</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">配置</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">OTA升级</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-6735-EF</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-5821-YZ</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">在线</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">5分钟前</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">v2.4.0</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">已绑定</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">配置</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">OTA升级</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-7821-GH</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">-</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-yellow-100 text-yellow-800">待激活</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">-</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">v2.3.0</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">未绑定</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">配置</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">OTA升级</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-9156-IJ</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-7293-XZ</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">在线</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">1分钟前</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">v2.3.8</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">已绑定</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">配置</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">OTA升级</button> |
|
|
</td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
<div class="px-6 py-4 bg-gray-50 border-t border-gray-100 flex items-center justify-between"> |
|
|
<div class="text-sm text-gray-500">显示 1 到 10 条,共 1,792 条</div> |
|
|
<div class="flex space-x-2"> |
|
|
<button class="px-3 py-1 rounded-md bg-white border border-gray-200 text-sm text-gray-600 hover:bg-gray-50">上一页</button> |
|
|
<button class="px-3 py-1 rounded-md bg-blue-500 text-white text-sm hover:bg-blue-600">1</button> |
|
|
<button class="px-3 py-1 rounded-md bg-white border border-gray-200 text-sm text-gray-600 hover:bg-gray-50">下一页</button> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
<div class="mt-8"> |
|
|
<div class="flex border-b border-gray-200"> |
|
|
<button class="px-4 py-2 font-medium text-sm text-blue-600 border-b-2 border-blue-500">TCU设备</button> |
|
|
<button class="px-4 py-2 font-medium text-sm text-gray-500 hover:text-gray-700">车辆列表</button> |
|
|
</div> |
|
|
<div class="bg-white rounded-xl shadow-sm overflow-hidden mt-1"> |
|
|
<div class="px-6 py-4 border-b border-gray-100"> |
|
|
<h3 class="text-lg font-medium text-gray-800">车辆列表</h3> |
|
|
</div> |
|
|
<div class="overflow-x-auto"> |
|
|
<table class="min-w-full divide-y divide-gray-200"> |
|
|
<thead class="bg-gray-50"> |
|
|
<tr> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">车辆ID</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">车型</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">所属机构</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">绑定设备ID</th> |
|
|
<th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">运行状态</th> |
|
|
<th class="px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider">操作</th> |
|
|
</tr> |
|
|
</thead> |
|
|
<tbody class="bg-white divide-y divide-gray-200"> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-2374-XX</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">江淮 格尔发</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">华东物流中心</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-3827-AB</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">运行中</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看轨迹</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">详情</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-3942-XY</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">东风 天龙</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">华北物流中心</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-5291-CD</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-red-100 text-red-800">维修中</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看轨迹</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">详情</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-5821-YZ</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">解放 J6</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">华南物流中心</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-6735-EF</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-green-100 text-green-800">运行中</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看轨迹</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">详情</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-7293-XZ</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">重汽 豪沃</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">华中物流中心</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">TCU-9156-IJ</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-blue-100 text-blue-800">待命</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看轨迹</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">详情</button> |
|
|
</td> |
|
|
</tr> |
|
|
<tr> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">VH-8642-ZX</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">陕汽 德龙</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">西北物流中心</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-800">-</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap"> |
|
|
<span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800">未激活</span> |
|
|
</td> |
|
|
<td class="px-6 py-4 whitespace-nowrap text-right text-sm font-medium"> |
|
|
<button class="text-indigo-600 hover:text-indigo-900 mr-3">查看轨迹</button> |
|
|
<button class="text-indigo-600 hover:text-indigo-900">详情</button> |
|
|
</td> |
|
|
</tr> |
|
|
</tbody> |
|
|
</table> |
|
|
</div> |
|
|
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script> |
|
|
</body> |
|
|
</html> |