{"version":3,"sources":["webpack:///./ventanas/login/login.jsx","webpack:///./components/Motoscat.jsx","webpack:///./reducers/motoscat.js","webpack:///./motoscat/Articulos.jsx","webpack:///./motoscat/MarcasMotos.jsx","webpack:///./components/inputs/CounterInput.jsx","webpack:///../node_modules/skrit-web-framework/translator/locales lazy ^\\.\\/.*\\.json$ namespace object","webpack:///./locales lazy ^\\.\\/.*\\.json$ namespace object","webpack:///../node_modules/skrit-web-framework/node_modules/moment/locale sync ^\\.\\/(es)$","webpack:///./ventanas/login/loginForm.jsx","webpack:///./utils/ConstantesComunes.js","webpack:///./components/App.jsx","webpack:///./utils/utils.js","webpack:///./store/index.js","webpack:///./reducers/cesta.js","webpack:///./index_production.jsx","webpack:///./rutas/Routes.jsx","webpack:///./fichas/cesta/AnyadirArticulo.jsx","webpack:///../node_modules/moment/locale sync ^\\.\\/(es)$","webpack:///./reducers/index.js"],"names":["Login","Component","constructor","props","super","this","state","isFetching","loggedIn","loginErr","renderMsg","className","render","to","color","src","class","window","innerWidth","toggleIsFetching","value","setState","toggleLoggedIn","toggleLoginErr","match","fullscreen","size","label","mapStateToProps","motoscat","mapDispatchToProps","dispatch","iniMotoscat","type","closeMotoscat","Motoscat","viewHistory","isGoingBack","openCesta","contador","openVehiculo","componentDidMount","getTitle","marca","modelo","motor","view","MOTOSCAT_VIEW","MOTOS","translate","REFERENCIA","getComponent","open","isMobile","position","width","onClose","estado","fallback","FALLBACKS","DRAWER","onClick","key","timeout","classNames","mountOnEnter","unmountOnExit","style","height","withSizes","getBreakpoints","connect","createReducer","handlers","action","hasOwnProperty","idMarcaArticulo","idMarca","idModelo","idMotor","openConfig","openHistorial","openMarcaArticulo","OEM","codigoOEM","marcaOEM","cliente","articulosGM","stateEquiv","openDrawer","setMarca","setMarcaArticulo","marcaArticulo","setModelo","setMotor","openMotoscat","grupoMontaje","codigo","descripcion","viewCesta","viewConfig","viewHistorial","setMoto","setMotoDrawer","drawer","setReferencia","referencia","setOEM","setCliente","reg","setGruposMontajes","gruposMontaje","setSearchEquiv","setGM","articulos","codigoGM","descripcionGM","resetArticulosGM","drawerAction","motoscatReducer","INI_MOTOSCAT","SET_MARCA","SET_MARCA_ARTICULO","SET_MODELO","SET_MOTOR","SET_GRUPO_MONTAJE","RESET_GRUPO_MONTAJE","OPEN_MOTOSCAT","CLOSE_MOTOSCAT","VIEW_CESTA_MOTOSCAT","VIEW_CONFIG","VIEW_HISTORIAL","SET_MOTO","SET_MOTO_DRAWER","SET_REFERENCIA","SET_OEM","SET_CLIENTE","SET_GRUPOS_MONTAJE","SET_SEARCH_EQUIV","DRAWER_ACTION","filtroSinMarca","ORDEN","PRECIO","NETO","config","esCliente","EsCliente","changeCliente","id","FORMS","ARTICULOS","clienteSel","changeLineasCesta","lineas","deleteMotor","deleteMarca","Articulos","handleSort","articlesSorted","Array","isArray","length","orderId","handleRemoveMarcas","e","filtros","includes","hideBrands","preventDefault","stopPropagation","handleImage","refSkrit","modalImage","handleCloseModal","handleChangePage","pageNumber","prevState","currentPage","rows","ini","maxArticulos","totalProducts","maxPages","busquedaExacta","openArticuloCesta","ordenar","STOCK","text","MARCA","fichaStock","fichaOEM","fichaEqv","compactArticle","showLessPrice","marcasFiltradas","article","marcasCruzadas","otrasMarcas","familiasArticulos","acordeonMarcas","acordeonMarcasNotCross","acordeonFechasMontaje","checkFilter","brand","brandNotCross","dates","filterBrand","filterNotCrossBrand","filterDate","getArticle","componentDidUpdate","prevProps","getArtByMoto","getArtByMarca","getArtByRef","CODIGO","getArtByOEM","handleErrorSearch","msg","error","check","cruzadas","otras","swalMsg","handleShopingCart","articulo","articuloSelected","ART_ID","ART_CODIGO","handleCheckDate","element","map","date","handleCheckBrand","filter","handleCheckBrandNotCross","handleCheckAllDate","handleCheckAllBrand","group","handleCheckAllBrandNotCross","stockSort","isNewSearch","renderStockSearched","newMaxPages","Math","ceil","marcasArticulos","toArray","groupBy","el","FART_CODIGO","CODIGO_FAMILIA","FART_DESCRIPCION","DESCRIPCION_FAMILIA","isChecked","ART_ID_MARCA_ARTICULO","MART_DESCRIPCION","codigoMontaje","cruzado","maximoStock","sortArticulos","index","CRUZADO","maxBy","show","todasLasMarcas","aux","articluos","codCruzadas","codNoCruzadas","Cruzado","getFilters","filters","Descripcion","Codigo","getFilterDate","split","trim","centro","CENTRO","selectedBrand","join","selectedBrandNotCross","selectedDates","smartFetch","method","body","IdMoto","GrupoMontaje","Cliente","Centro","Almacen","ALMACEN_PRE","FechasMontaje","Page","PageLength","Indice","TBL_MARCAS","TBL_MARCAS_NOT_CROSS","then","res","Ok","Articles","art","Filters","gruposMarca","FilterMarcas","gruposMarcaNotCross","FilterNotCrossMarcas","gruposFechasMontaje","FilterFechasGrupoMontaje","TotalArticles","addMoto","MsgError","catch","ex","ArtCodigo","Equivalencia","IdMarca","CodigoOEM","MarcaOEM","addArticuloCesta","GRIDS","CESTA","controller","Lineas","getNumeroLineas","windowsAlert","NumeroLineas","accion","ACCIONES_ROW","INSERT","Accion","Reg","HIS_ID_TIPO","HISTORICO_MOTOSCAT","HIS_REFERENCIA_ART","ok","mensajeError","openMotos","HIS_ID","HIS_ID_MARCA_VEH","HIS_ID_MODELO_VEH","HIS_ID_MOTOR_VEH","HIS_MARCA_VEH","HIS_MODELO_VEH","HIS_MOTOR_VEH","renderFilterDate","classObj","cls","TEXTBOX","CHECKBOX","handleClick","renderFilterBrand","renderFilterBrandNotCross","renderFilters","classCheckMarcas","active","closed","classCheckMarcasNotCross","classCheckFechasMontaje","icon","iconCls","placeholder","options","onChange","renderArticleContent","artPropiedad","DESCRIPCION","ART_PROPIEDAD","ART_FECHA_MONTAJE","ART_OEM","ART_EQUV","invisible","verde","STOCK_ALMACEN","ambar","rojo","PVP_RECOMENDADO","formatCurrency","PVP","DTO","renderArticleCompactContent","renderArticle","indexMarca","indexArticulo","TIENE_IMAGEN","renderImage","renderArticleCompacted","loading","alt","SERVER","default","renderContent","activePage","totalItemsCount","itemsCountPerPage","pageRangeDisplayed","itemClass","linkClass","innerClass","renderBody","renderArticuloCesta","articleId","accept","cancel","renderStocks","ficha","FICHAS","STOCK_ALMACENES","ESTADOS_FORM","CONSULTA","renderOEM","ARTICULOS_OEM","EDICION","renderEquiv","ARTICULOS_EQUIV","renderModalImage","isOpen","contentLabel","overlayClassName","onRequestClose","ariaHideApp","shouldCloseOnEsc","shouldCloseOnOverlayClick","backgroundColor","display","alignItems","justifyContent","MarcasMotos","handleFilterLetra","letra","letras","concat","stepBack","step","marcas","modelos","motores","letrasFabricantes","openLetras","fabFiltrados","valueFiltro","filtroModelos","filtroVersion","getListado","orderFabByLetra","orderMotor","orderModelos","marcasFiltered","fab","MMO_DESCRIPCION","toUpperCase","Set","MMO_LETRA","fabricantes","item","modelosFiltered","MMD_DESCRIPCION","motoresFiltered","MOT_VERSION","selectBrand","row","MMO_ID","getModelos","selectMoto","MMD_ID","getMotores","articlesSelect","MOT_ID","MMD_ID_MARCA_MOTO","MOT_ID_MARCA_MOTO","MOT_ID_MODELO_MOTO","renderStepper","renderLetrasFabricantes","target","i","marginRight","renderBrands","cursor","MMO_ID_DOC","renderModelos","autoFocus","renderMotos","moto","MOT_CC","renderStep","CounterInput","incrementCounter","quantity","max","handleChange","decreaseCounter","min","changeNumeric","event","parseInt","isNaN","handleBlur","aria-hidden","onBlur","focus","propTypes","PropTypes","number","isRequired","disabled","bool","func","defaultProps","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","Error","code","ids","t","keys","Object","module","exports","webpackContext","webpackContextResolve","cleanState","onLogin","LoginForm","handleSubmit","payload","usuario","pwd","doLogin","handleKeyDown","keyCode","handleRecover","recover","params","user","data","isLogged","isConnected","localStorage","setItem","renderRecover","ref","input","articuloInput","onKeyDown","fontSize","renderLogin","ROLES","MENU","TEMAS","PERFIL","DASHBOARD","VERSIONES","MARCAS_MOTOS","MENUS","MENUS_PERMISOS","IDIOMAS","ALERTAS","AYUDAS","grid","Ficha","Consulta","ADD_ARTICULO_CESTA","ESCALADO_PRECIOS","MI_CONFIGURACION","HISTORIAL","CLIENTES","CENTROS","FORMATO_LIBRE","PEDIDO_WEB","EDITAR_ARTICULO","REMOTE","ICONOS","DOC","XLS","PDF","ZIP","WMV","JPG","XLSX","PPS","PPTX","DOCX","TXT","PPT","XLSM","HTM","MOV","PNG","RTF","CSV","EXTENSIONES_BYTES","GRUPO_MONTAJE","ACCIONES_CESTA","ADD","ELIMINAR_LINEA","ELIMINAR_CESTA_CLIENTE","MODIFICAR_LINEA","setConfig","store","getLocales","lang","cesta","App","getItem","credentials","fetch","json","forceUpdate","theme","language","loadTheme","setLanguage","Colores","document","documentElement","setProperty","TEMC_KEY","TEMC_VALUE","fullwindow","exact","path","component","NotFound","routes","route","getEjercicios","getState","ejerciciosFiscales","ejercicio","getSeries","seriesPermitidas","SER_ID","SER_DESCRIPCION","SER_DEFECTO","getSeriesFull","getEmpresa","activeCompany","configEmpresa","configEmpresas","find","EMP_ID","doAPICall","url","headers","status","blob","cleanForURI","encodeURIComponent","replace","parseByteArrayToString","byteArray","TextDecoder","decode","Uint8Array","enviarEmailPDF","JSON","stringify","CorreosDestinatarios","Asunto","CC","Cuerpo","DocumentosAdjuntos","tipo","resp","Swal","fire","toast","showConfirmButton","customClass","container","timer","MensajeError","validateEmail","email","test","addLineasUpdateFecha","before","after","some","elem","pk","isEqual","UPDATE","addAllEjercicios","ejercicios","allYears","push","addAllSeries","series","allSeries","exportarXML","xml","fileName","Blob","downloadBlob","message","getClientes","almacen","configureStore","reducer","skritApp","middleware","getDefaultMiddleware","thunkMiddleware","preloadedState","INITIAL_STATE","devTools","__REDUX_DEVTOOLS_EXTENSION__","iniCesta","setLineas","INI_CESTA","CHANGE_LINEAS_CESTA","require","addEventListener","visibilityState","counter","onbeforeunload","toString","editForms","pickBy","forms","returnValue","ReactDOM","getElementById","lazy","RouteWithSubRoutes","MAXIMO","AnyadirArticulo","cantidad","cantidadMaxima","openFichaStock","openFichaEscalados","almacenSel","disableCargar","numEscalados","getAlmacenes","ReferenciaERP","almacenes","Almacenes","Id","Text","ArticulosCesta","StockTotal","PermitirComprarStockCero","getEscalado","escalados","Escalado","getPrecioEscalado","ret","precio","dto","neto","escalado","sort","a","b","Precio","Dto","Neto","Cantidad","addArticulo","indexCesta","findIndex","idAlmacen","cantidadEscalado","precios","articuloCesta","total","stock","articuloStock","handleStock","changeAlmacen","handleAccept","Linea","IdCliente","NombreCliente","RAZON","CentroCliente","CodigoAlmacen","FormatoLibre","DescripcionAlmacen","ART_DESCRIPCION","Referencia","RefComercial","REFERENCIA_COMERCIAL","Marca","MART_CODIGO","NombreMarca","Stock","ComprarSinStock","PERMITIR_COMPRA_0_STOCK","Fecha","moment","Date","format","deleteCestaElement","newCesta","forEach","newStock","buildContent","buildCesta","buildInputsCesta","stockTotal","articulosCesta","fichaEscalados","reduceReducers","reducers","previous","current","reduce","p","r","formReducer","configReducer","gridReducer","menuLateralReducer","cestaReducer"],"mappings":"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","file":"Scripts/app.d8d035b20e7ed7d3a6d8.js","sourcesContent":["import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router';\r\nimport Spinner from 'skrit-web-framework/components/Spinner.jsx';\r\nimport LoginForm from './loginForm.jsx';\r\nimport Svg from 'skrit-web-framework/components/Svg';\r\n\r\nclass Login extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isFetching: false,\r\n loggedIn: false,\r\n loginErr: null\r\n };\r\n }\r\n\r\n renderMsg() {\r\n if (this.state.loginErr == null) return null;\r\n return (\r\n
\r\n {this.state.loginErr}\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n if (this.state.loggedIn) return ;\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({ isFetching: value });\r\n }}\r\n toggleLoggedIn={value => {\r\n this.setState({\r\n loggedIn: value,\r\n isFetching: false\r\n });\r\n }}\r\n toggleLoginErr={value => {\r\n this.setState({\r\n loginErr: value,\r\n isFetching: false\r\n });\r\n }}\r\n match={this.props.match}\r\n />\r\n {this.renderMsg()}\r\n
\r\n
\r\n\r\n {this.state.isFetching && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default Login;\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { withSizes } from 'react-sizes';\r\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\r\nimport { CancelButton } from 'skrit-web-framework/components/buttons';\r\nimport Drawer from 'skrit-web-framework/components/Drawer';\r\nimport translate from 'skrit-web-framework/translator';\r\nimport { getBreakpoints } from 'skrit-web-framework/utils';\r\n\r\nimport ErrorBoundary from 'skrit-web-framework/components/ErrorBoundary';\r\nimport { FALLBACKS } from 'skrit-web-framework/constantes';\r\nimport Articulos from '../motoscat/Articulos';\r\nimport MarcasMotos from '../motoscat/MarcasMotos';\r\nimport { MOTOSCAT_VIEW } from '../utils/ConstantesComunes';\r\n\r\nconst mapStateToProps = (state, props) => {\r\n return {\r\n ...state.motoscat,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch, props) => {\r\n return {\r\n iniMotoscat() {\r\n dispatch({ type: 'INI_MOTOSCAT' });\r\n },\r\n closeMotoscat: () => {\r\n dispatch({ type: 'CLOSE_MOTOSCAT' });\r\n },\r\n };\r\n};\r\n\r\nclass Motoscat extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n viewHistory: [],\r\n isGoingBack: false,\r\n openCesta: false,\r\n contador: null,\r\n openVehiculo: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.iniMotoscat();\r\n }\r\n\r\n getTitle() {\r\n const { marca, modelo, motor } = this.props;\r\n switch (this.props.view) {\r\n case MOTOSCAT_VIEW.MOTOS:\r\n return translate('tecdoc_vehiculo');\r\n case MOTOSCAT_VIEW.REFERENCIA:\r\n if (this.props.marca != null) {\r\n return (\r\n translate('articulos_moto') +\r\n ' ' +\r\n marca +\r\n ' ' +\r\n modelo +\r\n ' ' +\r\n motor\r\n );\r\n }\r\n return translate('articulos');\r\n default:\r\n return '';\r\n }\r\n }\r\n\r\n getComponent() {\r\n const { view } = this.props;\r\n switch (view) {\r\n case MOTOSCAT_VIEW.MOTOS:\r\n return ;\r\n case MOTOSCAT_VIEW.REFERENCIA:\r\n return ;\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n const { open, closeMotoscat, isMobile } = this.props;\r\n return (\r\n \r\n \r\n
\r\n
\r\n \r\n

{this.getTitle()}

\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {this.getComponent()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\nexport default withSizes(getBreakpoints)(\r\n connect(mapStateToProps, mapDispatchToProps)(Motoscat)\r\n);\r\n","function createReducer(handlers) {\r\n return function reducer(state, action) {\r\n if (handlers.hasOwnProperty(action.type)) {\r\n return handlers[action.type](state, action);\r\n }\r\n return state;\r\n };\r\n}\r\n\r\nfunction iniMotoscat(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n idMarcaArticulo: null,\r\n idMarca: null,\r\n idModelo: null,\r\n idMotor: null,\r\n openCesta: false,\r\n openConfig: false,\r\n openHistorial: false,\r\n openMarcaArticulo: false,\r\n OEM: {\r\n codigoOEM: null,\r\n marcaOEM: null,\r\n },\r\n view: null,\r\n cliente: {},\r\n articulosGM: [],\r\n stateEquiv: true,\r\n openDrawer: false,\r\n },\r\n };\r\n}\r\n\r\nfunction setMarca(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n idMarca: action.idMarca,\r\n marca: action.marca,\r\n },\r\n };\r\n}\r\n\r\nfunction setMarcaArticulo(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n idMarcaArticulo: action.idMarcaArticulo,\r\n marcaArticulo: action.marca,\r\n },\r\n };\r\n}\r\n\r\nfunction setModelo(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n // idModelo: action.idModelo,\r\n modelo: action.modelo,\r\n },\r\n };\r\n}\r\n\r\nfunction setMotor(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n idMotor: action.idMotor,\r\n motor: action.motor,\r\n view: action.view,\r\n },\r\n };\r\n}\r\n\r\nfunction openMotoscat(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n open: true,\r\n view: action.view,\r\n },\r\n };\r\n}\r\n\r\nfunction closeMotoscat(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n idMarcaArticulo: null,\r\n idMarca: null,\r\n idModelo: null,\r\n idMotor: null,\r\n OEM: null,\r\n view: null,\r\n openCesta: false,\r\n openConfig: false,\r\n openHistorial: false,\r\n openMarcaArticulo: false,\r\n cliente: {},\r\n articulosGM: [],\r\n grupoMontaje: {\r\n codigo: null,\r\n descripcion: null,\r\n },\r\n },\r\n };\r\n}\r\n\r\nfunction viewCesta(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n openCesta: action.open,\r\n },\r\n };\r\n}\r\n\r\nfunction viewConfig(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n openConfig: action.open,\r\n },\r\n };\r\n}\r\n\r\nfunction viewHistorial(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n openHistorial: action.open,\r\n },\r\n };\r\n}\r\n\r\nfunction setMoto(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n idMarca: action.idMarca,\r\n idModelo: action.idModelo,\r\n idMotor: action.idMotor,\r\n marca: action.marca,\r\n modelo: action.modelo,\r\n motor: action.motor,\r\n },\r\n };\r\n}\r\n\r\nfunction setMotoDrawer(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n idMarca: action.idMarca,\r\n idModelo: action.idModelo,\r\n idMotor: action.idMotor,\r\n marca: action.marca,\r\n modelo: action.modelo,\r\n motor: action.motor,\r\n openDrawer: action.drawer,\r\n articulosGM: [],\r\n grupoMontaje: {\r\n codigo: null,\r\n descripcion: null,\r\n },\r\n },\r\n };\r\n}\r\n\r\nfunction setReferencia(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n referencia: action.referencia,\r\n articulosGM:\r\n action.referencia === '' ? state.motoscat.articulosGM : [],\r\n grupoMontaje:\r\n action.referencia === ''\r\n ? state.motoscat.grupoMontaje\r\n : {\r\n codigo: null,\r\n descripcion: null,\r\n },\r\n },\r\n };\r\n}\r\n\r\nfunction setOEM(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n OEM: {\r\n ...state.motoscat.OEM,\r\n codigoOEM: action.codigoOEM,\r\n marcaOEM: action.marcaOEM,\r\n },\r\n },\r\n };\r\n}\r\n\r\nfunction setCliente(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n cliente: {\r\n ...action.reg,\r\n },\r\n },\r\n };\r\n}\r\n\r\nfunction setGruposMontajes(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n gruposMontaje: action.gruposMontaje\r\n }\r\n }\r\n}\r\n\r\nfunction setSearchEquiv(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n stateEquiv: action.value\r\n }\r\n }\r\n}\r\n\r\nfunction setGM(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n idMotor: action.idMotor,\r\n motor: action.motor,\r\n view: action.view,\r\n articulosGM: action.articulos,\r\n grupoMontaje: {\r\n codigo: action.codigoGM,\r\n descripcion: action.descripcionGM,\r\n },\r\n openDrawer: false,\r\n },\r\n };\r\n}\r\n\r\nfunction resetArticulosGM(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n articulosGM: [],\r\n grupoMontaje: {\r\n codigo: null,\r\n descripcion: null,\r\n },\r\n },\r\n };\r\n}\r\n\r\nfunction drawerAction(state, action) {\r\n return {\r\n ...state,\r\n motoscat: {\r\n ...state.motoscat,\r\n openDrawer: action.drawer,\r\n },\r\n };\r\n}\r\n\r\nconst motoscatReducer = createReducer({\r\n INI_MOTOSCAT: iniMotoscat,\r\n SET_MARCA: setMarca,\r\n SET_MARCA_ARTICULO: setMarcaArticulo,\r\n SET_MODELO: setModelo,\r\n SET_MOTOR: setMotor,\r\n SET_GRUPO_MONTAJE: setGM,\r\n RESET_GRUPO_MONTAJE: resetArticulosGM,\r\n OPEN_MOTOSCAT: openMotoscat,\r\n CLOSE_MOTOSCAT: closeMotoscat,\r\n VIEW_CESTA_MOTOSCAT: viewCesta,\r\n VIEW_CONFIG: viewConfig,\r\n VIEW_HISTORIAL: viewHistorial,\r\n SET_MOTO: setMoto,\r\n SET_MOTO_DRAWER: setMotoDrawer,\r\n SET_REFERENCIA: setReferencia,\r\n SET_OEM: setOEM,\r\n SET_CLIENTE: setCliente,\r\n SET_GRUPOS_MONTAJE: setGruposMontajes,\r\n SET_SEARCH_EQUIV: setSearchEquiv,\r\n DRAWER_ACTION: drawerAction,\r\n});\r\n\r\nexport default motoscatReducer;\r\n","import cls from 'classnames';\r\nimport { groupBy, maxBy, toArray } from 'lodash';\r\nimport React, { Component, Fragment } from 'react';\r\nimport Modal from 'react-modal';\r\nimport { connect } from 'react-redux';\r\nimport { withSizes } from 'react-sizes';\r\nimport { ActionBarButton } from 'skrit-web-framework/components/buttons';\r\nimport Button from 'skrit-web-framework/components/buttons-new/Button';\r\nimport ByteImage from 'skrit-web-framework/components/ByteImage';\r\nimport Drawer from 'skrit-web-framework/components/Drawer';\r\nimport { CheckboxSKR } from 'skrit-web-framework/components/inputs';\r\nimport SelectSKR from 'skrit-web-framework/components/selects/SelectSKR';\r\nimport Spinner from 'skrit-web-framework/components/Spinner';\r\nimport {\r\n ACCIONES_ROW,\r\n ESTADOS_FORM,\r\n SERVER,\r\n TEXTBOX,\r\n} from 'skrit-web-framework/constantes';\r\nimport Ficha from 'skrit-web-framework/fichas';\r\nimport translate from 'skrit-web-framework/translator';\r\nimport {\r\n formatCurrency,\r\n getBreakpoints,\r\n smartFetch,\r\n swalMsg,\r\n} from 'skrit-web-framework/utils';\r\nimport AnyadirArticulo from '../fichas/cesta/AnyadirArticulo';\r\nimport {\r\n FICHAS,\r\n FORMS,\r\n GRIDS,\r\n HISTORICO_MOTOSCAT,\r\n ORDEN,\r\n} from '../utils/ConstantesComunes';\r\n// import {\r\n// sortArtByMarca,\r\n// sortArtByNeto,\r\n// sortArtByPrecio,\r\n// sortArtByReferencia,\r\n// sortArtByStock,\r\n// sortByMarca,\r\n// sortByStock,\r\n// } from '../utils/sort';\r\nimport { windowsAlert } from '../utils/utils';\r\nimport Pagination from 'react-js-pagination';\r\n\r\nconst filtroSinMarca = [\r\n ORDEN.PRECIO,\r\n ORDEN.REFERENCIA,\r\n ORDEN.NETO,\r\n];\r\n\r\nconst mapStateToProps = (state) => {\r\n const config = state.config || {};\r\n return {\r\n ...state.motoscat,\r\n motoscat: state.motoscat,\r\n esCliente: config.EsCliente,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n changeCliente(reg) {\r\n dispatch({\r\n type: 'CHANGE_CLIENTE_SEL',\r\n id: FORMS.ARTICULOS,\r\n clienteSel: reg,\r\n });\r\n },\r\n changeLineasCesta(reg) {\r\n dispatch({ type: 'CHANGE_LINEAS_CESTA', lineas: reg });\r\n },\r\n setReferencia(referencia) {\r\n dispatch({\r\n type: 'SET_REFERENCIA',\r\n referencia,\r\n });\r\n },\r\n setMotor(idMotor, motor){\r\n dispatch({\r\n type: 'SET_MOTOR',\r\n idMotor,\r\n motor\r\n })\r\n },\r\n deleteMotor(){\r\n dispatch({\r\n type: 'SET_MOTO',\r\n idMarca: null,\r\n idModelo: null,\r\n idMotor: null,\r\n idMarcaArticulo: null,\r\n marca: '',\r\n modelo: '',\r\n motor: '',\r\n })\r\n },\r\n deleteMarca() {\r\n dispatch({\r\n type: 'SET_MARCA_ARTICULO',\r\n idMarca: null,\r\n idModelo: null,\r\n idMotor: null,\r\n idMarcaArticulo: null,\r\n marca: '',\r\n modelo: '',\r\n motor: '',\r\n });\r\n }\r\n };\r\n};\r\n\r\nclass Articulos extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n rows: null,\r\n ini: null,\r\n articlesSorted: null,\r\n idMotor: null,\r\n isFetching: false,\r\n currentPage: 1,\r\n maxArticulos: 30,\r\n totalProducts: 0,\r\n maxPages: 0,\r\n codigo: '',\r\n busquedaExacta: false,\r\n openArticuloCesta: false,\r\n ordenar: [\r\n { id: ORDEN.STOCK, text: translate('stock') },\r\n { id: ORDEN.PRECIO, text: translate('precio') },\r\n { id: ORDEN.MARCA, text: translate('marca') },\r\n { id: ORDEN.REFERENCIA, text: translate('referencia') },\r\n { id: ORDEN.NETO, text: translate('neto') },\r\n ],\r\n orderId: ORDEN.MARCA,\r\n fichaStock: {\r\n open: false,\r\n reg: null,\r\n },\r\n fichaOEM: {\r\n open: false,\r\n reg: null,\r\n },\r\n fichaEqv: {\r\n open: false,\r\n reg: null,\r\n },\r\n filtros: {\r\n hideBrands: false,\r\n compactArticle: false,\r\n showLessPrice: false,\r\n },\r\n marcasFiltradas: [],\r\n article: null,\r\n marcasCruzadas: [],\r\n otrasMarcas: [],\r\n familiasArticulos: [],\r\n acordeonMarcas: false,\r\n acordeonMarcasNotCross: false,\r\n acordeonFechasMontaje: false,\r\n checkFilter: {\r\n brand: true,\r\n brandNotCross: true,\r\n dates: true\r\n },\r\n filterBrand: [],\r\n filterNotCrossBrand: [],\r\n filterDate: [],\r\n modalImage: {\r\n open: false,\r\n refSkrit: null,\r\n },\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({ isFetching: true }, () => {\r\n this.getArticle();\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const {\r\n idMotor,\r\n referencia,\r\n motoscat,\r\n grupoMontaje, \r\n idMarcaArticulo,\r\n codigo,\r\n } = this.props;\r\n const { currentPage, orderId } = this.state;\r\n //Cambio de moto\r\n if (grupoMontaje && \r\n prevProps.grupoMontaje !== grupoMontaje &&\r\n grupoMontaje.codigo != null ) {\r\n this.props.setReferencia('')\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n isFetching: true,\r\n rows: null,\r\n ini: null,\r\n articulos: null,\r\n codigo: null,\r\n articlesSorted: [],\r\n filterBrand: [],\r\n filterDate: [],\r\n currentPage: 1,\r\n maxPages: 1,\r\n }),\r\n () => this.getArtByMoto()\r\n );\r\n }\r\n // Distinta marca de Moto\r\n if (prevProps.idMarcaArticulo !== idMarcaArticulo) {\r\n this.props.deleteMotor();\r\n this.props.setReferencia('');\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n isFetching: true,\r\n rows: null,\r\n ini: null,\r\n articulos: null,\r\n codigo: null,\r\n articlesSorted: [],\r\n filterNotCrossBrand: [],\r\n filterBrand: [],\r\n filterDate: [],\r\n currentPage: 1,\r\n maxPages: 1,\r\n }),\r\n () => this.getArtByMarca()\r\n );\r\n }\r\n //Distinta referencia en el buscador\r\n if (\r\n referencia !== prevProps.referencia &&\r\n referencia !== null &&\r\n referencia !== '' &&\r\n codigo !== prevState.codigo\r\n ) {\r\n this.props.deleteMotor();\r\n this.props.deleteMarca();\r\n this.setState((prevState) => \r\n ({ \r\n ...prevState,\r\n isFetching: true,\r\n rows: null,\r\n ini: null,\r\n articulos: null,\r\n articlesSorted: [],\r\n filterNotCrossBrand: [],\r\n filterBrand: [],\r\n filterDate: [],\r\n codigo: referencia,\r\n marcasCruzadas: [],\r\n familiasArticulos: [],\r\n otrasMarcas: [],\r\n }),\r\n () => this.getArtByRef()\r\n );\r\n }\r\n if (\r\n idMotor == null &&\r\n prevProps &&\r\n prevProps.idMotor &&\r\n idMotor !== prevProps.idMotor\r\n ) {\r\n this.setState({\r\n rows: null,\r\n ini: null,\r\n marcasCruzadas: [],\r\n familiasArticulos: [],\r\n otrasMarcas: [],\r\n articulos: null,\r\n articlesSorted: [],\r\n filterBrand: [],\r\n filterNotCrossBrand: [],\r\n filterDate: [],\r\n maxPages: 1,\r\n });\r\n }\r\n // Cambia de cliente\r\n if (\r\n motoscat &&\r\n motoscat.cliente &&\r\n prevProps.motoscat &&\r\n prevProps.motoscat.cliente &&\r\n motoscat.cliente.CODIGO !== prevProps.motoscat.cliente.CODIGO\r\n ) {\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n isFetching: true,\r\n marcasCruzadas: [],\r\n familiasArticulos: [],\r\n otrasMarcas: [],\r\n }),\r\n () => {\r\n this.getArticle();\r\n }\r\n );\r\n }\r\n // Buscar articulos OEM\r\n if (\r\n motoscat &&\r\n motoscat.OEM &&\r\n prevProps.motoscat &&\r\n prevProps.motoscat.OEM &&\r\n motoscat.OEM !== prevProps.motoscat.OEM\r\n ) {\r\n this.getArtByOEM(motoscat.OEM.codigoOEM, motoscat.OEM.marcaOEM);\r\n }\r\n if (\r\n prevState.currentPage !== currentPage ||\r\n prevState.orderId !== orderId\r\n ) {\r\n this.setState({ isFetching: true }, () => {\r\n this.getArticle();\r\n });\r\n }\r\n if (prevState.orderId !== orderId) {\r\n this.setState({ currentPage: 1 });\r\n }\r\n }\r\n\r\n //Remove if {\r\n // this.setState(\r\n // {\r\n // isFetching: true,\r\n // marcasCruzadas: [],\r\n // familiasArticulos: [],\r\n // otrasMarcas: [],\r\n // },\r\n // () => this.getArtByRef()\r\n // );\r\n // };\r\n\r\n handleSort = (value) => {\r\n const { articlesSorted } = this.state;\r\n if (\r\n articlesSorted === null ||\r\n (Array.isArray(articlesSorted) && articlesSorted.length === 0)\r\n )\r\n return;\r\n this.setState({\r\n orderId: value.id,\r\n });\r\n };\r\n\r\n handleRemoveMarcas = (e) => {\r\n const { filtros, articlesSorted, orderId } = this.state;\r\n if (!filtroSinMarca.includes(orderId) && articlesSorted != null) {\r\n this.setState({\r\n filtros: {\r\n ...filtros,\r\n hideBrands: !filtros.hideBrands,\r\n },\r\n });\r\n }\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n\r\n handleErrorSearch(msg) {\r\n let error = msg;\r\n if (error == null || error === '') {\r\n error = translate('no_articles');\r\n }\r\n this.setState(\r\n {\r\n isFetching: false,\r\n rows: null,\r\n ini: null,\r\n marcasCruzadas: [],\r\n familiasArticulos: [],\r\n otrasMarcas: [],\r\n check: {\r\n cruzadas: true,\r\n otras: true,\r\n },\r\n articulos: null,\r\n },\r\n () => swalMsg('error', error)\r\n );\r\n }\r\n\r\n handleImage = (refSkrit) => (e) => {\r\n this.setState({\r\n modalImage: {\r\n open: true,\r\n refSkrit,\r\n },\r\n });\r\n };\r\n\r\n handleCloseModal = (e) => {\r\n this.setState({\r\n modalImage: {\r\n open: false,\r\n refSkrit: null,\r\n },\r\n });\r\n };\r\n\r\n handleChangePage = (pageNumber) => {\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n currentPage: pageNumber,\r\n }));\r\n };\r\n\r\n // handleCheckFamilias(value, element) {\r\n // const {\r\n // articlesSorted,\r\n // filtros,\r\n // familiasArticulos,\r\n // marcasCruzadas,\r\n // otrasMarcas,\r\n // orderId,\r\n // } = this.state;\r\n // let familiasChk = familiasArticulos.map((el) => {\r\n // if (el.FART_CODIGO === element.FART_CODIGO) {\r\n // return {\r\n // ...el,\r\n // isChecked: value,\r\n // };\r\n // }\r\n // return el;\r\n // });\r\n // let familasShown = familiasChk\r\n // .filter((el) => el.isChecked)\r\n // .map((el) => el.FART_CODIGO);\r\n // let marcasCruzadasShown = marcasCruzadas\r\n // .filter((el) => el.isChecked)\r\n // .map((el) => el.codigo);\r\n // let otrasMarcasShown = otrasMarcas\r\n // .filter((el) => el.isChecked)\r\n // .map((el) => el.codigo);\r\n // let newarticlesSorted = [];\r\n // if (filtros.hideBrands || filtroSinMarca.includes(orderId)) {\r\n // //Filtrar por familia (grupo de montaje)\r\n // newarticlesSorted = articlesSorted[0].articulos.map((el) => {\r\n // return {\r\n // ...el,\r\n // show: familasShown.includes(el.FART_CODIGO),\r\n // };\r\n // });\r\n // //Filtrar por marcas\r\n // newarticlesSorted = newarticlesSorted.map((el) => {\r\n // if (el.show) {\r\n // return {\r\n // ...el,\r\n // show:\r\n // marcasCruzadasShown.includes(\r\n // el.ART_ID_MARCA_ARTICULO\r\n // ) ||\r\n // otrasMarcasShown.includes(el.ART_ID_MARCA_ARTICULO),\r\n // };\r\n // }\r\n // return el;\r\n // });\r\n // newarticlesSorted = [{ articulos: newarticlesSorted, show: true }];\r\n // } else {\r\n // //Filtrar por familia (grupo de montaje)\r\n // newarticlesSorted = articlesSorted.map((el) => {\r\n // if (el.show) {\r\n // return {\r\n // ...el,\r\n // articulos: el.articulos.map((el) => {\r\n // return {\r\n // ...el,\r\n // show: familasShown.includes(el.FART_CODIGO),\r\n // };\r\n // }),\r\n // };\r\n // }\r\n // return el;\r\n // });\r\n // }\r\n // this.setState({\r\n // articlesSorted: newarticlesSorted,\r\n // familiasArticulos: familiasChk,\r\n // });\r\n // }\r\n\r\n // handleCheckOtrasMarcas(value, element) {\r\n // const { otrasMarcas, articlesSorted, filtros, orderId } = this.state;\r\n // let newarticlesSorted = [];\r\n // if (filtros.hideBrands || filtroSinMarca.includes(orderId)) {\r\n // newarticlesSorted = articlesSorted[0].articulos.map((el) => {\r\n // if (el.ART_ID_MARCA_ARTICULO === element.codigo) {\r\n // return {\r\n // ...el,\r\n // show: value,\r\n // };\r\n // }\r\n // return el;\r\n // });\r\n // newarticlesSorted = [{ articulos: newarticlesSorted, show: true }];\r\n // } else {\r\n // newarticlesSorted = articlesSorted.map((el) => {\r\n // if (el.marca.codigo === element.codigo) {\r\n // return {\r\n // ...el,\r\n // show: value,\r\n // };\r\n // }\r\n // return el;\r\n // });\r\n // }\r\n\r\n // this.setState({\r\n // otrasMarcas: otrasMarcas.map((marca) => {\r\n // if (element.codigo === marca.codigo)\r\n // return {\r\n // ...marca,\r\n // isChecked: value,\r\n // };\r\n // return marca;\r\n // }),\r\n // articlesSorted: newarticlesSorted,\r\n // });\r\n // }\r\n\r\n handleShopingCart(articulo) {\r\n let articuloSelected =\r\n articulo.ART_ID != null ? articulo.ART_ID : articulo.ART_CODIGO;\r\n this.setState({\r\n openArticuloCesta: true,\r\n articuloSelected,\r\n article: articulo,\r\n });\r\n }\r\n\r\n handleCheckDate(value, element) {\r\n const { filterDate } = this.state;\r\n this.setState({\r\n filterDate: filterDate.map((date) => {\r\n if (element.date === date.date)\r\n return {\r\n ...date,\r\n check: value,\r\n };\r\n return date;\r\n }),\r\n });\r\n }\r\n\r\n handleCheckBrand(value, element) {\r\n const { filterBrand } = this.state;\r\n this.setState({\r\n filterBrand: filterBrand.map((marca) => {\r\n if (element.filter === marca.filter)\r\n return {\r\n ...marca,\r\n check: value,\r\n };\r\n return marca;\r\n }),\r\n });\r\n }\r\n\r\n handleCheckBrandNotCross(value, element) {\r\n const { filterNotCrossBrand } = this.state;\r\n this.setState({\r\n filterNotCrossBrand: filterNotCrossBrand.map((marca) => {\r\n if (element.filter === marca.filter)\r\n return {\r\n ...marca,\r\n check: value,\r\n };\r\n return marca;\r\n }),\r\n });\r\n }\r\n\r\n handleCheckAllDate(value) {\r\n const { filterDate } = this.state;\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n checkFilter: {\r\n ...prevState.checkFilter,\r\n dates: value,\r\n },\r\n filterDate: filterDate.map((date) => {\r\n return {\r\n ...date,\r\n check: value,\r\n };\r\n }),\r\n }));\r\n }\r\n\r\n handleCheckAllBrand(value) {\r\n const { filterBrand } = this.state;\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n checkFilter: {\r\n ...prevState.checkFilter,\r\n brand: value,\r\n },\r\n filterBrand: filterBrand.map((group) => {\r\n return {\r\n ...group,\r\n check: value,\r\n };\r\n }),\r\n }));\r\n }\r\n\r\n handleCheckAllBrandNotCross(value) {\r\n const { filterNotCrossBrand } = this.state;\r\n this.setState((prevState) => ({\r\n ...prevState,\r\n checkFilter: {\r\n ...prevState.checkFilter,\r\n brandNotCross: value,\r\n },\r\n filterNotCrossBrand: filterNotCrossBrand.map((group) => {\r\n return {\r\n ...group,\r\n check: value,\r\n };\r\n }),\r\n }));\r\n }\r\n\r\n //-------------------------------------------------------------------------- SORT --------------------------------------------------------------------------\r\n //-- SORT AGRUPADO POR MARCA\r\n stockSort(isNewSearch) {\r\n const {\r\n rows: articulos,\r\n maxArticulos,\r\n totalProducts,\r\n filtros,\r\n } = this.state;\r\n if (!isNewSearch && !filtros.hideBrands) {\r\n this.renderStockSearched();\r\n return;\r\n }\r\n const newMaxPages = Math.ceil(totalProducts / maxArticulos);\r\n const marcasArticulos = toArray(\r\n groupBy(articulos, 'ART_ID_MARCA_ARTICULO')\r\n );\r\n let familiasArticulos = toArray(groupBy(articulos, 'CODIGO_FAMILIA'));\r\n familiasArticulos = familiasArticulos.map((el) => {\r\n return {\r\n FART_CODIGO: el[0].CODIGO_FAMILIA,\r\n FART_DESCRIPCION: el[0].DESCRIPCION_FAMILIA,\r\n isChecked: true,\r\n };\r\n });\r\n const ini = marcasArticulos.map((articulos) => {\r\n return {\r\n codigo: articulos[0].ART_ID_MARCA_ARTICULO,\r\n text: articulos[0].MART_DESCRIPCION,\r\n id: articulos[0].ART_ID_MARCA_ARTICULO,\r\n grupoMontaje: articulos[0].DESCRIPCION_FAMILIA,\r\n codigoMontaje: articulos[0].CODIGO_FAMILIA,\r\n isChecked: true,\r\n cruzado: false,\r\n maximoStock: 0,\r\n };\r\n });\r\n const sortArticulos = marcasArticulos\r\n .map((articulos, index) => ({\r\n articulos: articulos,//.sort((a, b) => sortArtByStock(a, b)),\r\n marca: {\r\n ...ini[index],\r\n cruzado:\r\n articulos.filter((el) => el.CRUZADO === true).length >\r\n 0,\r\n maximoStock: maxBy(articulos, 'STOCK').STOCK,\r\n },\r\n show: true,\r\n }))\r\n //.sort((a, b) => sortByStock(a, b));\r\n\r\n const todasLasMarcas = sortArticulos.map((element) => element.marca);\r\n\r\n const marcasCruzadas = todasLasMarcas.filter((el) => el.cruzado);\r\n const otrasMarcas = todasLasMarcas.filter((el) => !el.cruzado);\r\n this.setState({\r\n articulos: sortArticulos,\r\n isFetching: false,\r\n maxPages: newMaxPages,\r\n marcasCruzadas,\r\n otrasMarcas,\r\n familiasArticulos,\r\n articlesSorted: sortArticulos,\r\n });\r\n }\r\n\r\n renderStockSearched() {\r\n const { rows, marcasCruzadas, otrasMarcas } = this.state;\r\n const marcasArticulos = toArray(groupBy(rows, 'ART_ID_MARCA_ARTICULO'));\r\n const aux = marcasArticulos.map((articluos) => {\r\n return {\r\n codigo: articluos[0].ART_ID_MARCA_ARTICULO,\r\n text: articluos[0].MART_DESCRIPCION,\r\n id: articluos[0].ART_ID_MARCA_ARTICULO,\r\n isChecked: true,\r\n cruzado: false,\r\n maximoStock: 0,\r\n };\r\n });\r\n\r\n const codCruzadas = marcasCruzadas\r\n .filter((element) => element.isChecked)\r\n .map((el) => el.codigo);\r\n const codNoCruzadas = otrasMarcas\r\n .filter((element) => element.isChecked)\r\n .map((el) => el.codigo);\r\n\r\n const sortArticulos = marcasArticulos\r\n .map((articulos, index) => {\r\n let articulo = articulos[0];\r\n let show = true;\r\n if (articulo) {\r\n if (\r\n codCruzadas.includes(articulo.ART_ID_MARCA_ARTICULO) ||\r\n codNoCruzadas.includes(articulo.ART_ID_MARCA_ARTICULO)\r\n ) {\r\n show = true;\r\n } else {\r\n show = false;\r\n }\r\n }\r\n return {\r\n articulos: articulos,//.sort((a, b) => sortArtByStock(a, b)),\r\n marca: {\r\n ...aux[index],\r\n cruzado:\r\n articulos.filter((el) => el.Cruzado === true)\r\n .length > 0,\r\n maximoStock: maxBy(articulos, 'STOCK'), //.STOCK,\r\n },\r\n show,\r\n };\r\n })\r\n //.sort((a, b) => sortByStock(a, b));\r\n this.setState({\r\n articlesSorted: sortArticulos,\r\n isFetching: false,\r\n });\r\n return;\r\n }\r\n\r\n getFilters(filters) {\r\n return filters.map((filter) => ({\r\n filter: filter.Descripcion,\r\n codigo: filter.Codigo,\r\n check: true, //this.isChecked(filter.Codigo),\r\n }));\r\n }\r\n\r\n getFilterDate(filters) {\r\n const dates = filters.split(',');\r\n return dates.map((date) => ({\r\n date: date.trim(),\r\n check: true\r\n }))\r\n }\r\n\r\n //--------------------------------------------------------- API CALL FUNCTIONS ---------------------------------------------------------\r\n getArticle() {\r\n const { codigo } = this.state;\r\n const { idMarcaArticulo } = this.props;\r\n if (codigo !== null && codigo !== '') {\r\n this.getArtByRef();\r\n return;\r\n }\r\n if (idMarcaArticulo !== null && idMarcaArticulo !== undefined) {\r\n this.getArtByMarca();\r\n return;\r\n }\r\n this.getArtByMoto();\r\n return;\r\n }\r\n\r\n getArtByMoto() {\r\n const { motoscat, esCliente, idMotor, grupoMontaje } = this.props;\r\n const {\r\n maxArticulos,\r\n currentPage,\r\n orderId,\r\n filterBrand,\r\n filterNotCrossBrand,\r\n filterDate\r\n } = this.state;\r\n this.setState({ isFetching: true });\r\n if (idMotor == null) {\r\n this.setState({ isFetching: false });\r\n return;\r\n }\r\n let cliente = motoscat.cliente;\r\n let centro = cliente ? cliente.CENTRO : null;\r\n const selectedBrand = Array.isArray(filterBrand)\r\n ? filterBrand\r\n .filter((group) => !group.check)\r\n .map((group) => group.codigo)\r\n .join('|')\r\n : [];\r\n const selectedBrandNotCross = Array.isArray(filterNotCrossBrand)\r\n ? filterNotCrossBrand\r\n .filter((group) => !group.check)\r\n .map((group) => group.codigo)\r\n .join('|')\r\n : [];\r\n const selectedDates = Array.isArray(filterDate)\r\n ? filterDate\r\n .filter((date) => date.check)\r\n .map((date) => date.date)\r\n // .map((date) => '%' + date + '%')\r\n .join(',')\r\n :[]\r\n\r\n smartFetch('/Articulos/GetArticulosPorMoto', {\r\n method: 'POST',\r\n body: {\r\n IdMoto: idMotor,\r\n GrupoMontaje: grupoMontaje.codigo,\r\n esCliente: esCliente,\r\n Cliente: cliente ? cliente.CODIGO : null,\r\n Centro: centro ? centro.CODIGO : null,\r\n Almacen: cliente ? cliente.ALMACEN_PRE : null,\r\n FechasMontaje: selectedDates,\r\n Page: currentPage,\r\n PageLength: maxArticulos,\r\n Indice: orderId,\r\n TBL_MARCAS: selectedBrand,\r\n TBL_MARCAS_NOT_CROSS: selectedBrandNotCross,\r\n },\r\n })\r\n .then((res) => {\r\n let body = res.body;\r\n if (body.Ok) {\r\n const articulos = body.Articulos.Articles.filter(\r\n (art) =>\r\n motoscat.grupoMontaje.codigo === art.CODIGO_FAMILIA\r\n ).map((el) => {\r\n return { ...el, show: true };\r\n });\r\n const filters = body.Articulos.Filters;\r\n const gruposMarca =\r\n filterBrand.length > 0\r\n ? filterBrand\r\n : this.getFilters(filters.FilterMarcas);\r\n const gruposMarcaNotCross = this.getFilters(filters.FilterNotCrossMarcas);\r\n // filterNotCrossBrand.length > 0\r\n // ? filterNotCrossBrand\r\n // : \r\n const gruposFechasMontaje =\r\n filterDate.length > 0\r\n ? filterDate\r\n : this.getFilterDate(filters.FilterFechasGrupoMontaje);\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n rows: articulos,\r\n ini: articulos,\r\n idMotor: idMotor,\r\n orderId: orderId,\r\n totalProducts: filters.TotalArticles,\r\n filterBrand: gruposMarca,\r\n filterNotCrossBrand: gruposMarcaNotCross,\r\n filterDate: gruposFechasMontaje\r\n }),\r\n () => {\r\n this.addMoto();\r\n this.stockSort(true);\r\n }\r\n );\r\n return;\r\n }\r\n this.handleErrorSearch(body.MsgError);\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n }\r\n\r\n getArtByRef() {\r\n const { motoscat } = this.props;\r\n const {\r\n codigo,\r\n maxArticulos,\r\n currentPage,\r\n orderId,\r\n filterNotCrossBrand,\r\n filterBrand,\r\n } = this.state;\r\n if (codigo === '' || codigo == null) {\r\n if (motoscat && motoscat.idMotor) {\r\n this.getArtByMoto();\r\n return;\r\n }\r\n\r\n this.setState({ isFetching: false }, () =>\r\n swalMsg('error', translate('introduzca_referencia'))\r\n );\r\n return;\r\n }\r\n let cliente = motoscat.cliente;\r\n let centro = cliente != null ? cliente.CENTRO : null;\r\n const selectedBrand = Array.isArray(filterBrand)\r\n ? filterBrand\r\n .filter((group) => !group.check)\r\n .map((group) => group.codigo)\r\n .join('|')\r\n : [];\r\n const selectedBrandNotCross = Array.isArray(filterNotCrossBrand)\r\n ? filterNotCrossBrand\r\n .filter((group) => !group.check)\r\n .map((group) => group.codigo)\r\n .join('|')\r\n : [];\r\n smartFetch('/Articulos/GetArticulosPorReferencia', {\r\n method: 'POST',\r\n body: {\r\n ArtCodigo: codigo,\r\n Cliente: cliente ? cliente.CODIGO : null,\r\n Centro: centro ? centro.CODIGO : null,\r\n Almacen: cliente ? cliente.ALMACEN_PRE : null,\r\n Indice: orderId,\r\n Page: currentPage,\r\n PageLength: maxArticulos,\r\n Equivalencia: motoscat ? motoscat.stateEquiv : true,\r\n TBL_MARCAS: selectedBrand,\r\n TBL_MARCAS_NOT_CROSS: selectedBrandNotCross\r\n },\r\n })\r\n .then((res) => {\r\n let body = res.body;\r\n if (body.Ok) {\r\n const articulos = body.Articulos.Articles.map((el) => {\r\n return { ...el, show: true };\r\n });\r\n const filters = body.Articulos.Filters;\r\n const gruposMarca =\r\n filterBrand.length > 0\r\n ? filterBrand\r\n : this.getFilters(filters.FilterMarcas);\r\n const gruposMarcaNotCross = \r\n filterNotCrossBrand.length > 0\r\n ? filterNotCrossBrand\r\n : this.getFilters(filters.FilterNotCrossMarcas);\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n rows: articulos,\r\n ini: articulos,\r\n orderId: orderId,\r\n totalProducts: filters.TotalArticles,\r\n filterBrand: gruposMarca,\r\n filterNotCrossBrand: gruposMarcaNotCross\r\n }),\r\n () => {\r\n this.setReferencia(this.state.codigo);\r\n this.stockSort(true);\r\n }\r\n );\r\n return;\r\n }\r\n this.handleErrorSearch(body.MsgError);\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n }\r\n\r\n getArtByMarca() {\r\n const { motoscat, idMarcaArticulo } = this.props;\r\n const {\r\n maxArticulos,\r\n currentPage,\r\n orderId,\r\n filterBrand,\r\n filterNotCrossBrand\r\n } = this.state;\r\n if (idMarcaArticulo === null) {\r\n this.setState({ isFetching: false });\r\n return;\r\n }\r\n const cliente = motoscat.cliente;\r\n const selectedBrand = Array.isArray(filterBrand)\r\n ? filterBrand\r\n .filter((group) => !group.check)\r\n .map((group) => group.codigo)\r\n .join('|')\r\n : [];\r\n const selectedBrandNotCross = Array.isArray(filterNotCrossBrand)\r\n ? filterNotCrossBrand\r\n .filter((group) => !group.check)\r\n .map((group) => group.codigo)\r\n .join('|')\r\n : [];\r\n smartFetch('/Articulos/GetArticulosPorMarca', {\r\n method: 'POST',\r\n body: {\r\n IdMarca: idMarcaArticulo,\r\n Cliente: cliente ? cliente.CODIGO : null,\r\n Almacen: cliente ? cliente.ALMACEN_PRE : null,\r\n Page: currentPage,\r\n PageLength: maxArticulos,\r\n Indice: orderId,\r\n TBL_MARCAS: selectedBrand,\r\n TBL_MARCAS_NOT_CROSS: selectedBrandNotCross\r\n },\r\n })\r\n .then((res) => {\r\n const body = res.body;\r\n if (body.Ok) {\r\n const articulos = body.Articulos.Articles.map((el) => {\r\n return { ...el, show: true };\r\n });\r\n\r\n const filters = body.Articulos.Filters;\r\n const gruposMarca =\r\n filterBrand.length > 0\r\n ? filterBrand\r\n : this.getFilters(filters.FilterMarcas);\r\n const gruposMarcaNotCross = \r\n filterNotCrossBrand.length > 0\r\n ? filterNotCrossBrand\r\n : this.getFilters(filters.FilterNotCrossMarcas);\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n rows: articulos,\r\n ini: articulos,\r\n orderId: orderId,\r\n totalProducts: filters.TotalArticles,\r\n filterBrand: gruposMarca,\r\n filterNotCrossBrand: gruposMarcaNotCross\r\n }),\r\n () => {\r\n this.stockSort(true);\r\n }\r\n );\r\n return;\r\n }\r\n this.handleErrorSearch(body.MsgError);\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n }\r\n\r\n getArtByOEM(codigoOEM, marcaOEM) {\r\n const { motoscat } = this.props;\r\n const {\r\n maxArticulos,\r\n currentPage,\r\n orderId,\r\n } = this.state;\r\n this.setState({ isFetching: true });\r\n let cliente = motoscat.cliente;\r\n\r\n smartFetch('/Articulos/GetArticulosPorOEM', {\r\n method: 'POST',\r\n body: {\r\n CodigoOEM: codigoOEM,\r\n MarcaOEM: marcaOEM,\r\n Cliente: cliente ? cliente.CODIGO : null,\r\n Almacen: cliente ? cliente.ALMACEN_PRE : null,\r\n Page: currentPage,\r\n PageLength: maxArticulos,\r\n Indice: orderId,\r\n },\r\n })\r\n .then((res) => {\r\n const body = res.body;\r\n if (body.Ok) {\r\n const articulos = body.Articulos.Articles.map((el) => {\r\n return { ...el, show: true };\r\n });\r\n\r\n const filters = body.Articulos.Filters;\r\n this.setState(\r\n (prevState) => ({\r\n ...prevState,\r\n rows: articulos,\r\n ini: articulos,\r\n orderId: orderId,\r\n totalProducts: filters.TotalArticles,\r\n }),\r\n () => {\r\n this.props.setReferencia('');\r\n //TODO this.props.setMotor(null,null);\r\n this.stockSort(true);\r\n }\r\n );\r\n return;\r\n }\r\n this.handleErrorSearch(body.MsgError);\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n }\r\n\r\n //Cesta\r\n addArticuloCesta(reg) {\r\n if (reg == null || (Array.isArray(reg) && reg.length === 0)) {\r\n this.setState({ openArticuloCesta: false });\r\n return;\r\n }\r\n smartFetch(GRIDS.CESTA.controller + '/ActualizarLineasCesta', {\r\n method: 'POST',\r\n body: {\r\n Lineas: reg,\r\n },\r\n })\r\n .then((res) => {\r\n let body = res.body;\r\n if (body.Ok) {\r\n this.setState({ openArticuloCesta: false }, () => {\r\n this.getNumeroLineas();\r\n windowsAlert('Artículo añadido a la cesta');\r\n });\r\n return;\r\n }\r\n this.setState({ openArticuloCesta: false }, () =>\r\n swalMsg('error', body.MsgError)\r\n );\r\n })\r\n .catch((ex) => this.setState({ openArticuloCesta: false }));\r\n }\r\n\r\n getNumeroLineas() {\r\n smartFetch(GRIDS.CESTA.controller + '/GetNumeroLineas', {\r\n method: 'POST',\r\n })\r\n .then((res) => {\r\n if (res.body.Ok) {\r\n this.props.changeLineasCesta(res.body.NumeroLineas);\r\n return;\r\n }\r\n swalMsg('error', res.body.MsgError);\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n }\r\n\r\n //Historial\r\n setReferencia() {\r\n const { codigo } = this.state;\r\n if (codigo === '' || codigo == null) return;\r\n let accion = ACCIONES_ROW.INSERT;\r\n smartFetch('/Historico/ActualizarRegistro', {\r\n method: 'PUT',\r\n body: {\r\n Accion: accion,\r\n Reg: {\r\n HIS_ID_TIPO: HISTORICO_MOTOSCAT.REFERENCIA,\r\n HIS_REFERENCIA_ART: codigo,\r\n },\r\n },\r\n })\r\n .then((res) => {\r\n let body = res.body;\r\n if (!body.ok) {\r\n swalMsg('error', body.mensajeError);\r\n return;\r\n }\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n this.setState({ openMotos: false });\r\n }\r\n\r\n //Historial\r\n addMoto() {\r\n const { motoscat } = this.props;\r\n smartFetch('/Historico/ActualizarRegistro', {\r\n method: 'PUT',\r\n body: {\r\n Accion: 0,\r\n Reg: {\r\n HIS_ID: null,\r\n HIS_ID_TIPO: HISTORICO_MOTOSCAT.MOTOS,\r\n HIS_ID_MARCA_VEH: motoscat.idMarca,\r\n HIS_ID_MODELO_VEH: motoscat.idModelo,\r\n HIS_ID_MOTOR_VEH: motoscat.idMotor,\r\n HIS_MARCA_VEH: motoscat.marca,\r\n HIS_MODELO_VEH: motoscat.modelo,\r\n HIS_MOTOR_VEH: motoscat.motor,\r\n },\r\n },\r\n })\r\n .then((res) => {\r\n let body = res.body;\r\n if (!body.ok) {\r\n swalMsg('error', body.mensajeError);\r\n\r\n return;\r\n }\r\n })\r\n .catch((ex) => this.setState({ isFetching: false }));\r\n }\r\n\r\n //-------------------------------------------------------------------------------------- MAQUETACION --------------------------------------------------------------------------------------\r\n\r\n renderFilterDate(classObj, filters) {\r\n const { checkFilter } = this.state;\r\n return (\r\n
\r\n
\r\n {Array.isArray(filters) && filters.length > 0 && (\r\n \r\n
\r\n {\r\n this.handleCheckAllDate(value);\r\n }}\r\n className='mb-2'\r\n />\r\n
\r\n {filters.map((element, index) => {\r\n return (\r\n {\r\n this.handleCheckDate(\r\n value,\r\n element\r\n );\r\n }}\r\n className='mb-2'\r\n />\r\n );\r\n })}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderFilterBrand(classObj, filters) {\r\n const { checkFilter } = this.state;\r\n return (\r\n
\r\n
\r\n {Array.isArray(filters) && filters.length > 0 && (\r\n \r\n
\r\n {\r\n this.handleCheckAllBrand(value);\r\n }}\r\n className='mb-2'\r\n />\r\n
\r\n {filters.map((element, index) => {\r\n return (\r\n {\r\n this.handleCheckBrand(\r\n value,\r\n element\r\n );\r\n }}\r\n className='mb-2'\r\n />\r\n );\r\n })}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderFilterBrandNotCross(classObj, filters) {\r\n const { checkFilter } = this.state;\r\n return (\r\n
\r\n
\r\n {Array.isArray(filters) && filters.length > 0 && (\r\n \r\n
\r\n {\r\n this.handleCheckAllBrandNotCross(value);\r\n }}\r\n className='mb-2'\r\n />\r\n
\r\n {filters.map((element, index) => {\r\n return (\r\n {\r\n this.handleCheckBrandNotCross(\r\n value,\r\n element\r\n );\r\n }}\r\n className='mb-2'\r\n />\r\n );\r\n })}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderFilters() {\r\n const {\r\n filtros,\r\n filterBrand,\r\n filterNotCrossBrand,\r\n filterDate,\r\n acordeonMarcas,\r\n acordeonMarcasNotCross,\r\n acordeonFechasMontaje,\r\n ordenar,\r\n orderId,\r\n } = this.state;\r\n const classCheckMarcas = {\r\n active: acordeonMarcas,\r\n closed: !acordeonMarcas,\r\n };\r\n const classCheckMarcasNotCross = {\r\n active: acordeonMarcasNotCross,\r\n closed: !acordeonMarcasNotCross,\r\n };\r\n const classCheckFechasMontaje = {\r\n active: acordeonFechasMontaje,\r\n closed: !acordeonFechasMontaje,\r\n }\r\n return (\r\n
\r\n {/* BOTONES 1-NO TITULO ART, 2-RESUMEN ART Y 3-VER SOLO PVP O STOCK */}\r\n
\r\n this.handleRemoveMarcas()}\r\n />\r\n \r\n this.setState({\r\n filtros: {\r\n ...filtros,\r\n compactArticle: !filtros.compactArticle,\r\n },\r\n })\r\n }\r\n />\r\n \r\n this.setState({\r\n filtros: {\r\n ...filtros,\r\n showLessPrice: !filtros.showLessPrice,\r\n },\r\n })\r\n }\r\n />\r\n
\r\n\r\n {/* ORDENAR POR... */}\r\n
\r\n
\r\n this.handleSort(value)}\r\n />\r\n
\r\n
\r\n\r\n {/* CÓDIGO ARTÍCULO */}\r\n {/*
\r\n
\r\n
\r\n
\r\n {\r\n this.setState({\r\n codigo: value,\r\n });\r\n }}\r\n onEnter={this.handleKeyDown}\r\n />\r\n
\r\n
\r\n \r\n this.setState(\r\n {\r\n isFetching: true,\r\n marcasCruzadas: [],\r\n familiasArticulos: [],\r\n otrasMarcas: [],\r\n check: {\r\n cruzadas: true,\r\n otras: true,\r\n },\r\n },\r\n () => this.getArtByRef()\r\n )\r\n }\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
*/}\r\n \r\n {/* FILTRAR POR FECHAS DE MONTAJE */}\r\n {Array.isArray(filterDate) && filterDate.length > 0 && (\r\n \r\n \r\n this.setState({\r\n acordeonFechasMontaje: !acordeonFechasMontaje,\r\n })\r\n }\r\n >\r\n
\r\n {translate('_fechas_montaje')}\r\n \r\n
\r\n
\r\n {this.renderFilterDate(classCheckFechasMontaje, filterDate)}\r\n \r\n )}\r\n \r\n {/* FILTRAR POR MARCAS */}\r\n {Array.isArray(filterBrand) && filterBrand.length > 0 && (\r\n \r\n \r\n this.setState({\r\n acordeonMarcas: !acordeonMarcas,\r\n })\r\n }\r\n >\r\n
\r\n {translate('_marcas')}\r\n \r\n
\r\n \r\n {this.renderFilterBrand(classCheckMarcas, filterBrand)}\r\n
\r\n )}\r\n\r\n {/* FILTRAR POR MARCAS ARTICULOS NO CRUZADOS*/}\r\n {Array.isArray(filterNotCrossBrand) && filterNotCrossBrand.length > 0 && (\r\n \r\n \r\n this.setState({\r\n acordeonMarcasNotCross: !acordeonMarcasNotCross,\r\n })\r\n }\r\n >\r\n
\r\n {translate('_marcasNotCross')}\r\n \r\n
\r\n \r\n {this.renderFilterBrandNotCross(classCheckMarcasNotCross, filterNotCrossBrand)}\r\n
\r\n )}\r\n\r\n {/* FILTRAR RESULTADO */}\r\n {\r\n this.setState({ isFetching: true, currentPage: 1 });\r\n this.getArticle();\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n //Articulo Completo (No comapctado)\r\n renderArticleContent(articulo, artPropiedad) {\r\n const { filtros, orderId } = this.state;\r\n const { motoscat } = this.props;\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {(filtros.hideBrands ||\r\n filtroSinMarca.includes(orderId)) && (\r\n \r\n {articulo.MART_DESCRIPCION} \r\n \r\n )}\r\n {/* {articulo.ART_CODIGO} */}\r\n
\r\n {articulo.ART_CODIGO != null && (\r\n
\r\n \r\n {translate('referencia_proveedor') +\r\n ':'}\r\n  \r\n {articulo.ART_CODIGO}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n {articulo.DESCRIPCION}\r\n \r\n
\r\n {articulo.ART_PROPIEDAD !== null && (\r\n
\r\n {artPropiedad.map((art, index) => {\r\n return (\r\n {art}\r\n );\r\n })}\r\n
\r\n )}\r\n {articulo.ART_FECHA_MONTAJE !== null &&\r\n articulo.ART_FECHA_MONTAJE && (\r\n
\r\n \r\n {`Años Montaje: Desde ${\r\n articulo.ART_FECHA_MONTAJE.split(\r\n ','\r\n )[0]\r\n } al ${\r\n articulo.ART_FECHA_MONTAJE.split(\r\n ','\r\n )[\r\n articulo.ART_FECHA_MONTAJE.split(\r\n ','\r\n ).length - 1\r\n ]\r\n }`}\r\n \r\n
\r\n )}\r\n {articulo.ART_OEM !== null && (\r\n
\r\n \r\n this.setState({\r\n fichaOEM: {\r\n open: true,\r\n reg: articulo.ART_OEM,\r\n },\r\n })\r\n }\r\n />\r\n
\r\n )}\r\n {articulo.ART_EQUV !== null && (\r\n
\r\n \r\n this.setState({\r\n fichaEqv: {\r\n open: true,\r\n reg: articulo.ART_EQUV,\r\n },\r\n })\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
{translate('stock')}
\r\n \r\n 0,\r\n ambar:\r\n articulo.STOCK_ALMACEN <= 0 &&\r\n articulo.STOCK > 0,\r\n rojo:\r\n articulo.STOCK_ALMACEN <= 0 &&\r\n articulo.STOCK <= 0,\r\n })}\r\n onClick={() => {\r\n this.setState({\r\n fichaStock: {\r\n open: true,\r\n reg: articulo.ART_CODIGO,\r\n },\r\n });\r\n }}\r\n />\r\n
\r\n \r\n {articulo.STOCK_ALMACEN} \r\n \r\n \r\n / {articulo.STOCK}\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
{translate('pvp')}
\r\n
\r\n {articulo.PVP_RECOMENDADO === 0\r\n ? formatCurrency(articulo.PVP)\r\n : formatCurrency(articulo.PVP_RECOMENDADO)}\r\n
\r\n
\r\n\r\n {!filtros.showLessPrice && (\r\n \r\n
\r\n
{translate('precio')}
\r\n
{formatCurrency(articulo.PVP)}
\r\n
\r\n
\r\n
{translate('dto')}
\r\n
\r\n {formatCurrency(articulo.DTO, 2, '%')}\r\n
\r\n
\r\n
\r\n
{translate('neto')}
\r\n
{formatCurrency(articulo.NETO)}
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n {motoscat &&\r\n motoscat.cliente &&\r\n motoscat.cliente.CODIGO && (\r\n \r\n this.handleShopingCart(articulo)\r\n }\r\n >\r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n //Articulo Completo Comapctado\r\n renderArticleCompactContent(articulo) {\r\n const { filtros } = this.state;\r\n const { motoscat } = this.props;\r\n return (\r\n \r\n
\r\n
\r\n \r\n 0,\r\n ambar:\r\n articulo.STOCK_ALMACEN <= 0 &&\r\n articulo.STOCK > 0,\r\n rojo:\r\n articulo.STOCK_ALMACEN <= 0 &&\r\n articulo.STOCK <= 0,\r\n })}\r\n onClick={() => {\r\n this.setState({\r\n fichaStock: {\r\n open: true,\r\n reg: articulo.ART_CODIGO,\r\n },\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n \r\n {filtros.hideBrands && (\r\n \r\n {articulo.MART_DESCRIPCION}\r\n {': '}\r\n \r\n )}\r\n  \r\n {translate('referencia_proveedor') + ':'}\r\n  \r\n {/* {articulo.ARTICULO} */}\r\n {articulo.ART_CODIGO}\r\n \r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n
\r\n \r\n \r\n
{translate('stock')}
\r\n
\r\n \r\n {articulo.STOCK_ALMACEN}\r\n \r\n \r\n /{articulo.STOCK}\r\n \r\n
\r\n \r\n\r\n
\r\n
{translate('pvp')}
\r\n
\r\n {articulo.PVP_RECOMENDADO === 0\r\n ? formatCurrency(articulo.PVP)\r\n : formatCurrency(articulo.PVP_RECOMENDADO)}\r\n
\r\n
\r\n\r\n {!filtros.showLessPrice && (\r\n \r\n
\r\n
{translate('precio')}
\r\n
{formatCurrency(articulo.PVP)}
\r\n
\r\n
\r\n
{translate('dto')}
\r\n
\r\n {formatCurrency(articulo.DTO, 2, '%')}\r\n
\r\n
\r\n
\r\n
{translate('neto')}
\r\n
{formatCurrency(articulo.NETO)}
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n {motoscat &&\r\n motoscat.cliente &&\r\n motoscat.cliente.CODIGO && (\r\n \r\n this.handleShopingCart(articulo)\r\n }\r\n >\r\n \r\n \r\n )}\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n renderArticle() {\r\n const { articlesSorted, filtros } = this.state;\r\n return articlesSorted.map((element, indexMarca) => {\r\n if (element.show)\r\n return (\r\n \r\n {!filtros.hideBrands && element.marca && (\r\n
\r\n {element.marca.text}\r\n
\r\n )}\r\n {element.articulos.map((articulo, indexArticulo) => {\r\n if (articulo.show === false) return null;\r\n const artPropiedad =\r\n (articulo.ART_PROPIEDAD !== null &&\r\n articulo.ART_PROPIEDAD.split(',')) ||\r\n [];\r\n return (\r\n \r\n
\r\n {this.renderImage(articulo)}\r\n
\r\n
\r\n
\r\n {this.renderArticleContent(\r\n articulo,\r\n artPropiedad\r\n )}\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n });\r\n }\r\n\r\n renderArticleCompacted() {\r\n const { articlesSorted, filtros } = this.state;\r\n return articlesSorted.map((element, indexMarca) => {\r\n if (element.show)\r\n return (\r\n \r\n {!filtros.hideBrands && element.marca && (\r\n
\r\n {element.marca.text}\r\n
\r\n )}\r\n {element.articulos.map((articulo, indexArticulo) => {\r\n if (articulo.show === false) return null;\r\n return (\r\n \r\n
\r\n
\r\n {this.renderArticleCompactContent(\r\n articulo\r\n )}\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n );\r\n });\r\n }\r\n\r\n renderImage(articulo) {\r\n return (\r\n articulo.TIENE_IMAGEN ? (\r\n {articulo.ART_CODIGO}\r\n\r\n ) : (\r\n \r\n )\r\n )\r\n }\r\n\r\n renderContent() {\r\n const {\r\n isFetching,\r\n articlesSorted,\r\n filtros,\r\n currentPage,\r\n totalProducts,\r\n maxArticulos,\r\n } = this.state;\r\n if (isFetching)\r\n return ;\r\n if (\r\n articlesSorted === null ||\r\n (Array.isArray(articlesSorted) && articlesSorted.length === 0)\r\n ){\r\n return (\r\n
\r\n
{translate('seleccione_moto_o_referencia')}
\r\n
\r\n );}\r\n return (\r\n
\r\n
\r\n {filtros.compactArticle\r\n ? this.renderArticleCompacted()\r\n : this.renderArticle()}\r\n
\r\n {totalProducts > maxArticulos && (\r\n \r\n )}\r\n
\r\n );\r\n }\r\n\r\n renderBody() {\r\n return (\r\n \r\n {this.renderFilters()}\r\n {this.renderContent()}\r\n \r\n );\r\n }\r\n\r\n //-------------------------------------------------------------------------------------- Drawers --------------------------------------------------------------------------------------\r\n\r\n renderArticuloCesta() {\r\n const { openArticuloCesta, article, articuloSelected } = this.state;\r\n return (\r\n this.setState({ openArticuloCesta: false })}\r\n >\r\n this.addArticuloCesta(reg)}\r\n reg={article}\r\n cancel={() =>\r\n this.setState({\r\n openArticuloCesta: false,\r\n article: null,\r\n })\r\n }\r\n />\r\n \r\n );\r\n }\r\n\r\n renderStocks() {\r\n const { fichaStock } = this.state;\r\n return (\r\n \r\n this.setState({\r\n fichaStock: {\r\n open: false,\r\n reg: null,\r\n },\r\n })\r\n }\r\n />\r\n );\r\n }\r\n\r\n renderOEM() {\r\n const { fichaOEM } = this.state;\r\n return (\r\n \r\n this.setState({\r\n fichaOEM: {\r\n open: false,\r\n reg: null,\r\n },\r\n })\r\n }\r\n />\r\n );\r\n }\r\n\r\n renderEquiv() {\r\n const { fichaEqv } = this.state;\r\n return (\r\n \r\n this.setState({\r\n fichaEqv: {\r\n open: false,\r\n reg: null,\r\n },\r\n })\r\n }\r\n />\r\n );\r\n }\r\n\r\n renderModalImage() {\r\n const { modalImage } = this.state;\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 render() {\r\n return (\r\n \r\n {this.renderBody()}\r\n {this.renderArticuloCesta()}\r\n {this.renderStocks()}\r\n {this.renderOEM()}\r\n {this.renderEquiv()}\r\n {this.renderModalImage()}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withSizes(getBreakpoints)(\r\n connect(mapStateToProps, mapDispatchToProps)(Articulos)\r\n);\r\n","import React, { Component, Fragment } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { getBreakpoints, getListado } from 'skrit-web-framework/utils';\r\nimport translate from 'skrit-web-framework/translator';\r\nimport Stepper from 'skrit-web-framework/components/Stepper';\r\nimport { withSizes } from 'react-sizes';\r\nimport { SERVER } from 'skrit-web-framework/constantes';\r\nimport { MOTOSCAT_VIEW } from '../utils/ConstantesComunes';\r\nimport Spinner from 'skrit-web-framework/components/Spinner';\r\nimport cls from 'classnames';\r\nimport Button from 'skrit-web-framework/components/buttons-new/Button';\r\nimport ByteImage from 'skrit-web-framework/components/ByteImage';\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n ...state.motoscat,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setMarca(idMarca, marca) {\r\n dispatch({ type: 'SET_MARCA', idMarca: idMarca, marca });\r\n },\r\n setModelo(idModelo, modelo) {\r\n dispatch({ type: 'SET_MODELO', idModelo: idModelo, modelo });\r\n },\r\n setMotor(idMotor, motor, view) {\r\n dispatch({\r\n type: 'SET_MOTOR',\r\n idMotor: idMotor,\r\n view: view,\r\n motor,\r\n });\r\n },\r\n };\r\n};\r\n\r\nclass MarcasMotos extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n marcas: { ini: [], rows: [] },\r\n modelos: { ini: [], rows: [] },\r\n motores: { ini: [], rows: [] },\r\n step: 1,\r\n marca: null,\r\n modelo: null,\r\n letrasFabricantes: [],\r\n openLetras: false,\r\n letras: [],\r\n fabFiltrados: [],\r\n valueFiltro: '',\r\n filtroModelos: '',\r\n filtroVersion: '',\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n getListado('/MarcasMotos', {}).then((res) => {\r\n this.setState({ marcas: { ini: res.rows, rows: res.rows } }, () =>\r\n this.orderFabByLetra()\r\n );\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { valueFiltro, filtroModelos, filtroVersion } = this.state;\r\n if (valueFiltro !== prevState.valueFiltro) {\r\n this.orderFabByLetra();\r\n return;\r\n }\r\n if (filtroModelos !== prevState.filtroModelos) {\r\n this.orderModelos(filtroModelos);\r\n return;\r\n }\r\n if (filtroVersion !== prevState.filtroVersion) {\r\n this.orderMotor(filtroVersion);\r\n return;\r\n }\r\n }\r\n\r\n handleFilterLetra = (letra) => (e) => {\r\n const { letras } = this.state;\r\n if (letras.includes(letra)) {\r\n this.setState({ letras: letras.filter((e) => e !== letra) });\r\n } else {\r\n this.setState({ letras: letras.concat(letra) });\r\n }\r\n };\r\n\r\n stepBack = (e) => {\r\n const { step } = this.state;\r\n this.setState({ step: step - 1 });\r\n };\r\n\r\n orderFabByLetra() {\r\n const { marcas, valueFiltro } = this.state;\r\n let letras = [];\r\n let marcasFiltered = [];\r\n if (valueFiltro !== '' && valueFiltro != null) {\r\n marcasFiltered = marcas.rows.filter((fab) =>\r\n fab.MMO_DESCRIPCION.toUpperCase().includes(\r\n valueFiltro.toUpperCase()\r\n )\r\n );\r\n } else {\r\n marcasFiltered = marcas.rows;\r\n }\r\n letras = [...new Set(marcasFiltered.map((e) => e.MMO_LETRA))];\r\n let letrasFabricantes = letras.map((e) => {\r\n return {\r\n letra: e,\r\n fabricantes: marcasFiltered.filter(\r\n (item) => item.MMO_LETRA === e\r\n ),\r\n };\r\n });\r\n let fabFiltrados = letrasFabricantes.filter((e) =>\r\n letras.includes(e.letra)\r\n );\r\n this.setState({\r\n letras,\r\n fabFiltrados,\r\n letrasFabricantes,\r\n });\r\n }\r\n\r\n orderModelos(filtroModelos) {\r\n const { modelos } = this.state;\r\n if (filtroModelos == null || filtroModelos === '') {\r\n this.setState((prevState) => ({\r\n modelos: { ...prevState.modelos, rows: modelos.ini },\r\n }));\r\n return;\r\n }\r\n let modelosFiltered = modelos.ini.filter((fab) =>\r\n fab.MMD_DESCRIPCION.toUpperCase().includes(\r\n filtroModelos.toUpperCase()\r\n )\r\n );\r\n this.setState((prevState) => ({\r\n modelos: { ...prevState.modelos, rows: modelosFiltered },\r\n }));\r\n }\r\n\r\n orderMotor(filtroVersion) {\r\n const { motores } = this.state;\r\n if (filtroVersion == null || filtroVersion === '') {\r\n this.setState((prevState) => ({\r\n motores: { ...prevState.motores, rows: motores.ini },\r\n }));\r\n return;\r\n }\r\n let motoresFiltered = motores.ini.filter((fab) =>\r\n fab.MOT_VERSION.toUpperCase().includes(filtroVersion.toUpperCase())\r\n );\r\n this.setState((prevState) => ({\r\n motores: { ...prevState.motores, rows: motoresFiltered },\r\n }));\r\n }\r\n\r\n selectBrand(row) {\r\n this.props.setMarca(row.MMO_ID, row.MMO_DESCRIPCION);\r\n this.setState({ marca: row.MMO_ID }, () => this.getModelos());\r\n }\r\n\r\n selectMoto(row) {\r\n this.props.setModelo(row.MMD_ID, row.MMD_DESCRIPCION);\r\n this.setState({ modelo: row.MMD_ID }, () => this.getMotores());\r\n }\r\n\r\n articlesSelect(row) {\r\n this.props.setMotor(\r\n row.MOT_ID,\r\n row.MOT_VERSION,\r\n MOTOSCAT_VIEW.REFERENCIA\r\n );\r\n }\r\n\r\n getModelos() {\r\n getListado('/ModelosMotos', {\r\n MMD_ID_MARCA_MOTO: this.state.marca,\r\n }).then((res) => {\r\n this.setState({\r\n modelos: { ini: res.rows, rows: res.rows },\r\n step: 2,\r\n });\r\n });\r\n }\r\n\r\n getMotores() {\r\n getListado('/Motos', {\r\n MOT_ID_MARCA_MOTO: this.state.marca,\r\n MOT_ID_MODELO_MOTO: this.state.modelo,\r\n }).then((res) => {\r\n this.setState({\r\n motores: { ini: res.rows, rows: res.rows },\r\n step: 3,\r\n });\r\n });\r\n }\r\n\r\n renderStepper() {\r\n const { step } = this.state;\r\n return (\r\n \r\n
\r\n
1
\r\n
\r\n {translate('seleccione_fabricante')}\r\n
\r\n
\r\n
\r\n
2
\r\n
\r\n {translate('seleccione_modelo')}\r\n
\r\n
\r\n
\r\n
3
\r\n
\r\n {translate('seleccione_motor')}\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderLetrasFabricantes() {\r\n const { letrasFabricantes, letras, fabFiltrados, valueFiltro } =\r\n this.state;\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n this.setState({\r\n valueFiltro: e.target.value || '',\r\n })\r\n }\r\n placeholder={translate('buscar_fabricante')}\r\n />\r\n
\r\n
\r\n {letrasFabricantes.map((e, i) => {\r\n return (\r\n \r\n this.handleFilterLetra(e.letra)\r\n }\r\n style={{ marginRight: '0.1rem' }}\r\n >\r\n {e.letra}\r\n \r\n );\r\n })}\r\n this.setState({ letras: [] })}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n {fabFiltrados.map((element, index) => {\r\n return (\r\n \r\n

\r\n {element.letra}\r\n

\r\n {/*
*/}\r\n
\r\n {element.fabricantes.map(\r\n (fab, index) => {\r\n return (\r\n \r\n \r\n this.selectBrand(\r\n fab\r\n )\r\n }\r\n >\r\n {\r\n fab.MMO_DESCRIPCION\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 renderBrands() {\r\n const { marcas, letrasFabricantes, openLetras } = this.state;\r\n if (\r\n marcas != null &&\r\n (marcas.rows == null ||\r\n marcas.rows.length === 0 ||\r\n letrasFabricantes == null)\r\n ) {\r\n return ;\r\n }\r\n if (marcas.rows && marcas.rows.length > 0) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n this.setState((prevState) => ({\r\n openLetras: !prevState.openLetras,\r\n }))\r\n }\r\n />\r\n
\r\n {openLetras && this.renderLetrasFabricantes()}\r\n {!openLetras &&\r\n marcas.rows.map((row) => {\r\n return (\r\n this.selectBrand(row)}\r\n style={{ cursor: 'pointer' }}\r\n >\r\n \r\n
\r\n );\r\n })}\r\n \r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n renderModelos() {\r\n const { modelos, filtroModelos } = this.state;\r\n if (modelos != null && modelos.rows) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n this.setState({\r\n filtroModelos: e.target.value || '',\r\n })\r\n }\r\n placeholder={translate('buscar_modelo')}\r\n autoFocus\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {modelos.rows.length > 0 &&\r\n modelos.rows.map((modelo) => {\r\n return (\r\n \r\n this.selectMoto(modelo)\r\n }\r\n style={{\r\n cursor: 'pointer',\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
{translate('marca')}{translate('modelo')}
\r\n {modelo.MMO_DESCRIPCION}\r\n \r\n {modelo.MMD_DESCRIPCION}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n renderMotos() {\r\n const { motores, filtroVersion } = this.state;\r\n if (motores != null && motores.rows && motores.rows.length > 0) {\r\n return (\r\n \r\n
\r\n
\r\n \r\n this.setState({\r\n filtroVersion: e.target.value || '',\r\n })\r\n }\r\n placeholder={translate('buscar_version')}\r\n autoFocus\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 {motores.rows.length > 0 &&\r\n motores.rows.map((moto) => {\r\n return (\r\n \r\n this.articlesSelect(\r\n moto\r\n )\r\n }\r\n style={{\r\n cursor: 'pointer',\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
{translate('version')}{translate('marca')}{translate('modelo')}CC
{moto.MOT_VERSION}\r\n {moto.MMO_DESCRIPCION}\r\n \r\n {moto.MMD_DESCRIPCION}\r\n {moto.MOT_CC}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n renderStep() {\r\n switch (this.state.step) {\r\n case 1:\r\n return this.renderBrands();\r\n case 2:\r\n return this.renderModelos();\r\n case 3:\r\n return this.renderMotos();\r\n default:\r\n return null;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
{this.renderStepper()}
\r\n
{this.renderStep()}
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withSizes(getBreakpoints)(\r\n connect(mapStateToProps, mapDispatchToProps)(MarcasMotos)\r\n);\r\n","import PropTypes from 'prop-types';\r\nimport React, { Component } from 'react';\r\n\r\nclass CounterInput extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n max: this.props.max,\r\n min: this.props.min\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n const { max } = this.props;\r\n if (prevProps.max !== max) {\r\n this.setState({ max: this.props.max });\r\n }\r\n }\r\n\r\n incrementCounter = () => {\r\n const { value } = this.props;\r\n const { max } = this.state;\r\n let quantity = value < max ? value + 1 : value;\r\n\r\n if (typeof this.props.handleChange === 'function') {\r\n this.props.handleChange(quantity);\r\n }\r\n };\r\n\r\n decreaseCounter = () => {\r\n const { value } = this.props;\r\n const { min } = this.state;\r\n let quantity = value > min ? value - 1 : value;\r\n\r\n if (typeof this.props.handleChange === 'function') {\r\n this.props.handleChange(quantity);\r\n }\r\n };\r\n\r\n changeNumeric = event => {\r\n const { min, max } = this.state;\r\n let quantity = parseInt(event.target.value, 10);\r\n\r\n if (quantity <= min) quantity = min;\r\n if (quantity >= max) quantity = max;\r\n if (isNaN(quantity)) quantity = min;\r\n\r\n if (typeof this.props.handleChange === 'function') {\r\n this.props.handleChange(quantity);\r\n }\r\n };\r\n\r\n handleBlur = () => {\r\n const { value } = this.props;\r\n if (isNaN(value) && typeof this.props.handleChange === 'function') {\r\n this.props.handleChange(1);\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n