added new headers and added table in asignation table
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
"use client";
|
||||
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
import axios from "axios";
|
||||
import { useEffect, useState } from "react";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
export default function Equipos() {
|
||||
const [cuenta, setCuenta] = useState("");
|
||||
@@ -13,7 +14,12 @@ export default function Equipos() {
|
||||
useEffect(() => {
|
||||
const fetchEquipos = async () => {
|
||||
try {
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`);
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`,
|
||||
{ headers },
|
||||
);
|
||||
setEquipos(response.data);
|
||||
} catch (error: any) {
|
||||
setMensaje(
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
import axios from "axios";
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
import axios from "axios";
|
||||
import Swal from "sweetalert2";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
interface Mesa {
|
||||
id_mesa: number;
|
||||
@@ -14,6 +15,9 @@ export default function MesasDisponibles() {
|
||||
const [mesas, setMesas] = useState<Mesa[]>();
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
useEffect(() => {
|
||||
obtenerMesas();
|
||||
}, []);
|
||||
@@ -31,8 +35,10 @@ export default function MesasDisponibles() {
|
||||
|
||||
const toggleEquipo = async (id_mesa: number) => {
|
||||
try {
|
||||
|
||||
await axios.patch(
|
||||
`${envConfig.apiUrl}/mesa/${id_mesa}/activo`
|
||||
`${envConfig.apiUrl}/mesa/${id_mesa}/activo`,
|
||||
{ headers },
|
||||
);
|
||||
|
||||
setMesas((prev) =>
|
||||
|
||||
@@ -6,6 +6,8 @@ import { getEquipoByCount } from "../lib/getEquipoByCount";
|
||||
import { getMesaByCount } from "../lib/getMesaByCount";
|
||||
import Swal from "sweetalert2";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
import { useRouter } from "next/navigation";
|
||||
|
||||
type Props = {
|
||||
inscripcion: any[];
|
||||
@@ -21,6 +23,8 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) {
|
||||
const [bitacora, setBitacora] = useState<[] | null>([]);
|
||||
const [error, setError] = useState<string>();
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
const fetchByCuenta = async (idCuenta: number) => {
|
||||
const [result, resultMesa] = await Promise.all([
|
||||
getEquipoByCount(idCuenta),
|
||||
@@ -33,19 +37,11 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) {
|
||||
setBitacora([]);
|
||||
|
||||
if (!result?.error) {
|
||||
setError("Equio")
|
||||
Swal.fire({
|
||||
title: "Ya cuentas con un equipo asignado!",
|
||||
icon: "error",
|
||||
});
|
||||
setError("Equipo")
|
||||
}
|
||||
|
||||
if (!resultMesa?.error) {
|
||||
setError("Mesa")
|
||||
Swal.fire({
|
||||
title: "Ya cuentas con mesa asignada!",
|
||||
icon: "error",
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -80,10 +76,14 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) {
|
||||
|
||||
const fetchMesas = async () => {
|
||||
try {
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
setLoadingMesas(true);
|
||||
|
||||
const response = await axios.get(
|
||||
`${envConfig.apiUrl}/mesa/activo`
|
||||
`${envConfig.apiUrl}/mesa/activo`,
|
||||
{ headers },
|
||||
);
|
||||
|
||||
setMesas(response.data);
|
||||
@@ -113,6 +113,9 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) {
|
||||
}
|
||||
|
||||
try {
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
const body = {
|
||||
tiempo_asignado: tiempo,
|
||||
id_mesa: Number(mesaSeleccionada),
|
||||
@@ -121,11 +124,12 @@ export default function AsignacionMesas({ idCuenta, inscripcion }: Props) {
|
||||
|
||||
await axios.post(
|
||||
`${envConfig.apiUrl}/bitacora-mesa`,
|
||||
body
|
||||
body,
|
||||
{ headers },
|
||||
);
|
||||
|
||||
setBitacora([]);
|
||||
|
||||
router.refresh();
|
||||
Swal.fire({
|
||||
title: "Mesa asignada correctamente!",
|
||||
icon: "success",
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
"use client";
|
||||
import SearchDate from "../SearchDate/SearchDate";
|
||||
import { useEffect, useState } from "react";
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
|
||||
import SearchDate from "../SearchDate/SearchDate";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
import "../../(private)/AsignacionEquipo/asignacion.css"
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
import axios from "axios";
|
||||
|
||||
interface equipos {
|
||||
hora_entrada: string;
|
||||
min_utilizados: number;
|
||||
@@ -21,9 +22,13 @@ export default function BitacoraEquipo({ date }: { date: string | null }) {
|
||||
const [equipos, setEquipos] = useState<any[]>([]);
|
||||
|
||||
useEffect(() => {
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
const fetchData = async () => {
|
||||
setLoadingEquipos(true);
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`);
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`, { headers },
|
||||
);
|
||||
setEquipos(response.data);
|
||||
setLoadingEquipos(false);
|
||||
};
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
"use client";
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
import { envConfig } from "../lib/config";
|
||||
|
||||
import { getEquipoByCount } from "../lib/getEquipoByCount";
|
||||
|
||||
import SearchUser from "./Global/SearchUser/searchUser";
|
||||
import SearchEquipo from "./SearchEquipo";
|
||||
import axios from "axios";
|
||||
import Information from "./Global/Information/information";
|
||||
import Swal from "sweetalert2";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
async function getEquipoId(idEquipo: number) {
|
||||
try {
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
const res = await axios.get(
|
||||
`${envConfig.apiUrl}/bitacora/equipo/${idEquipo}`,
|
||||
{ headers },
|
||||
);
|
||||
return res.data;
|
||||
} catch (error: any) {
|
||||
|
||||
@@ -4,11 +4,14 @@ import { useEffect, useState } from "react";
|
||||
import { getTableByCount } from "../lib/getTableByCount";
|
||||
import { envConfig } from "../lib/config";
|
||||
import { getMesaByCount } from "../lib/getMesaByCount";
|
||||
import { useRouter } from "next/navigation";
|
||||
|
||||
import SearchUser from "./Global/SearchUser/searchUser";
|
||||
import Information from "./Global/Information/information";
|
||||
import SearchMesa from "./SearchMesa";
|
||||
import axios from "axios";
|
||||
import Swal from "sweetalert2";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
interface props {
|
||||
numAcount: string | null;
|
||||
@@ -23,6 +26,8 @@ export default function CheckBoxMesa({ numAcount, table }: props) {
|
||||
const [error, setError] = useState()
|
||||
const [loading, setLoading] = useState<boolean>(false)
|
||||
|
||||
const router = useRouter();
|
||||
|
||||
const fetchByCuenta = async (idCuenta: number) => {
|
||||
const result = await getMesaByCount(idCuenta);
|
||||
|
||||
@@ -89,9 +94,13 @@ export default function CheckBoxMesa({ numAcount, table }: props) {
|
||||
e.preventDefault();
|
||||
setLoading(false)
|
||||
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
await axios.patch(
|
||||
`${envConfig.apiUrl}/bitacora-mesa/cancelar/${bitacora.id_bitacora_mesa}`,
|
||||
{ tiempo_asignado: minutos },
|
||||
{ headers },
|
||||
);
|
||||
|
||||
Swal.fire({
|
||||
@@ -107,6 +116,7 @@ export default function CheckBoxMesa({ numAcount, table }: props) {
|
||||
if (modo === "Mesa" && table) {
|
||||
fetchByEquipo(table);
|
||||
}
|
||||
router.refresh();
|
||||
setLoading(true)
|
||||
};
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
"use client";
|
||||
import axios from "axios";
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
import { useState } from "react";
|
||||
import Swal from "sweetalert2";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
interface Data {
|
||||
nombre_equipo: string;
|
||||
@@ -44,11 +45,17 @@ export default function Equipos() {
|
||||
e.preventDefault();
|
||||
|
||||
try {
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
|
||||
const [equipoRes, plataformaRes, areaRes] = await Promise.all([
|
||||
axios.get(`${envConfig.apiUrl}/equipo/${id}`),
|
||||
axios.get(`${envConfig.apiUrl}/alumno-inscrito/plataforma`),
|
||||
axios.get(`${envConfig.apiUrl}/area-ubicacion`),
|
||||
axios.get(`${envConfig.apiUrl}/equipo/${id}`, { headers },
|
||||
),
|
||||
axios.get(`${envConfig.apiUrl}/alumno-inscrito/plataforma`, { headers },
|
||||
),
|
||||
axios.get(`${envConfig.apiUrl}/area-ubicacion`, { headers },
|
||||
),
|
||||
]);
|
||||
|
||||
const equipo = equipoRes.data as Data;
|
||||
@@ -277,13 +284,14 @@ export default function Equipos() {
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
<button
|
||||
type="button"
|
||||
className="button buttonCharge"
|
||||
onClick={handleNuevo}
|
||||
>
|
||||
Nuevo
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
className="button buttonCharge"
|
||||
onClick={handleNuevo}
|
||||
>
|
||||
Nuevo
|
||||
</button>
|
||||
</form>
|
||||
);
|
||||
}
|
||||
//IO
|
||||
@@ -3,17 +3,25 @@
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
import "./tableEquipos.css";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
import "./tableEquipos.css";
|
||||
|
||||
export default function TableEquipos() {
|
||||
const [equipos, setEquipos] = useState<any[]>([]);
|
||||
const [loading, setLoading] = useState(true);
|
||||
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
const fetchEquipos = async () => {
|
||||
try {
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`);
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`,
|
||||
{ headers },
|
||||
);
|
||||
setEquipos(response.data);
|
||||
} catch (error: any) {
|
||||
console.error("ERROR API:", error.response?.data || error.message);
|
||||
@@ -28,7 +36,8 @@ export default function TableEquipos() {
|
||||
const toggleEquipo = async (id_equipo: number) => {
|
||||
try {
|
||||
await axios.patch(
|
||||
`${envConfig.apiUrl}/equipo/${id_equipo}/activo`
|
||||
`${envConfig.apiUrl}/equipo/${id_equipo}/activo`,
|
||||
{ headers },
|
||||
);
|
||||
|
||||
setEquipos((prev) =>
|
||||
@@ -84,7 +93,7 @@ export default function TableEquipos() {
|
||||
<td className={eq.plataforma?.nombre}>
|
||||
{eq.plataforma?.nombre}
|
||||
</td>
|
||||
<td>{eq.areaUbicacion?.nombre || eq.id_area_ubicacion}</td>
|
||||
<td>{eq.areaUbicacion?.area || eq.id_area_ubicacion}</td>
|
||||
|
||||
<td
|
||||
style={{ display: "flex", alignItems: "center", gap: "5px" }}
|
||||
@@ -105,3 +114,4 @@ export default function TableEquipos() {
|
||||
</div>
|
||||
);
|
||||
}
|
||||
//IO
|
||||
@@ -3,6 +3,7 @@ import { envConfig } from "@/app/lib/config";
|
||||
import axios from "axios";
|
||||
import { useEffect, useState } from "react";
|
||||
import Swal from "sweetalert2";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
interface Programa {
|
||||
id_programa: number;
|
||||
@@ -19,11 +20,14 @@ export default function ProgramSelector({
|
||||
const [programas, setProgramas] = useState<Programa[]>([]);
|
||||
const [checkboxes, setCheckboxes] = useState<Record<number, boolean>>({});
|
||||
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
const [programasRes] = await Promise.all([
|
||||
axios.get(`${envConfig.apiUrl}/programa`),
|
||||
]);
|
||||
axios.get(`${envConfig.apiUrl}/programa`, { headers },
|
||||
)]);
|
||||
|
||||
setProgramas(programasRes.data);
|
||||
|
||||
@@ -58,9 +62,10 @@ export default function ProgramSelector({
|
||||
{
|
||||
programas: programasSeleccionados,
|
||||
},
|
||||
{ headers },
|
||||
);
|
||||
|
||||
|
||||
|
||||
Swal.fire({
|
||||
title: "Programas actualizados en la máquina!",
|
||||
icon: "success",
|
||||
@@ -70,12 +75,15 @@ export default function ProgramSelector({
|
||||
}
|
||||
|
||||
if (id) {
|
||||
await axios.patch(`${envConfig.apiUrl}/programa-equipo/sala`, {
|
||||
sala: id,
|
||||
programas: programasSeleccionados,
|
||||
});
|
||||
await axios.patch(`${envConfig.apiUrl}/programa-equipo/sala`,
|
||||
{
|
||||
sala: id,
|
||||
programas: programasSeleccionados,
|
||||
},
|
||||
{ headers },
|
||||
);
|
||||
|
||||
|
||||
|
||||
Swal.fire({
|
||||
title: "Programas actualizados en la sala",
|
||||
icon: "success",
|
||||
@@ -90,7 +98,7 @@ export default function ProgramSelector({
|
||||
draggable: true
|
||||
});
|
||||
} catch (error) {
|
||||
|
||||
|
||||
|
||||
Swal.fire({
|
||||
title: "Error al guardar cambios!",
|
||||
@@ -116,12 +124,15 @@ export default function ProgramSelector({
|
||||
if (ubicacion && ubicacion !== "0") {
|
||||
res = await axios.get(
|
||||
`${envConfig.apiUrl}/programa-equipo/${ubicacion}`,
|
||||
{ headers },
|
||||
);
|
||||
}
|
||||
|
||||
if (id) {
|
||||
res = await axios.get(
|
||||
`${envConfig.apiUrl}/area-ubicacion/programs/${id}`,
|
||||
{ headers },
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
@@ -131,14 +142,14 @@ export default function ProgramSelector({
|
||||
} catch (error: any) {
|
||||
if (axios.isAxiosError(error)) {
|
||||
if (error.response?.status === 404) {
|
||||
|
||||
|
||||
Swal.fire({
|
||||
title: "Sin programas asignados!",
|
||||
icon: "error",
|
||||
draggable: true
|
||||
});
|
||||
} else {
|
||||
|
||||
|
||||
Swal.fire({
|
||||
title: "Error al cargar programas!",
|
||||
icon: "error",
|
||||
@@ -147,7 +158,7 @@ export default function ProgramSelector({
|
||||
|
||||
}
|
||||
} else {
|
||||
|
||||
|
||||
Swal.fire({
|
||||
title: "Error inesperado!",
|
||||
icon: "error",
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
"use client";
|
||||
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
||||
import { useEffect, useState } from "react";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
import "../../(private)/AsignacionEquipo/asignacion.css";
|
||||
|
||||
@@ -33,10 +35,15 @@ export default function SelectorEquipo({ onSearch }: Props) {
|
||||
const [loadingEquipos, setLoadingEquipos] = useState(false);
|
||||
const [open, setOpen] = useState(false);
|
||||
|
||||
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
setLoadingEquipos(true);
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`);
|
||||
const response = await axios.get(`${envConfig.apiUrl}/equipo`, { headers },
|
||||
);
|
||||
setEquipos(response.data);
|
||||
setLoadingEquipos(false);
|
||||
};
|
||||
@@ -85,7 +92,7 @@ export default function SelectorEquipo({ onSearch }: Props) {
|
||||
</div>
|
||||
|
||||
{open && (
|
||||
<div className="options" style={{ bottom: "auto"}}>
|
||||
<div className="options" style={{ bottom: "auto" }}>
|
||||
{equipos.length === 0 && (
|
||||
<div className="option disabled">
|
||||
No hay equipos disponibles
|
||||
|
||||
@@ -3,6 +3,7 @@ import { envConfig } from "@/app/lib/config";
|
||||
import { useEffect, useState } from "react";
|
||||
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
||||
import axios from "axios";
|
||||
import Cookies from "js-cookie";
|
||||
|
||||
interface Area {
|
||||
id_area_ubicacion: number;
|
||||
@@ -45,8 +46,13 @@ export default function SelectorSala({ onSearch }: Props) {
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
const token = Cookies.get("token");
|
||||
const headers = { Authorization: `Bearer ${token}` };
|
||||
|
||||
const fetchData = async () => {
|
||||
const response = await axios.get(`${envConfig.apiUrl}/area-ubicacion`);
|
||||
const response = await axios.get(`${envConfig.apiUrl}/area-ubicacion`, { headers },
|
||||
);
|
||||
setSala(response.data);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
"use client";
|
||||
|
||||
import { useState } from "react";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { usePathname, useRouter, useSearchParams } from "next/navigation";
|
||||
import { envConfig } from "@/app/lib/config";
|
||||
|
||||
import Selection from "../Selection/Selection";
|
||||
import Cookies from "js-cookie";
|
||||
import axios from "axios";
|
||||
|
||||
import Swal from "sweetalert2";
|
||||
|
||||
import "./Receipt.css";
|
||||
|
||||
interface ReceiptsProps {
|
||||
@@ -32,6 +32,8 @@ export default function Inscripcion({
|
||||
>(null);
|
||||
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
const searchParams = useSearchParams();
|
||||
|
||||
const [folio, setFolio] = useState("");
|
||||
const [amount, setAmount] = useState("");
|
||||
@@ -128,7 +130,10 @@ export default function Inscripcion({
|
||||
setAmount("");
|
||||
setDate(todayISO);
|
||||
|
||||
router.refresh();
|
||||
const params = new URLSearchParams(searchParams.toString());
|
||||
params.delete("numAcount");
|
||||
router.push(`${pathname}?${params.toString()}`);
|
||||
|
||||
} catch (error: any) {
|
||||
const msg =
|
||||
error.response?.data?.message ||
|
||||
|
||||
@@ -26,7 +26,7 @@ export default function SearchMesa() {
|
||||
|
||||
<div className="groupInput">
|
||||
<input
|
||||
type="number"
|
||||
type="text"
|
||||
placeholder="Coloca el numero de mesa"
|
||||
value={inputValue}
|
||||
onChange={(e) => setInputValue(e.target.value)}
|
||||
|
||||
Reference in New Issue
Block a user