diff --git a/src/api.jsx b/src/api.jsx index e3df771..ca9844a 100755 --- a/src/api.jsx +++ b/src/api.jsx @@ -473,22 +473,17 @@ export const getTotalOrders = async () => { throw error; } }; - -export const createTotalOrder = async () => { +export const createTotalOrder = async (orderData) => { try { - const response = await axios.post( - `${API_URL}/total-orders`, - {}, - { - headers: { - Authorization: `Bearer ${getAuthToken()}`, - "Content-Type": "application/json", - }, - } - ); + const response = await axios.post(`${API_URL}/total-orders`, orderData, { + headers: { + Authorization: `Bearer ${getAuthToken()}`, + "Content-Type": "application/json", + }, + }); return response.data; } catch (error) { - console.log("Ошибка при создании общего заказа:", error); + console.log("Ошибка при создании заказа:", error); throw error; } }; diff --git a/src/pages/Home.jsx b/src/pages/Home.jsx index aa087f4..441c1ff 100644 --- a/src/pages/Home.jsx +++ b/src/pages/Home.jsx @@ -2,16 +2,28 @@ import React, { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; import DeliveryOrdersList from "../components/DeliveryOrdersList.jsx"; import { getTotalOrders, createTotalOrder } from "../api.jsx"; +import { getStatuses } from "../api.jsx"; const Home = () => { + const [statuses, setStatuses] = useState([]); const [totalOrders, setTotalOrders] = useState([]); const [expandedOrderId, setExpandedOrderId] = useState(null); const navigate = useNavigate(); + const user = JSON.parse(localStorage.getItem("user")); useEffect(() => { fetchTotalOrders(); + fetchStatuses(); }, []); + const fetchStatuses = async () => { + try { + const data = await getStatuses(); + setStatuses(data); + } catch (error) { + console.error("Ошибка при загрузке статусов:", error); + } + }; const fetchTotalOrders = async () => { try { const orders = await getTotalOrders(); @@ -22,8 +34,29 @@ const Home = () => { }; const handleCreateOrder = async () => { + const current_status = statuses.filter( + (status) => status.name === "Создан" + ); + + if (current_status.length === 0) { + console.error("Статус 'Создан' не найден"); + return; + } + + const statusId = current_status[0].id; + + const currentDate = new Date().toISOString(); + const defaultOrderData = { + order_datetime: currentDate, + count_robots: 2000, + deadline: currentDate, + price: 0.0, + user_id: user.id, + status_id: statusId, + }; + try { - const newOrder = await createTotalOrder(); + const newOrder = await createTotalOrder(defaultOrderData); setTotalOrders([...totalOrders, newOrder]); } catch (error) { console.error("Ошибка при создании заказа:", error);