{"version":3,"sources":["hooks/UserContext.js","hooks/useAuth.js","pages/login.jsx","pages/change_pwd.jsx","components/generic/ResponsivePlot.jsx","pages/dashboard.jsx","components/generic/MultiTable.jsx","components/generic/PagedDataTable.jsx","components/elements/Amount.jsx","components/elements/MeliIcon.jsx","components/elements/MeliPack.jsx","components/elements/ProductDescription.jsx","components/elements/SaleView.jsx","components/elements/SKU.jsx","components/SalesTable.jsx","pages/sales.jsx","components/ClientsTable.jsx","pages/clients.jsx","components/elements/AfipApproval.jsx","components/generic/resourceContainer.jsx","hooks/useApiResource.js","components/elements/CancelInvoiceBtn.jsx","components/elements/DocumentNumber.jsx","components/elements/HoldButton.jsx","components/elements/ForceInvButton.jsx","components/elements/InvoicePDF.jsx","components/elements/InvRequest.jsx","components/elements/ReceiptNumber.jsx","components/elements/RetryInvButton.jsx","components/ReceiptsTable.jsx","components/elements/CreateInvRequest.jsx","components/elements/MeliPublish.jsx","pages/SalesView.jsx","components/InvRequestGrid.jsx","pages/receipts.jsx","components/bussiness_cfg_form.jsx","components/issuers_table.jsx","components/einvoice_cfg_form.jsx","components/meli_cfg_form.jsx","components/fulljaus_cfg_form.jsx","pages/config.jsx","components/generic/NavButton.jsx","components/LogoutBtn.jsx","static/logo_dark.png","components/AppHeader.jsx","components/elements/AutoProcessCfg.jsx","components/InvoiceStatus.jsx","components/ServerStatus.jsx","components/AppAside.jsx","components/Layout.jsx","components/generic/PublicRoute.jsx","components/generic/PrivateRoute.jsx","App.js","hooks/useFindUser.js","reportWebVitals.js","index.js"],"names":["UserContext","createContext","useAuth","setUser","useContext","useState","error","navigate","useNavigate","from","useLocation","state","pathname","setUserContext","a","requestOptions","headers","console","log","fetch","then","res","json","data","username","alert","JSON","stringify","loginUser","method","body","change_pwd","change_pwd_req","replace","logoutUser","Cookies","get","Login","useForm","initialValues","password","handleSubmit","control","handleLogin","Box","sx","bgcolor","display","justifyContent","alignItems","minHeight","minWidth","Card","onSubmit","CardContent","Typography","component","variant","gutterBottom","name","rules","required","render","field","onChange","value","TextField","fullWidth","label","type","CardActions","Button","ChangePwd","old_password","new_password","repeat_password","handleChangePwd","onClick","ResponsivePlot","props","useResizeDetector","width","height","ref","layout","layers","title","style","config","scrollZoom","displayModeBar","ThisWeekStatus","Boolean","overflow","textAlign","mode","domain","x","y","thisweek","sales","delta","reference","lastweek","relative","valueformat","gauge","axis","range","text","today","font","size","qty","margin","t","b","l","r","WeeklyHistoric","React","historicGraphView","setHistoricGraphView","weekly_layers","key","element","line","shape","week","push","Stack","spacing","direction","ToggleButtonGroup","color","exclusive","event","newView","ToggleButton","xaxis","Dashboard","setDaily_totals","setMonthly_totals","setYearly_totals","weekly_totals","setWeekly_totals","sixty_totals","setSixty_totals","this_week_stats","setThisWeekStats","useEffect","moment","yesterday","subtract","day_weekbefore","day_monthbefore","my_daily_totals","date","format","map","currentValue","daily_totals","indexOf","this_month","last_month","halfyear_ago","year_ago","my_monthly_totals","monthly_totals","yearly_totals","weekly_results","all_weeks","concat","today_sales","at","today_qty","flexGrow","Divider","Chip","Grid","container","item","xs","Paper","labels","parents","values","maxdepth","outsidetextfont","leaf","opacity","marker","z","packs","colorscale","showscale","side","TitleContext","MultiTableItem","qtyItems","setQtyItems","show","setShow","Provider","Accordion","AccordionSummary","expandIcon","id","Badge","badgeContent","anchorOrigin","horizontal","vertical","paddingLeft","AccordionDetails","children","MultiTableHolder","CustomToolbar","PagedDataTable","page","pageSize","rowCount","rows","loading","filterModel","rowsState","setRowsState","prev","urlParams","URLSearchParams","items","length","filter_info","hasOwnProperty","append","url","qty_items","message","columns","pagination","paginationMode","rowsPerPageOptions","getRowHeight","getRowClassName","onPageChange","filterMode","onFilterModelChange","density","disableColumnMenu","components","Toolbar","Amount","Intl","NumberFormat","currency","MeliIcon","SvgIcon","d","fill","transform","MeliPack","showValue","showButton","Tooltip","IconButton","oper","window","open","focus","ProductDescription","description","addVariant","SaleView","SKU","sku","get_columns","headerName","filterable","flex","sortable","renderCell","params","row","operations","operation","quantity","valueGetter","client","hide","filterOperators","getGridStringOperators","filter","operator","pack_id","SalesGrid","title_context","toString","densityFactor","model","hideFooter","SalesTable","TableContainer","sale_total","Sales","padding","ClientsTable","provinceList","setProvinceList","valueOptions","Clients","AfipApproval","ResourceContext","ResourceContainer","resource_showed","isFetching","response","setResponse","catch","err","useApiResource","resourceResponse","getResource","useTimeout","timeout","resourceDirty","setResourceDirty","refresh_timeout","showedTimeout","timer","setTimeout","clearTimeout","ignoreFetchingView","new_children","Children","child","cloneElement","CancelInvoiceBtn","statusChange","setStatusChange","resourceContext","includes","status","receipt","number","inv_req","current","cancelInvoice","DocumentNumber","doc_type","doc_number","HoldButton","toggleHold","ForceInvButton","forceInvoice","InvoicePDF","filename","InvRequest","error_description","ReceiptNumber","pos","RetryInvButton","retryInvoice","hideProvince","hideSaleReferenceIcons","hideActions","receiver_doc_type","receiver_doc_number","getGridNumericOperators","request","oper_package","CAE","CustomFooter","flexDirection","total","actions_bar","ReceiptGrid","hide_footer","receipt_total","hideSaleReference","hide_actions","Footer","componentsProps","footer","ReceiptsTable","CreateInvRequest","LoadingButton","loadingPosition","inv_req_id","createRequest","disabled","MeliPublish","publish","slice","SaleViewOperations","unit_price","price","ClientView","nickname","city","province","SaleViewDetails","post_inv_request_enabled","post_inv_request_label","post_inv_request_id","receipts","Number","datetime","SalesView","useParams","InvRequestGrid","receipt_type","Total","receiver_name","TabPanel","index","other","role","hidden","p","a11yProps","Receipts","setValue","borderBottom","borderColor","Tabs","newValue","Tab","MultiTable","BussinessCfgForm","reset","InputLabelProps","shrink","StyledTableCell","styled","TableCell","theme","tableCellClasses","head","backgroundColor","palette","common","black","white","fontSize","StyledTableRow","TableRow","action","hover","border","IssuersTable","Table","TableHead","TableBody","issuers","cuit","address","vat_type","iibb","activity_start","posnum","wsfeprod","EInvoiceCfgForm","defaultValues","default_issuer","issuers_selector","getValues","issuer","InputLabel","Select","option","MenuItem","submitData","MeliCfgForm","seller_id","token","token_valid","last_order_update","readOnly","FulljausCfgForm","MultiFormItem","MultiFormHolder","Config","NavButton","to","link","LogoutBtn","handleLogout","UserHeaderMenu","user","AppHeader","className","src","logo","alt","AutoProcessCfg","Switch","checked","auto_process_receipts","target","Indicator","max_range","reduce","previousValue","InvoiceStatus","FormGroup","invoice_in_hold","pending_invoice","invoice_in_pending","invoice_in_progess","invoice_on_error","ServerIndicator","ServerStatus","connections","setConnections","conn","AppAside","Layout","PublicRoute","restricted","PrivateRoute","location","isLoading","App","setLoading","findUser","useFindUser","path","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.f2c2c19d.chunk.js","sourcesContent":["import { createContext } from 'react'; \r\n\r\n//set initial value of user to null (pre-login)\r\nexport const UserContext = createContext(null);\r\n","import { useState, useContext } from 'react'; \r\nimport { useNavigate, useLocation } from 'react-router';\r\nimport Cookies from 'js-cookie';\r\n\r\nimport { UserContext } from '../hooks/UserContext'; \r\n\r\nexport default function useAuth() {\r\n const { setUser } = useContext(UserContext);\r\n const [error, setError] = useState(null);\r\n\r\n let navigate = useNavigate(); \r\n let location = useLocation(); \r\n let from = location.state?.from?.pathname || \"/\";\r\n\r\n //set user\r\n const setUserContext = async () => {\r\n\r\n const requestOptions = {\r\n headers: { 'Content-Type': 'application/json' },\r\n };\r\n\r\n console.log(\"useAuth.setUserContext - get(/api/auth/user)\")\r\n return await fetch(\"/api/auth/user\", requestOptions)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n setUser(data.username);\r\n },\r\n (error) => {\r\n alert(\"/api/auth/user - err - \" + JSON.stringify(error));\r\n }\r\n )\r\n }\r\n\r\n //login user \r\n const loginUser = async (data) => {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n let change_pwd = false;\r\n\r\n console.log(\"loginUser - post(/api/auth/login) - \" + requestOptions.body)\r\n return fetch(\"/api/auth/login\", requestOptions)\r\n .then(res => res.json())\r\n .then( \r\n async (data) => {\r\n change_pwd = data.change_pwd_req\r\n \r\n await setUserContext();\r\n },\r\n (error) => {\r\n console.log(\"loginUser - post(/api/auth/login) ERROR\")\r\n alert(\"post(/api/auth/login) - Error - \" + JSON.stringify(error));\r\n }\r\n )\r\n .then( () => {\r\n if (change_pwd)\r\n {\r\n navigate(\"/change_pwd\")\r\n }\r\n else\r\n {\r\n navigate(from, {replace:true})\r\n }\r\n }\r\n )\r\n };\r\n\r\n //logout user \r\n const logoutUser = async () => {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n }\r\n };\r\n\r\n console.log(\"logoutUser - post(/api/auth/logoutUser)\")\r\n return fetch(\"/api/auth/logout\", requestOptions)\r\n .then(res => res.json())\r\n .then( \r\n async () => {\r\n await setUserContext();\r\n },\r\n (error) => {\r\n console.log(\"logoutUser - post(/api/auth/logoutUser) ERROR\")\r\n alert(\"post(/api/auth/logoutUser) - Error - \" + JSON.stringify(error));\r\n }\r\n )\r\n .then( () => {\r\n navigate(\"/\")\r\n }\r\n )\r\n };\r\n\r\n //change password\r\n const change_pwd = async (data) => {\r\n\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n },\r\n body: JSON.stringify(data)\r\n };\r\n\r\n console.log(\"change_pwd - post(/api/auth/change_pwd) - \" + requestOptions.body)\r\n return fetch(\"/api/auth/change_pwd\", requestOptions)\r\n .then(res => res.json())\r\n .then( \r\n (data) => {\r\n console.log(\"change_pwd - data - \" + JSON.stringify(data))\r\n },\r\n (error) => {\r\n alert(\"post(/api/auth/change_pwd) - Error - \" + JSON.stringify(error));\r\n }\r\n )\r\n .then( () => {\r\n navigate(\"/\")\r\n }\r\n )\r\n };\r\n\r\n return {\r\n loginUser,\r\n logoutUser,\r\n change_pwd,\r\n error\r\n }\r\n}\r\n","import * as React from 'react';\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport Button from '@mui/material/Button';\r\nimport Box from '@mui/material/Box';\r\nimport Card from '@mui/material/Card';\r\nimport CardActions from '@mui/material/CardActions';\r\nimport CardContent from '@mui/material/CardContent';\r\nimport TextField from '@mui/material/TextField';\r\nimport Typography from '@mui/material/Typography';\r\n\r\nimport useAuth from '../hooks/useAuth'; \r\n\r\nexport default function Login() {\r\n\r\n const { handleSubmit, control } = useForm({\r\n initialValues: {\r\n username: '',\r\n password: ''\r\n }\r\n });\r\n\r\n const { loginUser, error } = useAuth();\r\n\r\n const handleLogin = async (data) => {\r\n await loginUser(data);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n Ingresar\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport Button from '@mui/material/Button';\r\nimport Box from '@mui/material/Box';\r\nimport Card from '@mui/material/Card';\r\nimport CardActions from '@mui/material/CardActions';\r\nimport CardContent from '@mui/material/CardContent';\r\nimport TextField from '@mui/material/TextField';\r\nimport Typography from '@mui/material/Typography';\r\n\r\nimport useAuth from '../hooks/useAuth'; \r\n\r\nexport default function ChangePwd() {\r\n\r\n const { handleSubmit, control } = useForm({\r\n initialValues: {\r\n old_password: '',\r\n new_password: '',\r\n repeat_password: ''\r\n }\r\n });\r\n\r\n const { change_pwd, error } = useAuth();\r\n\r\n const handleChangePwd = async (data) => {\r\n if (data.new_password != data.repeat_password)\r\n {\r\n alert(\"La nueva contraseña no es igual a la confirmación\");\r\n }\r\n await change_pwd(data);\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n Cambiar contraseña\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n );\r\n}\r\n","import { useResizeDetector } from 'react-resize-detector'\r\nimport Plot from 'react-plotly.js'\r\n\r\nexport default function ResponsivePlot(props) {\r\n const { width, height, ref } = useResizeDetector({ \r\n // refreshMode: 'debounce', \r\n // refreshRate: 1000\r\n })\r\n\r\n const { layout, layers, title } = props\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport moment from 'moment'\r\nimport { Box, Chip, Divider, Grid, Paper, ToggleButton, ToggleButtonGroup } from '@mui/material';\r\n\r\nimport ResponsivePlot from '../components/generic/ResponsivePlot'\r\n//import GroupedBarPlot from '../components/generic/GroupedBarPlot'\r\nimport { Stack } from '@mui/material';\r\n\r\nfunction ThisWeekStatus(props) {\r\n if (!Boolean(props.data))\r\n {\r\n return (<>);\r\n }\r\n\r\n return (\r\n \r\n

vs anterior

\r\n \r\n
\r\n);\r\n}\r\n\r\nfunction WeeklyHistoric(props) {\r\n const [historicGraphView, setHistoricGraphView] = React.useState('sales');\r\n\r\n const handleChange = (event, newView) => {\r\n setHistoricGraphView(newView)\r\n }; \r\n\r\n let weekly_layers = []\r\n for (var key in props.data) {\r\n let element = {\r\n type: 'lines',\r\n line: {shape: 'spline'},\r\n x: props.data[key].week,\r\n y: props.data[key][historicGraphView],\r\n name: key\r\n }\r\n weekly_layers.push(element)\r\n } \r\n\r\n return (\r\n \r\n \r\n

Ventas históricas

\r\n \r\n $\r\n u.\r\n $/u.\r\n Ventas\r\n $/Venta\r\n \r\n
\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default function Dashboard() {\r\n const [daily_totals, setDaily_totals] = useState([]);\r\n const [monthly_totals, setMonthly_totals] = useState([]);\r\n const [yearly_totals, setYearly_totals] = useState([]);\r\n const [weekly_totals, setWeekly_totals] = useState({});\r\n const [sixty_totals, setSixty_totals] = useState({});\r\n const [this_week_stats, setThisWeekStats] = useState(null);\r\n\r\n useEffect(() => {\r\n fetch(\"/api/sales/stats\")\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n /* Get important daily totals */\r\n let today = moment();\r\n let yesterday = moment().subtract(1, 'days');\r\n let day_weekbefore = moment().subtract(7, 'days');\r\n let day_monthbefore = moment().subtract(1, 'month');\r\n\r\n let my_daily_totals = {date:[], sales:[], qty:[]};\r\n my_daily_totals.date = [day_monthbefore.format(\"YYYY-MM-DD\"), day_weekbefore.format(\"YYYY-MM-DD\"), yesterday.format(\"YYYY-MM-DD\"), today.format(\"YYYY-MM-DD\")]\r\n my_daily_totals.sales = my_daily_totals.date.map((currentValue) => {\r\n return data.daily_totals.sales[data.daily_totals.date.indexOf(currentValue)]\r\n })\r\n my_daily_totals.qty = my_daily_totals.date.map((currentValue) => {\r\n return data.daily_totals.qty[data.daily_totals.date.indexOf(currentValue)]\r\n })\r\n\r\n setDaily_totals(my_daily_totals);\r\n\r\n /* Get important monthly totals */\r\n let this_month = moment();\r\n let last_month = moment().subtract(1, 'month');\r\n let halfyear_ago = moment().subtract(6, 'month');\r\n let year_ago = moment().subtract(1, 'year');\r\n\r\n let my_monthly_totals = {date:[], sales:[], qty:[]};\r\n my_monthly_totals.date = [year_ago.format(\"YYYY-MM\"), halfyear_ago.format(\"YYYY-MM\"), last_month.format(\"YYYY-MM\"), this_month.format(\"YYYY-MM\")]\r\n my_monthly_totals.sales = my_monthly_totals.date.map((currentValue) => {\r\n return data.monthly_totals.sales[data.monthly_totals.date.indexOf(currentValue)]\r\n })\r\n my_monthly_totals.qty = my_monthly_totals.date.map((currentValue) => {\r\n return data.monthly_totals.qty[data.monthly_totals.date.indexOf(currentValue)]\r\n })\r\n setMonthly_totals(my_monthly_totals);\r\n setYearly_totals(data.yearly_totals);\r\n setWeekly_totals(data.weekly_results);\r\n setSixty_totals(data.sixty_totals);\r\n \r\n let all_weeks = { sales: [], qty:[] }\r\n for (var key in data.weekly_results) {\r\n all_weeks.sales = all_weeks.sales.concat( data.weekly_results[key].sales )\r\n all_weeks.qty = all_weeks.qty.concat( data.weekly_results[key].qty )\r\n }\r\n\r\n const today_sales = my_daily_totals.sales.at(-1)\r\n const today_qty = my_daily_totals.qty.at(-1)\r\n setThisWeekStats({\r\n thisweek : {\r\n sales: all_weeks.sales.at(-1),\r\n qty: all_weeks.qty.at(-1)\r\n },\r\n lastweek : {\r\n sales: all_weeks.sales.at(-2),\r\n qty: all_weeks.qty.at(-2)\r\n },\r\n today : {\r\n sales: (Boolean(today_sales) ? today_sales : 0),\r\n qty: (Boolean(today_qty) ? today_qty : 0)\r\n }\r\n })\r\n },\r\n (error) => {\r\n alert(\"get(/api/sales/stats) - error - \" + error)\r\n }\r\n )\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Por franquicia

\r\n \r\n
\r\n
\r\n \r\n \r\n

Ventas por dia y hora

\r\n \r\n
\r\n
\r\n \r\n \r\n

Por provincia

\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n }","import * as React from 'react';\r\nimport { useState, createContext } from \"react\";\r\nimport Accordion from '@mui/material/Accordion';\r\nimport AccordionSummary from '@mui/material/AccordionSummary';\r\nimport AccordionDetails from '@mui/material/AccordionDetails';\r\nimport Badge from '@mui/material/Badge';\r\nimport Box from '@mui/material/Box';\r\nimport Typography from '@mui/material/Typography';\r\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\r\n\r\nconst TitleContext = createContext()\r\n\r\nfunction MultiTableItem(props) {\r\n const [qtyItems, setQtyItems] = useState(\"0\");\r\n const [show, setShow] = useState(false);\r\n const value = {qtyItems, setQtyItems, show}\r\n\r\n const handleChange = () => (event) => {\r\n setShow(!show)\r\n };\r\n\r\n return (\r\n \r\n \r\n }\r\n aria-controls=\"panel1a-content\"\r\n id=\"panel1a-header\">\r\n \r\n {props.title}\r\n \r\n \r\n \r\n {props.children}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nfunction MultiTableHolder(props) {\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n}\r\n\r\nexport {TitleContext};\r\nexport {MultiTableItem};\r\nexport default MultiTableHolder;\r\n","import { useState, useEffect } from 'react';\r\nimport {\r\n DataGrid,\r\n GridToolbarContainer,\r\n GridToolbarFilterButton\r\n} from '@mui/x-data-grid';\r\n\r\nfunction CustomToolbar() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default function PagedDataTable(props) {\r\n const [rowsState, setRowsState] = useState({\r\n page: 0,\r\n pageSize: 25,\r\n rowCount: 0,\r\n rows: [],\r\n loading: false,\r\n error: null,\r\n filterModel: {\"items\":[],\"linkOperator\":\"and\"}\r\n });\r\n\r\n useEffect(() => {\r\n setRowsState((prev) => ({ ...prev, loading: true, error: null }))\r\n\r\n let urlParams = new URLSearchParams({\r\n page: rowsState.page + 1\r\n });\r\n \r\n if (rowsState.filterModel.items.length > 0)\r\n {\r\n // DataGrid only supports one filter on community license\r\n const filter_info = rowsState.filterModel.items[0]\r\n for( const key in filter_info) {\r\n if (filter_info.hasOwnProperty(key)) {\r\n urlParams.append('filter_' + key, filter_info[key])\r\n } \r\n }\r\n }\r\n const url = props.url + urlParams\r\n\r\n console.log(\"get - \" + url)\r\n fetch(url)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n setRowsState((prev) => ({ ...prev, loading: false, rowCount: data.qty_items, rows: data.items }))\r\n },\r\n (error) => {\r\n setRowsState((prev) => ({ ...prev, loading: false, error }))\r\n }\r\n )\r\n }, [rowsState.page, rowsState.filterModel]);\r\n\r\n if (rowsState.error) {\r\n return
Error: {rowsState.error.message}
;\r\n } else {\r\n return (\r\n setRowsState((prev) => ({ ...prev, page }))}\r\n filterMode=\"server\"\r\n onFilterModelChange={(filterModel) => setRowsState((prev) => ({ ...prev, filterModel }))}\r\n density='compact'\r\n disableColumnMenu \r\n components={{\r\n Toolbar: CustomToolbar,\r\n }}\r\n \r\n sx={{\r\n '& .row_disable': {\r\n bgcolor: 'lightgray'\r\n },\r\n '& .row_disable:hover': {\r\n bgcolor: 'lightgray'\r\n },\r\n }} \r\n />\r\n );\r\n }\r\n}\r\n","import { Box } from '@mui/material';\r\n\r\nexport default function Amount(props) {\r\n const argLocale = Intl.NumberFormat('es-AR', { style: \"currency\", currency: \"ARS\" });\r\n const value = argLocale.format(props.value)\r\n\r\n return (\r\n {props.label} {value}\r\n );\r\n}\r\n","import { SvgIcon } from '@mui/material';\r\n\r\nexport default function MeliIcon(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n","import { Box, IconButton, Tooltip, Typography } from '@mui/material';\r\n\r\nimport MeliIcon from './MeliIcon';\r\n\r\nexport default function MeliPack(props) {\r\n function openMeLi(oper) {\r\n window.open('https://www.mercadolibre.com.ar/ventas/' + oper + '/detalle', '_blank').focus();\r\n }\r\n \r\n if (!Boolean(props.value))\r\n return (<>);\r\n\r\n return (\r\n \r\n {props.label} \r\n {( props.showValue ?\r\n {props.value} :\r\n <>\r\n )}\r\n {( props.showButton ?\r\n Ver en MeLi\"}>\r\n openMeLi(props.value)}>\r\n \r\n \r\n :\r\n <>\r\n )}\r\n \r\n );\r\n}","import { Box, Chip, Stack } from '@mui/material';\r\n\r\nexport default function ProductDescription(props) {\r\n\r\n return (\r\n \r\n \r\n \r\n {( props.addVariant && props.variant != '' ?\r\n :\r\n <>\r\n )}\r\n \r\n \r\n );\r\n}","import { useNavigate } from \"react-router-dom\";\r\n\r\nimport { Box, IconButton, Tooltip, Typography } from '@mui/material';\r\nimport ZoomInIcon from '@mui/icons-material/ZoomIn';\r\n\r\nexport default function SaleView(props) {\r\n const navigate = useNavigate();\r\n\r\n if (!Boolean(props.value))\r\n return (<>);\r\n\r\n return (\r\n \r\n {props.label} \r\n {( props.showButton ?\r\n \r\n navigate(\"/sales/\" + props.value)}>\r\n \r\n \r\n :\r\n <>\r\n )}\r\n \r\n );\r\n}","import { Box, Chip } from '@mui/material';\r\n\r\nexport default function SKU(props) {\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}","import { useContext } from 'react';\r\n\r\nimport TableContainer from '@mui/material/TableContainer';\r\nimport { Box, Paper, Typography } from '@mui/material';\r\nimport { DataGrid, getGridStringOperators } from '@mui/x-data-grid';\r\nimport Stack from '@mui/material/Stack';\r\n\r\nimport {TitleContext} from './generic/MultiTable'\r\nimport PagedDataTable from \"./generic/PagedDataTable\";\r\nimport Amount from './elements/Amount';\r\nimport MeliPack from './elements/MeliPack';\r\nimport ProductDescription from './elements/ProductDescription';\r\nimport SaleView from './elements/SaleView';\r\nimport SKU from './elements/SKU';\r\n\r\nfunction get_columns() {\r\n const columns = [\r\n { field: 'datetime', headerName: 'Fecha y hora', filterable: false, type: 'datetime', flex: 1, minWidth: 100 },\r\n { field: 'items', headerName: 'Productos', sortable: false, filterable: false, flex: 4, minWidth: 300,\r\n renderCell: (params) => (\r\n \r\n {params.row.operations.map((row) => (\r\n \r\n
{(row.operation != 'Venta' ? '-':'' )} {row.quantity} x
\r\n \r\n \r\n
\r\n ))}\r\n
\r\n ),\r\n }, \r\n { field: 'client', headerName: 'Cliente', sortable: false, filterable: false, flex: 1, minWidth: 120,\r\n valueGetter: (params) => ( (params.row.client ? params.row.client.name : '') ),\r\n },\r\n { field: 'sale_total', headerName: 'Total Venta', sortable: false, filterable: false, flex: 1, minWidth: 80,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'receipt_total', headerName: 'Total facturado', sortable: false, filterable: false, flex: 1, minWidth: 80, \r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'sku', headerName: 'SKU', type: 'string', hide: true,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'contains' || operator.value === 'equals',\r\n )\r\n },\r\n { field: 'description', headerName: 'Description', type: 'string', hide: true,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'contains',\r\n )\r\n },\r\n { field: 'pack_id', headerName: 'Referencia', type: 'string', hide: true,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'equals',\r\n )\r\n },\r\n { field: 'client_id', headerName: 'ID Cliente', type: 'number', hide: true },\r\n { field: 'actions', headerName: '', filterable: false,\r\n renderCell: (params) => (\r\n <>\r\n \r\n \r\n \r\n ),\r\n }\r\n //,{ field: 'coupon_total', headerName: 'Total cupones', type: 'number', flex: 1, minWidth: 100, valueFormatter: (params) => `$ ${params.value}` },\r\n ];\r\n\r\n return columns;\r\n}\r\n \r\nfunction SalesGrid(props) {\r\n const title_context = useContext(TitleContext); \r\n\r\n if (title_context)\r\n title_context.setQtyItems(props.data.length.toString())\r\n\r\n return (\r\n (50 * params.densityFactor * params.model.operations.length)}\r\n //getRowClassName={(params) => ( params.row.sale_total == \"0\" ? `row_disable` : `` )}\r\n density='compact'\r\n disableColumnMenu \r\n hideFooter\r\n loading={props.loading} \r\n />\r\n );\r\n}\r\n\r\nexport default function SalesTable() {\r\n\r\n return (\r\n \r\n (50 * params.densityFactor * params.model.operations.length)}\r\n getRowClassName={(params) => ( params.row.sale_total == \"0\" ? `row_disable` : `` )}\r\n />\r\n \r\n );\r\n}\r\n\r\nexport {SalesGrid};\r\n","import SalesTable from \"../components/SalesTable\";\r\n\r\nexport default function Sales() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }","import React, { useState, useEffect } from 'react';\r\n\r\nimport { getGridStringOperators } from '@mui/x-data-grid';\r\nimport TableContainer from '@mui/material/TableContainer';\r\nimport Paper from '@mui/material/Paper';\r\n\r\nimport PagedDataTable from \"./generic/PagedDataTable\";\r\n\r\nexport default function ClientsTable() {\r\n const [provinceList, setProvinceList] = useState([]);\r\n\r\n useEffect(() => {\r\n fetch(\"/api/clients/provinces\")\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n setProvinceList(data);\r\n }\r\n )\r\n }, []);\r\n\r\n const columns = [\r\n { field: 'meli_id', headerName: 'Usuario Meli', type: 'string', flex: 1, minWidth: 50,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'equals',\r\n )\r\n },\r\n { field: 'nickname', headerName: 'Nick Meli', type: 'string', flex: 1, minWidth: 150,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'contains',\r\n )\r\n },\r\n { field: 'name', headerName: 'Nombre', type: 'string', flex: 1, minWidth: 200,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'contains',\r\n )\r\n },\r\n { field: 'city', headerName: 'Ciudad', type: 'string', flex: 1, minWidth: 150,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'contains',\r\n )\r\n },\r\n { field: 'province', headerName: 'Provincia', type: 'singleSelect',flex: 1, minWidth: 150,\r\n valueOptions: provinceList\r\n },\r\n { field: 'qty_packs', headerName: 'Cantidad compras', type: 'number', flex: 1, minWidth: 100 },\r\n { field: 'actions', headerName: '', filterable: false,\r\n renderCell: (params) => (\r\n <>\r\n \r\n ),\r\n }\r\n ];\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import ClientsTable from \"../components/ClientsTable\";\r\n\r\nexport default function Clients() {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }","import { Box, Tooltip, Typography } from '@mui/material';\r\n\r\nimport QrCode2Icon from '@mui/icons-material/QrCode2';\r\n\r\nexport default function AfipApproval(props) {\r\n if (!Boolean(props.value))\r\n return (<>);\r\n\r\n return (\r\n \r\n {props.label} \r\n {( props.showValue ?\r\n {props.value} :\r\n <>\r\n )}\r\n {( props.showButton ?\r\n \r\n \r\n :\r\n <>\r\n )}\r\n \r\n );\r\n}","import React, { useState, useEffect, useContext, createContext } from 'react';\r\nimport useApiResource from '../../hooks/useApiResource';\r\n\r\nimport {TitleContext} from './MultiTable'\r\n\r\nconst ResourceContext = createContext()\r\n\r\nexport default function ResourceContainer(props) {\r\n const [resourceResponse, getResource] = useApiResource(props.url);\r\n const useTimeout = Boolean(props.timeout)\r\n const [resourceDirty, setResourceDirty] = useState(false);\r\n const value = {setResourceDirty}\r\n\r\n const title_context = useContext(TitleContext); \r\n let resource_showed = false;\r\n\r\n resource_showed = title_context?.show\r\n\r\n useEffect(() => {\r\n getResource();\r\n }, [resourceDirty]);\r\n \r\n useEffect(() => {\r\n\r\n if (useTimeout)\r\n {\r\n /* Increase timeout if resource showed in a toggle environment */\r\n const refresh_timeout = (resource_showed && Boolean(props.showedTimeout) ? props.showedTimeout : props.timeout)\r\n\r\n const timer = setTimeout(() => {\r\n getResource();\r\n }, refresh_timeout);\r\n\r\n return () => clearTimeout(timer);\r\n }\r\n });\r\n\r\n if (resourceResponse.error) {\r\n return
Error: {resourceResponse.error.message}
;\r\n } else if (!props.ignoreFetchingView && resourceResponse.isFetching) {\r\n return
Loading...
;\r\n } else if (resourceResponse.data) {\r\n const new_children = React.Children.map(props.children, child =>\r\n React.cloneElement(child, { data: resourceResponse.data, loading: resourceResponse.isFetching })\r\n );\r\n return (\r\n \r\n { new_children }\r\n \r\n );\r\n } else {\r\n return
No hay datos
;\r\n }\r\n};\r\n\r\nexport {ResourceContext};\r\n","import { useState } from 'react';\r\n\r\nexport default function useApiResource(url) {\r\n const [response, setResponse] = useState({\r\n data: null,\r\n isFetching: false,\r\n error: null\r\n });\r\n\r\n\r\n const getResource = () => {\r\n setResponse({ ...response, isFetching: true});\r\n\r\n console.log(\"get(\" + url + \")\")\r\n fetch(url)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n setResponse({ ...response, data, isFetching: false })\r\n },\r\n (error) => {\r\n setResponse({ ...response, isFetching: false, error })\r\n }\r\n )\r\n .catch(err => {\r\n setResponse({ ...response, isFetching: false, error: err.message })\r\n })\r\n \r\n };\r\n \r\n return [response, getResource];\r\n}","import { useState, useContext } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Box, IconButton, Tooltip } from '@mui/material';\r\nimport DeleteForeverIcon from '@mui/icons-material/DeleteForever';\r\n\r\nimport {ResourceContext} from '../generic/resourceContainer'\r\n\r\n\r\nexport default function CancelInvoiceBtn(props) {\r\n const [statusChange, setStatusChange] = useState(false);\r\n\r\n const resourceContext = useContext(ResourceContext); \r\n\r\n function cancelInvoice(inv_req) {\r\n // Ignorar\r\n if (statusChange)\r\n {\r\n return;\r\n }\r\n\r\n // Enviar request\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n },\r\n };\r\n\r\n const url = \"/api/invoice/request/\" + inv_req.id\r\n setStatusChange(true)\r\n console.log(\"delete(\" + url + \")\")\r\n fetch(url, requestOptions)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n resourceContext.setResourceDirty(current => !current)\r\n },\r\n (error) => {\r\n alert(\"error - \" + JSON.stringify(error));\r\n }\r\n )\r\n }\r\n \r\n if (!Boolean(props.value) || ['Proceso', 'Finalizado'].includes(props.value.status) )\r\n {\r\n return (<>);\r\n }\r\n\r\n if (props.value.receipt)\r\n {\r\n if (props.value.receipt.number)\r\n {\r\n return (<>);\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n cancelInvoice(props.value)}>\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { Box } from '@mui/material';\r\n\r\nexport default function DocumentNumber(props) {\r\n\r\n return (\r\n {props.doc_type} {props.doc_number}\r\n );\r\n}\r\n","import { useState, useContext } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Box, IconButton, Tooltip } from '@mui/material';\r\nimport PlayCircleIcon from '@mui/icons-material/PlayCircle';\r\nimport PauseCircleIcon from '@mui/icons-material/PauseCircle';\r\n\r\nimport {ResourceContext} from '../generic/resourceContainer'\r\n\r\n\r\nexport default function HoldButton(props) {\r\n const [statusChange, setStatusChange] = useState(false);\r\n\r\n const resourceContext = useContext(ResourceContext); \r\n\r\n function toggleHold(inv_req) {\r\n const status = (inv_req.status == 'Pausado' ? 'Pendiente' : 'Pausado' );\r\n\r\n // Ignorar\r\n if (statusChange)\r\n {\r\n return;\r\n }\r\n\r\n // Enviar request\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n },\r\n body: JSON.stringify({status})\r\n };\r\n\r\n const url = \"/api/invoice/request/\" + inv_req.id\r\n setStatusChange(true)\r\n console.log(\"put(\" + url + \") - \" + requestOptions.body)\r\n fetch(url, requestOptions)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n resourceContext.setResourceDirty(current => !current)\r\n },\r\n (error) => {\r\n alert(\"error - \" + JSON.stringify(error));\r\n }\r\n )\r\n\r\n // Refrescar tabla\r\n\r\n }\r\n \r\n if (!Boolean(props.value) || ['Nuevo', 'Proceso', 'Finalizado', 'Error'].includes(props.value.status) )\r\n {\r\n return (<>);\r\n }\r\n\r\n return (\r\n \r\n {( props.value.status == 'Pausado' ?\r\n \r\n toggleHold(props.value)}>\r\n \r\n \r\n :\r\n \r\n toggleHold(props.value)}>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n}","import { useState, useContext } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Box, IconButton, Tooltip } from '@mui/material';\r\nimport FastForwardIcon from '@mui/icons-material/FastForward';\r\n\r\nimport {ResourceContext} from '../generic/resourceContainer'\r\n\r\n\r\nexport default function ForceInvButton(props) {\r\n const [statusChange, setStatusChange] = useState(false);\r\n\r\n const resourceContext = useContext(ResourceContext); \r\n\r\n function forceInvoice(inv_req) {\r\n const status = 'Finalizado';\r\n\r\n // Ignorar\r\n if (statusChange)\r\n {\r\n return;\r\n }\r\n\r\n // Enviar request\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n },\r\n body: JSON.stringify({status})\r\n };\r\n\r\n const url = \"/api/invoice/request/\" + inv_req.id\r\n setStatusChange(true)\r\n console.log(\"put(\" + url + \") - \" + requestOptions.body)\r\n fetch(url, requestOptions)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n resourceContext.setResourceDirty(current => !current)\r\n },\r\n (error) => {\r\n alert(\"error - \" + JSON.stringify(error));\r\n }\r\n )\r\n }\r\n \r\n if (!Boolean(props.value) || ['Nuevo', 'Proceso', 'Finalizado', 'Error'].includes(props.value.status) )\r\n {\r\n return (<>);\r\n }\r\n\r\n return (\r\n \r\n \r\n forceInvoice(props.value)}>\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { Box, IconButton, Tooltip, Typography } from '@mui/material';\r\nimport PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf';\r\n\r\nexport default function InvoicePDF(props) {\r\n function openPDF(id) {\r\n window.open('/api/invoice/pdf/' + id, '_blank').focus();\r\n }\r\n\r\n if (props.filename == null)\r\n return (<>);\r\n\r\n return (\r\n \r\n {props.label} \r\n {( props.showValue ?\r\n {props.filename} :\r\n <>\r\n )}\r\n {( props.showButton ?\r\n \r\n openPDF(props.value)}>\r\n \r\n \r\n :\r\n <>\r\n )}\r\n \r\n );\r\n}","import { Box, Tooltip, Typography } from '@mui/material';\r\n\r\nimport HourglassTopIcon from '@mui/icons-material/HourglassTop';\r\nimport PanToolIcon from '@mui/icons-material/PanTool';\r\nimport ReportIcon from '@mui/icons-material/Report';\r\n\r\nexport default function InvRequest(props) {\r\n if (!Boolean(props.value))\r\n {\r\n return (<>);\r\n }\r\n\r\n if (props.value.status == 'Finalizado') \r\n return (<>);\r\n\r\n return (\r\n \r\n {( props.value.status == 'Error' ?\r\n \r\n \r\n :\r\n \r\n {( props.value.status == 'Pausado' ? \r\n :\r\n \r\n )}\r\n \r\n )}\r\n {( props.showValue ?\r\n {props.value.status} :\r\n <>\r\n )}\r\n \r\n );\r\n}","import { Box } from '@mui/material';\r\n\r\nexport default function ReceiptNumber(props) {\r\n\r\n return (\r\n {props.pos}-{props.number}\r\n );\r\n}\r\n","import { useState, useContext } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Box, IconButton, Tooltip } from '@mui/material';\r\nimport ReplayIcon from '@mui/icons-material/Replay';\r\n\r\nimport {ResourceContext} from '../generic/resourceContainer'\r\n\r\n\r\nexport default function RetryInvButton(props) {\r\n const [statusChange, setStatusChange] = useState(false);\r\n\r\n const resourceContext = useContext(ResourceContext); \r\n\r\n function retryInvoice(inv_req) {\r\n const status = 'Finalizado';\r\n\r\n // Ignorar\r\n if (statusChange)\r\n {\r\n return;\r\n }\r\n\r\n // Enviar request\r\n const requestOptions = {\r\n method: 'PUT',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n },\r\n body: JSON.stringify({status})\r\n };\r\n\r\n const url = \"/api/invoice/request/\" + inv_req.id\r\n setStatusChange(true)\r\n console.log(\"put(\" + url + \") - \" + requestOptions.body)\r\n fetch(url, requestOptions)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n resourceContext.setResourceDirty(current => !current)\r\n },\r\n (error) => {\r\n alert(\"error - \" + JSON.stringify(error));\r\n }\r\n )\r\n }\r\n \r\n if (!Boolean(props.value) || props.value.status != 'Error' )\r\n {\r\n return (<>);\r\n }\r\n\r\n return (\r\n \r\n \r\n retryInvoice(props.value)}>\r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { useContext } from 'react';\r\n\r\nimport TableContainer from '@mui/material/TableContainer';\r\nimport { Box, Paper, Typography } from '@mui/material';\r\nimport {\r\n DataGrid,\r\n getGridStringOperators,\r\n getGridNumericOperators\r\n} from '@mui/x-data-grid';\r\n\r\nimport {TitleContext} from './generic/MultiTable'\r\nimport PagedDataTable from \"./generic/PagedDataTable\";\r\nimport AfipApproval from './elements/AfipApproval';\r\nimport Amount from './elements/Amount';\r\nimport CancelInvoiceBtn from './elements/CancelInvoiceBtn';\r\nimport DocumentNumber from './elements/DocumentNumber';\r\nimport HoldButton from './elements/HoldButton';\r\nimport ForceInvButton from './elements/ForceInvButton';\r\nimport InvoicePDF from './elements/InvoicePDF';\r\nimport InvRequest from './elements/InvRequest';\r\nimport MeliPack from './elements/MeliPack';\r\nimport ReceiptNumber from './elements/ReceiptNumber';\r\nimport RetryInvButton from './elements/RetryInvButton';\r\nimport SaleView from './elements/SaleView';\r\n\r\n\r\nfunction get_columns(hideProvince = false, hideSaleReferenceIcons = false, hideActions = true) {\r\n const columns = [\r\n { field: 'date', headerName: 'Fecha', type: 'date', filterable: false, flex: 0.5, minWidth: 100 },\r\n { field: 'receipt_type', headerName: 'Codigo', filterable: false, flex: 1, minWidth: 150 },\r\n { field: 'full_number', headerName: 'Número', filterable: false, flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'Total', headerName: 'Total', type: 'number', flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'receiver_doc', headerName: 'Número Doc', filterable: false, flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'receiver_name', headerName: 'Nombre/Razón social', filterable: false, flex: 1.5, minWidth: 200 },\r\n { field: 'Province', headerName: 'Jurisdicción', flex: 1, minWidth: 150, hide: hideProvince },\r\n\r\n { field: 'FileName', headerName: 'Archivo', hide: true, flex: 1.5, minWidth: 200 },\r\n { field: 'ReceiptCode', headerName: 'Cód. Comprobante', type: 'number', hide: true,\r\n filterOperators: getGridNumericOperators().filter(\r\n (operator) => operator.value === '=' || operator.value === '!=' || operator.value === 'isEmpty' || operator.value === 'isNotEmpty' || operator.value === 'isAnyOf',\r\n )\r\n },\r\n { field: 'Number', headerName: 'Número', type: 'number', hide: true },\r\n { field: 'POSNum', headerName: 'PV', type: 'number', hide: true,\r\n filterOperators: getGridNumericOperators().filter(\r\n (operator) => operator.value === '=' || operator.value === '!=' || operator.value === 'isEmpty' || operator.value === 'isNotEmpty' || operator.value === 'isAnyOf',\r\n )\r\n },\r\n { field: 'DocNumber', headerName: 'Doc Cliente', hide: true },\r\n { field: 'Name', headerName: 'Nombre Cliente', hide: true },\r\n { field: 'pack_id', headerName: 'Referencia', hide: true },\r\n { field: 'IssuerCuit', headerName: 'CUIT Emisor', hide: true,\r\n filterOperators: getGridStringOperators().filter(\r\n (operator) => operator.value === 'contains',\r\n )\r\n },\r\n { field: 'indicators', headerName: '', filterable: false, flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n <>\r\n \r\n {(hideSaleReferenceIcons ?\r\n <> :\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ),\r\n },\r\n { field: 'actions', headerName: '', flex: 1, minWidth: 100, hide: hideActions,\r\n renderCell: (params) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }\r\n ];\r\n\r\n return columns;\r\n}\r\n\r\n\r\nfunction CustomFooter(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n {(props.actions_bar ? props.actions_bar : <>)}\r\n \r\n);\r\n}\r\n\r\nfunction ReceiptGrid(props) {\r\n const title_context = useContext(TitleContext); \r\n\r\n title_context?.setQtyItems(props.data.length.toString())\r\n\r\n const hide_footer = !Boolean(props.receipt_total)\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default function ReceiptsTable() {\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport {ReceiptGrid};\r\n","import { useState, useContext } from 'react';\r\nimport Cookies from 'js-cookie';\r\nimport { Box } from '@mui/material';\r\nimport LoadingButton from '@mui/lab/LoadingButton';\r\n\r\nimport {ResourceContext} from '../generic/resourceContainer'\r\n\r\n\r\nexport default function CreateInvRequest(props) {\r\n const [statusChange, setStatusChange] = useState(false);\r\n\r\n const resourceContext = useContext(ResourceContext); \r\n\r\n function createRequest(inv_req_id) {\r\n // Ignorar si ya fue apretado\r\n if (statusChange)\r\n {\r\n return;\r\n }\r\n\r\n // Enviar request\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'X-CSRF-TOKEN': Cookies.get('csrf_access_token')\r\n },\r\n body: JSON.stringify({inv_req_id})\r\n };\r\n\r\n const url = \"/api/invoice/request\"\r\n setStatusChange(true)\r\n console.log(\"post(\" + url + \") - \" + requestOptions.body)\r\n fetch(url, requestOptions)\r\n .then(res => res.json())\r\n .then(\r\n (data) => {\r\n if (data.error)\r\n {\r\n alert(\"error - \" + data.error);\r\n }\r\n resourceContext.setResourceDirty(current => !current)\r\n },\r\n (error) => {\r\n alert(\"error - \" + JSON.stringify(error));\r\n }\r\n )\r\n }\r\n \r\n return (\r\n \r\n createRequest(props.value)} disabled={props.disabled}>\r\n {props.label}\r\n \r\n \r\n );\r\n}\r\n","import { Box, IconButton, Typography } from '@mui/material';\r\n\r\nimport MeliIcon from './MeliIcon';\r\n\r\nexport default function MeliPublish(props) {\r\n function openMeLi(publish) {\r\n window.open('https://articulo.mercadolibre.com.ar/' + publish.slice(0,3) + '-' + publish.slice(3), '_blank').focus();\r\n }\r\n \r\n return (\r\n \r\n {props.label} \r\n {( props.showValue ?\r\n {props.value} :\r\n <>\r\n )}\r\n {( props.showButton ?\r\n openMeLi(props.value)}>\r\n \r\n :\r\n <>\r\n )}\r\n \r\n );\r\n}","import React from 'react';\r\nimport { useParams } from \"react-router-dom\";\r\n\r\nimport { Button, Box, Chip, Divider, Grid, Paper, Stack, TableContainer, Typography } from '@mui/material';\r\nimport {\r\n DataGrid,\r\n} from '@mui/x-data-grid';\r\n\r\nimport {ReceiptGrid} from \"../components/ReceiptsTable\";\r\nimport CreateInvRequest from '../components/elements/CreateInvRequest';\r\nimport MeliPack from '../components/elements/MeliPack';\r\nimport MeliPublish from '../components/elements/MeliPublish';\r\nimport ProductDescription from '../components/elements/ProductDescription';\r\nimport SKU from '../components/elements/SKU';\r\nimport Amount from '../components/elements/Amount';\r\nimport ResourceContainer from '../components/generic/resourceContainer';\r\n\r\n/*\r\nfunction CustomToolbar(props) {\r\n return (\r\n \r\n {props.title}\r\n \r\n );\r\n}\r\n*/\r\n\r\nfunction CustomFooter(props) {\r\n return (\r\n \r\n \r\n \r\n \r\n {(props.actions_bar ? props.actions_bar : <>)}\r\n \r\n );\r\n}\r\n\r\nfunction SaleViewOperations(props) {\r\n //const title = \"OPERACIONES\"\r\n const total = props.sale_total\r\n \r\n return (\r\n \r\n (\r\n
{(params.row.operation != 'Venta' ? '-':'' )} {params.row.quantity}
\r\n ),\r\n },\r\n { field: 'unit_price', headerName: 'PU', flex: 1, minWidth: 80,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'sku', headerName: 'SKU', flex: 1, minWidth: 70,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'description', headerName: 'Descripción', flex: 100, minWidth: 300,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'price', headerName: 'Total', flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'actions', headerName: '', flex: 1, minWidth: 70,\r\n renderCell: (params) => (\r\n <>\r\n \r\n \r\n ),\r\n }\r\n ]}\r\n rows={props.operations}\r\n //getRowHeight={(params) => (50 * params.densityFactor * ( params.model.variant ? 2 : 1 ))}\r\n components={{\r\n //Toolbar: CustomToolbar,\r\n Footer: CustomFooter\r\n }}\r\n componentsProps={{\r\n //toolbar: { title },\r\n footer: { total }\r\n }}\r\n density='compact'\r\n disableColumnMenu \r\n />\r\n
\r\n );\r\n}\r\n\r\nfunction ClientView(props) {\r\n return (\r\n \r\n \r\n Cliente\r\n {props.data.client.name} ({props.data.client.nickname})\r\n {props.data.client.city}, {props.data.client.province}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction SaleViewDetails(props) {\r\n\r\n // Si cant de receipts == 0 => Emitir factura\r\n // Si total facturado > total operaciones => Emitir Nota de crédito\r\n // ELSE desactivado\r\n\r\n let post_inv_request_enabled = false\r\n let post_inv_request_label = \"Emitir factura\"\r\n const post_inv_request_id = props.data.id + '_' + (props.data.receipts.length + 1)\r\n\r\n if ( props.data.receipts.length == 0 )\r\n {\r\n post_inv_request_enabled = true\r\n }\r\n else if (Number(props.data.receipt_total) > Number(props.data.sale_total))\r\n {\r\n post_inv_request_enabled = true\r\n post_inv_request_label = \"Emitir nota de crédito\"\r\n }\r\n\r\n const actions_bar = (\r\n \r\n \r\n \r\n );\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n VENTA: {props.data.id}\r\n Fecha y hora: {props.data.datetime}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Facturación\r\n \r\n \r\n Envío\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default function SalesView() {\r\n const params = useParams();\r\n \r\n const url = \"/api/sales/\" + params.id\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useContext } from 'react';\r\nimport { DataGrid } from '@mui/x-data-grid';\r\n\r\nimport {TitleContext} from './generic/MultiTable'\r\n\r\nimport AfipApproval from './elements/AfipApproval';\r\nimport Amount from './elements/Amount';\r\nimport CancelInvoiceBtn from './elements/CancelInvoiceBtn';\r\nimport ForceInvButton from './elements/ForceInvButton';\r\nimport HoldButton from './elements/HoldButton';\r\nimport InvoicePDF from './elements/InvoicePDF';\r\nimport InvRequest from './elements/InvRequest';\r\nimport MeliPack from './elements/MeliPack';\r\nimport ReceiptNumber from './elements/ReceiptNumber';\r\nimport RetryInvButton from './elements/RetryInvButton';\r\nimport SaleView from './elements/SaleView';\r\n \r\nexport default function InvRequestGrid(props) {\r\n const title_context = useContext(TitleContext); \r\n\r\n if (title_context)\r\n title_context.setQtyItems(props.data.length.toString())\r\n\r\n return (\r\n ( params.row.receipt.date )\r\n },\r\n { field: 'receipt_type', headerName: 'Tipo', flex: 1, minWidth: 100,\r\n valueGetter: (params) => ( params.row.receipt.receipt_type )\r\n },\r\n { field: 'full_number', headerName: 'Número', flex: 1, minWidth: 80,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n { field: 'Total', headerName: 'Total', flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n /*\r\n { field: 'receiver_doc', headerName: 'Número Doc.', filterable: false, flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n */\r\n { field: 'receiver_name', headerName: 'Nombre/Razón social', filterable: false, flex: 1.5, minWidth: 180,\r\n valueGetter: (params) => ( params.row.receipt.receiver_name )\r\n },\r\n { field: 'status', headerName: 'Estado', flex: 1, minWidth: 80,\r\n renderCell: (params) => (\r\n \r\n ),\r\n },\r\n /*\r\n { field: 'error_description', headerName: 'Error', flex: 1, minWidth: 350 },\r\n */\r\n { field: 'indicators', headerName: '', flex: 1, minWidth: 100,\r\n renderCell: (params) => (\r\n <>\r\n {(props.hideSaleReference ? <> :\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ),\r\n },\r\n { field: 'actions', headerName: '', flex: 1, minWidth: 70,\r\n renderCell: (params) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n ),\r\n } \r\n ]}\r\n rows={props.data}\r\n density='compact'\r\n disableColumnMenu \r\n hideFooter={true}\r\n loading={props.loading} \r\n />\r\n );\r\n}\r\n","import * as React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { Box, Paper, TableContainer, Tab, Tabs, Typography } from '@mui/material';\r\n\r\nimport MultiTableHolder, {MultiTableItem} from \"../components/generic/MultiTable\";\r\nimport InvRequestGrid from \"../components/InvRequestGrid\";\r\nimport ReceiptsTable from \"../components/ReceiptsTable\";\r\nimport {ReceiptGrid} from '../components/ReceiptsTable';\r\nimport {SalesGrid} from '../components/SalesTable';\r\nimport ResourceContainer from '../components/generic/resourceContainer';\r\n\r\nfunction TabPanel(props) {\r\n const { children, value, index, ...other } = props;\r\n\r\n return (\r\n