суббота, 1 ноября 2025 г.

дрон

import React, { useState, useEffect } from 'react'; import { Package, Drone, MapPin, Clock, CheckCircle, AlertTriangle, Battery, QrCode, Users, BarChart3, Settings, Smartphone, Shield, Zap, TrendingUp, Calendar, User, Search, Filter, Download } from 'lucide-react'; const App = () => { const [activeTab, setActiveTab] = useState('dashboard'); const [selectedDrone, setSelectedDrone] = useState(null); const [orders, setOrders] = useState([ { id: 'ORD-001', customer: 'Иван Петров', status: 'delivered', drone: 'DRN-001', time: '10:30', container: 'CNT-001' }, { id: 'ORD-002', customer: 'Мария Сидорова', status: 'in_transit', drone: 'DRN-002', time: '11:15', container: 'CNT-002' }, { id: 'ORD-003', customer: 'Алексей Кузнецов', status: 'pending', drone: 'DRN-003', time: '12:00', container: 'CNT-003' }, { id: 'ORD-004', customer: 'Елена Волкова', status: 'delivered', drone: 'DRN-001', time: '09:45', container: 'CNT-004' }, ]); const [drones] = useState([ { id: 'DRN-001', status: 'charging', battery: 95, location: 'Склад', orders: 2 }, { id: 'DRN-002', status: 'in_transit', battery: 78, location: 'Улица Ленина, 15', orders: 1 }, { id: 'DRN-003', status: 'ready', battery: 100, location: 'Склад', orders: 0 }, { id: 'DRN-004', status: 'maintenance', battery: 45, location: 'Тех. зона', orders: 0 }, ]); const getStatusColor = (status) => { switch (status) { case 'delivered': return 'text-green-600 bg-green-100'; case 'in_transit': return 'text-blue-600 bg-blue-100'; case 'pending': return 'text-yellow-600 bg-yellow-100'; case 'charging': return 'text-green-600 bg-green-100'; case 'ready': return 'text-blue-600 bg-blue-100'; case 'in_transit': return 'text-purple-600 bg-purple-100'; case 'maintenance': return 'text-red-600 bg-red-100'; default: return 'text-gray-600 bg-gray-100'; } }; const getStatusText = (status) => { switch (status) { case 'delivered': return 'Доставлен'; case 'in_transit': return 'В пути'; case 'pending': return 'Ожидает'; case 'charging': return 'Заряжается'; case 'ready': return 'Готов'; case 'maintenance': return 'Обслуживание'; default: return status; } }; const Dashboard = () => (
{/* Stats Cards */}

Активные заказы

24

Дроны в работе

8

Среднее время

18 мин

Успешные доставки

98.5%

{/* Charts and Maps */}

Карта доставки

Интерактивная карта доставки

Статистика

Сегодняшние доставки 42
Завершенные заказы 38
Средняя оценка 4.8/5
); const Orders = () => (

Управление заказами

{orders.map((order) => ( ))}
Заказ Клиент Статус Дрон Время Контейнер
{order.id}
{order.customer} {getStatusText(order.status)} {order.drone} {order.time}
{order.container}
); const Drones = () => (

Флот дронов

{drones.map((drone) => (
setSelectedDrone(drone)} >

{drone.id}

Статус: {getStatusText(drone.status)}
Батарея:
{drone.battery}%
Местоположение: {drone.location}
Активные заказы: {drone.orders}
))}
{selectedDrone && (

Детали дрона {selectedDrone.id}

Местоположение

{selectedDrone.location}

Заряд батареи

{selectedDrone.battery}%

Активные заказы

{selectedDrone.orders}

Последняя активность

10 мин назад

)}
); const Security = () => (

Система безопасности

Распознавание QR-кодов

Автоматическая идентификация контейнеров с точностью 99.9%

Активно

Обнаружение препятствий

Лидарные датчики и компьютерное зрение для безопасного полета

Активно

Аварийное торможение

Мгновенная реакция на критические ситуации

Готово

Журнал безопасности

QR-код успешно распознан

Контейнер CNT-001, 10:30

Препятствие обнаружено

Дрон DRN-002, маршрут изменен, 11:12

Успешная доставка

Заказ ORD-001, подтверждено клиентом, 10:45

); const renderContent = () => { switch (activeTab) { case 'dashboard': return ; case 'orders': return ; case 'drones': return ; case 'security': return ; default: return ; } }; return (
{/* Header */}

Дрон-бокс лента

Система автоматической доставки

Администратор
{/* Navigation */} {/* Main Content */}
{renderContent()}
{/* Footer */}

© 2024 Дрон-бокс лента. Все права защищены.

Версия 1.0.0
); }; export default App;

Комментариев нет:

Отправить комментарий