From 68468ee72e386dc6d4fa115f643870519b917124 Mon Sep 17 00:00:00 2001 From: andrei Date: Tue, 8 Oct 2024 10:35:16 +0500 Subject: [PATCH] ._. --- src/components/DeliveryOrdersList.jsx | 14 ++++++-------- src/pages/Home.jsx | 9 +++++++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/components/DeliveryOrdersList.jsx b/src/components/DeliveryOrdersList.jsx index 40069bc..f02e6fa 100644 --- a/src/components/DeliveryOrdersList.jsx +++ b/src/components/DeliveryOrdersList.jsx @@ -20,6 +20,7 @@ const DeliveryOrdersList = ({ totalOrderId, onSubOrderClick, setDeliveryOrdersCount, + setTotalEstimatedTime, }) => { const [deliveryOrders, setDeliveryOrders] = useState([]); const [loadingDeliveryOrders, setLoadingDeliveryOrders] = useState(true); @@ -35,6 +36,11 @@ const DeliveryOrdersList = ({ const orders = await getDeliveryOrders(totalOrderId); setDeliveryOrdersCount(orders.length); setDeliveryOrders(orders); + + const totalTime = orders.reduce((sum, order) => { + return sum + (order.estimated_route_time_in_minutes || 0); + }, 0); + setTotalEstimatedTime(totalTime); } catch (error) { if (error.response && error.response.status === 401) { navigate("/login"); @@ -52,13 +58,6 @@ const DeliveryOrdersList = ({ return (minutes / 60).toFixed(2) + " час."; }; - const formatPrice = (price) => { - if (!price) { - return "не указана"; - } - return `${Math.round(price)} ₽`; - }; - const calculateRoutes = async () => { const ordersToCalculate = deliveryOrders.filter( (order) => !order.estimated_route_time_in_minutes @@ -168,7 +167,6 @@ const DeliveryOrdersList = ({ Прогнозируемое время этапа:{" "} {formatTimeInHours(order.estimated_route_time_in_minutes)}

-

Стоимость: {formatPrice(order.price)}

{calculatingRoutes.includes(order.id) && (
diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx index 39e3d1d..cc409ca 100644 --- a/src/pages/Home.jsx +++ b/src/pages/Home.jsx @@ -15,6 +15,7 @@ const Home = () => { const [loadingCreateOrder, setLoadingCreateOrder] = useState(false); const [deliveryOrdersCount, setDeliveryOrdersCount] = useState(0); const [showModal, setShowModal] = useState(false); + const [totalEstimatedTime, setTotalEstimatedTime] = useState(0); const navigate = useNavigate(); const user = JSON.parse(localStorage.getItem("user")); @@ -51,6 +52,13 @@ const Home = () => { } }; + const formatTimeInHours = (minutes) => { + if (!minutes || minutes === 0) { + return "ещё не рассчитывалось"; + } + return (minutes / 60).toFixed(2) + " час."; + }; + const handleCreateOrder = async ({ deadline, robotsCount }) => { setLoadingCreateOrder(true); try { @@ -141,6 +149,7 @@ const Home = () => { totalOrderId={order.id} onSubOrderClick={handleSubOrderClick} setDeliveryOrdersCount={setDeliveryOrdersCount} + setTotalEstimatedTime={setTotalEstimatedTime} />
)}