From 0a790c538bb5dd0e1de8afd61d50c4129bbd5cc5 Mon Sep 17 00:00:00 2001 From: Veronika Smirnova Date: Tue, 22 Jul 2025 16:42:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D1=8B=20=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=B2=D1=8B=D0=B5?= =?UTF-8?q?=20=D0=BC=D0=B5=D1=82=D1=80=D0=B8=D0=BA=D0=B8=20=D1=81=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D0=B4=D0=B0,=20=D1=83=D0=BC=D0=BD=D1=8B=D0=B5=20?= =?UTF-8?q?=D1=80=D0=B5=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD=D0=B4=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D0=B8=20=D0=B1=D1=8B=D1=81=D1=82=D1=80=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B2=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=20FulfillmentStatisticsDashboard.=20=D0=9F=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B=20=D0=B4=D0=B0=D0=BD=D0=BD?= =?UTF-8?q?=D1=8B=D0=B5=20=D0=B8=D0=B7=20FulfillmentWarehouse=20=D0=B8=20?= =?UTF-8?q?=D1=83=D0=BB=D1=83=D1=87=D1=88=D0=B5=D0=BD=D1=8B=20=D1=81=D1=82?= =?UTF-8?q?=D0=B8=D0=BB=D0=B8=20=D0=B4=D0=BB=D1=8F=20=D0=B1=D0=BE=D0=BB?= =?UTF-8?q?=D0=B5=D0=B5=20=D0=BD=D0=B0=D0=B3=D0=BB=D1=8F=D0=B4=D0=BD=D0=BE?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=BE=D1=82=D0=BE=D0=B1=D1=80=D0=B0=D0=B6=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B8=D0=BD=D1=84=D0=BE=D1=80=D0=BC=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8.=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D1=8B=20=D0=B8=D0=BA=D0=BE=D0=BD=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B8=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=B4=D0=B0=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B2=D1=8B=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=83=D0=B4=D0=BE?= =?UTF-8?q?=D0=B1=D1=81=D1=82=D0=B2=D0=B0=20=D0=B8=D1=81=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fulfillment-statistics-dashboard.tsx | 142 +++++++ .../fulfillment-warehouse-dashboard.tsx | 380 +++++++----------- 2 files changed, 280 insertions(+), 242 deletions(-) diff --git a/src/components/fulfillment-statistics/fulfillment-statistics-dashboard.tsx b/src/components/fulfillment-statistics/fulfillment-statistics-dashboard.tsx index 2035b87..1164df3 100644 --- a/src/components/fulfillment-statistics/fulfillment-statistics-dashboard.tsx +++ b/src/components/fulfillment-statistics/fulfillment-statistics-dashboard.tsx @@ -27,6 +27,9 @@ import { DollarSign, Users, Truck, + Warehouse, + Eye, + EyeOff, } from "lucide-react"; export function FulfillmentStatisticsDashboard() { @@ -38,6 +41,9 @@ export function FulfillmentStatisticsDashboard() { marketplaces: true, analytics: false, performance: false, + warehouseMetrics: true, + smartRecommendations: true, + quickActions: true, }); // Мок данные для статистики @@ -67,6 +73,13 @@ export function FulfillmentStatisticsDashboard() { satisfactionTrend: 5, }; + // Данные склада (перенесено из fulfillment-warehouse) + const warehouseStats = { + efficiency: 94.5, + turnover: 2.3, + utilizationRate: 87, + }; + const formatNumber = (num: number) => { return num.toLocaleString("ru-RU"); }; @@ -535,6 +548,135 @@ export function FulfillmentStatisticsDashboard() { )} + + {/* Ключевые метрики склада (перенесено из fulfillment-warehouse) */} +
+ + {expandedSections.warehouseMetrics && ( + +
+
+
+
+ +
+
+
+ Эффективность + + {warehouseStats.efficiency}% + +
+
+ Оборачиваемость + + {warehouseStats.turnover}x + +
+
+
+
+
Загрузка склада
+
{warehouseStats.utilizationRate}%
+
+
+
+
+ )} +
+ + {/* Умные рекомендации склада (перенесено из fulfillment-warehouse) */} +
+ + {expandedSections.smartRecommendations && ( + +
+
+
+ +
+

Рекомендации по складу

+
+ + AI-анализ + +
+ +
+
+
+ + Оптимизация +
+

+ Рекомендуется увеличить запас расходников на 15% для покрытия пикового спроса +

+
+ +
+
+ + Прогноз +
+

+ Ожидается рост возвратов на 12% в следующем месяце. Подготовьте дополнительные места +

+
+ +
+
+ + Тренд +
+

+ Эффективность обработки товаров выросла на 8% за последний месяц +

+
+
+
+ )} +
+ + {/* Быстрые действия (перенесено из fulfillment-warehouse) */} +
+ + {expandedSections.quickActions && ( + +
+

Управление складом

+
+ + +
+
+ +
+ +

+ Основная функциональность склада будет добавлена на следующем этапе +

+
+
+ )} +
diff --git a/src/components/fulfillment-warehouse/fulfillment-warehouse-dashboard.tsx b/src/components/fulfillment-warehouse/fulfillment-warehouse-dashboard.tsx index f2174c8..cd142ec 100644 --- a/src/components/fulfillment-warehouse/fulfillment-warehouse-dashboard.tsx +++ b/src/components/fulfillment-warehouse/fulfillment-warehouse-dashboard.tsx @@ -153,16 +153,17 @@ export function FulfillmentWarehouseDashboard() {
- {/* Объединенный блок склада - ПЕРВЫЙ СВЕРХУ */} -
- - {expandedSections.warehouse && ( -
+ {/* Блок состояния склада с shadcn/ui */} + +
+ + {expandedSections.warehouse && ( +
{/* Уникальный модуль "Продукты" */}
@@ -273,267 +274,162 @@ export function FulfillmentWarehouseDashboard() {
- {/* Оптимизированный модуль "Товары" */} + {/* Компактный модуль "Товары" - той же высоты что и "Продукты" */}
-
+
- {/* Subtle animated background */} -
- - {/* Header with improved spacing and typography */} -
-
+ {/* Заголовок с иконкой */} +
+
-
- +
+
-
-
-
-

Товары

-

Складская обработка

+ ТОВАРЫ
- {/* Enhanced efficiency indicator */} -
-
-
- {goodsData.efficiency}% + {/* Индикатор эффективности */} +
+ + + + +
+ {goodsData.efficiency}%
- {/* Main value with improved typography */} -
-
- + {/* Основное значение */} +
+
+ {formatNumber(warehouseStats.currentGoods)} -
- единиц -
-
-
- Всего в процессе
- {/* Enhanced status cards */} -
- {/* Delivered status */} -
-
-
-
- Поставлено -
-
- {((goodsData.processing / (goodsData.processing + goodsData.rejected)) * 100).toFixed(1)}% -
-
-
- {formatNumber(goodsData.processing)} -
-
- - {/* Shipped status */} -
-
-
-
- Отправлено -
-
- {((goodsData.rejected / (goodsData.processing + goodsData.rejected)) * 100).toFixed(1)}% -
-
-
- {formatNumber(goodsData.rejected)} -
-
+ {/* В обработке с числовым значением */} +
+ В обработке: {formatNumber(goodsData.processing + goodsData.rejected)}
- {/* Processing summary */} -
-
- В обработке - - {formatNumber(goodsData.processing + goodsData.rejected)} - -
- - {/* Enhanced progress bar */} -
-
-
-
-
- - {/* Progress labels */} -
- - {formatNumber(goodsData.processing)} поставлено - - - {formatNumber(goodsData.rejected)} отправлено - -
+ {/* Прогресс-бар */} +
+
+
+
+ Поставлено: {((goodsData.processing / (goodsData.processing + goodsData.rejected)) * 100).toFixed(0)}% + Отправлено: {((goodsData.rejected / (goodsData.processing + goodsData.rejected)) * 100).toFixed(0)}%
- {/* Hover effect overlay */} -
+ {/* Декоративные элементы */} +
+
- - - - - - - -
- )} -
- - {/* Компактный заголовок с ключевыми метриками */} -
-
-
-
- -
-
-
- Эффективность - {warehouseStats.efficiency}% + {/* Брак */} + +
+
+
+
+ +
+ Брак +
+ + -{Math.abs(warehouseStats.defectsTrend)}% + +
+
+ {formatNumber(warehouseStats.currentDefects)} +
+
+ Требует утилизации +
-
- Оборачиваемость - {warehouseStats.turnover}x + + + {/* Возвраты с ПВЗ */} + +
+
+
+
+ +
+ Возвраты с ПВЗ +
+ + +{warehouseStats.returnsTrend}% + +
+
+ {formatNumber(warehouseStats.currentReturns)} +
+
+ К обработке +
+
+ + {/* Расходники ФФ */} + +
+
+
+
+ +
+ Расходники ФФ +
+
+
+ {formatNumber(warehouseStats.currentFulfillmentSupplies)} +
+
+ Упаковка, этикетки, пленка +
+
+
+ + {/* Расходники селлеров */} + +
+
+
+
+ +
+ Расходники селлеров +
+
+
+ {formatNumber(warehouseStats.currentSellerSupplies)} +
+
+ Материалы клиентов +
+
+
-
-
-
Загрузка склада
-
{warehouseStats.utilizationRate}%
-
+ )}
-
+ - {/* Нестандартные решения */} -
- {/* Интеллектуальные инсайты */} - -
-
-
- -
-

Умные рекомендации

-
- - AI-анализ - -
- -
-
-
- - Оптимизация -
-

- Рекомендуется увеличить запас расходников на 15% для покрытия пикового спроса -

-
- -
-
- - Прогноз -
-

- Ожидается рост возвратов на 12% в следующем месяце. Подготовьте дополнительные места -

-
- -
-
- - Тренд -
-

- Эффективность обработки товаров выросла на 8% за последний месяц -

-
-
-
- {/* Быстрые действия */} - -
-

Быстрые действия

-
- - -
-
- -
- -

- Основная функциональность склада будет добавлена на следующем этапе -

-
-
-