diff --git a/src/app/configs/navigationConfig.ts b/src/app/configs/navigationConfig.ts
index 5e66e5b..807e9ab 100644
--- a/src/app/configs/navigationConfig.ts
+++ b/src/app/configs/navigationConfig.ts
@@ -44,7 +44,7 @@ const navigationConfig: FuseNavItemType[] = [
translate: 'PRODUCT',
type: 'item',
icon: 'heroicons-outline:clipboard-check',
- url: 'producto'
+ url: 'product/list'
}
];
diff --git a/src/app/configs/routesConfig.tsx b/src/app/configs/routesConfig.tsx
index 2d60c6e..fd82ac4 100644
--- a/src/app/configs/routesConfig.tsx
+++ b/src/app/configs/routesConfig.tsx
@@ -9,10 +9,10 @@ import SignOutConfig from '../main/sign-out/SignOutConfig';
import Error404Page from '../main/404/Error404Page';
import ExampleConfig from '../main/example/ExampleConfig';
import ProjectDashboardAppConfig from '../main/dashboard/project/ProjectDashboardAppConfig';
-import ProductoConfig from '../main/producto/ProductoConfig';
+import ProductoConfigs from '../main/producto/ProductoConfig'
import InvoiceConfigs from '../main/invoice/InvoiceConfig';
-const routeConfigs: FuseRouteConfigsType = [ExampleConfig, SignOutConfig, SignInConfig, SignUpConfig, ProjectDashboardAppConfig, ProductoConfig, ...InvoiceConfigs];
+const routeConfigs: FuseRouteConfigsType = [ExampleConfig, SignOutConfig, SignInConfig, SignUpConfig, ProjectDashboardAppConfig, ...ProductoConfigs, ...InvoiceConfigs];
/**
* The routes of the application.
diff --git a/src/app/main/producto/Producto.tsx b/src/app/main/producto/Producto.tsx
index 9d759ae..7f85aa7 100644
--- a/src/app/main/producto/Producto.tsx
+++ b/src/app/main/producto/Producto.tsx
@@ -2,7 +2,7 @@ import DemoContent from '@fuse/core/DemoContent';
import FusePageSimple from '@fuse/core/FusePageSimple';
import { useTranslation } from 'react-i18next';
import { styled } from '@mui/material/styles';
-import ListDetalleProductoRender from './widgets/DetalleProductoRender';
+import ListDetalleProductoRender from './detalleProducto/DetalleProductoRender';
import ProductoRender from './ProductoRender';
const Root = styled(FusePageSimple)(({ theme }) => ({
diff --git a/src/app/main/producto/ProductoConfig.ts b/src/app/main/producto/ProductoConfig.ts
new file mode 100644
index 0000000..d453022
--- /dev/null
+++ b/src/app/main/producto/ProductoConfig.ts
@@ -0,0 +1,10 @@
+import { FuseRouteConfigsType } from "@fuse/utils/FuseUtils";
+import FormularioProductoConfig from "./formularioProducto/FormularioProductoConfig";
+import DetalleProductoConfig from "./detalleProducto/DetalleProductoConfig";
+
+const productoConfigs: FuseRouteConfigsType = [
+ DetalleProductoConfig,
+ FormularioProductoConfig
+]
+
+export default productoConfigs;
\ No newline at end of file
diff --git a/src/app/main/producto/ProductoConfig.tsx b/src/app/main/producto/ProductoConfig.tsx
deleted file mode 100644
index c8da1dd..0000000
--- a/src/app/main/producto/ProductoConfig.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import i18next from "i18next";
-import { lazy } from 'react';
-import en from './i18n/en';
-
-i18next.addResourceBundle('en', 'examplePage', en);
-
-const Producto = lazy(() => import('./Producto'));
-
-const ProductoConfig = {
- settings: {
- layout: {}
- },
- routes: [
- {
- path: 'producto',
- element:
- }
- ]
-};
-
-export default ProductoConfig;
\ No newline at end of file
diff --git a/src/app/main/producto/ProductoRender.tsx b/src/app/main/producto/ProductoRender.tsx
index 58e987c..93c7afb 100644
--- a/src/app/main/producto/ProductoRender.tsx
+++ b/src/app/main/producto/ProductoRender.tsx
@@ -1,11 +1,12 @@
import BuscarProducto from "./widgets/BuscarProducto";
-import ListDetalleProductoRender from "./widgets/DetalleProductoRender";
+import ListDetalleProductoRender from "./detalleProducto/DetalleProductoRender";
+import DetalleProducto from "./detalleProducto/DetalleProducto";
function ProductoRender() {
return(
-
+
)
}
diff --git a/src/app/main/producto/detalleProducto/DetalleProducto.tsx b/src/app/main/producto/detalleProducto/DetalleProducto.tsx
new file mode 100644
index 0000000..f03c992
--- /dev/null
+++ b/src/app/main/producto/detalleProducto/DetalleProducto.tsx
@@ -0,0 +1,9 @@
+import ListDetalleProductoRender from "./DetalleProductoRender"
+
+const DetalleProducto = () => {
+ return(
+
+ )
+}
+
+export default DetalleProducto;
\ No newline at end of file
diff --git a/src/app/main/producto/detalleProducto/DetalleProductoConfig.tsx b/src/app/main/producto/detalleProducto/DetalleProductoConfig.tsx
new file mode 100644
index 0000000..918e410
--- /dev/null
+++ b/src/app/main/producto/detalleProducto/DetalleProductoConfig.tsx
@@ -0,0 +1,21 @@
+import i18next from "i18next";
+import { lazy } from 'react';
+import es from '../i18n/es';
+
+i18next.addResourceBundle('es', 'detailProduct', es);
+
+const Producto = lazy(() => import('../Producto'));
+
+const DetalleProductoConfig = {
+ settings: {
+ layout: {}
+ },
+ routes: [
+ {
+ path: 'product/list',
+ element:
+ }
+ ]
+};
+
+export default DetalleProductoConfig;
\ No newline at end of file
diff --git a/src/app/main/producto/widgets/DetalleProductoRender.tsx b/src/app/main/producto/detalleProducto/DetalleProductoRender.tsx
similarity index 56%
rename from src/app/main/producto/widgets/DetalleProductoRender.tsx
rename to src/app/main/producto/detalleProducto/DetalleProductoRender.tsx
index f5d0143..124be1f 100644
--- a/src/app/main/producto/widgets/DetalleProductoRender.tsx
+++ b/src/app/main/producto/detalleProducto/DetalleProductoRender.tsx
@@ -1,4 +1,4 @@
-import * as React from 'react';
+import * as React from "react";
import FuseSvgIcon from "@fuse/core/FuseSvgIcon";
import {
Button,
@@ -15,6 +15,7 @@ import {
import { useTranslation } from "react-i18next";
import { Link } from "react-router-dom";
import clsx from "clsx";
+import ResponsiveDialog from "../widgets/DialogDelete";
function ListDetalleProductoRender() {
const [page, setPage] = React.useState(0);
@@ -24,7 +25,9 @@ function ListDetalleProductoRender() {
setPage(newPage);
};
- const handleChangeRowsPerPage = (event: React.ChangeEvent) => {
+ const handleChangeRowsPerPage = (
+ event: React.ChangeEvent
+ ) => {
setRowsPerPage(+event.target.value);
setPage(0);
};
@@ -36,7 +39,7 @@ function ListDetalleProductoRender() {
"Descripción",
"Stock Mínimo",
"Estado",
- "Acciones"
+ "Acciones",
];
const rows = [
@@ -104,7 +107,7 @@ function ListDetalleProductoRender() {
variant="contained"
color="secondary"
component={Link}
- to={'/invoice/edit'}
+ to={"/product/form"}
startIcon={
{rows
- .slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage)
- .map((row, index) => (
-
- {Object.entries(row).map(([key, value]) => {
- switch (key) {
- case "artEstado": {
- return (
-
- (
+
+ {Object.entries(row).map(([key, value]) => {
+ switch (key) {
+ case "artEstado": {
+ return (
+
+
+ {value}
+
+
+ );
+ }
+ case "action": {
+ return (
+
- {value}
-
-
- );
- }
- case "action": {
- return (
-
-
+
- heroicons-outline:pencil-alt
+
+ heroicons-outline:pencil-alt
+
-
-
-
- heroicons-outline:trash
-
-
-
- );
+
+
+
+
+
+ );
+ }
+ default: {
+ return (
+
+ {value}
+
+ );
+ }
}
- default: {
- return (
-
- {value}
-
- );
- }
- }
- })}
-
- ))}
+ })}
+
+ ))}
+ rowsPerPageOptions={[5, 10, 25]}
+ component="div"
+ count={rows.length}
+ rowsPerPage={rowsPerPage}
+ page={page}
+ onPageChange={handleChangePage}
+ onRowsPerPageChange={handleChangeRowsPerPage}
+ />
- )
+ );
}
-export default ListDetalleProductoRender;
\ No newline at end of file
+export default ListDetalleProductoRender;
diff --git a/src/app/main/producto/formularioProducto/FormularioProducto.tsx b/src/app/main/producto/formularioProducto/FormularioProducto.tsx
new file mode 100644
index 0000000..48054d4
--- /dev/null
+++ b/src/app/main/producto/formularioProducto/FormularioProducto.tsx
@@ -0,0 +1,9 @@
+import FormularioProductoRender from "./FormularioProductoRender"
+
+const FormularioProducto = () => {
+ return(
+
+ );
+};
+
+export default FormularioProducto;
\ No newline at end of file
diff --git a/src/app/main/producto/formularioProducto/FormularioProductoConfig.tsx b/src/app/main/producto/formularioProducto/FormularioProductoConfig.tsx
new file mode 100644
index 0000000..13dbdd1
--- /dev/null
+++ b/src/app/main/producto/formularioProducto/FormularioProductoConfig.tsx
@@ -0,0 +1,23 @@
+import i18next from "i18next";
+import es from "../i18n/es";
+import { lazy } from "react";
+
+i18next.addResourceBundle('es', 'formProducto', es);
+
+const FormularioProducto = lazy(() => import('./FormularioProducto'));
+
+const FormularioProductoConfig = {
+ settings: {
+ layout: {
+ config: {},
+ },
+ },
+ routes: [
+ {
+ path: 'product/form',
+ element: ,
+ },
+ ],
+};
+
+export default FormularioProductoConfig;
diff --git a/src/app/main/producto/formularioProducto/FormularioProductoRender.tsx b/src/app/main/producto/formularioProducto/FormularioProductoRender.tsx
new file mode 100644
index 0000000..8daadf0
--- /dev/null
+++ b/src/app/main/producto/formularioProducto/FormularioProductoRender.tsx
@@ -0,0 +1,158 @@
+import FusePageSimple from "@fuse/core/FusePageSimple";
+import {
+ Autocomplete,
+ Card,
+ CardActions,
+ CardContent,
+ CardHeader,
+ Divider,
+ TextField,
+ styled,
+ Button,
+ Grid,
+} from "@mui/material";
+import { useState } from "react";
+
+const FormularioProductoRender = () => {
+ const [formData, setFormData] = useState({
+ codigo: "",
+ tipo: "",
+ nombre: "",
+ descripcion: "",
+ stockMinimo: "",
+ margenGanancia: "",
+ estado: "",
+ });
+
+ const [datosCargados, setDatosCargados] = useState(false);
+
+ const cargarDatosDesdeBD = () => {
+ setDatosCargados(true);
+ };
+
+ return (
+
+
+
+
+
+
+
+ {
+ onChange(newValue);
+ }} */
+ renderInput={(params) => (
+
+ )}
+ />
+
+
+
+ (
+
+ )}
+ />
+
+
+
+
+
+
+
+
+
+
+ {datosCargados && (
+
+ )}
+
+
+ );
+};
+
+export default FormularioProductoRender;
diff --git a/src/app/main/producto/i18n/en.ts b/src/app/main/producto/i18n/en.ts
deleted file mode 100644
index 88c60a8..0000000
--- a/src/app/main/producto/i18n/en.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-const locale = {
- TITLE: 'Product'
-};
-
-export default locale;
\ No newline at end of file
diff --git a/src/app/main/producto/i18n/es.ts b/src/app/main/producto/i18n/es.ts
new file mode 100644
index 0000000..3ac0c84
--- /dev/null
+++ b/src/app/main/producto/i18n/es.ts
@@ -0,0 +1,5 @@
+const locale = {
+ TITLE: 'Producto'
+};
+
+export default locale;
\ No newline at end of file
diff --git a/src/app/main/producto/widgets/DialogDelete.tsx b/src/app/main/producto/widgets/DialogDelete.tsx
new file mode 100644
index 0000000..bb61900
--- /dev/null
+++ b/src/app/main/producto/widgets/DialogDelete.tsx
@@ -0,0 +1,59 @@
+import FuseSvgIcon from "@fuse/core/FuseSvgIcon";
+import {
+ Button,
+ useMediaQuery,
+ useTheme,
+ Dialog,
+ DialogTitle,
+ DialogContent,
+ DialogContentText,
+ DialogActions,
+ IconButton,
+} from "@mui/material";
+import React from "react";
+
+function ResponsiveDialog() {
+ const [open, setOpen] = React.useState(false);
+ const theme = useTheme();
+ const fullScreen = useMediaQuery(theme.breakpoints.down("sm"));
+
+ const handleClickOpen = () => {
+ setOpen(true);
+ };
+
+ const handleClose = () => {
+ setOpen(false);
+ };
+
+ return (
+
+
+ heroicons-outline:trash
+
+
+
+ );
+}
+
+export default ResponsiveDialog;
diff --git a/tsconfig.json b/tsconfig.json
index c0324bc..071db1f 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -48,5 +48,5 @@
"tailwind.config.js",
"vite.config.mts",
"vite-env.d.ts"
- ],
+, "src/app/main/producto/.tsx" ],
}