|
|
| <!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> |