Download simulation.html from vithacocf/digital-twin-simulation: direct link, hf CLI and curl.
- Browser
- Download file 20.5 kB
-
https://huggingface.co/spaces/vithacocf/digital-twin-simulation/resolve/main/simulation.html
- Command line
-
hf download hf://spaces/vithacocf/digital-twin-simulation/simulation.html
-
curl -L -o simulation.html https://huggingface.co/spaces/vithacocf/digital-twin-simulation/resolve/main/simulation.html
20.5 kB
| <html lang="vi"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Mô phỏng Digital Twin - Digital Twin Simulation Platform</title> | |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet"> | |
| <script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></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> | |
| <style> | |
| .simulation-bg { | |
| background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); | |
| } | |
| .control-panel { | |
| background: white; | |
| border-radius: 12px; | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); | |
| } | |
| .metric-display { | |
| background: linear-gradient(145deg, #ffffff, #f1f5f9); | |
| border-radius: 8px; | |
| border: 1px solid #e2e8f0; | |
| } | |
| .simulation-visual { | |
| background: white; | |
| border-radius: 12px; | |
| box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); | |
| min-height: 400px; | |
| } | |
| .scenario-card { | |
| transition: all 0.3s ease; | |
| border: 2px solid transparent; | |
| } | |
| .scenario-card:hover { | |
| transform: translateY(-2px); | |
| box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); | |
| } | |
| .scenario-card.selected { | |
| border-color: #3b82f6; | |
| background: #eff6ff; | |
| } | |
| .slider-track { | |
| background: #e2e8f0; | |
| height: 6px; | |
| border-radius: 3px; | |
| } | |
| .slider-thumb { | |
| background: #3b82f6; | |
| height: 20px; | |
| width: 20px; | |
| border-radius: 50%; | |
| cursor: pointer; | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50"> | |
| <!-- Navigation --> | |
| <nav class="bg-white shadow-lg"> | |
| <div class="container mx-auto px-6 py-4"> | |
| <div class="flex justify-between items-center"> | |
| <a href="index.html" class="text-xl font-bold text-blue-600">Digital Twin Platform</a> | |
| <div class="flex space-x-8"> | |
| <a href="index.html" class="text-gray-600 hover:text-blue-600">Trang chủ</a> | |
| <a href="simulation.html" class="text-blue-600 font-semibold">Mô phỏng</a> | |
| </div> | |
| </div> | |
| </div> | |
| </nav> | |
| <!-- Simulation Header --> | |
| <section class="simulation-bg py-12"> | |
| <div class="container mx-auto px-6"> | |
| <div class="text-center" data-aos="fade-up"> | |
| <h1 class="text-4xl font-bold text-gray-800 mb-4">Bắt đầu Mô phỏng Digital Twin</h1> | |
| <p class="text-lg text-gray-600 max-w-3xl mx-auto"> | |
| Chọn loại mô phỏng và thiết lập các tham số để bắt đầu phân tích hệ thống logistics của bạn | |
| </p> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Simulation Selection --> | |
| <section class="py-16 bg-white"> | |
| <div class="container mx-auto px-6"> | |
| <div class="grid md:grid-cols-2 gap-12 mb-16"> | |
| <!-- Warehouse Simulation --> | |
| <div class="control-panel p-8" data-aos="fade-right"> | |
| <div class="flex items-center mb-6"> | |
| <div class="bg-blue-100 p-3 rounded-full mr-4"> | |
| <i data-feather="package" class="text-blue-600"></i> | |
| </div> | |
| <h2 class="text-2xl font-semibold text-gray-800">Warehouse Simulation</h2> | |
| </div> | |
| <div class="space-y-6"> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-700 mb-2">Dung lượng kho (m³)</label> | |
| <div class="slider-track relative"> | |
| <div class="slider-thumb absolute top-1/2 transform -translate-y-1/2" style="left: 70%;"></div> | |
| </div> | |
| <div class="flex justify-between text-sm text-gray-600 mt-1"> | |
| <span>1,000</span> | |
| <span>5,000</span> | |
| <span>10,000</span> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-700 mb-2">Số lượng SKU</label> | |
| <input type="number" value="250" class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"> | |
| </div> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-700 mb-2">Tốc độ xử lý (đơn/giờ)</label> | |
| <select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"> | |
| <option>Thấp (50 đơn/giờ)</option> | |
| <option selected>Trung bình (100 đơn/giờ)</option> | |
| <option>Cao (200 đơn/giờ)</option> | |
| </select> | |
| </div> | |
| <button class="w-full bg-blue-600 hover:bg-blue-700 text-white font-semibold py-3 px-6 rounded-lg transition duration-300"> | |
| Bắt đầu Mô phỏng Kho | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Fleet Simulation --> | |
| <div class="control-panel p-8" data-aos="fade-left"> | |
| <div class="flex items-center mb-6"> | |
| <div class="bg-green-100 p-3 rounded-full mr-4"> | |
| <i data-feather="truck" class="text-green-600"></i> | |
| </div> | |
| <h2 class="text-2xl font-semibold text-gray-800">Fleet Multi-Modal Simulation</h2> | |
| </div> | |
| <div class="space-y-6"> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-700 mb-2">Số lượng phương tiện</label> | |
| <div class="slider-track relative"> | |
| <div class="slider-thumb absolute top-1/2 transform -translate-y-1/2" style="left: 40%;"></div> | |
| </div> | |
| <div class="flex justify-between text-sm text-gray-600 mt-1"> | |
| <span>5</span> | |
| <span>20</span> | |
| <span>50</span> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-700 mb-2">Loại phương tiện chính</label> | |
| <select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"> | |
| <option>Xe tải nhỏ (< 5T)</option> | |
| <option selected>Xe tải trung (5-15T)</option> | |
| <option>Xe tải lớn (>15T)</option> | |
| <option>Đa phương thức</option> | |
| </select> | |
| </div> | |
| <div> | |
| <label class="block text-sm font-medium text-gray-700 mb-2">Khu vực hoạt động</label> | |
| <select class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500"> | |
| <option>Nội thành</option> | |
| <option selected>Liên tỉnh</option> | |
| <option>Quốc tế</option> | |
| </select> | |
| </div> | |
| <button class="w-full bg-green-600 hover:bg-green-700 text-white font-semibold py-3 px-6 rounded-lg transition duration-300"> | |
| Bắt đầu Mô phỏng Fleet | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- What-if Scenarios --> | |
| <div class="control-panel p-8" data-aos="fade-up"> | |
| <h2 class="text-2xl font-semibold text-gray-800 mb-6">Kịch bản "What-if"</h2> | |
| <p class="text-gray-600 mb-8">Chọn kịch bản giả lập để phân tích tác động đến hệ thống</p> | |
| <div class="grid md:grid-cols-2 lg:grid-cols-3 gap-6"> | |
| <div class="scenario-card p-6 rounded-lg border cursor-pointer"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-orange-100 p-2 rounded-full mr-3"> | |
| <i data-feather="trending-up" class="text-orange-600"></i> | |
| </div> | |
| <h3 class="font-semibold">Tăng volume 20-50%</h3> | |
| </div> | |
| <p class="text-sm text-gray-600">Phân tích tác động khi lượng hàng tăng đột biến</p> | |
| </div> | |
| <div class="scenario-card p-6 rounded-lg border cursor-pointer"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-red-100 p-2 rounded-full mr-3"> | |
| <i data-feather="clock" class="text-red-600"></i> | |
| </div> | |
| <h3 class="font-semibold">Delay in supply</h3> | |
| </div> | |
| <p class="text-sm text-gray-600">Đánh giá ảnh hưởng của delay trong chuỗi cung ứng</p> | |
| </div> | |
| <div class="scenario-card p-6 rounded-lg border cursor-pointer"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-yellow-100 p-2 rounded-full mr-3"> | |
| <i data-feather="alert-triangle" class="text-yellow-600"></i> | |
| </div> | |
| <h3 class="font-semibold">Equipment failure</h3> | |
| </div> | |
| <p class="text-sm text-gray-600">Mô phỏng thiết bị hỏng và tác động đến operations</p> | |
| </div> | |
| <div class="scenario-card p-6 rounded-lg border cursor-pointer"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-purple-100 p-2 rounded-full mr-3"> | |
| <i data-feather="zap" class="text-purple-600"></i> | |
| </div> | |
| <h3 class="font-semibold">Extreme demand spike</h3> | |
| </div> | |
| <p class="text-sm text-gray-600">Phân tích đột biến nhu cầu theo mùa vụ</p> | |
| </div> | |
| <div class="scenario-card p-6 rounded-lg border cursor-pointer"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-pink-100 p-2 rounded-full mr-3"> | |
| <i data-feather="package" class="text-pink-600"></i> | |
| </div> | |
| <h3 class="font-semibold">Damage / spoilage</h3> | |
| </div> | |
| <p class="text-sm text-gray-600">Đánh giá tổn thất hàng hóa và xử lý return</p> | |
| </div> | |
| <div class="scenario-card p-6 rounded-lg border cursor-pointer"> | |
| <div class="flex items-center mb-4"> | |
| <div class="bg-blue-100 p-2 rounded-full mr-3"> | |
| <i data-feather="settings" class="text-blue-600"></i> | |
| </div> | |
| <h3 class="font-semibold">Custom scenario</h3> | |
| </div> | |
| <p class="text-sm text-gray-600">Tạo kịch bản tùy chỉnh theo yêu cầu</p> | |
| </div> | |
| </div> | |
| <div class="mt-8 text-center"> | |
| <button class="bg-gray-800 hover:bg-gray-900 text-white font-semibold py-3 px-8 rounded-lg transition duration-300"> | |
| Chạy So sánh Kịch bản | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Real-time Visualization --> | |
| <section class="py-16 bg-gray-100"> | |
| <div class="container mx-auto px-6"> | |
| <div class="text-center mb-12" data-aos="fade-up"> | |
| <h2 class="text-3xl font-bold text-gray-800 mb-4">Trực quan hóa Mô phỏng</h2> | |
| <p class="text-lg text-gray-600">Theo dõi kết quả mô phỏng trong thời gian thực</p> | |
| </div> | |
| <div class="grid lg:grid-cols-3 gap-8"> | |
| <!-- Metrics Overview --> | |
| <div class="lg:col-span-1 space-y-6"> | |
| <div class="metric-display p-6" data-aos="fade-right"> | |
| <div class="flex items-center justify-between mb-4"> | |
| <h3 class="font-semibold text-gray-800">Warehouse Utilization</h3> | |
| <span class="text-2xl font-bold text-blue-600">78%</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-blue-600 h-2 rounded-full" style="width: 78%"></div> | |
| </div> | |
| </div> | |
| <div class="metric-display p-6" data-aos="fade-right" data-aos-delay="100"> | |
| <div class="flex items-center justify-between mb-4"> | |
| <h3 class="font-semibold text-gray-800">On-time Delivery</h3> | |
| <span class="text-2xl font-bold text-green-600">92%</span> | |
| </div> | |
| <div class="w-full bg-gray-200 rounded-full h-2"> | |
| <div class="bg-green-600 h-2 rounded-full" style="width: 92%"></div> | |
| </div> | |
| </div> | |
| <div class="metric-display p-6" data-aos="fade-right" data-aos-delay="200"> | |
| <div class="flex items-center justify-between mb-4"> | |
| <h3 class="font-semibold text-gray-800">Cost per Shipment</h3> | |
| <span class="text-2xl font-bold text-purple-600">₫350k</span> | |
| </div> | |
| <div class="text-sm text-gray-600">-5% so với baseline</div> | |
| </div> | |
| </div> | |
| <!-- Visualization Canvas --> | |
| <div class="lg:col-span-2 simulation-visual p-8" data-aos="fade-left"> | |
| <div class="text-center mb-6"> | |
| <h3 class="text-xl font-semibold text-gray-800">Real-time Operations Map</h3> | |
| </div> | |
| <div class="bg-gray-100 rounded-lg h-64 flex items-center justify-center"> | |
| <div class="text-center text-gray-500"> | |
| <i data-feather="map" class="w-12 h-12 mx-auto mb-2"></i> | |
| <p>Map visualization will appear here during simulation</p> | |
| </div> | |
| </div> | |
| <div class="grid grid-cols-3 gap-4 mt-6"> | |
| <div class="text-center"> | |
| <div class="bg-blue-100 p-3 rounded-full inline-flex mb-2"> | |
| <i data-feather="package" class="text-blue-600"></i> | |
| </div> | |
| <p class="text-sm font-semibold">15 Đơn hàng</p> | |
| <p class="text-xs text-gray-600">Đang xử lý</p> | |
| </div> | |
| <div class="text-center"> | |
| <div class="bg-green-100 p-3 rounded-full inline-flex mb-2"> | |
| <i data-feather="truck" class="text-green-600"></i> | |
| </div> | |
| <p class="text-sm font-semibold">8 Phương tiện</p> | |
| <p class="text-xs text-gray-600">Đang hoạt động</p> | |
| </div> | |
| <div class="text-center"> | |
| <div class="bg-orange-100 p-3 rounded-full inline-flex mb-2"> | |
| <i data-feather="alert-circle" class="text-orange-600"></i> | |
| </div> | |
| <p class="text-sm font-semibold">2 Cảnh báo</p> | |
| <p class="text-xs text-gray-600">Cần xử lý</p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Simulation Controls --> | |
| <section class="py-16 bg-white"> | |
| <div class="container mx-auto px-6"> | |
| <div class="control-panel p-8 max-w-4xl mx-auto" data-aos="fade-up"> | |
| <h2 class="text-2xl font-semibold text-gray-800 mb-6 text-center">Điều khiển Mô phỏng</h2> | |
| <div class="grid md:grid-cols-4 gap-6 mb-8"> | |
| <button class="bg-blue-600 hover:bg-blue-700 text-white py-3 px-4 rounded-lg transition duration-300 flex items-center justify-center"> | |
| <i data-feather="play" class="mr-2"></i> | |
| Bắt đầu | |
| </button> | |
| <button class="bg-yellow-500 hover:bg-yellow-600 text-white py-3 px-4 rounded-lg transition duration-300 flex items-center justify-center"> | |
| <i data-feather="pause" class="mr-2"></i> | |
| Tạm dừng | |
| </button> | |
| <button class="bg-red-600 hover:bg-red-700 text-white py-3 px-4 rounded-lg transition duration-300 flex items-center justify-center"> | |
| <i data-feather="square" class="mr-2"></i> | |
| Dừng | |
| </button> | |
| <button class="bg-gray-600 hover:bg-gray-700 text-white py-3 px-4 rounded-lg transition duration-300 flex items-center justify-center"> | |
| <i data-feather="rotate-cw" class="mr-2"></i> | |
| Reset | |
| </button> | |
| </div> | |
| <div class="flex justify-center space-x-4"> | |
| <button class="bg-green-600 hover:bg-green-700 text-white font-semibold py-3 px-8 rounded-lg transition duration-300"> | |
| Xuất Báo cáo | |
| </button> | |
| <button class="bg-purple-600 hover:bg-purple-700 text-white font-semibold py-3 px-8 rounded-lg transition duration-300"> | |
| Lưu Kịch bản | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- Footer --> | |
| <footer class="bg-gray-900 text-white py-12"> | |
| <div class="container mx-auto px-6"> | |
| <div class="text-center"> | |
| <p>© 2024 Digital Twin Simulation Platform. All rights reserved.</p> | |
| </div> | |
| </div> | |
| </footer> | |
| <script> | |
| // Initialize AOS | |
| AOS.init({ | |
| duration: 1000, | |
| once: true | |
| }); | |
| // Initialize Feather Icons | |
| feather.replace(); | |
| // Simple scenario selection | |
| document.querySelectorAll('.scenario-card').forEach(card => { | |
| card.addEventListener('click', function() { | |
| document.querySelectorAll('.scenario-card').forEach(c => c.classList.remove('selected')); | |
| this.classList.add('selected'); | |
| }); | |
| }); | |
| </script> | |
| </body> | |
| </html> |