._.
This commit is contained in:
parent
2e6a760e40
commit
68468ee72e
@ -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)}
|
||||
</p>
|
||||
<p>Стоимость: {formatPrice(order.price)} </p>
|
||||
{calculatingRoutes.includes(order.id) && (
|
||||
<div className="spinner-border" role="status">
|
||||
<span className="visually-hidden"></span>
|
||||
|
||||
@ -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}
|
||||
/>
|
||||
</div>
|
||||
)}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user