import axios from "axios"; import { useForm } from "react-hook-form"; import "bootstrap/dist/css/bootstrap.min.css"; import "../App.css"; import { Link, useNavigate } from "react-router-dom"; import { ToastContainer, toast } from "react-toastify"; import "react-toastify/dist/ReactToastify.css"; import { useEffect, useState } from "react"; const ServiceForm = () => { const [authToken, setAuthToken] = useState([]); useEffect(() => { const fetchData = async () => { const authToken = localStorage.getItem('authToken'); setAuthToken(authToken); if (!authToken) { return; } } fetchData(); }, []); const navigate = useNavigate(); const { register, handleSubmit, formState: { errors }, reset, } = useForm({ defaultValues: { nombreCliente: "", telefono: "", direccion: "", fechaServicio: "", tipoServicio: "", observaciones: "", }, }); const onSubmit = async (data) => { try { // Datos del cliente const clienteData = { nombreCliente: data.nombreCliente, telefono: data.telefono, direccion: data.direccion, }; const clienteResponse = await axios.post( "http://localhost:8080/clientesService", clienteData, { headers: { 'Authorization': authToken, }, }, ); console.log(localStorage.getItem('Authorization')); console.log("Datos del cliente enviados con éxito", clienteResponse.data); const clienteId = clienteResponse.data.id; const solicitudData = { tipoServicio: data.tipoServicio, observaciones: data.observaciones, fechaServicio: data.fechaServicio, clienteServiceId: clienteId, }; const solicitudResponse = await axios.post( "http://localhost:8080/solicitudesServicio", solicitudData, { headers: { 'Authorization': authToken, }, } ); console.log(localStorage.getItem('Authorization')); console.log("formulario enviado con exito", solicitudResponse.data); toast.success("Formulario enviado con exito"); reset(); } catch (error) { console.log("error al enviar los datos", error); } }; const dateNow = () => { // Converti la fecha en un formato YYYY-MM-DD, // split divide la fecha en un subarreglo con base en una ocurrencia T y toma el primer valor del arreglo let fechaIso = new Date().toISOString().split("T")[0]; return fechaIso; }; return (
{errors.nombreCliente && (
Este campo es obligatorio
)}
{errors.telefono && (
Este campo es obligatorio
)}
{errors.fechaServicio && (
Este campo es obligatorio
)}
{errors.direccion && (
Este campo es obligatorio
)}
{errors.tipoServicio && (
Este campo es obligatorio
)}