diff --git a/README.md b/README.md new file mode 100644 index 0000000..9338c80 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# testCursor + +Разработка ведётся в ветке **dev**. + +```bash +git checkout dev +``` diff --git a/app.js b/app.js deleted file mode 100644 index e69de29..0000000 diff --git a/test.html b/test.html deleted file mode 100644 index b098b79..0000000 --- a/test.html +++ /dev/null @@ -1,294 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { - Package, - ArrowRightLeft, - Clock, - FileText, - CheckCircle2, - ClipboardList, - Bot, - Info, - Layers, - ChevronRight, - Smartphone -} from 'lucide-react'; - -// Корпоративные цвета Koblik Group -const COLORS = { - primary: '#FF9E00', // Фирменный оранжевый - dark: '#414449', // Корпоративный графитовый - background: '#F8F9FA', - text: '#2D2F33', - white: '#FFFFFF' -}; - -export default function App() { - const [currentTime, setCurrentTime] = useState(new Date()); - - useEffect(() => { - const timer = setInterval(() => setCurrentTime(new Date()), 1000); - return () => clearInterval(timer); - }, []); - - // Список активных приоритетных документов в работе - const priorityDocuments = [ - { - id: "Заказ № 1042-88", - client: 'ООО "Вектор"', - total: 1250, - picked: 875, - type: 'Отгрузка', - priority: 'Высокий' - }, - { - id: "Заказ № 1042-95", - client: 'АО "АгроТех"', - total: 400, - picked: 380, - type: 'Кросс-докинг', - priority: 'Критический' - }, - { - id: "Приемка № 884-П", - client: 'Завод "Деталь"', - total: 2000, - picked: 450, - type: 'Приемка', - priority: 'Средний' - } - ]; - - // Данные активности сотрудников: ТСД заменено на Номер заказа - const tsdActivity = [ - { orderId: 'ЗКЗ-1042-88', worker: 'Иванов И.А.', item: 'Вал карданный L=1200', quantity: 12, unit: 'шт', itemStatus: 'arrived' }, - { orderId: 'ЗКЗ-1042-95', worker: 'Смирнов А.В.', item: 'Подшипник 206 (закрытый)', quantity: 48, unit: 'шт', itemStatus: 'planned' }, - { orderId: 'ЗКЗ-1042-92', worker: 'Петрова Е.С.', item: 'Редуктор цилиндрический Ц2У', quantity: 2, unit: 'шт', itemStatus: 'arrived' }, - { orderId: 'ЗКЗ-1042-89', worker: 'Сидоров К.М.', item: 'Звездочка Z-24 t=19.05', quantity: 120, unit: 'шт', itemStatus: 'planned' }, - ]; - - const containerMoves = [ - { id: 1, container: 'CONT-8892', robot: 'RBT-14', from: 'Приемка', to: 'A-12-04', status: 'В пути', statusType: 'moving' }, - { id: 2, container: 'CONT-1024', robot: 'RBT-02', from: 'B-05-01', to: 'Отгрузка', status: 'Ожидает ТС', statusType: 'waiting' }, - { id: 3, container: 'CONT-5531', robot: 'RBT-09', from: 'Консолидация', to: 'Буфер', status: 'В пути', statusType: 'moving' }, - ]; - - const getStatusBadge = (type, text) => { - const styles = { - moving: "bg-orange-50 text-orange-700 border-orange-200", - waiting: "bg-slate-100 text-slate-600 border-slate-200", - error: "bg-red-50 text-red-700 border-red-200", - processing: "bg-[#FF9E00] text-white border-[#E68E00]", - new: "bg-slate-50 text-slate-500 border-slate-200", - done: "bg-green-50 text-green-700 border-green-200" - }; - return ( - - {text} - - ); - }; - - return ( -
- - {/* Шапка KOBLIK */} -
-
-
- - - - - - - - - -
-

WMS Dashboard

-
- -
-
- Текущее время -
- {currentTime.toLocaleTimeString('ru-RU')} -
-
-
- -
-
-
- -
- - {/* СЕКЦИЯ: ПРИОРИТЕТНЫЕ ЗАДАНИЯ В РАБОТЕ */} -
-
-
- -

Приоритетные задания

-
- Всего в работе: {priorityDocuments.length} -
- -
- {priorityDocuments.map((doc, index) => { - const progress = Math.round((doc.picked / doc.total) * 100); - return ( -
-
-
-
- - {doc.priority} - - {doc.type} -
-

{doc.id}

-

{doc.client}

-
- -
- -
-
- {doc.picked} / {doc.total} ед. - {progress}% -
-
-
-
-
-
- ); - })} -
-
- -
- - {/* Операторы ТСД (Активность по заказам) */} -
-
-
- -

Операторы ТСД

-
-
- -
- - - - - - - - - - {tsdActivity.map((task, index) => ( - - - - - - ))} - -
Сотрудник / ЗаказНоменклатура и планНаличие в зоне
-
{task.worker}
-
{task.orderId}
-
-
-
- {task.item} -
-
- Потребность: - - {task.quantity} {task.unit}. - -
-
-
- {task.itemStatus === 'arrived' ? ( - - В зоне отбора - - ) : ( - - Ожидает подвоза - - )} -
-
-
- - {/* Логистика роботов */} -
-
-
- -

Логистика роботов

-
-
- -
- - - - - - - - - - - {containerMoves.map((move) => ( - - - - - - - ))} - -
ID ТарыМаршрутЮнитСтатус
- {move.container} - -
- {move.from} - - {move.to} -
-
-
- {move.robot} -
-
- {getStatusBadge(move.statusType, move.status)} -
-
-
- -
-
- - -
- ); -} \ No newline at end of file