This commit is contained in:
Андрей Дувакин 2024-10-05 15:16:53 +05:00
parent 2ff4d89a1a
commit 759c5da81d
2 changed files with 42 additions and 14 deletions

View File

@ -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;
}
};

View File

@ -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);