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}
/>
)}