import { useState } from "react"; import { createPart } from "../api"; export default function PartForm({ onCreated }) { const initialState = { designation: "", order_no: "", material: "", length: 0, width: 0, length_first: 0, width_first: 0, thickness: 0, quantity: 1, product_name: "", status: "Создан", name: "", }; const [formData, setFormData] = useState(initialState); const handleSubmit = async (e) => { e.preventDefault(); try { // Преобразуем числовые поля, чтобы Go не ругался const dataToSend = { ...formData, length: parseFloat(formData.length), width: parseFloat(formData.width), length_first: parseFloat(formData.length_first), width_first: parseFloat(formData.width_first), thickness: parseFloat(formData.thickness), quantity: parseInt(formData.quantity), }; await createPart(dataToSend); setFormData(initialState); onCreated(); } catch (err) { alert("Ошибка: " + err.response?.data?.error); } }; return (

Регистрация новой панели

setFormData({ ...formData, order_no: e.target.value }) } required /> setFormData({ ...formData, designation: e.target.value }) } required /> setFormData({ ...formData, name: e.target.value })} required /> setFormData({ ...formData, product_name: e.target.value }) } required /> setFormData({ ...formData, material: e.target.value }) } required /> {/* Числовые поля */} setFormData({ ...formData, length: e.target.value })} required /> setFormData({ ...formData, width: e.target.value })} required /> setFormData({ ...formData, length_first: e.target.value }) } required /> setFormData({ ...formData, width_first: e.target.value }) } required /> setFormData({ ...formData, thickness: e.target.value }) } required /> setFormData({ ...formData, quantity: e.target.value }) } required />
); }