diff --git a/src/components/DeliveryOrdersList.jsx b/src/components/DeliveryOrdersList.jsx
index cb41808..4579497 100644
--- a/src/components/DeliveryOrdersList.jsx
+++ b/src/components/DeliveryOrdersList.jsx
@@ -1,8 +1,13 @@
import { getDeliveryOrders } from "../api";
import React, { useState, useEffect } from "react";
-const DeliveryOrdersList = ({ totalOrderId, onSubOrderClick }) => {
+const DeliveryOrdersList = ({
+ totalOrderId,
+ onSubOrderClick,
+ setDeliveryOrdersCount,
+}) => {
const [deliveryOrders, setDeliveryOrders] = useState([]);
+ const [loadingDeliveryOrders, setLoadingDeliveryOrders] = useState(true);
useEffect(() => {
fetchDeliveryOrders();
@@ -11,25 +16,32 @@ const DeliveryOrdersList = ({ totalOrderId, onSubOrderClick }) => {
const fetchDeliveryOrders = async () => {
try {
const orders = await getDeliveryOrders(totalOrderId);
+ setDeliveryOrdersCount(orders.length);
setDeliveryOrders(orders);
} catch (error) {
console.error("Ошибка при загрузке подзаказов:", error);
+ } finally {
+ setLoadingDeliveryOrders(false);
}
};
return (
- {deliveryOrders.map((order, index) => (
-
onSubOrderClick(order.id)}
- >
-
- Подзаказ #{index + 1} {/* Отображение порядкового номера */}
-
+ {loadingDeliveryOrders ? (
+
+
- ))}
+ ) : (
+ deliveryOrders.map((order, index) => (
+
onSubOrderClick(order.id)}
+ >
+
Подзаказ #{index + 1}
+
+ ))
+ )}
);
};
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx
index 5a9aa54..d600494 100644
--- a/src/pages/Home.jsx
+++ b/src/pages/Home.jsx
@@ -9,12 +9,14 @@ const Home = () => {
const [totalOrders, setTotalOrders] = useState([]);
const [expandedOrderId, setExpandedOrderId] = useState(null);
const [loadingStatuses, setLoadingStatuses] = useState(true);
+ const [loadingOrders, setLoadingOrders] = useState(true);
+ const [deliveryOrdersCount, setDeliveryOrdersCount] = useState(0);
const navigate = useNavigate();
const user = JSON.parse(localStorage.getItem("user"));
useEffect(() => {
- fetchTotalOrders();
fetchStatuses();
+ fetchTotalOrders();
}, []);
const fetchStatuses = async () => {
@@ -34,6 +36,8 @@ const Home = () => {
setTotalOrders(orders);
} catch (error) {
console.error("Ошибка при загрузке заказов:", error);
+ } finally {
+ setLoadingOrders(false);
}
};
@@ -100,25 +104,50 @@ const Home = () => {
)}
- {totalOrders.map((order) => (
-
-
handleToggleAccordion(order.id)}
- >
- Заказ от {new Date(order.order_datetime).toLocaleString()}
+ {loadingOrders ? (
+
+
+
-
- {expandedOrderId === order.id && (
-
-
-
- )}
- ))}
+ ) : (
+ totalOrders.map((order) => (
+
+
handleToggleAccordion(order.id)}
+ >
+ Заказ от {new Date(order.order_datetime).toLocaleString()}
+
+
+ {expandedOrderId === order.id && (
+
+
+ Статус:{" "}
+ {order.status_name || "Неизвестный статус"}
+
+
+ Количество роботов: {order.count_robots}
+
+
+ Количество подзаказов:{" "}
+ {deliveryOrdersCount || 0}
+
+
+ Создатель:{" "}
+ {order.user_login || "Неизвестный пользователь"}
+
+
+
+
+ )}
+
+ ))
+ )}
);
};