{"version":3,"file":"main.690c9b5f9ce33099.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/core/components/sidenav/sidenav.component.ts","./src/app/core/components/sidenav/sidenav.component.html","./src/app/core/core.module.ts","./src/app/core/models/b2buser.model.ts","./src/app/core/modules/authorization/auth.guard.ts","./src/app/core/modules/authorization/authorization.module.ts","./src/app/core/modules/authorization/authorization.routing.module.ts","./src/app/core/modules/authorization/components/xrsklogin/xrsklogin.component.ts","./src/app/core/modules/authorization/components/xrsklogin/xrsklogin.component.html","./src/app/core/modules/authorization/components/xrskregister/xrskregister.component.ts","./src/app/core/modules/authorization/components/xrskregister/xrskregister.component.html","./src/app/core/modules/authorization/error.interceptor.ts","./src/app/core/modules/authorization/jwt.interceptor.ts","./src/app/core/services/authentication.service.ts","./src/app/core/services/data.service.ts","./src/app/core/services/fileupload.service.ts","./src/app/core/services/panel.service.ts","./src/app/directives/style-paginator.directive.ts","./src/app/home/home.component.ts","./src/app/material.module.ts","./src/app/mdb.module.ts","./src/app/modules/B2B/b2b-routing.module.ts","./src/app/modules/B2B/b2b.modules.module.ts","./src/app/modules/B2B/components/b2bareapersonal/b2bareapersonal.component.ts","./src/app/modules/B2B/components/b2bareapersonal/b2bareapersonal.component.html","./src/app/modules/B2B/components/b2barticulos/b2barticulos.component.ts","./src/app/modules/B2B/components/b2barticulos/b2barticulos.component.html","./src/app/modules/B2B/components/b2barticulosimg/b2barticulosimg.component.ts","./src/app/modules/B2B/components/b2barticulosimg/b2barticulosimg.component.html","./src/app/modules/B2B/components/b2bbannerimg/b2bbannerimg.component.ts","./src/app/modules/B2B/components/b2bbannerimg/b2bbannerimg.component.html","./src/app/modules/B2B/components/b2bdashboard/b2bdashboard.component.ts","./src/app/modules/B2B/components/b2bdashboard/b2bdashboard.component.html","./src/app/modules/B2B/components/b2bsubirpedido/b2bsubirpedido.component.ts","./src/app/modules/B2B/components/b2bsubirpedido/b2bsubirpedido.component.html","./src/app/modules/B2B/components/b2cesta/b2cesta.component.ts","./src/app/modules/B2B/components/b2cesta/b2cesta.component.html","./src/app/modules/app.modules.module.ts","./src/app/ngprime.module.ts","./src/app/shared/components/b2b-articulos-list/b2b-articulos-list.component.ts","./src/app/shared/components/b2b-articulos-list/b2b-articulos-list.component.html","./src/app/shared/format/format-datepicker.ts","./src/app/shared/models/b2bArticulosIMG.model.ts","./src/app/shared/models/b2bCesta.model.ts","./src/app/shared/models/b2bOfertas.model.ts","./src/app/shared/models/b2bTipoTransporte.model.ts","./src/app/shared/resolvers/albaranes.resolver.ts","./src/app/shared/resolvers/articulos.resolver.ts","./src/app/shared/resolvers/direcciones.resolver.ts","./src/app/shared/resolvers/facturas.resolver.ts","./src/app/shared/services/b2bArticulos.service.ts","./src/app/shared/services/b2bCesta.service.ts","./src/app/shared/services/b2bPedidos.service.ts","./src/app/shared/services/b2bPerfil.service.ts","./src/app/shared/shared-routing.module.ts","./src/app/shared/shared.module.ts","./src/environments/environment.ts","./src/main.ts","ignored|C:\\Users\\rachid\\Work\\Develop\\EBSB2B\\EBSB2B\\ClientApp\\node_modules\\pdfjs-dist\\legacy\\build|canvas","ignored|C:\\Users\\rachid\\Work\\Develop\\EBSB2B\\EBSB2B\\ClientApp\\node_modules\\pdfjs-dist\\legacy\\build|fs","ignored|C:\\Users\\rachid\\Work\\Develop\\EBSB2B\\EBSB2B\\ClientApp\\node_modules\\pdfjs-dist\\legacy\\build|http","ignored|C:\\Users\\rachid\\Work\\Develop\\EBSB2B\\EBSB2B\\ClientApp\\node_modules\\pdfjs-dist\\legacy\\build|https","ignored|C:\\Users\\rachid\\Work\\Develop\\EBSB2B\\EBSB2B\\ClientApp\\node_modules\\pdfjs-dist\\legacy\\build|url","ignored|C:\\Users\\rachid\\Work\\Develop\\EBSB2B\\EBSB2B\\ClientApp\\node_modules\\pdfjs-dist\\legacy\\build|zlib"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\n//import { GformsComponent } from './gforms/gforms.component'\r\n//import { JesusComponent } from './jesus/jesus.component';\r\n\r\n\r\nconst routes: Routes = [\r\n // { path: '', redirectTo: '/dashboard' },\r\n //{ path: 'jesus', component: JesusComponent },\r\n // { path: 'georgina', component: GeorginaComponent },\r\n// { path: 'gforms', component: GformsComponent },\r\n { path: '**', redirectTo: '/dashboard' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy',onSameUrlNavigation: 'reload' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { ApplicationRef, Component } from '@angular/core';\r\nimport { SwUpdate } from '@angular/service-worker';\r\nimport { interval } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private update: SwUpdate,\r\n private appRef: ApplicationRef,\r\n ) {\r\n this.updateClient();\r\n this.checkUpdate();\r\n }\r\n\r\n updateClient() {\r\n if (!this.update.isEnabled) {\r\n console.log('Not Enabled');\r\n return;\r\n }\r\n this.update.available.subscribe((event) => {\r\n this.update.activateUpdate().then(() => {\r\n localStorage.setItem('version date', JSON.stringify(new Date()));\r\n\r\n location.reload();\r\n });\r\n \r\n });\r\n\r\n this.update.activated.subscribe((event) => {\r\n console.log(`current`, event.previous, `available `, event.current);\r\n });\r\n }\r\n\r\n checkUpdate() {\r\n this.appRef.isStable.subscribe((isStable) => {\r\n if (isStable) {\r\n const timeInterval = interval(8 * 60 * 60 * 1000);\r\n\r\n timeInterval.subscribe(() => {\r\n this.update.checkForUpdate().then(() => console.log('checked'));\r\n console.log('update checked');\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 { NgModule, CUSTOM_ELEMENTS_SCHEMA, LOCALE_ID } from '@angular/core';\r\nimport { MatNativeDateModule, DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { MaterialModule } from './material.module';\r\nimport { MDBModule } from './mdb.module';\r\nimport { NgPrimeModule } from './ngprime.module';\r\nimport { AppModulesModule } from './modules/app.modules.module';\r\nimport { AppSharedModule } from './shared/shared.module';\r\nimport { AppCoreModule } from './core/core.module';\r\nimport { errorInterceptorProvider} from './core/modules/authorization/error.interceptor';\r\nimport { jwtInterceptorProvider } from './core/modules/authorization/jwt.interceptor';\r\nimport { AppDateAdapter, APP_DATE_FORMATS } from '../app/shared/format/format-datepicker';\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport localeEs from '@angular/common/locales/es';\r\nimport { DatePipe, registerLocaleData } from '@angular/common';\r\nimport { ResizableModule } from 'angular-resizable-element';\r\n\r\n\r\n\r\nimport 'hammerjs';\r\nimport { ServiceWorkerModule } from '@angular/service-worker';\r\nimport { DataService, TotalCestaService } from './core/services/data.service';\nimport { MdbAccordionModule } from 'mdb-angular-ui-kit/accordion';\nimport { MdbCarouselModule } from 'mdb-angular-ui-kit/carousel';\nimport { MdbCheckboxModule } from 'mdb-angular-ui-kit/checkbox';\nimport { MdbCollapseModule } from 'mdb-angular-ui-kit/collapse';\nimport { MdbDropdownModule } from 'mdb-angular-ui-kit/dropdown';\nimport { MdbFormsModule } from 'mdb-angular-ui-kit/forms';\nimport { MdbModalModule } from 'mdb-angular-ui-kit/modal';\nimport { MdbPopoverModule } from 'mdb-angular-ui-kit/popover';\nimport { MdbRadioModule } from 'mdb-angular-ui-kit/radio';\nimport { MdbRangeModule } from 'mdb-angular-ui-kit/range';\nimport { MdbRippleModule } from 'mdb-angular-ui-kit/ripple';\nimport { MdbScrollspyModule } from 'mdb-angular-ui-kit/scrollspy';\nimport { MdbTabsModule } from 'mdb-angular-ui-kit/tabs';\nimport { MdbTooltipModule } from 'mdb-angular-ui-kit/tooltip';\nimport { MdbValidationModule } from 'mdb-angular-ui-kit/validation';\r\nimport { ArticulosResolver } from './shared/resolvers/articulos.resolver';\r\nimport { AlbaranesResolver } from './shared/resolvers/albaranes.resolver';\r\nimport { FacturasResolver } from './shared/resolvers/facturas.resolver';\r\nimport { DireccionesResolver } from './shared/resolvers/direcciones.resolver';\r\n\r\nregisterLocaleData(localeEs, 'es');\r\n\r\n@NgModule({\r\n\r\n declarations: [\r\n AppComponent,\r\n HomeComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n BrowserAnimationsModule,\r\n MatNativeDateModule,\r\n MaterialModule,\r\n MDBModule,\r\n NgPrimeModule,\r\n HttpClientModule,\r\n FormsModule,\r\n RouterModule,\r\n AppModulesModule,\r\n AppSharedModule,\r\n AppCoreModule,\r\n AppRoutingModule,\r\n ResizableModule,\r\n ReactiveFormsModule,\r\n ServiceWorkerModule.register('ngsw-worker.js', {\r\n enabled: true,\r\n //enabled: environment.production,\r\n // Register the ServiceWorker as soon as the app is stable\r\n // or after 30 seconds (whichever comes first).\r\n registrationStrategy: 'registerImmediately'\r\n }),\r\n MdbAccordionModule,\r\n MdbCarouselModule,\r\n MdbCheckboxModule,\r\n MdbCollapseModule,\r\n MdbDropdownModule,\r\n MdbFormsModule,\r\n MdbModalModule,\r\n MdbPopoverModule,\r\n MdbRadioModule,\r\n MdbRangeModule,\r\n MdbRippleModule,\r\n MdbScrollspyModule,\r\n MdbTabsModule,\r\n MdbTooltipModule,\r\n MdbValidationModule,\r\n ],\r\n exports: [\r\n\r\n MatNativeDateModule,\r\n HttpClientModule,\r\n FormsModule,\r\n RouterModule,\r\n ResizableModule,\r\n ReactiveFormsModule,\r\n \r\n ],\r\n providers: [\r\n jwtInterceptorProvider,\r\n errorInterceptorProvider,\r\n DatePipe,\r\n DataService,\r\n TotalCestaService,\r\n ArticulosResolver,\r\n AlbaranesResolver,\r\n FacturasResolver,\r\n DireccionesResolver,\r\n { provide: LOCALE_ID, useValue: 'es' },\r\n { provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS },\r\n { provide: MAT_DATE_LOCALE, useValue: 'es' },\r\n { provide: DateAdapter, useClass: AppDateAdapter }\r\n ],\r\n bootstrap: [AppComponent], \r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ]\r\n})\r\nexport class AppModule {\r\n\r\n}\r\n\r\n\r\n\r\n","import { ChangeDetectorRef, Component, OnDestroy, OnInit, OnChanges,ViewEncapsulation, AfterViewInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MediaMatcher } from '@angular/cdk/layout';\r\nimport { delay, Observable, of, Subject, takeUntil } from 'rxjs';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\n//Modelos\r\nimport { B2BUser } from '../../models/b2buser.model';\r\nimport { XRSKpanelItem } from '../../models/xrskmenuPanel.model';\r\nimport { B2BFamilias } from '../../../shared/models/b2bFamilias.model';\r\nimport { B2BCategorias } from '../../../shared/models/b2bCategorias.model';\r\nimport { B2BDirecciones } from '../../../shared/models/b2bDirecciones.model';\r\n//Servicios\r\nimport { AppPanelService } from '../../services/panel.service';\r\nimport { B2BPerfilService } from '../../../shared/services/b2bPerfil.service';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { B2BArticulosService } from '../../../shared/services/b2bArticulos.service';\r\nimport { DataService,TotalCestaService, inputArt } from '../../services/data.service';\r\n\r\n//Material Components\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { B2BCestaService } from '../../../shared/services/b2bCesta.service';\r\n\r\n@Component({\r\n selector: 'app-sidenav',\r\n templateUrl: './sidenav.component.html',\r\n styleUrls: ['./sidenav.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SidenavComponent implements OnInit, OnDestroy, AfterViewInit, OnChanges {\r\n\r\n //Responsive Variables\r\n mobileQuery: MediaQueryList;\r\n private _mobileQueryListener: () => void;\r\n\r\n //Menu Varables\r\n public menuPanel: XRSKpanelItem[];\r\n public menuPanel$: Observable;\r\n public appPaneles: any = [];\r\n\r\n //User Variables\r\n public currentUser: B2BUser = new B2BUser();\r\n public isLoggedIn$: Observable;\r\n public user: B2BUser[] = [];\r\n\r\n //SideNav Variables\r\n public opened: boolean = true;\r\n\r\n //Data Variables\r\n public searchCodart: string;\r\n public searchAlto: string;\r\n public searchAncho: string;\r\n public searchLargo: string;\r\n public familiaList: B2BFamilias[] = []\r\n public categoriaList: B2BCategorias[] = [];\r\n public direccionesList: B2BDirecciones[] = [];\r\n public direccion: B2BDirecciones;\r\n public direccion$: Observable;\r\n public familiaSelected: any = \"\";\r\n public categoriaSelected: any = \"\";\r\n public totalCesta: number = 0;\r\n\r\n //Header Options\r\n public httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n })\r\n };\r\n\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n constructor(private data: DataService, private dataCesta: TotalCestaService, private cdRef: ChangeDetectorRef, media: MediaMatcher,\r\n public auth: AuthenticationService, private readonly router: Router, private articulosService: B2BArticulosService,\r\n public dialog: MatDialog, private _snackBar: MatSnackBar, private panelService: AppPanelService, private cestaService: B2BCestaService,\r\n private perfilService: B2BPerfilService, private actRoute: ActivatedRoute) {\r\n\r\n this.mobileQuery = media.matchMedia('(max-width: 600px)');\r\n this._mobileQueryListener = () => cdRef.detectChanges();\r\n this.mobileQuery.addListener(this._mobileQueryListener);\r\n\r\n\r\n\r\n }\r\n ngOnChanges() {\r\n\r\n\r\n }\r\n //Evento Ciclos de Vida Angular\r\n ngOnInit() {\r\n\r\n\r\n\r\n\r\n\r\n this.cdRef.detectChanges();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.GetFamilias();\r\n\r\n this.isLoggedIn$ = this.auth.isLoggedInObs;\r\n\r\n this.isLoggedIn$.pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(loged => {\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n this.menuPanel = this.auth.currentPanelesValue;\r\n this.menuPanel$ = this.auth.panelesObs;\r\n this.opened = this.auth.isLoggedInValue;\r\n this.GetDirecciones(this.currentUser);\r\n\r\n if (this.opened) {\r\n this.GetTotalCesta();\r\n }\r\n })\r\n\r\n\r\n\r\n this.dataCesta.currentMessage\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(message => {\r\n this.totalCesta = message;\r\n\r\n });\r\n this.cdRef.detectChanges();\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.mobileQuery.removeListener(this._mobileQueryListener);\r\n //desuscribir subscripciones para evitar memory leaks\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n GetTotalCesta(): void {\r\n\r\n this.cestaService.GetCesta(this.currentUser.codigo)\r\n .pipe(takeUntil(this.unsubscribe$),delay(0))\r\n .subscribe(\r\n cesta => {\r\n if (cesta.length > 0) {\r\n\r\n this.dataCesta.changeMessage(cesta.length);\r\n\r\n\r\n }\r\n\r\n\r\n },\r\n err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n //Funciones propias\r\n getClass(menuPanel) {\r\n return \"fas fa-\" + menuPanel.icon + \" fa-sm\";\r\n }\r\n\r\n buscar() {\r\n this.currentUser = this.auth.currentUserValue;\r\n\r\n let artInput = new inputArt();\r\n artInput.codcli = this.currentUser.codigo;\r\n artInput.sqlcond = this.searchCodart != null && this.searchCodart != undefined ? this.searchCodart : \"\";\r\n artInput.alto = this.searchAlto != null && this.searchAlto != undefined ? this.searchAlto: \"\" ;\r\n artInput.ancho = this.searchAncho != null && this.searchAncho != undefined ?this.searchAncho:\"\";\r\n artInput.largo = this.searchLargo != null && this.searchLargo != undefined ? this.searchLargo:\"\";\r\n artInput.codcat = this.categoriaSelected != null && this.categoriaSelected != undefined ? this.categoriaSelected:\"\";\r\n artInput.codfam = this.familiaSelected != null && this.familiaSelected != undefined ? this.familiaSelected:\"\";\r\n if (artInput.codcli != undefined) {\r\n\r\n this.data.changeMessage(artInput);\r\n }\r\n this.searchCodart = null;\r\n this.searchAlto = null;\r\n this.searchAncho = null;\r\n this.searchLargo = null;\r\n this.categoriaSelected = \"\";\r\n this.familiaSelected = \"\";\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n }\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate(['/articulos']);\r\n }\r\n\r\n buscarFamCat() {\r\n this.currentUser = this.auth.currentUserValue;\r\n let artInput = new inputArt();\r\n artInput.codcli = this.currentUser.codigo;\r\n artInput.sqlcond = null;\r\n artInput.codcat = this.categoriaSelected;\r\n artInput.codfam = this.familiaSelected;\r\n this.data.changeMessage(artInput);\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n }\r\n this.router.onSameUrlNavigation = 'reload';\r\n this.router.navigate(['/articulos']);\r\n }\r\n\r\n GetFamilias(): void {\r\n\r\n this.articulosService.GetFamilias()\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n familias => {\r\n this.familiaList = familias as unknown as B2BFamilias[];\r\n //this.familiaSelected = this.familiaList[0].codigo;\r\n if (this.categoriaSelected == null) {\r\n this.GetCategorias(this.familiaSelected);\r\n }\r\n },\r\n err => {\r\n\r\n }\r\n );\r\n }\r\n\r\n GetDirecciones(user): void {\r\n if (user != null) {\r\n\r\n this.perfilService.GetDirecciones(user.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n direcciones => {\r\n this.direccionesList = direcciones as unknown as B2BDirecciones[];\r\n this.direccion = this.direccionesList[0];\r\n localStorage.setItem('direcciones', JSON.stringify(direcciones));\r\n });\r\n\r\n }\r\n \r\n\r\n }\r\n\r\n GetCategorias(codfam: string): void {\r\n\r\n if (codfam != null && codfam != undefined && codfam != \"\") {\r\n this.articulosService.GetCategorias(codfam)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n categorias => {\r\n this.categoriaList = categorias as unknown as B2BCategorias[];\r\n this.categoriaSelected = this.categoriaList[0].codigo;\r\n\r\n },\r\n err => {\r\n\r\n }\r\n );\r\n } else {\r\n this.categoriaSelected = \"\";\r\n this.categoriaList = [];\r\n }\r\n\r\n }\r\n\r\n logout(): void {\r\n this.dataCesta.changeMessage(0);\r\n this.auth.logout();\r\n this.isLoggedIn$ = this.auth.isLoggedInObs;\r\n this.menuPanel$ = this.auth.panelesObs;\r\n this.menuPanel = this.auth.currentPanelesValue;\r\n this.opened = this.auth.isLoggedInValue;\r\n //this.isLoggedIn$ = null;\r\n //this.opened = this.auth.isLoggedInValue;\r\n //this.opened = false;\r\n //this.direccion = null;\r\n //this.direccion$ = null;\r\n this.router.navigate(['/login']);\r\n\r\n this.cdRef.detectChanges(); // *trigger change here*\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
{{direccion.empres}}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{panel$.name}}\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n Artículo
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n Interior
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Exterior
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n Grueso
    \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 Búsqueda guiada\r\n
    \r\n \r\n \r\n \r\n {{ option.nombre }}\r\n \r\n
    \r\n \r\n \r\n \r\n {{ option.nombre }}\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 {{panel$.name}}\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 {{panel$.name}}\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 {{panel$.name}} ({{totalCesta}})\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{panel$.name}}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{nav.name}}\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 { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { MaterialModule } from '../material.module';\r\nimport { MDBModule } from '../mdb.module';\r\nimport { AppAuthorizationModule } from './modules/authorization/authorization.module';\r\nimport { SidenavComponent } from './components/sidenav/sidenav.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n RouterModule,\r\n AppAuthorizationModule,\r\n MDBModule\r\n ],\r\n declarations: [\r\n SidenavComponent,\r\n //MDBModule\r\n ],\r\n exports: [\r\n SidenavComponent,\r\n RouterModule\r\n ]\r\n})\r\n\r\nexport class AppCoreModule { }\r\n","export class B2BUser {\r\n user: string;\r\n username: string;\r\n idioma: string;\r\n tipo: string;\r\n codigo: string;\r\n changepass: number;\r\n status: number;\r\n token: string;\r\n expiresIn: Date;\r\n axional: string;\r\n tipcli: string;\r\n nomtip: string;\r\n minped: number;\r\n b2b_banner: string;\r\n b2b_cesta: string;\r\n limite: number;\r\n distribuidor: number;\r\n minlin: number;\r\n constructor() {}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, CanActivate, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n return Promise.resolve(true);\r\n }\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return Promise.resolve(false);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MaterialModule } from 'src/app/material.module';\r\nimport { MDBModule } from 'src/app/mdb.module';\r\nimport { AppAuthorizationRoutingModule } from './authorization.routing.module';\r\nimport { LoginComponent } from './components/xrsklogin/xrsklogin.component';\r\nimport { RegisterComponent } from './components/xrskregister/xrskregister.component';\r\nimport { ErrorInterceptor, errorInterceptorProvider } from './error.interceptor';\r\nimport { JwtInterceptor, jwtInterceptorProvider } from './jwt.interceptor';\r\n\r\n\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialModule,\r\n AppAuthorizationRoutingModule,\r\n MDBModule\r\n ],\r\n declarations: [\r\n LoginComponent,\r\n RegisterComponent\r\n ],\r\n providers: [\r\n jwtInterceptorProvider,\r\n errorInterceptorProvider\r\n ], exports: [\r\n LoginComponent,\r\n RegisterComponent\r\n ]\r\n\r\n})\r\nexport class AppAuthorizationModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './components/xrsklogin/xrsklogin.component';\r\nimport { RegisterComponent } from './components/xrskregister/xrskregister.component';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'register', component: RegisterComponent }\r\n //{ path: 'usuarios', component: AppUserListComponent },\r\n // { path: 'usuario/:username', component: AppUserComponent },\r\n \r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppAuthorizationRoutingModule { }\r\n","import { Component, OnInit, OnDestroy,ViewEncapsulation } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\nimport { first, takeUntil } from 'rxjs/operators';\r\nimport { Subject } from 'rxjs';\r\nimport { B2BPerfilService } from '../../../../../shared/services/b2bPerfil.service';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './xrsklogin.component.html',\r\n styleUrls: ['./xrsklogin.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LoginComponent implements OnInit {\r\n loginForm: FormGroup;\r\n showSpinner = false;\r\n submitted = false;\r\n returnUrl: string;\r\n error = '';\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n // Progress Bar values\r\n\r\n color = 'primary';\r\n mode = 'indeterminate';\r\n value = 50;\r\n bufferValue = 75;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private perfilService: B2BPerfilService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });\r\n\r\n // reset login status\r\n this.authenticationService.logout();\r\n\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //desuscribir subscripciones para evitar memory leaks\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n\r\n // convenience getter for easy access to form fields\r\n get f() { return this.loginForm.controls; }\r\n\r\n onSubmit() {\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n this.showSpinner = true;\r\n this.authenticationService.login(this.f.username.value, this.f.password.value)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n data => {\r\n\r\n //this.GetDirecciones(data.codigo);\r\n //localStorage.setItem('returnUrl', this.returnUrl);\r\n this.router.navigate([this.returnUrl]);\r\n\r\n\r\n },\r\n error => {\r\n this.error = error.error.message;\r\n this.showSpinner = false;\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 Usuario:\r\n
\r\n \r\n \r\n
\r\n Username is required\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Contraseña:\r\n
\r\n \r\n \r\n
\r\n Password is required\r\n
\r\n
\r\n
\r\n \r\n {{ error }}\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 { Component, OnInit } from '@angular/core';\r\n//import { NgxSpinnerService } from 'ngx-spinner';\r\nimport { finalize } from 'rxjs/operators'\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\nimport { XRSUserRegistration } from 'src/app/core/models/xrskuser.registration.model';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './xrskregister.component.html',\r\n styleUrls: ['./xrskregister.component.css']\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n success: boolean;\r\n error: string;\r\n userRegistration: XRSUserRegistration = { username:'', name: '', email: '', password: '' };\r\n submitted: boolean = false;\r\n\r\n constructor(private authService: AuthenticationService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onSubmit() {\r\n\r\n //this.spinner.show();\r\n\r\n this.authService.register(this.userRegistration)\r\n .pipe(finalize(() => {\r\n //this.spinner.hide();\r\n }))\r\n .subscribe(\r\n result => {\r\n if (result) {\r\n this.success = true;\r\n }\r\n },\r\n error => {\r\n\r\n // Check if error.error is an array\r\n \r\n if (error.error instanceof Array) {\r\n this.error = error.error[0].description;\r\n } else {\r\n if (typeof(error.error) != 'undefined') {\r\n this.error = error.error.substring(0,100);\r\n }\r\n if (typeof(error.error.description) != 'undefined') {\r\n this.error = error.error.description;\r\n }\r\n }\r\n \r\n\r\n //this.error = error;\r\n //this.error = error.error.message;\r\n });\r\n }\r\n}\r\n","
\r\n \r\n \r\n
\r\n \r\n \"Photo\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 favor, entra un email válido\r\n
\r\n
\r\n \r\n \r\n Min. 6 characters with at least one non alphanumeric character\r\n
\r\n \r\n \r\n \r\n {{ error }}\r\n
\r\n
\r\n
\r\n

¡Bien hecho!

\r\n

Felicidades, te has registrado correctamente.

\r\n
\r\n

Por favor login para entrar en XRisk

\r\n
\r\n
\r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpErrorResponse, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n error: any;\r\n\r\n\tconstructor(private authenticationService: AuthenticationService, private router: Router) { }\r\n\r\n\tintercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n\t\treturn next.handle(request).pipe(catchError((err: HttpErrorResponse) => {\r\n\t\t\tif (err.status === 401) {\r\n\t\t\t\tthis.authenticationService.logout();\r\n\t\t\t\t//location.reload(true);\r\n this.router.navigate(['/login']);\r\n\t\t\t}\r\n\r\n\t\t\t//const error = err.error.message || err.statusText;\r\n \r\n\t\t\treturn throwError(err);\r\n\t\t}))\r\n\t}\r\n}\r\n\r\nexport const errorInterceptorProvider = {\r\n\tprovide: HTTP_INTERCEPTORS,\r\n\tuseClass: ErrorInterceptor,\r\n\tmulti: true\r\n};\r\n","import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n let currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser && currentUser.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: 'Bearer ' + currentUser.token,\r\n Axional: 'Basic ' + currentUser.axional\r\n\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request);\r\n }\r\n}\r\n\r\nexport const jwtInterceptorProvider = {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtInterceptor,\r\n multi: true\r\n};\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable, throwError, catchError } from 'rxjs';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\n//import { XRSKUser } from '../models/xrskuser.model';\r\nimport { B2BUser } from 'src/app/core/models/b2buser.model';\r\nimport { AppPanelService } from 'src/app/core/services/panel.service';\r\nimport { XRSKpanelItem } from 'src/app/core/models/xrskmenuPanel.model';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationService {\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n private loggedIn = new BehaviorSubject(false);\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n private panelesValue: BehaviorSubject;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n })\r\n };\r\n\r\n constructor(private readonly http: HttpClient, private panelService: AppPanelService, @Inject('BASE_URL') baseUrl: string) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n this.panelesValue = >new BehaviorSubject([]);\r\n\r\n if (JSON.parse(localStorage.getItem('currentUser')) != null) {\r\n this.loggedIn.next(true);\r\n // Si ya estábamos conectados recuperamos los proyectos.\r\n //this.getSPSProyectosAbiertos();\r\n }\r\n\r\n\r\n if (JSON.parse(localStorage.getItem('appPaneles')) != null) {\r\n this.panelesValue.next(JSON.parse(localStorage.getItem('appPaneles')));\r\n // Si ya estábamos conectados recuperamos los proyectos.\r\n //this.getSPSProyectosAbiertos();\r\n }\r\n\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/auth\";\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n console.log(\"Error Consumiendo AuthenticationService\");\r\n return throwError(error.error);\r\n }\r\n\r\n public get currentUserValue(): B2BUser {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n public get isLoggedInValue() {\r\n return this.loggedIn.value;\r\n }\r\n public get isLoggedInObs() {\r\n return this.loggedIn.asObservable();\r\n }\r\n\r\n public get currentPanelesValue() {\r\n return this.panelesValue.value;\r\n }\r\n\r\n public get currentUserObs() {\r\n return this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get panelesObs() {\r\n return this.panelesValue.asObservable();\r\n }\r\n\r\n login(username: string, password: string) {\r\n return this.http.post(this.myAppUrl + this.myApiUrl+\"/login\", { username, password })\r\n .pipe(map(user => {\r\n // login successful if there's a jwt token in the response\r\n if (user && user.token) {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n localStorage.setItem('rows', JSON.stringify(50));\r\n\r\n this.currentUserSubject.next(user);\r\n this.loggedIn.next(true);\r\n this.getAppPaneles();\r\n //this.router.navigate(['/']);\r\n }\r\n\r\n return user;\r\n }));\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('appPaneles');\r\n localStorage.removeItem('direcciones');\r\n localStorage.removeItem('rows');\r\n this.loggedIn.next(false);\r\n this.currentUserSubject.next(null);\r\n this.panelesValue.next(null);\r\n\r\n }\r\n\r\n register(userRegistration: any) {\r\n //return this.http.post('/api/auth', userRegistration).pipe(catchError(this.handleError));\r\n return this.http.post(this.myAppUrl + this.myApiUrl + \"/register\", userRegistration)\r\n .pipe();\r\n }\r\n\r\n changepassword(formData) {\r\n return this.http.post(this.myAppUrl + this.myApiUrl + \"/changepassword\", formData)\r\n .pipe(\r\n catchError(this.handleError)\r\n );\r\n\r\n }\r\n\r\n\r\n getAppPaneles(): void {\r\n\r\n this.panelService.getAppPaneles().subscribe(\r\n paneles => {\r\n this.panelesValue.next(paneles);\r\n localStorage.setItem('appPaneles', JSON.stringify(paneles));\r\n },\r\n err => {\r\n var j = 2;\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DataService\r\n{\r\n\r\n private messageSource: BehaviorSubject = new BehaviorSubject(new inputArt());\r\n currentMessage = this.messageSource.asObservable();\r\n\r\n constructor() { }\r\n\r\n changeMessage(message: inputArt)\r\n {\r\n this.messageSource.next(message)\r\n }\r\n\r\n public get currentData(): inputArt {\r\n return this.messageSource.value;\r\n }\r\n\r\n}\r\n\r\n@Injectable()\r\nexport class TotalCestaService {\r\n\r\n private messageSource: BehaviorSubject = new BehaviorSubject(0);\r\n currentMessage = this.messageSource.asObservable();\r\n\r\n constructor() { }\r\n\r\n changeMessage(message: number) {\r\n this.messageSource.next(message)\r\n }\r\n\r\n}\r\n\r\nexport class inputArt {\r\n codcli: string;\r\n sqlcond: string;\r\n codfam: string;\r\n codcat: string;\r\n alto: string;\r\n ancho: string;\r\n largo: string;\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\n//import { XRSKUser } from '../models/xrskuser.model';\r\nimport { map } from 'rxjs/operators';\r\nimport { B2BArticulosIMG } from '../../shared/models/b2bArticulosIMG.model';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FileUploadService {\r\n\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n })\r\n };\r\n\r\n constructor(private readonly http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/file\";\r\n }\r\n\r\n\r\n GetArticuloIMG(auxchr6: string, subDirectory: string): Observable {\r\n\r\n const params = new HttpParams()\r\n .set('auxchr6', auxchr6)\r\n .set('subDirectory', subDirectory);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/articuloIMG\", { 'headers': this.httpOptions.headers, 'params': params })\r\n .pipe(\r\n //retry(1),\r\n );\r\n }\r\n\r\n GetArticulosIMG(articulosIMG: B2BArticulosIMG[]): Observable {\r\n\r\n return this.http.post(this.myAppUrl + this.myApiUrl + \"/articulosIMG\", articulosIMG )\r\n .pipe(\r\n //retry(1),\r\n );\r\n }\r\n GetArticulosIMGAll(): Observable {\r\n\r\n return this.http.post(this.myAppUrl + this.myApiUrl + \"/articulosIMGALL\", {})\r\n .pipe(\r\n //retry(1),\r\n );\r\n }\r\n\r\n GetBannerIMGAll(formdata): Observable {\r\n\r\n return this.http.post(this.myAppUrl + this.myApiUrl + \"/bannerIMGALL\", formdata)\r\n .pipe(\r\n //retry(1),\r\n );\r\n }\r\n\r\n upload(body): Observable {\r\n return this.http.post('/api/file/upload', body)\r\n .pipe();\r\n }\r\n\r\n delete(body){\r\n return this.http.post('/api/file/delete', body)\r\n .pipe();\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { XRSKpanelItem } from 'src/app/core/models/xrskmenuPanel.model';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { async } from 'rxjs/internal/scheduler/async';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AppPanelService {\r\n\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n })\r\n };\r\n\r\n constructor(public http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/b2bpanel\";\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n console.log(\"Error Consumiendo B2BPanelService\");\r\n return throwError(error.error);\r\n }\r\n\r\n getAppPaneles(): Observable {\r\n return this.http.get(this.myAppUrl + this.myApiUrl)\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n}\r\n","import {\r\n ElementRef,\r\n AfterViewInit,\r\n Directive,\r\n Host,\r\n Optional,\r\n Renderer2,\r\n Self,\r\n ViewContainerRef,\r\n Input\r\n} from \"@angular/core\";\r\nimport { MatPaginator } from \"@angular/material/paginator\";\r\nimport { MatButton } from \"@angular/material/button\";\r\n\r\ninterface PageObject {\r\n length: number;\r\n pageIndex: number;\r\n pageSize: number;\r\n previousPageIndex: number;\r\n}\r\n\r\n@Directive({\r\n selector: \"[style-paginator]\"\r\n})\r\nexport class StylePaginatorDirective {\r\n private _pageGapTxt = \"...\";\r\n private _rangeStart: number;\r\n private _rangeEnd: number;\r\n private _buttons = [];\r\n private _curPageObj: PageObject = {\r\n length: 0,\r\n pageIndex: 0,\r\n pageSize: 0,\r\n previousPageIndex: 0\r\n };\r\n\r\n @Input()\r\n get showTotalPages(): number {\r\n return this._showTotalPages;\r\n }\r\n set showTotalPages(value: number) {\r\n this._showTotalPages = value;\r\n }\r\n private _showTotalPages = 2;\r\n\r\n get inc(): number {\r\n return this._showTotalPages % 2 == 0\r\n ? this.showTotalPages / 2\r\n : (this.showTotalPages - 1) / 2;\r\n }\r\n\r\n get numOfPages(): number {\r\n return this.matPag.getNumberOfPages();\r\n }\r\n\r\n get lastPageIndex(): number {\r\n return this.matPag.getNumberOfPages() - 1;\r\n }\r\n\r\n constructor(\r\n @Host() @Self() @Optional() private readonly matPag: MatPaginator,\r\n private vr: ViewContainerRef,\r\n private ren: Renderer2\r\n ) {\r\n //to rerender buttons on items per page change and first, last, next and prior buttons\r\n this.matPag.page.subscribe((e: PageObject) => {\r\n if (\r\n \r\n this._curPageObj.pageSize != e.pageSize &&\r\n this._curPageObj.pageIndex != 0\r\n ) {\r\n e.pageIndex = 0;\r\n this._rangeStart = 0;\r\n this._rangeEnd = this._showTotalPages - 1;\r\n }\r\n this._curPageObj = e;\r\n\r\n this.initPageRange();\r\n });\r\n }\r\n\r\n private buildPageNumbers() {\r\n const actionContainer = this.vr.element.nativeElement.querySelector(\r\n \"div.mat-paginator-range-actions\"\r\n );\r\n const nextPageNode = this.vr.element.nativeElement.querySelector(\r\n \"button.mat-paginator-navigation-next\"\r\n );\r\n\r\n\r\n const prevButtonCount = this._buttons.length;\r\n\r\n // remove buttons before creating new ones\r\n if (this._buttons.length > 0) {\r\n this._buttons.forEach(button => {\r\n this.ren.removeChild(actionContainer, button);\r\n });\r\n //Empty state array\r\n this._buttons.length = 0;\r\n }\r\n\r\n //initialize next page and last page buttons\r\n if (this._buttons.length == 0) {\r\n let nodeArray = this.vr.element.nativeElement.childNodes[0].childNodes[0]\r\n .childNodes[2].childNodes;\r\n setTimeout(() => {\r\n for (let i = 0; i < nodeArray.length; i++) {\r\n if (nodeArray[i].nodeName === \"BUTTON\") {\r\n if (nodeArray[i].innerHTML.length > 100 && nodeArray[i].disabled) {\r\n this.ren.setStyle(\r\n nodeArray[i],\r\n \"background-color\",\r\n \"white\"\r\n );\r\n\r\n this.ren.setStyle(nodeArray[i], \"border-color\", \"black\");\r\n \r\n this.ren.setStyle(nodeArray[i], \"border\", \"1px solid black\");\r\n\r\n this.ren.setStyle(nodeArray[i], \"border-radius\", \"0px\");\r\n this.ren.setStyle(nodeArray[i], \"color\", \"#dadfe2\");\r\n this.ren.setStyle(nodeArray[i], \"margin\", \".5%\");\r\n } else if (\r\n nodeArray[i].innerHTML.length > 100 &&\r\n !nodeArray[i].disabled\r\n ) {\r\n this.ren.setStyle(\r\n nodeArray[i],\r\n \"background-color\",\r\n \"#242a30\"\r\n );\r\n this.ren.setStyle(\r\n nodeArray[i],\r\n \"color\",\r\n \"#242a30\"\r\n );\r\n this.ren.setStyle(nodeArray[i], \"border-radius\", \"0px\");\r\n this.ren.setStyle(nodeArray[i], \"color\", \"white\");\r\n this.ren.setStyle(nodeArray[i], \"margin\", \".5%\");\r\n \r\n } else if (nodeArray[i].disabled) {\r\n this.ren.setStyle(nodeArray[i], \"background-color\", \"#007bff\");\r\n this.ren.setStyle(nodeArray[i], \"color\", \"white\");\r\n this.ren.setStyle(nodeArray[i], \"border-radius\", \"0px\");\r\n\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n for (let i = 0; i < this.numOfPages; i++) {\r\n if (i >= this._rangeStart && i <= this._rangeEnd) {\r\n this.ren.insertBefore(\r\n actionContainer,\r\n this.createButton(i, this.matPag.pageIndex),\r\n nextPageNode\r\n );\r\n }\r\n\r\n /* if (i == this._rangeEnd) {\r\n this.ren.insertBefore(\r\n actionContainer,\r\n this.createButton(this._pageGapTxt, this._rangeEnd),\r\n nextPageNode\r\n );\r\n }*/\r\n }\r\n }\r\n\r\n private createButton(i: any, pageIndex: number): any {\r\n const linkBtn: MatButton = this.ren.createElement(\"button\");\r\n this.ren.addClass(linkBtn, \"mat-mini-fab\");\r\n this.ren.setStyle(linkBtn, \"margin\", \"1%\");\r\n this.ren.setStyle(linkBtn, \"background-color\", \"white\");\r\n this.ren.setStyle(linkBtn, \"border-radius\", \"0px\");\r\n\r\n const pagingTxt = isNaN(i) ? this._pageGapTxt : +(i + 1);\r\n const text = this.ren.createText(pagingTxt + \"\");\r\n\r\n this.ren.addClass(linkBtn, \"mat-custom-page\");\r\n switch (i) {\r\n case pageIndex:\r\n this.ren.setAttribute(linkBtn, \"disabled\", \"disabled\");\r\n break;\r\n case this._pageGapTxt:\r\n let newIndex = this._curPageObj.pageIndex + this._showTotalPages;\r\n\r\n if (newIndex >= this.numOfPages) newIndex = this.lastPageIndex;\r\n\r\n if (pageIndex != this.lastPageIndex) {\r\n this.ren.listen(linkBtn, \"click\", () => {\r\n console.log(\"working: \", pageIndex);\r\n this.switchPage(newIndex);\r\n });\r\n }\r\n\r\n if (pageIndex == this.lastPageIndex) {\r\n this.ren.setAttribute(linkBtn, \"disabled\", \"disabled\");\r\n }\r\n break;\r\n default:\r\n this.ren.listen(linkBtn, \"click\", () => {\r\n this.switchPage(i);\r\n });\r\n break;\r\n }\r\n\r\n this.ren.appendChild(linkBtn, text);\r\n //Add button to private array for state\r\n this._buttons.push(linkBtn);\r\n return linkBtn;\r\n }\r\n //calculates the button range based on class input parameters and based on current page index value. Used to render new buttons after event.\r\n private initPageRange(): void {\r\n const middleIndex = (this._rangeStart + this._rangeEnd) / 2;\r\n\r\n this._rangeStart = this.calcRangeStart(middleIndex);\r\n this._rangeEnd = this.calcRangeEnd(middleIndex);\r\n\r\n this.buildPageNumbers();\r\n }\r\n\r\n //Helper function To calculate start of button range\r\n private calcRangeStart(middleIndex: number): number {\r\n switch (true) {\r\n case this._curPageObj.pageIndex == 0 && this._rangeStart != 0:\r\n return 0;\r\n case this._curPageObj.pageIndex > this._rangeEnd:\r\n return this._curPageObj.pageIndex + this.inc > this.lastPageIndex\r\n ? this.lastPageIndex - this.inc * 2\r\n : this._curPageObj.pageIndex - this.inc;\r\n case this._curPageObj.pageIndex > this._curPageObj.previousPageIndex &&\r\n this._curPageObj.pageIndex > middleIndex &&\r\n this._rangeEnd < this.lastPageIndex:\r\n return this._rangeStart + 1;\r\n case this._curPageObj.pageIndex < this._curPageObj.previousPageIndex &&\r\n this._curPageObj.pageIndex < middleIndex &&\r\n this._rangeStart > 0:\r\n return this._rangeStart - 1;\r\n default:\r\n return this._rangeStart;\r\n }\r\n }\r\n //Helpter function to calculate end of button range\r\n private calcRangeEnd(middleIndex: number): number {\r\n switch (true) {\r\n case this._curPageObj.pageIndex == 0 &&\r\n this._rangeEnd != this._showTotalPages:\r\n return this._showTotalPages - 1;\r\n case this._curPageObj.pageIndex > this._rangeEnd:\r\n return this._curPageObj.pageIndex + this.inc > this.lastPageIndex\r\n ? this.lastPageIndex\r\n : this._curPageObj.pageIndex + 1;\r\n case this._curPageObj.pageIndex > this._curPageObj.previousPageIndex &&\r\n this._curPageObj.pageIndex > middleIndex &&\r\n this._rangeEnd < this.lastPageIndex:\r\n return this._rangeEnd + 1;\r\n case this._curPageObj.pageIndex < this._curPageObj.previousPageIndex &&\r\n this._curPageObj.pageIndex < middleIndex &&\r\n this._rangeStart >= 0 &&\r\n this._rangeEnd > this._showTotalPages - 1:\r\n return this._rangeEnd - 1;\r\n default:\r\n return this._rangeEnd;\r\n }\r\n }\r\n //Helper function to switch page on non first, last, next and previous buttons only.\r\n private switchPage(i: number): void {\r\n console.log(\"switch\", i);\r\n const previousPageIndex = this.matPag.pageIndex;\r\n this.matPag.pageIndex = i;\r\n this.matPag[\"_emitPageEvent\"](previousPageIndex);\r\n this.initPageRange();\r\n }\r\n //Initialize default state after view init\r\n public ngAfterViewInit() {\r\n this._rangeStart = 0;\r\n this._rangeEnd = this._showTotalPages - 1;\r\n this.initPageRange();\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { AuthenticationService } from '../core/services/authentication.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.scss']\r\n})\r\nexport class HomeComponent {\r\n constructor(public auth: AuthenticationService) { }\r\n ngOnInit(): void {\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\n//import { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n@NgModule({\r\n\r\n imports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n FormsModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n //MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ReactiveFormsModule,\r\n ScrollingModule,\r\n ],\r\n exports: [\r\n A11yModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n FormsModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n //MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ReactiveFormsModule,\r\n ScrollingModule,\r\n ],\r\n providers: [\r\n MatPaginatorIntl\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n\r\n\r\n/** Copyright 2019 Google LLC. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */\r\n","// MDB Modules\r\nimport { NgModule } from '@angular/core';\r\nimport { MdbAccordionModule } from 'mdb-angular-ui-kit/accordion';\r\nimport { MdbCarouselModule } from 'mdb-angular-ui-kit/carousel';\r\nimport { MdbCheckboxModule } from 'mdb-angular-ui-kit/checkbox';\r\nimport { MdbCollapseModule } from 'mdb-angular-ui-kit/collapse';\r\nimport { MdbDropdownModule } from 'mdb-angular-ui-kit/dropdown';\r\nimport { MdbFormsModule } from 'mdb-angular-ui-kit/forms';\r\nimport { MdbModalModule } from 'mdb-angular-ui-kit/modal';\r\nimport { MdbPopoverModule } from 'mdb-angular-ui-kit/popover';\r\nimport { MdbRadioModule } from 'mdb-angular-ui-kit/radio';\r\nimport { MdbRangeModule } from 'mdb-angular-ui-kit/range';\r\nimport { MdbRippleModule } from 'mdb-angular-ui-kit/ripple';\r\nimport { MdbScrollspyModule } from 'mdb-angular-ui-kit/scrollspy';\r\nimport { MdbTabsModule } from 'mdb-angular-ui-kit/tabs';\r\nimport { MdbTooltipModule } from 'mdb-angular-ui-kit/tooltip';\r\nimport { MdbValidationModule } from 'mdb-angular-ui-kit/validation';\r\n\r\n@NgModule({\r\n\r\n imports: [\r\n MdbAccordionModule,\r\n MdbCarouselModule,\r\n MdbCheckboxModule,\r\n MdbCollapseModule,\r\n MdbDropdownModule,\r\n MdbFormsModule,\r\n MdbModalModule,\r\n MdbPopoverModule,\r\n MdbRadioModule,\r\n MdbRangeModule,\r\n MdbRippleModule,\r\n MdbScrollspyModule,\r\n MdbTabsModule,\r\n MdbTooltipModule,\r\n MdbValidationModule\r\n ],\r\n exports: [\r\n MdbAccordionModule,\r\n MdbCarouselModule,\r\n MdbCheckboxModule,\r\n MdbCollapseModule,\r\n MdbDropdownModule,\r\n MdbFormsModule,\r\n MdbModalModule,\r\n MdbPopoverModule,\r\n MdbRadioModule,\r\n MdbRangeModule,\r\n MdbRippleModule,\r\n MdbScrollspyModule,\r\n MdbTabsModule,\r\n MdbTooltipModule,\r\n MdbValidationModule\r\n ]\r\n})\r\nexport class MDBModule { }\r\n\r\n\r\n/** Copyright 2019 Google LLC. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from '../../core/modules/authorization/auth.guard';\r\n\r\nimport { B2BDashBoardComponent } from './components/b2bdashboard/b2bdashboard.component';\r\nimport { B2BArticulosComponent } from './components/b2barticulos/b2barticulos.component';\r\nimport { B2BAreaPersonalComponent } from './components/b2bareapersonal/b2bareapersonal.component';\r\nimport { B2BArticulosIMGComponent } from './components/b2barticulosimg/b2barticulosimg.component';\r\nimport { B2BCestaComponent } from './components/b2cesta/b2cesta.component';\r\nimport { B2BBannerIMGComponent } from './components/b2bbannerimg/b2bbannerimg.component';\r\nimport { B2BSubirPedidoComponent } from './components/b2bsubirpedido/b2bsubirpedido.component';\r\nimport { ArticulosResolver } from '../../shared/resolvers/articulos.resolver';\r\nimport { AlbaranesResolver } from '../../shared/resolvers/albaranes.resolver';\r\nimport { FacturasResolver } from '../../shared/resolvers/facturas.resolver';\r\n\r\nconst routes: Routes = [\r\n { path: 'dashboard', component: B2BDashBoardComponent, canActivate: [AuthGuard] },\r\n {\r\n path: 'articulos',\r\n component: B2BArticulosComponent,\r\n canActivate: [AuthGuard],\r\n resolve: {\r\n articulosResolver: ArticulosResolver\r\n },\r\n runGuardsAndResolvers: 'always',\r\n },\r\n {\r\n path: 'perfil',\r\n component: B2BAreaPersonalComponent,\r\n canActivate: [AuthGuard],\r\n resolve: {\r\n albaranes: AlbaranesResolver,\r\n facturas: FacturasResolver,\r\n },\r\n runGuardsAndResolvers: 'always',\r\n \r\n },\r\n { path: 'edit_img', component: B2BArticulosIMGComponent, canActivate: [AuthGuard] },\r\n { path: 'banner_img', component: B2BBannerIMGComponent, canActivate: [AuthGuard] },\r\n { path: 'cesta', component: B2BCestaComponent, canActivate: [AuthGuard] },\r\n { path: 'subir_ped', component: B2BSubirPedidoComponent, canActivate: [AuthGuard] },\r\n]; \r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppB2BRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\r\nimport { MDBModule } from '../../mdb.module';\r\nimport { NgPrimeModule } from '../../ngprime.module';\r\nimport { MaterialModule } from '../../material.module';\r\nimport { AppSharedModule } from '../../shared/shared.module';\r\nimport { AppB2BRoutingModule } from './b2b-routing.module';\r\n\r\nimport { B2BDashBoardComponent } from './components/b2bdashboard/b2bdashboard.component';\r\nimport { B2BSubirPedidoComponent } from './components/b2bsubirpedido/b2bsubirpedido.component';\r\nimport { B2BArticulosComponent } from './components/b2barticulos/b2barticulos.component';\r\nimport { B2BArticulosIMGComponent } from './components/b2barticulosimg/b2barticulosimg.component';\r\nimport { B2BBannerIMGComponent } from './components/b2bbannerimg/b2bbannerimg.component';\r\n\r\nimport { B2BAreaPersonalComponent } from './components/b2bareapersonal/b2bareapersonal.component';\r\nimport { B2BCestaComponent } from './components/b2cesta/b2cesta.component';\r\n\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { StylePaginatorDirective } from '../../directives/style-paginator.directive';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { MessageService } from 'primeng/api';\r\n\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient);\r\n}\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n BrowserAnimationsModule,\r\n MaterialModule,\r\n NgPrimeModule,\r\n DragDropModule,\r\n MatNativeDateModule,\r\n HttpClientModule,\r\n FormsModule,\r\n RouterModule,\r\n AppSharedModule,\r\n AppB2BRoutingModule,\r\n PdfViewerModule,\r\n MDBModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n declarations: [\r\n B2BDashBoardComponent,\r\n B2BArticulosComponent,\r\n B2BAreaPersonalComponent,\r\n B2BCestaComponent,\r\n StylePaginatorDirective,\r\n B2BArticulosIMGComponent,\r\n B2BBannerIMGComponent,\r\n B2BSubirPedidoComponent\r\n ],\r\n exports: [\r\n CommonModule,\r\n AppB2BRoutingModule,\r\n PdfViewerModule,\r\n RouterModule,\r\n FormsModule\r\n ],\r\n providers: [\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n MessageService, ConfirmationService\r\n ]\r\n})\r\n\r\nexport class AppB2BModule {\r\n\r\n}\r\n","import { Component, OnInit, ChangeDetectorRef, AfterViewInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\n//Models\r\nimport { B2BUser } from '../../../../core/models/b2buser.model';\r\nimport { B2BDirecciones } from '../../../../shared/models/b2bDirecciones.model';\r\nimport { B2BPerfilService } from '../../../../shared/services/b2bPerfil.service';\r\nimport { B2BFacturas } from '../../../../shared/models/b2bFacturas';\r\n//Import PrimeNG\r\nimport { LazyLoadEvent, MessageService, Message } from 'primeng/api';\r\n//Servicios\r\nimport { AuthenticationService } from '../../../../core/services/authentication.service';\r\nimport { B2BAlbaranes } from '../../../../shared/models/b2bAlbaranes';\r\nimport { formatDate } from '@angular/common';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-b2bareapersonal',\r\n templateUrl: './b2bareapersonal.component.html',\r\n styleUrls: ['./b2bareapersonal.component.scss'],\r\n providers: [MessageService]\r\n})\r\n\r\nexport class B2BAreaPersonalComponent implements AfterViewInit, OnInit, OnDestroy {\r\n\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n\r\n //User Variables\r\n currentUser$: Observable;\r\n public user: B2BUser;\r\n\r\n //I/O Variables\r\n @Input() currentUser: B2BUser;\r\n\r\n //Data Variables\r\n public estados: any[] = [];\r\n public direccionFact: B2BDirecciones;\r\n\r\n public direccionesList: B2BDirecciones[] = [];\r\n public direccionesListEnv: B2BDirecciones[] = [];\r\n public isLoading = false;\r\n public isLoadingAlb = false;\r\n public isLoadingFac = false;\r\n\r\n //Table Variables\r\n loading: boolean;\r\n loadingAlb: boolean;\r\n\r\n public datasource: B2BFacturas[] = [];\r\n public datasourceAlb: B2BAlbaranes[] = [];\r\n public totalRecords: number;\r\n public totalRecordsAlb: number;\r\n public facturas: B2BFacturas[] = [];\r\n public albaranes: B2BAlbaranes[] = [];\r\n public unfilteredFac: B2BFacturas[] = [];\r\n public unfilteredAlb: B2BAlbaranes[] = [];\r\n\r\n\r\n properties: any = [{ name: 'docser', label: \"Número factura\" },\r\n { name: 'fecha', label: \"Fecha Factura\" },\r\n { name: 'basimp', label: \"Base Factura\" },\r\n { name: 'cuoimp', label: \"Iva factura\" },\r\n { name: 'imptot', label: \"Importe factura\" },\r\n { name: 'descargar', label: \"Descargar\" }];\r\n\r\n propertiesAlb: any = [{ name: 'docser', label: \"Número Albaran\" },\r\n { name: 'fecha', label: \"Fecha Albaran\" },\r\n { name: 'imptot', label: \"Importe Total\" },\r\n { name: 'descargar', label: \"Descargar\" }];\r\n\r\n //Form variables\r\n form: FormGroup = new FormGroup({});\r\n pass: string;\r\n reppass: string;\r\n filterColumns: string[];\r\n public rows: number;\r\n\r\n\r\n constructor(public auth: AuthenticationService, private cdRef: ChangeDetectorRef,\r\n public _MatPaginatorIntl: MatPaginatorIntl, private readonly router: Router, private perfilService: B2BPerfilService,\r\n private fb: FormBuilder, private actRoute: ActivatedRoute, private messageService: MessageService) {\r\n\r\n this.form = this.fb.group({\r\n password: ['', [Validators.required]],\r\n confirm_password: ['', [Validators.required]]\r\n }, {\r\n validator: ConfirmedValidator('password', 'confirm_password')\r\n })\r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = this.auth.currentUserValue;\r\n this.direccionesList = JSON.parse(localStorage.getItem('direcciones'));\r\n this.direccionesListEnv = this.direccionesList.filter(dire => Number(dire.tipdir) != 0 && !isNaN(Number(dire.tipdir)));\r\n this.direccionFact = this.direccionesList.filter(dire => dire.tipdir == '0' )[0];\r\n\r\n\r\n this.actRoute.data\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(data => {\r\n this.GetAlbaranes(data.albaranes);\r\n this.GetFacturas(data.facturas);\r\n\r\n })\r\n\r\n this.loading = true;\r\n this.loadingAlb = true;\r\n\r\n let value = JSON.parse(localStorage.getItem('rows'));\r\n if (value != undefined && value != null) {\r\n this.rows = value;\r\n\r\n } else {\r\n this.rows = 50;\r\n }\r\n }\r\n\r\n //Evento Ciclos de Vida Angular\r\n ngOnInit(): void {\r\n\r\n\r\n this.cdRef.detectChanges();\r\n\r\n }\r\n\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n //Funciones propias\r\n get f() {\r\n return this.form.controls;\r\n }\r\n\r\n submit() {\r\n this.isLoading = true;\r\n console.log(this.form.value);\r\n this.isLoading = false;\r\n\r\n }\r\n\r\n changeRows(event) {\r\n this.rows = event.rows;\r\n localStorage.setItem('rows', JSON.stringify(this.rows));\r\n\r\n }\r\n\r\n descargarDocumentoAlbaran(tipo: string, docser: string) {\r\n this.isLoadingAlb = true;\r\n this.perfilService.GetDocumentoAlbaran(tipo, docser)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n blob => {\r\n const a = document.createElement('a')\r\n const objectUrl = URL.createObjectURL(blob)\r\n a.href = objectUrl\r\n if (tipo == \"pdf\") {\r\n a.download = 'albaran-'+docser+'.pdf';\r\n }\r\n\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n\r\n this.isLoadingAlb = false;\r\n\r\n },\r\n err => {\r\n this.isLoadingAlb = false;\r\n\r\n console.log('error downloading: ', err);\r\n this.messageService.add({ key: 'message', severity: 'error', summary: 'Error', detail: err });\r\n\r\n }\r\n );\r\n \r\n }\r\n\r\n descargarDocumentoFactura(tipo: string, docser: string) {\r\n this.isLoadingFac = true;\r\n\r\n this.perfilService.GetDocumentoFactura(tipo, docser)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n blob => {\r\n const a = document.createElement('a')\r\n const objectUrl = URL.createObjectURL(blob)\r\n a.href = objectUrl\r\n\r\n if (tipo == \"pdf\") {\r\n a.download = 'factura-'+docser+'.pdf';\r\n }\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n this.isLoadingFac = false;\r\n\r\n },\r\n err => {\r\n console.log('error downloading: ', err);\r\n this.messageService.add({ key: 'messagef', severity: 'error', summary: 'Error', detail: err });\r\n this.isLoadingFac = false;\r\n\r\n }\r\n );\r\n\r\n }\r\n\r\n loadFacturas(event: LazyLoadEvent) {\r\n this.loading = true;\r\n this.filterColumns = ['docser', 'fecha', 'basimp','cuoimp','imptot'];\r\n // filter data\r\n if (Object.keys(event.filters).length > 0) {\r\n\r\n this.datasource = this.unfilteredFac.filter(row => this.filterField(row, event.filters));\r\n\r\n } else {\r\n this.datasource = this.unfilteredFac;\r\n }\r\n\r\n // sort by sortfield\r\n this.datasource.sort((a, b) => this.compareField(a, b, event.sortField) * event.sortOrder);\r\n\r\n\r\n //imitate db connection over a network\r\n setTimeout(() => {\r\n if (this.datasource) {\r\n this.facturas = this.datasource.slice(event.first, (event.first + event.rows));\r\n this.totalRecords = this.datasource.length;\r\n this.loading = false;\r\n }\r\n }, 1000);\r\n }\r\n\r\n loadAlbaranes(event: LazyLoadEvent) {\r\n this.loadingAlb = true;\r\n this.filterColumns = ['docser', 'fecha','imptot'];\r\n // filter data\r\n if (Object.keys(event.filters).length > 0) {\r\n\r\n this.datasourceAlb = this.unfilteredAlb.filter(row => this.filterField(row, event.filters));\r\n\r\n } else {\r\n this.datasourceAlb = this.unfilteredAlb;\r\n }\r\n\r\n // sort by sortfield\r\n this.datasourceAlb.sort((a, b) => this.compareField(a, b, event.sortField) * event.sortOrder);\r\n\r\n\r\n\r\n //imitate db connection over a network\r\n setTimeout(() => {\r\n if (this.datasourceAlb) {\r\n this.albaranes = this.datasourceAlb.slice(event.first, (event.first + event.rows));\r\n this.totalRecordsAlb = this.datasourceAlb.length;\r\n this.loadingAlb = false;\r\n }\r\n }, 1000);\r\n }\r\n\r\n GetFacturas(facturas: any): void {\r\n this.datasource = facturas as unknown as B2BFacturas[];\r\n this.unfilteredFac = facturas as unknown as B2BFacturas[];\r\n this.totalRecords = this.datasource.length;\r\n \r\n }\r\n\r\n GetAlbaranes(albaranes:any): void {\r\n\r\n\r\n this.datasourceAlb = albaranes as unknown as B2BAlbaranes[];\r\n this.unfilteredAlb = albaranes as unknown as B2BAlbaranes[];\r\n this.totalRecordsAlb = this.datasourceAlb.length;\r\n \r\n \r\n }\r\n\r\n filterField(row, filter) {\r\n let isInFilter = false;\r\n let noFilter = true;\r\n\r\n this.filterColumns.forEach(function (columnName) {\r\n if (row[columnName] == null) {\r\n return;\r\n }\r\n let rowValue: String;\r\n if (columnName == \"fecha\") {\r\n rowValue = formatDate(row[columnName].toString(), \"dd-MM-yyyy\", \"es\").toLowerCase();\r\n\r\n }else if (columnName == \"basimp\" || columnName == \"cuoimp\" || columnName == \"imptot\") {\r\n\r\n rowValue = row[columnName].toString().replace(\".\",\",\").toLowerCase();\r\n\r\n }\r\n else {\r\n rowValue = row[columnName].toString().toLowerCase();\r\n\r\n }\r\n noFilter = false;\r\n let filterMatchMode: String = filter[\"global\"].matchMode;\r\n if (filterMatchMode.includes(\"contains\") && rowValue.includes(filter[\"global\"].value.toLowerCase())) {\r\n isInFilter = true;\r\n }/* else if (filterMatchMode.includes(\"startsWith\") && rowValue.startsWith(filter[\"global\"].value.toLowerCase())) {\r\n isInFilter = true;\r\n } else if (filterMatchMode.includes(\"in\") && filter[\"global\"].value.includes(rowValue)) {\r\n isInFilter = true;\r\n }*/\r\n });\r\n\r\n\r\n if (noFilter) { isInFilter = true; }\r\n\r\n return isInFilter;\r\n }\r\n\r\n compareField(rowA, rowB, field: string): number {\r\n if (rowA[field] == null) return 1; // on considère les éléments null les plus petits\r\n if (typeof rowA[field] === 'string') {\r\n return rowA[field].localeCompare(rowB[field]);\r\n }\r\n if (typeof rowA[field] === 'number') {\r\n if (rowA[field] > rowB[field]) return 1;\r\n else return -1;\r\n }\r\n }\r\n\r\n changePassword() {\r\n let formData = new FormData();\r\n formData.append('user', this.user.user);\r\n formData.append('password', this.f.password.value);\r\n this.auth.changepassword(formData)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n res => {\r\n this.auth.logout();\r\n\r\n this.router.navigate(['/login']);\r\n\r\n this.cdRef.detectChanges();\r\n\r\n \r\n },\r\n err => {\r\n this.messageService.add({ key: 'messagepwd', severity: 'error', summary: 'Error', detail: err.message });\r\n\r\n });\r\n }\r\n\r\n}\r\n\r\nexport function ConfirmedValidator(controlName: string, matchingControlName: string) {\r\n return (formGroup: FormGroup) => {\r\n const control = formGroup.controls[controlName];\r\n const matchingControl = formGroup.controls[matchingControlName];\r\n if (matchingControl.errors && !matchingControl.errors.confirmedValidator) {\r\n return;\r\n }\r\n if (control.value !== matchingControl.value) {\r\n matchingControl.setErrors({ confirmedValidator: true });\r\n } else {\r\n matchingControl.setErrors(null);\r\n }\r\n }\r\n}\r\n","\r\n
\r\n\r\n
\r\n
\r\n
\r\n
Datos de Facturación
\r\n
\r\n
{{direccionFact.empres}}
\r\n
{{direccionFact.direcc}}
\r\n
{{direccionFact.poblac}}
\r\n
{{direccionFact.nomprv}}
\r\n
{{direccionFact.codpos}}
\r\n
{{direccionFact.telef1}}
\r\n
{{direccionFact.codnac}}
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
Actualizar Contraseña
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Password is required.
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
Password is required.
\r\n
Contraseña y confirmar Contraseña tienen que coincidir.
\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
Direcciones de envío
\r\n
\r\n
{{dire.empres}}
\r\n
{{dire.direcc}}
\r\n
{{dire.poblac}}
\r\n
{{dire.nomprv}}
\r\n
{{dire.codpos}}
\r\n
{{dire.telef1}}
\r\n
{{dire.codnac}}
\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 {{head.label}} \r\n {{head.label}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{element[head.name]}} \r\n {{element[head.name]| date:'dd-MM-yyyy'}} \r\n {{element[head.name] | currency:'EUR':'symbol':'1.2-2'}} \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 {{head.label}} \r\n {{head.label}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{element[head.name]}} \r\n {{element[head.name]| date:'dd-MM-yyyy'}} \r\n {{element[head.name] | currency:'EUR':'symbol':'1.2-2'}} \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 { Component, OnInit, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\n//modelos\r\nimport { B2BUser } from '../../../../core/models/b2buser.model';\r\n\r\n//servicios\r\nimport { AuthenticationService } from '../../../../core/services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-b2barticulos',\r\n templateUrl: './b2barticulos.component.html',\r\n styleUrls: ['./b2barticulos.component.css']\r\n})\r\nexport class B2BArticulosComponent implements AfterViewInit, OnInit, OnDestroy {\r\n\r\n //User Variables\r\n currentUser$: Observable;\r\n public user: any = [];\r\n\r\n //Data Variables\r\n searchText: string = '';\r\n properties: any = [{ name: 'codigo', label: \"Código\" },\r\n { name: 'nomart', label: \"Descripción\" },\r\n { name: 'marca', label: 'Marca' },\r\n //{ name: 'medidas', label: 'Medida' },\r\n { name: 'stock', label: \"Stock\" },\r\n { name: 'stock10', label: \"Disponibilidad\" },\r\n { name: 'precio', label: 'Precio' },\r\n { name: 'descuento', label: 'Dto.' },\r\n { name: 'neto', label: 'Precio neto' },\r\n //{ name: 'codfam', label: 'Família' },\r\n //{ name: 'canmul', label: 'Cantidad múltiplo' },\r\n //{ name: 'auxchr6', label: 'Código foto' },\r\n { name: 'cantidad', label: 'Cantidad' },\r\n { name: 'auxnum2', label: \"Uds/caja\" },\r\n ];\r\n\r\n\r\n\r\n constructor(public auth: AuthenticationService, private cdRef: ChangeDetectorRef, private route: ActivatedRoute) { }\r\n\r\n //Evento Ciclos de Vida Angular\r\n ngOnInit(): void {\r\n \r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = JSON.parse(localStorage.getItem('currentUser'));\r\n }\r\n ngAfterViewInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n","import { Component, OnInit, ChangeDetectorRef, ViewChild, ElementRef, AfterViewInit, Input, Inject } from '@angular/core';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\n\r\n//import { XRSKUser } from 'src/app/core/models/xrskuser.model';\r\nimport { B2BUser } from 'src/app/core/models/b2buser.model';\r\nimport { Observable, Subject, Subscription, takeUntil } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { B2BArticulos } from '../../../../shared/models/b2bArticulos.model';\r\nimport { DataService, inputArt } from '../../../../core/services/data.service';\r\nimport { B2BArticulosService } from '../../../../shared/services/b2bArticulos.service';\r\nimport { ConfirmationService, LazyLoadEvent } from 'primeng/api';\r\nimport { MessageService } from 'primeng/api';\r\nimport { FileUploadService } from '../../../../core/services/fileupload.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { B2BArticulosIMG } from '../../../../shared/models/b2bArticulosIMG.model';\r\n\r\n@Component({\r\n selector: 'app-b2barticulosimg',\r\n templateUrl: './b2barticulosimg.component.html',\r\n styleUrls: ['./b2barticulosimg.component.css'],\r\n providers: [MessageService]\r\n})\r\nexport class B2BArticulosIMGComponent implements OnInit {\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n currentUser$: Observable;\r\n public user: any = [];\r\n\r\n displayedColumns: string[] = ['codigo', 'imagen', 'edicion'];\r\n datasource: B2BArticulosIMG[] = [];\r\n totalRecords: number;\r\n articuloDialog: boolean;\r\n artInput = new inputArt();\r\n loading: boolean;\r\n articulosIMG: B2BArticulosIMG[] = [];\r\n articuloIMG: B2BArticulosIMG;\r\n submitted: boolean;\r\n url: string;\r\n codigo: string;\r\n edit: boolean;\r\n errorText: string = 'Hi ha un error!';\r\n searchText: string = '';\r\n // Progress Bar values\r\n estado = 'estado';\r\n color = 'primary';\r\n mode = 'indeterminate';\r\n value = 50;\r\n bufferValue = 75;\r\n @ViewChild('alert', { static: false }) alert: ElementRef;\r\n @ViewChild('Progress') matProgress: ElementRef;\r\n properties: any = [{ name: 'auxchr6', label: \"Código imagen\" },\r\n { name: 'url', label: \"Imagen\" },\r\n { name: 'edicion', label: 'Edición' }];\r\n\r\n uploadedFiles: any[] = [];\r\n public rows: number;\r\n\r\n constructor(private data: DataService, public auth: AuthenticationService, private cdRef: ChangeDetectorRef, private route: ActivatedRoute,\r\n private articulosService: B2BArticulosService, private messageService: MessageService, @Inject('BASE_URL') private baseUrl: string,\r\n private fileUploadSerice: FileUploadService, public domSanitizer: DomSanitizer, private confirmationService: ConfirmationService ) {\r\n\r\n this.url = baseUrl + \"api/file/upload\";\r\n\r\n let value = JSON.parse(localStorage.getItem('rows'));\r\n if (value != undefined && value != null) {\r\n this.rows = value;\r\n\r\n } else {\r\n this.rows = 50;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = JSON.parse(localStorage.getItem('currentUser'));\r\n this.GetArtículosIMG();\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('destroy');\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n changeRows(event) {\r\n this.rows = event.rows;\r\n localStorage.setItem('rows', JSON.stringify(this.rows));\r\n\r\n }\r\n\r\n mostrarArticuloIMG(articulo: B2BArticulos) {\r\n this.articuloIMG = { ...articulo };\r\n this.edit = true;\r\n this.articuloDialog = true;\r\n \r\n }\r\n\r\n openNew() {\r\n this.articuloIMG = null;\r\n this.submitted = false;\r\n this.edit = false;\r\n this.articuloDialog = true;\r\n }\r\n transform(base64Image) {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(base64Image);\r\n }\r\n\r\n\r\n GetArtículosIMG(): void {\r\n\r\n this.fileUploadSerice.GetArticulosIMGAll()\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n articulosIMG => {\r\n this.articuloDialog = false;\r\n this.articuloIMG = {};\r\n this.updateVisibility();\r\n this.datasource = articulosIMG as unknown as B2BArticulosIMG[];\r\n this.totalRecords = this.datasource.length;\r\n },\r\n err => {\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: err });\r\n\r\n }\r\n );\r\n } \r\n\r\n hideDialog() {\r\n this.articuloDialog = false;\r\n }\r\n\r\n loadArticulosIMG(event: LazyLoadEvent) {\r\n this.loading = true;\r\n\r\n // sort by sortfield\r\n if (event.sortField) {\r\n this.datasource.sort((data1, data2) => {\r\n let value1 = data1[event.sortField];\r\n let value2 = data2[event.sortField];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.sortOrder * result);\r\n });\r\n }\r\n\r\n //imitate db connection over a network\r\n setTimeout(() => {\r\n if (this.datasource) {\r\n this.articulosIMG = this.datasource.slice(event.first, (event.first + event.rows));\r\n this.loading = false;\r\n }\r\n }, 1000);\r\n\r\n }\r\n\r\n deleteArticuloIMG(articuloIMG: B2BArticulosIMG) {\r\n\r\n this.confirmationService.confirm({\r\n message: 'Are you sure you want to delete ' + articuloIMG.auxchr6 + '?',\r\n header: 'Confirmar',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => {\r\n articuloIMG.subdirectory = \"PRODUCTS\";\r\n\r\n this.fileUploadSerice.delete(articuloIMG)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n res => {\r\n console.log(\"entra\");\r\n\r\n this.messageService.add({ key:'toast1',severity: 'success', summary: 'Successful', detail: 'Product Deleted', life: 3000 });\r\n\r\n this.GetArtículosIMG();\r\n // this.articuloDialog = false;\r\n\r\n this.articulosIMG = [...this.datasource];\r\n this.articuloIMG = null;\r\n this.codigo = null;\r\n\r\n this.updateVisibility();\r\n \r\n },\r\n err => {\r\n\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: err });\r\n\r\n }\r\n );\r\n\r\n }\r\n });\r\n }\r\n\r\n onUpload(event) {\r\n for (let file of event.files) {\r\n this.uploadedFiles.push(file);\r\n }\r\n\r\n }\r\n\r\n visible: boolean = true;\r\n updateVisibility(): void {\r\n this.visible = false;\r\n setTimeout(() => this.visible = true, 0);\r\n }\r\n\r\n myUploader(event) {\r\n\r\n\r\n let formData = new FormData();\r\n var file = event.files[0];\r\n var name = event.files[0].name;\r\n var extension = name.substring(name.lastIndexOf(\".\"), name.legnth);\r\n\r\n if (this.edit == true) {\r\n this.codigo = \"-\";\r\n }\r\n\r\n if (this.codigo != null) {\r\n\r\n\r\n formData.append('files', file, this.codigo + extension);\r\n\r\n\r\n formData.append('auxchr6', this.codigo);\r\n\r\n formData.append('subDirectory', \"PRODUCTS\");\r\n\r\n if (this.edit == true) {\r\n formData.append('filename', this.articuloIMG.auxchr6);\r\n\r\n } \r\n\r\n this.fileUploadSerice.upload(formData)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n res => {\r\n this.messageService.add({ key: 'toast1', severity: 'success', summary: 'Successful', detail: 'Product Created', life: 3000 });\r\n this.GetArtículosIMG();\r\n },\r\n err => {\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: err.error });\r\n }\r\n );\r\n\r\n } else {\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: \"El código no puede estar vacío\" });\r\n\r\n }\r\n\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

Base de datos de imágenes

Gestor ISB\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 {{head.label}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{element[head.name]}} \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 Código: \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
    \r\n
  • {{file.name}} - {{file.size}} bytes
  • \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 { Component, OnInit, ChangeDetectorRef, ViewChild, ElementRef, AfterViewInit, Input, Inject } from '@angular/core';\r\nimport { AuthenticationService } from 'src/app/core/services/authentication.service';\r\n\r\n//import { XRSKUser } from 'src/app/core/models/xrskuser.model';\r\nimport { B2BUser } from 'src/app/core/models/b2buser.model';\r\nimport { Observable, Subject, Subscription, takeUntil } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { B2BArticulos } from '../../../../shared/models/b2bArticulos.model';\r\nimport { DataService, inputArt } from '../../../../core/services/data.service';\r\nimport { B2BArticulosService } from '../../../../shared/services/b2bArticulos.service';\r\nimport { ConfirmationService, LazyLoadEvent } from 'primeng/api';\r\nimport { MessageService } from 'primeng/api';\r\nimport { FileUploadService } from '../../../../core/services/fileupload.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { B2BArticulosIMG } from '../../../../shared/models/b2bArticulosIMG.model';\r\n\r\n@Component({\r\n selector: 'app-b2bbannerimg',\r\n templateUrl: './b2bbannerimg.component.html',\r\n styleUrls: ['./b2bbannerimg.component.css'],\r\n providers: [MessageService]\r\n})\r\nexport class B2BBannerIMGComponent implements OnInit {\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n currentUser$: Observable;\r\n public user: any = [];\r\n\r\n\r\n\r\n displayedColumns: string[] = ['imagen', 'edicion'];\r\n datasource: B2BArticulosIMG[] = [];\r\n totalRecords: number;\r\n articuloDialog: boolean;\r\n artInput = new inputArt();\r\n loading: boolean;\r\n articulosIMG: B2BArticulosIMG[] = [];\r\n articuloIMG: B2BArticulosIMG;\r\n submitted: boolean;\r\n url: string;\r\n codigo: string;\r\n edit: boolean;\r\n errorText: string = 'Hi ha un error!';\r\n searchText: string = '';\r\n // Progress Bar values\r\n estado = 'estado';\r\n color = 'primary';\r\n mode = 'indeterminate';\r\n value = 50;\r\n bufferValue = 75;\r\n @ViewChild('alert', { static: false }) alert: ElementRef;\r\n @ViewChild('Progress') matProgress: ElementRef;\r\n properties: any = [ { name: 'url', label: \"Imagen\" },\r\n { name: 'edicion', label: 'Edición' }];\r\n\r\n uploadedFiles: any[] = [];\r\n\r\n tipocliente: any = [\r\n { name: 'ADM', label: 'Gestion Administrativa' },\r\n { name: 'B2B', label: 'B2B ISB Sport' },\r\n { name: 'BUY', label: 'Compra online' },\r\n { name: 'C/C', label: 'Cliente de cliente' },\r\n { name: 'DIR', label: 'Directo' },\r\n { name: 'IND', label: 'Indirecto' },\r\n { name: 'MOS', label: 'Mostrador' },\r\n { name: 'POT', label: 'Potencial' },\r\n { name: 'RFA', label: 'Cliente de RECAMBIO FACIL' },\r\n ];\r\n\r\n selectedTipoCli: any;\r\n public rows: number;\r\n\r\n constructor(private data: DataService, public auth: AuthenticationService, private cdRef: ChangeDetectorRef, private route: ActivatedRoute,\r\n private articulosService: B2BArticulosService, private messageService: MessageService, @Inject('BASE_URL') private baseUrl: string,\r\n private fileUploadSerice: FileUploadService, public domSanitizer: DomSanitizer, private confirmationService: ConfirmationService ) {\r\n\r\n this.url = baseUrl + \"api/file/upload\";\r\n\r\n let value = JSON.parse(localStorage.getItem('rows'));\r\n if (value != undefined && value != null) {\r\n this.rows = value;\r\n\r\n } else {\r\n this.rows = 50;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n this.articulosService.GetTipoCliente()\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n tipocliente => {\r\n this.tipocliente = tipocliente;\r\n this.selectedTipoCli = this.tipocliente[0];\r\n\r\n this.GetBannersIMG();\r\n }\r\n )\r\n\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('destroy');\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n changeRows(event) {\r\n this.rows = event.rows;\r\n localStorage.setItem('rows', JSON.stringify(this.rows));\r\n\r\n }\r\n\r\n mostrarArticuloIMG(articulo: B2BArticulos) {\r\n this.articuloIMG = { ...articulo };\r\n this.edit = true;\r\n this.articuloDialog = true;\r\n \r\n }\r\n\r\n openNew() {\r\n this.articuloIMG = null;\r\n this.submitted = false;\r\n this.edit = false;\r\n this.articuloDialog = true;\r\n }\r\n onChange(event) {\r\n\r\n this.selectedTipoCli = event.value;\r\n this.GetBannersIMG();\r\n }\r\n GetBannersIMG(): void {\r\n\r\n let formData = new FormData();\r\n\r\n formData.append('tipo', this.selectedTipoCli.name);\r\n\r\n this.fileUploadSerice.GetBannerIMGAll(formData)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n articulosIMG => {\r\n this.articuloDialog = false;\r\n this.articuloIMG = {};\r\n this.updateVisibility();\r\n this.datasource = articulosIMG as unknown as B2BArticulosIMG[];\r\n this.articulosIMG = articulosIMG as unknown as B2BArticulosIMG[];\r\n this.totalRecords = this.datasource.length;\r\n },\r\n err => {\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: err });\r\n\r\n }\r\n );\r\n }\r\n\r\n hideDialog() {\r\n this.articuloDialog = false;\r\n }\r\n\r\n transform(base64Image) {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(base64Image);\r\n }\r\n\r\n\r\n loadArticulosIMG(event: LazyLoadEvent) {\r\n this.loading = true;\r\n\r\n // sort by sortfield\r\n if (event.sortField) {\r\n this.datasource.sort((data1, data2) => {\r\n let value1 = data1[event.sortField];\r\n let value2 = data2[event.sortField];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.sortOrder * result);\r\n });\r\n }\r\n\r\n //imitate db connection over a network\r\n setTimeout(() => {\r\n if (this.datasource) {\r\n this.articulosIMG = this.datasource.slice(event.first, (event.first + event.rows));\r\n this.loading = false;\r\n }\r\n }, 1000);\r\n\r\n }\r\n\r\n deleteArticuloIMG(articuloIMG: B2BArticulosIMG) {\r\n\r\n this.confirmationService.confirm({\r\n message: '¿Estas seguro que quieres eliminar el banner ' + articuloIMG.auxchr6 + '?',\r\n header: 'Confirmar',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => {\r\n articuloIMG.subdirectory = \"BANNER\";\r\n this.fileUploadSerice.delete(articuloIMG)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n res => {\r\n console.log(\"entra\");\r\n\r\n this.messageService.add({ severity: 'success', summary: 'Successful', detail: 'Banner Eliminado', life: 3000 });\r\n\r\n this.GetBannersIMG();\r\n // this.articuloDialog = false;\r\n\r\n this.articulosIMG = [...this.datasource];\r\n this.articuloIMG = null;\r\n this.codigo = null;\r\n\r\n this.updateVisibility();\r\n \r\n },\r\n err => {\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: err });\r\n\r\n }\r\n );\r\n\r\n }\r\n });\r\n }\r\n\r\n onUpload(event) {\r\n for (let file of event.files) {\r\n this.uploadedFiles.push(file);\r\n }\r\n\r\n }\r\n\r\n visible: boolean = true;\r\n updateVisibility(): void {\r\n this.visible = false;\r\n setTimeout(() => this.visible = true, 0);\r\n }\r\n\r\n myUploader(event) {\r\n\r\n\r\n let formData = new FormData();\r\n\r\n event.files.forEach(file => {\r\n var name = file.name;\r\n var extension = name.substring(name.lastIndexOf(\".\"), name.length);\r\n\r\n formData.append('files', file, extension);\r\n\r\n\r\n });\r\n\r\n if (this.edit == true) {\r\n formData.append('filename', this.articuloIMG.auxchr6);\r\n\r\n } else {\r\n formData.append('filename', \"\");\r\n\r\n }\r\n\r\n formData.append('auxchr6', this.selectedTipoCli.name);\r\n\r\n formData.append('subDirectory', \"BANNER\");\r\n\r\n this.fileUploadSerice.upload(formData)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n res => {\r\n\r\n //this.uploadedFiles.push(file);\r\n //this.articulosIMG.push(file);\r\n this.messageService.add({ severity: 'success', summary: 'Successful', detail: 'Product Created', life: 3000 });\r\n\r\n this.GetBannersIMG();\r\n\r\n\r\n },\r\n err => {\r\n this.messageService.add({ key: 'msg1', severity: 'error', summary: 'Error', detail: err });\r\n\r\n }\r\n );\r\n \r\n \r\n\r\n //this.messageService.add({ severity: 'info', summary: 'Success', detail: 'File Uploaded' });\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

Editar Banner

Tamaño imagenes (960 x 200) !!\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
Tipo de Cliente:
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {{head.label}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{element[head.name]}} \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
  • {{file.name}} - {{file.size}} bytes
  • \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 {\r\n Component,\r\n OnInit,\r\n ChangeDetectorRef,\r\n ElementRef,\r\n AfterViewInit,\r\n Input,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { AuthenticationService } from \"src/app/core/services/authentication.service\";\r\n\r\n//import { XRSKUser } from 'src/app/core/models/xrskuser.model';\r\nimport { B2BUser } from \"../../../../core/models/b2buser.model\";\r\nimport { Observable, Subject, takeUntil } from \"rxjs\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n DataService,\r\n inputArt,\r\n TotalCestaService,\r\n} from \"../../../../core/services/data.service\";\r\nimport { MatPaginatorIntl } from \"@angular/material/paginator\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { Sort } from \"@angular/material/sort\";\r\nimport { B2BPedidosService } from \"../../../../shared/services/b2bPedidos.service\";\r\nimport { B2BPedidos } from \"../../../../shared/models/b2bPedidos.model\";\r\nimport { LiveAnnouncer } from \"@angular/cdk/a11y\";\r\n\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { B2BPerfilService } from \"../../../../shared/services/b2bPerfil.service\";\r\nimport { B2BDirecciones } from \"../../../../shared/models/b2bDirecciones.model\";\r\nimport { DatePipe, formatDate } from \"@angular/common\";\r\nimport { B2BArticulosIMG } from \"../../../../shared/models/b2bArticulosIMG.model\";\r\nimport { FileUploadService } from \"../../../../core/services/fileupload.service\";\r\nimport { B2BOfertas } from \"../../../../shared/models/b2bOfertas.model\";\r\nimport { ConfirmationService, MessageService } from \"primeng/api\";\r\nimport { B2BOfertaLineas } from \"../../../../shared/models/b2bOfertaLineas.model\";\r\nimport { B2BCestaService } from \"src/app/shared/services/b2bCesta.service\";\r\nimport { B2BCesta } from \"src/app/shared/models/b2bCesta.model\";\r\n\r\n//import { MessageService } from 'primeng/api';\r\nexport interface Banner {\r\n image?: string;\r\n}\r\n\r\n@Component({\r\n selector: \"app-b2bdashboard\",\r\n templateUrl: \"./b2bdashboard.component.html\",\r\n styleUrls: [\"./b2bdashboard.component.scss\"],\r\n providers: [ConfirmationService, MessageService],\r\n})\r\nexport class B2BDashBoardComponent implements AfterViewInit, OnInit, OnDestroy {\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n displayedColumns: string[] = [\r\n \"docser\",\r\n \"refter\",\r\n \"fecha\",\r\n \"estcab\",\r\n \"descargar\",\r\n ];\r\n sortColumns: string[] = [\r\n \"Sort by docser\",\r\n \"Sort by refter\",\r\n \"Sort by fecha\",\r\n \"Sort by estcab\",\r\n ];\r\n\r\n properties: any = [\r\n { name: \"docser\", label: \"Nº Pedido\" },\r\n { name: \"refter\", label: \"Pedido Cliente\" },\r\n { name: \"fecha\", label: \"Fecha Pedido\" },\r\n { name: \"estcab\", label: \"Estado\" },\r\n { name: \"descargar\", label: \"Descargar\" },\r\n ];\r\n\r\n propertiesOfertas: any = [\r\n { name: \"docser\", label: \"Nº Oferta\" },\r\n { name: \"refter\", label: \"Referencia\" },\r\n { name: \"fecha\", label: \"Fecha Oferta\" },\r\n { name: \"estcab\", label: \"Estado\" },\r\n { name: \"descargar\", label: \"Descargar\" },\r\n ];\r\n\r\n propertiesOfertaLineas: any = [\r\n { name: \"codart\", label: \"Artículo\" },\r\n { name: \"desvar\", label: \"Descripción\" },\r\n { name: \"canofe\", label: \"Cantidad\" },\r\n { name: \"precio\", label: \"Precio\" },\r\n { name: \"dtolin\", label: \"Dto.\" },\r\n { name: \"impnet\", label: \"Importe neto\" },\r\n ];\r\n\r\n filterColumns = [\"docser\", \"refter\", \"fecha\", \"estcab\"];\r\n\r\n currentUser$: Observable;\r\n public user: any = [];\r\n public collapsed00: boolean = false;\r\n public collapsed01: boolean = false;\r\n public collapsed02: boolean = false;\r\n @Input() currentUser: B2BUser;\r\n public url: any;\r\n banner: Banner[] = [\r\n { image: \"banner1.jpg\" },\r\n { image: \"banner2.jpg\" },\r\n { image: \"banner3.jpg\" },\r\n ];\r\n\r\n pedidos: Array = new Array();\r\n pedidosFiltered: Array = new Array();\r\n ofertas: Array = new Array();\r\n ofertasFiltered: Array = new Array();\r\n\r\n dataSource = new MatTableDataSource(this.pedidos);\r\n\r\n errorText: string = \"Hi ha un error!\";\r\n searchText: string = \"\";\r\n // Progress Bar values\r\n estado = \"estado\";\r\n mode = \"indeterminate\";\r\n value = 50;\r\n bufferValue = 75;\r\n public estados: any[] = [];\r\n public estadosOfe: any[] = [];\r\n public direccionesList: B2BDirecciones[] = [];\r\n public direccion: B2BDirecciones;\r\n\r\n public bannerIMG: B2BArticulosIMG[] = [];\r\n public isLoading = false;\r\n\r\n public rows: number;\r\n\r\n public ofertaLineasList: B2BOfertaLineas[] = [];\r\n public ofertaLineasListAll: B2BOfertaLineas[] = [];\r\n dialogVisible: boolean = false;\r\n selectedOfertaLineas: B2BOfertaLineas[] = [];\r\n\r\n cabidOrigen: number;\r\n\r\n cesta: B2BCesta[] = [];\r\n\r\n docori: string;\r\n lineasValidadas: number;\r\n\r\n totalCesta: number = 0;\r\n\r\n constructor(\r\n private data: DataService,\r\n public auth: AuthenticationService,\r\n private cdRef: ChangeDetectorRef,\r\n private pedidosService: B2BPedidosService,\r\n private readonly router: Router,\r\n private _liveAnnouncer: LiveAnnouncer,\r\n private domSanitizer: DomSanitizer,\r\n public _MatPaginatorIntl: MatPaginatorIntl,\r\n private perfilService: B2BPerfilService,\r\n private cestaService: B2BCestaService,\r\n private fileService: FileUploadService,\r\n private messageService: MessageService,\r\n private confirmationService: ConfirmationService,\r\n private dataCesta: TotalCestaService\r\n ) {\r\n this.currentUser = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.GetDirecciones(this.currentUser.codigo);\r\n let value = JSON.parse(localStorage.getItem(\"rows\"));\r\n if (value != undefined && value != null) {\r\n this.rows = value;\r\n } else {\r\n this.rows = 50;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.estados = [\r\n { codigo: \"E\", descripcion: \"Bloqueado\" },\r\n { codigo: \"V\", descripcion: \"Validado\" },\r\n { codigo: \"X\", descripcion: \"Extraído\" },\r\n { codigo: \"P\", descripcion: \"Parcial\" },\r\n { codigo: \"S\", descripcion: \"Servido\" },\r\n { codigo: \"H\", descripcion: \"Hostórico\" },\r\n ];\r\n\r\n this.estadosOfe = [\r\n { codigo: \"E\", descripcion: \"Bloqueado\" },\r\n { codigo: \"V\", descripcion: \"Validado\" },\r\n { codigo: \"C\", descripcion: \"Cursada\" },\r\n { codigo: \"H\", descripcion: \"Hostórico\" },\r\n ];\r\n\r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.GetPedidos(this.user.codigo);\r\n this.GetOfertas(this.user.codigo);\r\n this.GetBannerIMG();\r\n\r\n //this.dataSource.data = this.pedidos;\r\n\r\n //this._MatPaginatorIntl.itemsPerPageLabel = 'Show entries';\r\n\r\n this.GetCesta();\r\n this.cdRef.detectChanges();\r\n }\r\n ngAfterViewInit() {}\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n changeRows(event) {\r\n this.rows = event.rows;\r\n localStorage.setItem(\"rows\", JSON.stringify(this.rows));\r\n }\r\n\r\n transform(base64Image) {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(base64Image);\r\n }\r\n\r\n GetCesta(): void {\r\n this.cestaService\r\n .GetCesta(this.currentUser.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (cesta) => {\r\n this.cesta = cesta as B2BCesta[];\r\n this.totalCesta = cesta.length;\r\n this.dataCesta.changeMessage(cesta.length);\r\n },\r\n error: (err) => {},\r\n });\r\n }\r\n\r\n GetBannerIMG(): void {\r\n let formData = new FormData();\r\n\r\n if (\r\n this.currentUser.b2b_banner != null &&\r\n this.currentUser.b2b_banner != undefined &&\r\n this.currentUser.b2b_banner != \"\"\r\n ) {\r\n formData.append(\"tipo\", this.currentUser.b2b_banner);\r\n } else {\r\n formData.append(\"tipo\", \"NOR\");\r\n }\r\n\r\n this.fileService\r\n .GetBannerIMGAll(formData)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (articulos) => {\r\n this.bannerIMG = articulos as unknown as B2BArticulosIMG[];\r\n },\r\n () => {}\r\n );\r\n }\r\n\r\n GetDirecciones(codcli: string): void {\r\n this.perfilService\r\n .GetDirecciones(codcli)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (direcciones) => {\r\n this.direccionesList = direcciones as unknown as B2BDirecciones[];\r\n this.direccion = this.direccionesList[0];\r\n localStorage.setItem(\r\n \"direcciones\",\r\n JSON.stringify(this.direccionesList)\r\n );\r\n },\r\n () => {}\r\n );\r\n }\r\n\r\n convertEstado(codigo: string): string {\r\n var convertedValue: string;\r\n\r\n convertedValue = this.estados.find((x) => x.codigo == codigo).descripcion;\r\n\r\n return convertedValue;\r\n }\r\n\r\n convertEstadoOfe(codigo: string): string {\r\n var convertedValue: string;\r\n\r\n convertedValue = this.estadosOfe.find(\r\n (x) => x.codigo == codigo\r\n ).descripcion;\r\n\r\n return convertedValue;\r\n }\r\n\r\n filterGlobal(value: any) {\r\n this.pedidosFiltered = new Array();\r\n if (value.length > 0) {\r\n this.filterColumns.forEach((col) => {\r\n this.pedidos.filter((ped) => {\r\n if (ped[col] != null) {\r\n if (typeof ped[col] == \"string\") {\r\n if (col == \"estcab\") {\r\n if (!isNaN(Date.parse(ped[col]))) {\r\n if (\r\n formatDate(ped[col], \"dd-MM-yyyy\", \"es\")\r\n .toUpperCase()\r\n .includes(value.toUpperCase())\r\n ) {\r\n this.pedidosFiltered.push(ped);\r\n }\r\n } else {\r\n if (\r\n this.convertEstado(ped[col])\r\n .toUpperCase()\r\n .includes(value.toUpperCase())\r\n ) {\r\n this.pedidosFiltered.push(ped);\r\n }\r\n }\r\n } else {\r\n if (!isNaN(Date.parse(ped[col]))) {\r\n if (\r\n formatDate(ped[col], \"dd-MM-yyyy\", \"es\")\r\n .toUpperCase()\r\n .includes(value.toUpperCase())\r\n ) {\r\n this.pedidosFiltered.push(ped);\r\n }\r\n } else {\r\n if (ped[col].toUpperCase().includes(value.toUpperCase())) {\r\n this.pedidosFiltered.push(ped);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n this.pedidosFiltered = this.pedidos;\r\n }\r\n }\r\n\r\n filterGlobalOfertas(value: any) {\r\n this.ofertasFiltered = new Array();\r\n if (value.length > 0) {\r\n this.filterColumns.forEach((col) => {\r\n this.ofertas.filter((ofe) => {\r\n if (ofe[col] != null) {\r\n if (typeof ofe[col] == \"string\") {\r\n if (col == \"estcab\") {\r\n if (!isNaN(Date.parse(ofe[col]))) {\r\n if (\r\n formatDate(ofe[col], \"dd-MM-yyyy\", \"es\")\r\n .toUpperCase()\r\n .includes(value.toUpperCase())\r\n ) {\r\n this.ofertasFiltered.push(ofe);\r\n }\r\n } else {\r\n if (\r\n this.convertEstado(ofe[col])\r\n .toUpperCase()\r\n .includes(value.toUpperCase())\r\n ) {\r\n this.ofertasFiltered.push(ofe);\r\n }\r\n }\r\n } else {\r\n if (!isNaN(Date.parse(ofe[col]))) {\r\n if (\r\n formatDate(ofe[col], \"dd-MM-yyyy\", \"es\")\r\n .toUpperCase()\r\n .includes(value.toUpperCase())\r\n ) {\r\n this.ofertasFiltered.push(ofe);\r\n }\r\n } else {\r\n if (ofe[col].toUpperCase().includes(value.toUpperCase())) {\r\n this.ofertasFiltered.push(ofe);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n this.ofertasFiltered = this.ofertas;\r\n }\r\n }\r\n\r\n generarPedido(docser: string) {\r\n this.isLoading = true;\r\n var oferta = new B2BOfertas();\r\n oferta.docser = docser;\r\n oferta.tercer = this.user.codigo;\r\n this.pedidosService\r\n .generarPedido(oferta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n () => {\r\n this.GetOfertas(this.user.codigo);\r\n\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Pedido Generado\",\r\n life: 3000,\r\n });\r\n },\r\n (err) => {\r\n console.log(\"error downloading: \", err);\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n descargarDocumento(tipo: string, docser: string) {\r\n this.isLoading = true;\r\n this.pedidosService\r\n .GetDocumento(tipo, docser)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (blob) => {\r\n const a = document.createElement(\"a\");\r\n const objectUrl = URL.createObjectURL(blob);\r\n a.href = objectUrl;\r\n if (tipo == \"csv\") {\r\n a.download = \"pedido.csv\";\r\n }\r\n if (tipo == \"pdf\") {\r\n a.download = \"pedido.pdf\";\r\n }\r\n if (tipo == \"xls\") {\r\n a.download = \"pedido.xls\";\r\n }\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n console.log(\"error downloading: \", err);\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n descargarDocumentoOfe(tipo: string, docser: string) {\r\n this.isLoading = true;\r\n this.pedidosService\r\n .GetDocumentoOfe(tipo, docser)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (blob) => {\r\n const a = document.createElement(\"a\");\r\n const objectUrl = URL.createObjectURL(blob);\r\n a.href = objectUrl;\r\n if (tipo == \"csv\") {\r\n a.download = \"pedido.csv\";\r\n }\r\n if (tipo == \"pdf\") {\r\n a.download = \"pedido.pdf\";\r\n }\r\n if (tipo == \"xls\") {\r\n a.download = \"pedido.xls\";\r\n }\r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n this.isLoading = false;\r\n },\r\n (err) => {\r\n console.log(\"error downloading: \", err);\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n\r\n /** Announce the change in sort state for assistive technology. */\r\n announceSortChange(sortState: Sort) {\r\n // This example uses English messages. If your application supports\r\n // multiple language, you would internationalize these strings.\r\n // Furthermore, you can customize the message to add additional\r\n // details about the values being sorted.\r\n if (sortState.direction) {\r\n this._liveAnnouncer.announce(`Sorted ${sortState.direction}ending`);\r\n } else {\r\n this._liveAnnouncer.announce(\"Sorting cleared\");\r\n }\r\n }\r\n\r\n GetPedidos(codcli: string): void {\r\n this.pedidosService\r\n .GetPedidos(codcli)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (pedidos) => {\r\n this.pedidos = pedidos as unknown as B2BPedidos[];\r\n this.pedidos = this.pedidos.sort((a, b) =>\r\n a.docser > b.docser ? -1 : 1\r\n );\r\n this.pedidosFiltered = this.pedidos;\r\n },\r\n () => {}\r\n );\r\n }\r\n\r\n GetOfertas(codcli: string): void {\r\n this.pedidosService\r\n .GetOfertas(codcli)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (ofertas) => {\r\n this.ofertas = ofertas as unknown as B2BPedidos[];\r\n this.ofertas = this.ofertas.sort((a, b) =>\r\n a.docser > b.docser ? -1 : 1\r\n );\r\n this.ofertasFiltered = this.ofertas;\r\n },\r\n () => {}\r\n );\r\n }\r\n\r\n GetOfertaLineas(cabid: number): void {\r\n this.cabidOrigen = cabid;\r\n\r\n this.pedidosService\r\n .GetOfertaLineas(cabid)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (ofertas) => {\r\n this.ofertaLineasList = ofertas as unknown as B2BOfertaLineas[];\r\n this.ofertaLineasListAll = JSON.parse(JSON.stringify(ofertas));\r\n this.selectedOfertaLineas = [];\r\n this.dialogVisible = true;\r\n this.lineasValidadas = this.ofertaLineasList.filter(\r\n (x) => x.estlin != \"C\"\r\n ).length;\r\n },\r\n });\r\n }\r\n\r\n ofertaToCesta() {\r\n this.dialogVisible = false;\r\n\r\n const enviarACesta = () => {\r\n this.selectedOfertaLineas = this.selectedOfertaLineas.filter(\r\n (x) => x.estlin != \"C\"\r\n );\r\n this.selectedOfertaLineas.forEach((x) => {\r\n x.tercer = this.currentUser.codigo;\r\n x.cabidOrigen = this.cabidOrigen;\r\n });\r\n\r\n this.cestaService\r\n .ofertaToCesta(this.selectedOfertaLineas)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Cesta Generada\",\r\n life: 3000,\r\n });\r\n\r\n this.GetCesta();\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n this.dialogVisible = false;\r\n this.isLoading = false;\r\n },\r\n });\r\n };\r\n\r\n if (this.totalCesta > 0 && this.cesta[0]?.cabori != this.cabidOrigen) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: \"Se borrarán las cestas existentes, ¿desea continuar?\",\r\n header: \"Confirmación\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: \"Sí\",\r\n rejectLabel: \"No\",\r\n acceptIcon: \"none\",\r\n rejectIcon: \"none\",\r\n rejectButtonStyleClass: \"p-button-text\",\r\n accept: () => {\r\n localStorage.removeItem(\"refter\");\r\n localStorage.removeItem(\"coment\");\r\n\r\n enviarACesta();\r\n },\r\n reject: () => {\r\n this.messageService.add({\r\n severity: \"error\",\r\n summary: \"Cancelado\",\r\n detail: \"Has cancelado la operación\",\r\n life: 3000,\r\n });\r\n },\r\n });\r\n } else {\r\n enviarACesta();\r\n }\r\n }\r\n\r\n // ofertaToCesta() {\r\n // this.dialogVisible = false;\r\n\r\n // this.dataCesta.currentMessage\r\n // .pipe(takeUntil(this.unsubscribe$))\r\n // .subscribe((message) => {\r\n // const totalCesta = message;\r\n\r\n // const enviarACesta = () => {\r\n // this.selectedOfertaLineas = this.selectedOfertaLineas.filter(\r\n // (x) => x.estlin != \"C\"\r\n // );\r\n // this.selectedOfertaLineas.forEach((x) => {\r\n // x.tercer = this.currentUser.codigo;\r\n // x.cabidOrigen = this.cabidOrigen;\r\n // });\r\n\r\n // this.cestaService\r\n // .ofertaToCesta(this.selectedOfertaLineas)\r\n // .pipe(takeUntil(this.unsubscribe$))\r\n // .subscribe(\r\n // () => {\r\n // this.dialogVisible = false;\r\n // // this.GetCesta();\r\n\r\n // this.messageService.add({\r\n // severity: \"success\",\r\n // summary: \"Successful\",\r\n // detail: \"Pedido Generado\",\r\n // life: 3000,\r\n // });\r\n // this.GetCesta();\r\n // },\r\n // (err) => {\r\n // this.messageService.add({\r\n // key: \"msg1\",\r\n // severity: \"error\",\r\n // summary: \"Error\",\r\n // detail: err,\r\n // });\r\n // this.dialogVisible = false;\r\n // this.isLoading = false;\r\n // }\r\n // );\r\n // };\r\n\r\n // if (totalCesta > 0 && this.cesta[0]?.cabori != this.cabidOrigen) {\r\n // this.confirmationService.confirm({\r\n // target: event.target as EventTarget,\r\n // message: \"Se borraran las cestas existentes, desea continuar?\",\r\n // header: \"Confirmación\",\r\n // icon: \"pi pi-exclamation-triangle\",\r\n // acceptLabel: \"Si\",\r\n // rejectLabel: \"No\",\r\n // acceptIcon: \"none\",\r\n // rejectIcon: \"none\",\r\n // rejectButtonStyleClass: \"p-button-text\",\r\n // accept: enviarACesta,\r\n // reject: () => {\r\n // this.messageService.add({\r\n // severity: \"error\",\r\n // summary: \"Cancelado\",\r\n // detail: \"Has cancelado la operacion\",\r\n // life: 3000,\r\n // });\r\n // },\r\n // });\r\n // } else {\r\n // enviarACesta();\r\n // }\r\n // });\r\n // }\r\n\r\n getMaxValue(linid: any): number {\r\n const maxElement = this.ofertaLineasListAll.find(\r\n (item) => item.linid == linid\r\n );\r\n console.log(maxElement.canofe);\r\n return maxElement ? maxElement.canofe : 1;\r\n }\r\n\r\n validateValue(element: any, headName: string) {\r\n const maxValue = this.getMaxValue(element.linid);\r\n if (element[headName] > maxValue) {\r\n element[headName] = maxValue;\r\n } else if (element[headName] < 1) {\r\n element[headName] = 1;\r\n }\r\n }\r\n\r\n openCatalogo() {\r\n window.open(\"https://isb-iberica.com/catalogos/\", \"_blank\");\r\n }\r\n\r\n buscar() {\r\n let artInput = new inputArt();\r\n artInput.codcli = this.user.codigo;\r\n artInput.sqlcond =\r\n this.searchText != null && this.searchText != undefined\r\n ? this.searchText\r\n : \"\";\r\n artInput.codfam = \"\";\r\n artInput.codcat = \"\";\r\n artInput.alto = \"\";\r\n artInput.ancho = \"\";\r\n artInput.largo = \"\";\r\n\r\n if (artInput.codcli != undefined) {\r\n this.data.changeMessage(artInput);\r\n }\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n };\r\n this.router.onSameUrlNavigation = \"reload\";\r\n this.router.navigate([\"/articulos\"]);\r\n //this.child.buscarClick();\r\n }\r\n}\r\n"," \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n {{ head.label }}\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 {{ element[head.name] | number : \"1.2-2\" }}%\r\n \r\n \r\n \r\n {{\r\n element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.2-2\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ element[head.name] }}\r\n \r\n \r\n {{ element[head.name] }}\r\n \r\n \r\n {{\r\n element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.3-3\"\r\n }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n 0 &&\r\n lineasValidadas > 0\r\n \"\r\n pButton\r\n pRipple\r\n (click)=\"ofertaToCesta()\"\r\n label=\"Generar Cesta\"\r\n class=\"p-button-text\"\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
Búsqueda artículos
\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 \r\n \r\n \r\n {{ head.label }} \r\n \r\n \r\n {{ head.label }} \r\n \r\n\r\n \r\n {{ head.label }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ element[head.name] | date : \"dd-MM-yyyy\" }}\r\n \r\n \r\n {{ element[head.name] }}\r\n \r\n\r\n \r\n {{ convertEstadoOfe(element[head.name]) }}\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 {{ head.label }} \r\n \r\n \r\n {{ head.label }} \r\n \r\n\r\n \r\n {{ head.label }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ element[head.name] | date : \"dd-MM-yyyy\" }}\r\n \r\n \r\n {{ element[head.name] }}\r\n \r\n\r\n \r\n {{ convertEstado(element[head.name]) }}\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 { Component, OnInit, ChangeDetectorRef, ViewChild, ElementRef, AfterViewInit, Input, ViewEncapsulation, OnDestroy } from '@angular/core';\r\nimport { AuthenticationService } from '../../../../core/services/authentication.service';\r\n\r\n//import { XRSKUser } from 'src/app/core/models/xrskuser.model';\r\nimport { B2BUser } from '../../../../core/models/b2buser.model';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DataService, inputArt, TotalCestaService } from '../../../../core/services/data.service';\r\nimport { MatPaginator, MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSort, Sort } from '@angular/material/sort';\r\nimport { B2BPedidosService } from '../../../../shared/services/b2bPedidos.service';\r\nimport { B2BPedidos } from '../../../../shared/models/b2bPedidos.model';\r\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\r\n\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { B2BPerfilService } from '../../../../shared/services/b2bPerfil.service';\r\nimport { B2BDirecciones } from '../../../../shared/models/b2bDirecciones.model';\r\nimport { DatePipe, formatDate } from '@angular/common';\r\nimport { B2BArticulosIMG } from '../../../../shared/models/b2bArticulosIMG.model';\r\nimport { FileUploadService } from '../../../../core/services/fileupload.service';\r\nimport { ConfirmationService, Message,MessageService } from 'primeng/api';\r\nimport { B2BCestaService } from '../../../../shared/services/b2bCesta.service';\r\n\r\n\r\n \r\n@Component({\r\n selector: 'app-b2bsubirpedido',\r\n templateUrl: './b2bsubirpedido.component.html',\r\n styleUrls: ['./b2bsubirpedido.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class B2BSubirPedidoComponent implements AfterViewInit, OnInit, OnDestroy {\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n\r\n displayedColumns: string[] = ['docser', 'refter', 'fecha', 'estcab','descargar'];\r\n sortColumns: string[] = ['Sort by docser', 'Sort by refter', 'Sort by fecha', 'Sort by estcab'];\r\n\r\n properties: any = [{ name: 'docser', label: \"Nº Pedido\" },\r\n { name: 'refter', label: \"Pedido Cliente\" },\r\n { name: 'fecha', label: \"Fecha Pedido\" },\r\n { name: 'estcab', label: \"Estado\" },\r\n { name: 'descargar', label: \"Descargar\" }];\r\n\r\n\r\n filterColumns = [\"docser\", \"refter\", \"fecha\", \"estcab\"];\r\n\r\n currentUser$: Observable;\r\n public user: any = [];\r\n\r\n @Input() currentUser: B2BUser;\r\n public url: any;\r\n\r\n\r\n pedidos: Array = new Array();\r\n pedidosFiltered: Array = new Array();\r\n dataSource = new MatTableDataSource(this.pedidos);\r\n\r\n public isLoading = false;\r\n public isLoadingFile = false;\r\n public submitted: boolean;\r\n public edit: boolean;\r\n public pedidoDialog: boolean;\r\n\r\n uploadedFiles: any[] = [];\r\n\r\n\r\n\r\n constructor(private dataCesta: TotalCestaService, public auth: AuthenticationService, private cdRef: ChangeDetectorRef,\r\n private pedidosService: B2BPedidosService, private readonly router: Router,\r\n public _MatPaginatorIntl: MatPaginatorIntl, private el: ElementRef,\r\n private messageService: MessageService, private confirmationService: ConfirmationService,\r\n private cestaService: B2BCestaService) {\r\n\r\n\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n \r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = JSON.parse(localStorage.getItem('currentUser'));\r\n\r\n this.cdRef.detectChanges();\r\n\r\n }\r\n ngAfterViewInit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n openNew() {\r\n //this.submitted = false;\r\n //this.edit = true;\r\n this.pedidoDialog = true;\r\n }\r\n\r\n hideDialog() {\r\n this.pedidoDialog = false;\r\n }\r\n\r\n\r\n descargarDocumento(tipo: string) {\r\n this.isLoading = true;\r\n this.pedidosService.GetDocumentoArticulos(tipo, this.currentUser.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n blob => {\r\n const a = document.createElement('a')\r\n const objectUrl = URL.createObjectURL(blob)\r\n a.href = objectUrl\r\n\r\n a.download = 'Lista_artículos_B2B.xls';\r\n \r\n a.click();\r\n URL.revokeObjectURL(objectUrl);\r\n this.isLoading = false;\r\n\r\n this.messageService.add({ key: 'toast', severity: 'success', summary: 'Successful', detail: 'Descarga Completada', life: 3000 });\r\n },\r\n err => {\r\n console.log('error downloading: ', err);\r\n this.messageService.add({ key: 'message', severity: 'error', summary: 'Error', detail: err.error });\r\n\r\n this.isLoading = false;\r\n }\r\n );\r\n \r\n }\r\n\r\n myUploader(event) {\r\n\r\n this.confirmationService.confirm({\r\n message: 'Se borrará la cesta actual y se generará una nueva cesta, ¿Desea Continuar?',\r\n header: 'Confirmar',\r\n icon: 'pi pi-exclamation-triangle',\r\n accept: () => {\r\n\r\n this.isLoadingFile = true;\r\n let formData = new FormData();\r\n var file = event.files[0];\r\n var name = event.files[0].name;\r\n var extension = name.substring(name.lastIndexOf(\".\"), name.legnth);\r\n\r\n //file.name = this.codigo + extension;\r\n formData.append('file', file, \"pedido\" + extension);\r\n formData.append('tercer', this.currentUser.codigo);\r\n\r\n\r\n this.pedidosService.upload(formData)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n file => {\r\n\r\n //this.uploadedFiles.push(file);\r\n //this.articulosIMG.push(file);\r\n this.messageService.add({ key: 'toast', severity: 'success', summary: 'Successful', detail: 'Cesta Generada', life: 3000 });\r\n\r\n this.isLoadingFile = false;\r\n this.hideDialog();\r\n this.GetCesta();\r\n\r\n },\r\n err => {\r\n this.messageService.add({ key: 'message', severity: 'error', summary: 'Error', detail: err.error });\r\n this.isLoadingFile = false;\r\n this.hideDialog();\r\n\r\n\r\n }\r\n );\r\n }\r\n });\r\n\r\n\r\n\r\n }\r\n\r\n onUpload(event) {\r\n for (let file of event.files) {\r\n this.uploadedFiles.push(file);\r\n }\r\n\r\n }\r\n\r\n GetCesta(): void {\r\n\r\n\r\n this.cestaService.GetCesta(this.user.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n cesta => {\r\n this.dataCesta.changeMessage(cesta.length);\r\n },\r\n err => {\r\n this.messageService.add({ key: 'message', severity: 'error', summary: 'Error', detail: err.error });\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
Descarga códigos artículos
\r\n
\r\n

\r\n Descargue en EXCEL los códigos de los artículos de Euro Bearings Spain para poder vincularlos a sus productos / pedidos.\r\n

\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Carga del pedido al B2B
\r\n
\r\n

\r\n Suba el CSV,XLS o XLSX de su pedido de forma automática. Recuerde que los códigos de producto deben corresponderse con los de Euro Bearings Spain.\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
  • {{file.name}} - {{file.size}} bytes
  • \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 {\r\n Component,\r\n OnInit,\r\n ChangeDetectorRef,\r\n ViewChild,\r\n ElementRef,\r\n AfterViewInit,\r\n Input,\r\n Inject,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { AuthenticationService } from \"src/app/core/services/authentication.service\";\r\n\r\n//import { XRSKUser } from 'src/app/core/models/xrskuser.model';\r\nimport { B2BUser } from \"src/app/core/models/b2buser.model\";\r\nimport { Observable, of, Subject, Subscription, takeUntil } from \"rxjs\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport {\r\n DataService,\r\n inputArt,\r\n TotalCestaService,\r\n} from \"../../../../core/services/data.service\";\r\nimport { ConfirmationService, LazyLoadEvent, Message } from \"primeng/api\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { B2BCesta } from \"../../../../shared/models/b2bCesta.model\";\r\nimport { B2BCestaService } from \"../../../../shared/services/b2bCesta.service\";\r\nimport { B2BDirecciones } from \"../../../../shared/models/b2bDirecciones.model\";\r\nimport { B2BTipoTransporte } from \"../../../../shared/models/b2bTipoTransporte.model\";\r\n\r\n@Component({\r\n selector: \"app-b2cesta\",\r\n templateUrl: \"./b2cesta.component.html\",\r\n styleUrls: [\"./b2cesta.component.css\"],\r\n providers: [MessageService],\r\n})\r\nexport class B2BCestaComponent implements OnInit, OnDestroy, AfterViewInit {\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n //User Variables\r\n currentUser$: Observable;\r\n public user: any = [];\r\n\r\n private lastTableLazyLoadEvent: LazyLoadEvent;\r\n\r\n //Data Variables\r\n articuloDialog: boolean;\r\n articulosCesta: B2BCesta[] = [];\r\n articuloCesta: B2BCesta;\r\n codigo: string;\r\n public direccionesList: B2BDirecciones[];\r\n public direccionesList$: Observable;\r\n public direccionesListEnv: B2BDirecciones[] = [];\r\n public direccionesListF: B2BDirecciones[] = [];\r\n public selectedDir: B2BDirecciones;\r\n public refter: any;\r\n public coment: any;\r\n current: Date;\r\n public totnet: number = 0;\r\n public desb2b: number = 0;\r\n public imptot: number = 0;\r\n public totnetline: boolean = false;\r\n public portes: string;\r\n //Table Variables\r\n datasource: B2BCesta[] = [];\r\n totalRecords: number;\r\n artInput = new inputArt();\r\n loading: boolean;\r\n isLoading: boolean = false;\r\n\r\n submitted: boolean;\r\n properties: any = [\r\n { name: \"codart\", label: \"Código\" },\r\n { name: \"nomart\", label: \"Descripción\" },\r\n { name: \"fecent\", label: \"Fecha de envío\" },\r\n { name: \"canofe\", label: \"Cantidad\" },\r\n { name: \"precio\", label: \"Precio lista\" },\r\n { name: \"descuento\", label: \"Descuento\" },\r\n { name: \"impnet\", label: \"Importe Neto\" },\r\n { name: \"imptot\", label: \"Total Neto\" },\r\n { name: \"gestion\", label: \"Gestión\" },\r\n ];\r\n\r\n public tipotransporte: B2BTipoTransporte[] = [];\r\n\r\n msgs1: string;\r\n msgs2: string;\r\n msgs3: string;\r\n\r\n selectedTipotransporte: B2BTipoTransporte = new B2BTipoTransporte(\"\", \"\");\r\n\r\n visible: boolean = true;\r\n public rows: number;\r\n minDate: Date;\r\n disableButton: boolean = false;\r\n constructor(\r\n public auth: AuthenticationService,\r\n private route: ActivatedRoute,\r\n private cestaService: B2BCestaService,\r\n private messageService: MessageService,\r\n public domSanitizer: DomSanitizer,\r\n private router: Router,\r\n private confirmationService: ConfirmationService,\r\n private dataCesta: TotalCestaService\r\n ) {}\r\n ngAfterViewInit(): void {}\r\n\r\n ngOnInit(): void {\r\n let value = JSON.parse(localStorage.getItem(\"rows\"));\r\n if (value != undefined && value != null) {\r\n this.rows = value;\r\n } else {\r\n this.rows = 50;\r\n }\r\n\r\n this.getTipoTransporteList();\r\n\r\n this.direccionesList = JSON.parse(localStorage.getItem(\"direcciones\"));\r\n this.portes = this.direccionesList[0].portes;\r\n this.direccionesList$ = of(this.direccionesList);\r\n this.direccionesListF = this.direccionesList.filter(\r\n (dire) => dire.tipdir == \"0\"\r\n );\r\n\r\n this.direccionesListEnv = this.direccionesList.filter(\r\n (dire) =>\r\n dire.tipdir.includes(\"VE\") == true ||\r\n !isNaN(Number(dire.tipdir)) == true\r\n );\r\n this.direccionesListEnv.forEach(\r\n (dire) => (dire.direcc = dire.empres + \" | \" + dire.direcc)\r\n );\r\n\r\n this.currentUser$ = this.auth.currentUserObs;\r\n this.user = JSON.parse(localStorage.getItem(\"currentUser\"));\r\n this.GetCesta();\r\n this.loading = true;\r\n this.current = new Date();\r\n this.msgs1 = \"Pedido minimo de \" + this.user.minped + \" €\";\r\n this.msgs2 = \"Pedido minimo Por Linea de \" + this.user.minlin + \" €\";\r\n this.msgs3 =\r\n \"Pedido minimo de \" +\r\n this.user.minped +\r\n \" € y Pedido minimo Por Linea de \" +\r\n this.user.minlin +\r\n \" €\";\r\n //this.msgs1.push({ severity: 'error', summary: 'Pedido minimo de ' + this.user.minped + ' €', closable:false });\r\n\r\n this.minDate = new Date();\r\n }\r\n\r\n changeRows(event) {\r\n this.rows = event.rows;\r\n localStorage.setItem(\"rows\", JSON.stringify(this.rows));\r\n }\r\n\r\n changeComment(event) {\r\n this.coment = event;\r\n localStorage.setItem(\"coment\", JSON.stringify(this.coment));\r\n }\r\n\r\n changeRefter(event) {\r\n this.refter = event.trim().replace(/\\s+/g, \" \");\r\n localStorage.setItem(\"refter\", JSON.stringify(this.refter));\r\n }\r\n\r\n concatLabel(direcc: B2BDirecciones) {\r\n return direcc.empres + \" | \" + direcc.direcc;\r\n }\r\n\r\n getTipoTransporte(tiptra: string) {\r\n return this.tipotransporte.find((tipo) => tipo.name == tiptra);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n mostrarArticuloIMG(cesta: B2BCesta) {\r\n this.articuloCesta = { ...cesta };\r\n this.articuloDialog = true;\r\n }\r\n enviarPedido() {\r\n var cesta = new B2BCesta();\r\n cesta.tercer = this.user.codigo;\r\n if (this.coment == null || this.coment == undefined) {\r\n this.coment = \"\";\r\n }\r\n cesta.coment = this.coment;\r\n cesta.direnv = this.selectedDir.tipdir;\r\n\r\n cesta.refter = this.refter;\r\n cesta.tiptra = this.selectedTipotransporte.name ?? null;\r\n cesta.portes = this.portes;\r\n this.isLoading = true;\r\n\r\n this.cestaService\r\n .EnviarPedido(cesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Pedido Enviado\",\r\n life: 3000,\r\n });\r\n this.isLoading = false;\r\n this.dataCesta.changeMessage(0);\r\n localStorage.removeItem(\"refter\");\r\n localStorage.removeItem(\"coment\");\r\n\r\n this.router.navigate([\"/dashboard\"]);\r\n },\r\n (err) => {\r\n this.isLoading = false;\r\n\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n }\r\n );\r\n }\r\n\r\n updateCesta(cesta: B2BCesta, event: any) {\r\n //this.loading = true;\r\n\r\n this.cestaService\r\n .addCesta(cesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe((res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Cesta Actualizada\",\r\n life: 3000,\r\n });\r\n\r\n //this.GetCesta();\r\n // this.articuloDialog = false;\r\n this.datasource = this.ModElementoCesta(res);\r\n this.CalcularTotales(this.datasource);\r\n\r\n //this.articulosCesta = [...this.datasource];\r\n this.articuloCesta = null;\r\n this.codigo = null;\r\n\r\n this.loadCesta(this.lastTableLazyLoadEvent);\r\n\r\n //this.updateVisibility();\r\n //this.loading = false;\r\n });\r\n }\r\n\r\n deleteCesta() {\r\n //this.articuloIMG = null;\r\n //this.submitted = false;\r\n //this.edit = true;\r\n //this.articuloDialog = true;\r\n this.isLoading = true;\r\n\r\n this.confirmationService.confirm({\r\n message: \"Estás seguro que quieres eliminar la cesta ?\",\r\n header: \"Confirmar\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n accept: () => {\r\n this.cestaService\r\n .deleteCesta(this.user)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Cesta Eliminada\",\r\n life: 3000,\r\n });\r\n\r\n //this.GetCesta();\r\n // this.articuloDialog = false;\r\n this.datasource.splice(0, this.datasource.length);\r\n\r\n this.CalcularTotales(this.datasource);\r\n\r\n //this.articulosCesta = [...this.datasource];\r\n this.articuloCesta = null;\r\n this.codigo = null;\r\n this.dataCesta.changeMessage(0);\r\n this.refter = null;\r\n this.coment = null;\r\n\r\n this.loadCesta(this.lastTableLazyLoadEvent);\r\n\r\n //this.articulosCesta = [...this.datasource];\r\n this.articuloCesta = null;\r\n this.codigo = null;\r\n localStorage.removeItem(\"refter\");\r\n localStorage.removeItem(\"coment\");\r\n\r\n this.updateVisibility();\r\n this.isLoading = false;\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: \"No es posible Borrar cesta\",\r\n });\r\n },\r\n });\r\n },\r\n });\r\n }\r\n\r\n getTipoTransporteList() {\r\n this.cestaService\r\n .getTipoTransporte()\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (tipotransporte) => {\r\n this.tipotransporte =\r\n tipotransporte as unknown as B2BTipoTransporte[];\r\n\r\n this.tipotransporte.forEach((x) => (x.label = x.label ?? \"\\xa0\"));\r\n this.selectedTipotransporte.name =\r\n this.getTipoTransporte(this.direccionesListEnv[0].tiptra).name ??\r\n \"\";\r\n this.selectedTipotransporte.label =\r\n this.getTipoTransporte(this.direccionesListEnv[0].tiptra).label ??\r\n \"\\xa0\";\r\n /*\r\n if (this.portes == \"P\") {\r\n this.selectedTipotransporte.name = \"\";\r\n this.selectedTipotransporte.label = \"\\xa0\";\r\n } else {\r\n this.selectedTipotransporte.name = this.getTipoTransporte(this.direccionesListEnv[0].tiptra).name;\r\n this.selectedTipotransporte.label = this.getTipoTransporte(this.direccionesListEnv[0].tiptra).label;\r\n \r\n }*/\r\n },\r\n (err) => {\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n }\r\n );\r\n }\r\n\r\n CalcularTotales(cestaList: B2BCesta[]) {\r\n if (cestaList?.length > 0) {\r\n this.totnet = 0;\r\n this.desb2b = 0;\r\n this.imptot = 0;\r\n this.totnetline = false;\r\n\r\n cestaList.forEach((a) => (a.fecha = new Date(a.fecha)));\r\n cestaList.forEach((a) => (a.fecent = new Date(a.fecent)));\r\n this.datasource = cestaList as unknown as B2BCesta[];\r\n this.articulosCesta = cestaList as unknown as B2BCesta[];\r\n this.totalRecords = this.datasource.length;\r\n cestaList.forEach((a) => (this.totnet += a.imptot));\r\n\r\n this.desb2b += -cestaList[0].dtob2b;\r\n this.imptot = this.totnet - this.desb2b;\r\n this.totnetline = this.articulosCesta.some(\r\n (x) => x.imptot < this.user.minlin\r\n );\r\n this.checkDisableButton();\r\n } else {\r\n this.datasource = cestaList as unknown as B2BCesta[];\r\n this.articulosCesta = cestaList as unknown as B2BCesta[];\r\n this.totalRecords = this.datasource.length;\r\n this.totnet = 0;\r\n this.desb2b = 0;\r\n this.imptot = 0;\r\n }\r\n }\r\n\r\n checkDisableButton() {\r\n this.disableButton =\r\n (this.totnet < this.user.minped &&\r\n !this.totnetline &&\r\n this.articulosCesta[0]?.tipdoc != \"OFW\") ||\r\n (this.totnet > this.user.minped &&\r\n this.totnetline &&\r\n this.articulosCesta[0]?.tipdoc == \"B2B\") ||\r\n (this.totnet < this.user.minped &&\r\n this.totnetline &&\r\n this.articulosCesta[0]?.tipdoc == \"B2B\");\r\n console.log(this.disableButton);\r\n console.log(this.totnetline);\r\n }\r\n\r\n ModElementoCesta(cesta: B2BCesta) {\r\n const cestaList = this.datasource.map((item) =>\r\n item.linid === cesta.linid ? cesta : item\r\n );\r\n\r\n return cestaList;\r\n }\r\n\r\n GetCesta(): void {\r\n // var mock = new B2BCesta(1,1, \"90060075\", \"6025.0.13 ALW BOLA CON DOBLE RETEN\t\", new Date(), 5, 46.350, \"52% + 1.5%\", 21.914, 109.571,\"012915\");\r\n // this.articulosCesta[0] = mock;\r\n //this.datasource = this.articulosCesta;\r\n //this.totalRecords = this.datasource.length;\r\n\r\n this.cestaService\r\n .GetCesta(this.user.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (cesta) => {\r\n this.CalcularTotales(cesta);\r\n if (cesta.length > 0) {\r\n this.refter = JSON.parse(localStorage.getItem(\"refter\"));\r\n this.coment = JSON.parse(localStorage.getItem(\"coment\"));\r\n } else {\r\n this.changeComment(\"\");\r\n this.changeRefter(\"\");\r\n }\r\n /*\r\n let variable = cesta.filter(element => {\r\n\r\n\r\n const minDateConst = this.minDate.toISOString().split(\"T\")[0];\r\n const fecentConst = element.fecent.toISOString().split(\"T\")[0];\r\n if (fecentConst < minDateConst) {\r\n return element\r\n }\r\n });*/\r\n\r\n /* .forEach(element => {\r\n element.fecent = this.minDate;\r\n this.updateCesta(element);\r\n });*/\r\n\r\n if (\r\n this.user.limite - this.totnet < 0 &&\r\n this.direccionesList[0].portes == \"D\" &&\r\n this.user.limite > 0\r\n ) {\r\n this.portes = \"P\";\r\n }\r\n\r\n if (\r\n this.user.limite - this.totnet > 0 &&\r\n this.direccionesList[0].portes == \"D\" &&\r\n this.user.limite > 0\r\n ) {\r\n this.portes = \"D\";\r\n }\r\n\r\n this.dataCesta.changeMessage(cesta.length);\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n },\r\n });\r\n }\r\n\r\n hideDialog() {\r\n this.articuloDialog = false;\r\n }\r\n\r\n limitePortes(event) {\r\n if (this.user.limite - this.totnet <= 0) {\r\n this.portes = \"D\";\r\n }\r\n return event;\r\n }\r\n\r\n loadCesta(event: LazyLoadEvent) {\r\n this.loading = true;\r\n this.lastTableLazyLoadEvent = event;\r\n\r\n // sort by sortfield\r\n if (event.sortField) {\r\n this.datasource.sort((data1, data2) => {\r\n let value1 = data1[event.sortField];\r\n let value2 = data2[event.sortField];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null) result = -1;\r\n else if (value1 != null && value2 == null) result = 1;\r\n else if (value1 == null && value2 == null) result = 0;\r\n else if (typeof value1 === \"string\" && typeof value2 === \"string\")\r\n result = value1.localeCompare(value2);\r\n else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\r\n\r\n return event.sortOrder * result;\r\n });\r\n }\r\n\r\n //imitate db connection over a network\r\n setTimeout(() => {\r\n if (this.datasource) {\r\n this.articulosCesta = this.datasource.slice(\r\n event.first,\r\n event.first + event.rows\r\n );\r\n this.loading = false;\r\n }\r\n }, 1000);\r\n }\r\n\r\n deleteArticuloCesta(articuloCesta: B2BCesta) {\r\n this.isLoading = true;\r\n\r\n this.confirmationService.confirm({\r\n message:\r\n \"¿Estás seguro que quieres eliminar el artículo \" +\r\n articuloCesta.codart +\r\n \"?\",\r\n header: \"Confirmar\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n accept: () => {\r\n if (this.datasource.length === 1) {\r\n this.deleteCesta();\r\n this.cestaService\r\n .deleteCesta(this.user)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Cesta Eliminada\",\r\n life: 3000,\r\n });\r\n\r\n // limpiar datos\r\n this.datasource = [];\r\n this.CalcularTotales(this.datasource);\r\n this.dataCesta.changeMessage(this.datasource.length);\r\n this.refter = null;\r\n this.coment = null;\r\n this.loadCesta(this.lastTableLazyLoadEvent);\r\n this.articuloCesta = null;\r\n this.codigo = null;\r\n this.updateVisibility();\r\n this.isLoading = false;\r\n },\r\n error: (err) => {\r\n this.isLoading = false;\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n },\r\n });\r\n } else {\r\n this.cestaService\r\n .deleteArticuloCesta(articuloCesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Artículo Eliminado\",\r\n life: 3000,\r\n });\r\n\r\n //this.GetCesta();\r\n // this.articuloDialog = false;\r\n\r\n this.datasource = this.datasource.filter(\r\n (element) => element.linid !== articuloCesta.linid\r\n );\r\n\r\n this.CalcularTotales(this.datasource);\r\n //this.articulosCesta = [...this.datasource];\r\n this.articuloCesta = null;\r\n this.codigo = null;\r\n this.dataCesta.changeMessage(this.datasource.length);\r\n\r\n this.loadCesta(this.lastTableLazyLoadEvent);\r\n\r\n this.updateVisibility();\r\n this.isLoading = false;\r\n },\r\n error: (err) => {\r\n this.isLoading = false;\r\n this.messageService.add({\r\n key: \"msg1\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n },\r\n });\r\n }\r\n },\r\n reject: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n\r\n updateVisibility(): void {\r\n this.visible = false;\r\n setTimeout(() => (this.visible = true), 0);\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n

Información cesta

\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 {{ head.label }}\r\n \r\n \r\n {{ head.label }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 0\"\r\n >\r\n {{\r\n element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.2-2\"\r\n }}\r\n \r\n 0\"\r\n >\r\n {{\r\n element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.2-2\"\r\n }}\r\n \r\n 0\"\r\n >\r\n {{\r\n element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.3-3\"\r\n }}\r\n \r\n\r\n \r\n A CONSULTAR \r\n \r\n\r\n \r\n {{ element[head.name] }}\r\n \r\n 0\"\r\n >\r\n {{ element[head.name] }}\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
Orden de Pedido
\r\n \r\n
Cliente: {{ dire.empres }}
\r\n
Dirección: {{ dire.direcc }}
\r\n
Ciudad: {{ dire.poblac }}
\r\n
Población: {{ dire.nomprv }}
\r\n
CP: {{ dire.codpos }}
\r\n
\r\n Fecha: {{ current | date : \"dd/MM/YYYY\" }}\r\n
\r\n
\r\n
\r\n\r\n \r\n
Resumen pedido
\r\n
\r\n
\r\n Importe pedido: {{\r\n imptot | currency : \"EUR\" : \"symbol\" : \"1.3-3\"\r\n }}\r\n
\r\n
\r\n Descuento B2B: {{\r\n desb2b | currency : \"EUR\" : \"symbol\" : \"1.3-3\"\r\n }}\r\n
\r\n
\r\n Total Neto: {{\r\n totnet | currency : \"EUR\" : \"symbol\" : \"1.3-3\"\r\n }}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Envío
\r\n
\r\n
\r\n
Nº pedido cliente:
\r\n \r\n\r\n \r\n
\r\n Nº pedido Obligatorio.\r\n
\r\n
\r\n
\r\n
\r\n
Dirección de envío:
\r\n \r\n
\r\n
\r\n
Tipo de Transporte : Debidos
\r\n
Tipo de Transporte : Pagados
\r\n \r\n
\r\n \r\n 0 && user.limite > 0\r\n \"\r\n >\r\n
Límite Portes Pagados
\r\n \r\n
\r\n 0 && user.limite > 0\r\n \"\r\n >\r\n
Pendiente Portes Pagados
\r\n \r\n
\r\n
\r\n
\r\n
Observaciones:
\r\n \r\n
\r\n\r\n \r\n user.minped &&\r\n totnetline &&\r\n articulosCesta[0]?.tipdoc == 'B2B') ||\r\n (totnet < user.minped &&\r\n totnetline &&\r\n articulosCesta[0]?.tipdoc == 'B2B')\r\n \"\r\n >\r\n \r\n \r\n
\r\n \r\n {{\r\n totnet < user.minped &&\r\n !totnetline &&\r\n articulosCesta[0]?.tipdoc != \"OFW\"\r\n ? msgs1\r\n : totnet > user.minped &&\r\n totnetline &&\r\n articulosCesta[0]?.tipdoc == \"B2B\"\r\n ? msgs2\r\n : msgs3\r\n }}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n user.minped\r\n ) &&\r\n !(articulosCesta[0]?.tipdoc == 'OFW'))\r\n \"\r\n (onClick)=\"enviarPedido()\"\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n\r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { AppB2BModule } from './B2B/b2b.modules.module';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AppB2BModule,\r\n ],\r\n declarations: [\r\n\r\n ],\r\n exports: [\r\n CommonModule,\r\n AppB2BModule\r\n ]\r\n})\r\n\r\nexport class AppModulesModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { TableModule } from 'primeng/table';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { RatingModule } from 'primeng/rating';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { ProgressBarModule } from 'primeng/progressbar';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { ToolbarModule } from 'primeng/toolbar';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { PasswordModule } from \"primeng/password\";\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { MessageModule } from 'primeng/message';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\n\r\n\r\n@NgModule({\r\n\r\n imports: [\r\n TableModule,\r\n SliderModule,\r\n MultiSelectModule,\r\n ContextMenuModule, \r\n ToastModule,\r\n ButtonModule,\r\n CalendarModule,\r\n DialogModule,\r\n ConfirmDialogModule,\r\n RatingModule,\r\n DropdownModule,\r\n InputTextModule,\r\n InputNumberModule ,\r\n InputTextareaModule,\r\n ProgressBarModule, \r\n TooltipModule,\r\n RadioButtonModule, \r\n ToolbarModule,\r\n FileUploadModule,\r\n TabViewModule,\r\n ToggleButtonModule,\r\n SkeletonModule,\r\n PanelModule,\r\n CarouselModule,\r\n PasswordModule,\r\n MessagesModule,\r\n MessageModule,\r\n ProgressSpinnerModule\r\n ],\r\n exports: [\r\n TableModule,\r\n SliderModule,\r\n MultiSelectModule,\r\n ContextMenuModule,\r\n ToastModule,\r\n ButtonModule,\r\n CalendarModule,\r\n DialogModule,\r\n ConfirmDialogModule,\r\n RatingModule,\r\n DropdownModule,\r\n InputTextModule,\r\n InputNumberModule,\r\n InputTextareaModule,\r\n ProgressBarModule,\r\n TooltipModule,\r\n RadioButtonModule,\r\n ToolbarModule,\r\n FileUploadModule,\r\n TabViewModule,\r\n ToggleButtonModule,\r\n SkeletonModule,\r\n PanelModule,\r\n CarouselModule,\r\n PasswordModule,\r\n MessagesModule,\r\n MessageModule,\r\n ProgressSpinnerModule\r\n ],\r\n\r\n})\r\nexport class NgPrimeModule { }\r\n\r\n\r\n/** Copyright 2019 Google LLC. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */\r\n","import {\r\n Component,\r\n Input,\r\n OnInit,\r\n ViewChild,\r\n ElementRef,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n OnChanges,\r\n OnDestroy,\r\n} from \"@angular/core\";\r\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\r\n//import { MdbTableDirective, MdbTablePaginationComponent, MDBModalRef, MDBModalService } from 'angular-bootstrap-md';\r\nimport { B2BArticulosService } from \"../../../shared/services/b2bArticulos.service\";\r\nimport { B2BArticulos } from \"../../models/b2bArticulos.model\";\r\nimport {\r\n DataService,\r\n inputArt,\r\n TotalCestaService,\r\n} from \"../../../core/services/data.service\";\r\nimport {\r\n LazyLoadEvent,\r\n MessageService,\r\n Message,\r\n ConfirmationService,\r\n} from \"primeng/api\";\r\nimport { DomSanitizer, SafeUrl } from \"@angular/platform-browser\";\r\nimport { B2BArticulosIMG } from \"../../models/b2bArticulosIMG.model\";\r\nimport { FileUploadService } from \"../../../core/services/fileupload.service\";\r\nimport { Subject, takeUntil } from \"rxjs\";\r\nimport { B2BCestaService } from \"../../services/b2bCesta.service\";\r\nimport { B2BCesta } from \"../../models/b2bCesta.model\";\r\nimport { AuthenticationService } from \"../../../core/services/authentication.service\";\r\nimport { Table } from \"primeng/table\";\r\nimport { AppModule } from \"../../../app.module\";\r\nimport { B2BUser } from \"src/app/core/models/b2buser.model\";\r\n\r\n@Component({\r\n selector: \"app-b2b-articulos-list\",\r\n templateUrl: \"./b2b-articulos-list.component.html\",\r\n styleUrls: [\"./b2b-articulos-list.component.css\"],\r\n providers: [MessageService],\r\n})\r\nexport class B2BAritculosListComponent\r\n implements OnInit, AfterViewInit, OnDestroy, OnChanges\r\n{\r\n //Unsubcribe Handler\r\n private unsubscribe$ = new Subject();\r\n\r\n //I/O Variables\r\n @Input() b2bUsuario: string;\r\n @Input() properties: any = [];\r\n @Input() boxLabel: string;\r\n\r\n //Data Variables\r\n codfam: string;\r\n articulos: B2BArticulos[] = [];\r\n unfilteredArticulos: B2BArticulos[] = [];\r\n\r\n articulo: B2BArticulos;\r\n articulosIMG: B2BArticulosIMG[] = [];\r\n articuloIMG: B2BArticulosIMG;\r\n articuloNotFound: B2BArticulosIMG;\r\n artInput = new inputArt();\r\n url: string;\r\n canofe: number;\r\n public user: B2BUser;\r\n cesta: B2BCesta = new B2BCesta();\r\n public isLoading = false;\r\n //Table Variables\r\n loading: boolean;\r\n datasource: B2BArticulos[] = [];\r\n totalRecords: number;\r\n articuloDialog: boolean;\r\n minDialog: boolean;\r\n displayedColumns: string[] = [\r\n \"codigo\",\r\n \"nomart\",\r\n \"marca\",\r\n \"stock\",\r\n \"stock10\",\r\n \"precio\",\r\n \"descuento\",\r\n \"neto\",\r\n \"cantidad\",\r\n \"auxnum2\",\r\n ];\r\n filterColumns: string[] = [\"codigo\", \"nomart\", \"marca\"];\r\n public rows: number;\r\n isOFW: boolean = false;\r\n\r\n //articulosCesta: B2BCesta[] = [];\r\n constructor(\r\n private data: DataService,\r\n private actRoute: ActivatedRoute,\r\n private cdRef: ChangeDetectorRef,\r\n private router: Router,\r\n private articulosService: B2BArticulosService,\r\n private messageService: MessageService,\r\n public domSanitizer: DomSanitizer,\r\n private fileService: FileUploadService,\r\n private cestaService: B2BCestaService,\r\n private dataCesta: TotalCestaService,\r\n public auth: AuthenticationService,\r\n private cm: AppModule,\r\n private confirmationService: ConfirmationService\r\n ) {\r\n this.user = this.auth.currentUserValue;\r\n let value = JSON.parse(localStorage.getItem(\"rows\"));\r\n if (value != undefined && value != null) {\r\n this.rows = value;\r\n } else {\r\n this.rows = 50;\r\n }\r\n }\r\n\r\n ngOnChanges(): void {}\r\n\r\n ngOnInit(): void {\r\n this.actRoute.data.pipe(takeUntil(this.unsubscribe$)).subscribe((data) => {\r\n let articulos = data.articulosResolver;\r\n this.datasource = articulos as unknown as B2BArticulos[];\r\n this.unfilteredArticulos = articulos as unknown as B2BArticulos[];\r\n\r\n this.totalRecords = this.unfilteredArticulos.length;\r\n for (let i = 0; i < this.datasource.length; i++) {\r\n if (this.datasource[i].auxchr6 != null) {\r\n this.articulosIMG.push(\r\n new B2BArticulosIMG(this.datasource[i].auxchr6, \"\")\r\n );\r\n }\r\n }\r\n });\r\n\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n changeRows(event) {\r\n this.rows = event.rows;\r\n localStorage.setItem(\"rows\", JSON.stringify(this.rows));\r\n }\r\n\r\n transform(base64Image) {\r\n return this.domSanitizer.bypassSecurityTrustResourceUrl(base64Image);\r\n }\r\n\r\n mostrarArticulo(articulo: B2BArticulos) {\r\n this.articulo = { ...articulo };\r\n if (\r\n articulo.auxchr6 == null ||\r\n articulo.auxchr6 == undefined ||\r\n articulo.auxchr6 == \"\"\r\n ) {\r\n this.getArticulIMG(\"\", \"PANTALLAS\");\r\n } else {\r\n this.getArticulIMG(articulo.auxchr6, \"PRODUCTS\");\r\n }\r\n\r\n this.articuloDialog = true;\r\n }\r\n\r\n addArticulo(articulo: B2BArticulos) {\r\n /*this.GetCesta();*/\r\n this.articulo = articulo;\r\n this.cestaService\r\n .GetCesta(this.user.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (cesta) => {\r\n this.isOFW = false;\r\n const elementoEncontrado = cesta.find(\r\n (item) => item?.tipdoc === \"OFW\"\r\n );\r\n if (elementoEncontrado) {\r\n this.isOFW = true;\r\n }\r\n\r\n this.cesta.cabid = 0;\r\n this.cesta.linid = 0;\r\n this.cesta.codart = articulo.codigo;\r\n this.cesta.nomart = articulo.nomart;\r\n this.cesta.fecha = new Date();\r\n this.cesta.precio = articulo.precio;\r\n this.cesta.descuento = \"0\";\r\n this.cesta.impnet = 0;\r\n this.cesta.imptot = 0;\r\n this.cesta.tercer = this.user.codigo;\r\n this.cesta.dtob2b = 0;\r\n this.cesta.canofe = articulo.canofe;\r\n this.isLoading = true;\r\n\r\n //si no llega a pedido minimo linea\r\n\r\n var nopedMinimo = articulo.canofe * articulo.neto < this.user.minlin;\r\n\r\n if (nopedMinimo) {\r\n this.minDialog = true;\r\n } else {\r\n this.confimOFWandCanMul(articulo);\r\n }\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err.error,\r\n });\r\n },\r\n });\r\n }\r\n\r\n ajuCantidad() {\r\n this.cesta.updpre = 0;\r\n\r\n this.articulo.canofe = Math.round(\r\n this.user.minlin / (this.articulo.neto * this.articulo.canofe)\r\n );\r\n this.user.minlin;\r\n this.confimOFWandCanMul(this.articulo);\r\n this.minDialog = false;\r\n }\r\n\r\n ajuPrecio() {\r\n this.cesta.updpre = 1;\r\n this.articulo.neto = this.user.minlin / this.articulo.canofe;\r\n\r\n this.confimOFWandCanMul(this.articulo);\r\n this.minDialog = false;\r\n }\r\n\r\n confimOFWandCanMul(articulo: B2BArticulos) {\r\n if (articulo.canofe % articulo.canmul) {\r\n let resto = articulo.canofe % articulo.canmul;\r\n\r\n let cantidad = articulo.canmul - resto + articulo.canofe;\r\n /*\r\n let cantidad =\r\n Math.round(articulo.canofe / articulo.canmul) * articulo.canmul;*/\r\n\r\n if (cantidad == 0) {\r\n cantidad = articulo.canmul;\r\n }\r\n this.cesta.canofe = cantidad;\r\n\r\n if (this.isOFW) {\r\n this.confirmationService.confirm({\r\n message:\r\n \"Al confirmar, se eliminará la cesta OFW existente ¿Desea Continuar?\",\r\n header: \"Confirmar\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n key: \"ofw\",\r\n accept: () => {\r\n this.confirmationService.confirm({\r\n message:\r\n \"La cantidad debido al embalaje es \" +\r\n cantidad +\r\n \", ¿Desea Continuar?\",\r\n header: \"Confirmar\",\r\n key: \"mul\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n accept: () => {\r\n localStorage.removeItem(\"refter\");\r\n localStorage.removeItem(\"coment\");\r\n\r\n this.cestaService\r\n .addCesta(this.cesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Producto Añadido\",\r\n life: 3000,\r\n });\r\n this.GetCesta();\r\n this.isLoading = false;\r\n articulo.canofe = null;\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err.error,\r\n });\r\n this.isLoading = false;\r\n },\r\n });\r\n },\r\n reject: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n },\r\n reject: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n } else {\r\n this.confirmationService.confirm({\r\n message:\r\n \"La cantidad debido al embalaje es \" +\r\n cantidad +\r\n \", ¿Desea Continuar?\",\r\n header: \"Confirmar\",\r\n key: \"mul\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n accept: () => {\r\n localStorage.removeItem(\"refter\");\r\n localStorage.removeItem(\"coment\");\r\n this.cestaService\r\n .addCesta(this.cesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Producto Añadido\",\r\n life: 3000,\r\n });\r\n this.GetCesta();\r\n this.isLoading = false;\r\n articulo.canofe = null;\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err.error,\r\n });\r\n this.isLoading = false;\r\n },\r\n });\r\n },\r\n reject: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n }\r\n } else {\r\n if (this.isOFW) {\r\n this.confirmationService.confirm({\r\n message:\r\n \"Al confirmar, se eliminará la cesta OFW existente ¿Desea Continuar?\",\r\n header: \"Confirmar\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n key: \"ofw\",\r\n accept: () => {\r\n this.cestaService\r\n .addCesta(this.cesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe({\r\n next: (res) => {\r\n localStorage.removeItem(\"refter\");\r\n localStorage.removeItem(\"coment\");\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Producto Añadido\",\r\n life: 3000,\r\n });\r\n this.GetCesta();\r\n this.isLoading = false;\r\n articulo.canofe = null;\r\n },\r\n error: (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err.error,\r\n });\r\n this.isLoading = false;\r\n },\r\n });\r\n },\r\n reject: () => {\r\n this.isLoading = false;\r\n },\r\n });\r\n } else {\r\n this.cestaService\r\n .addCesta(this.cesta)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (res) => {\r\n this.messageService.add({\r\n severity: \"success\",\r\n summary: \"Successful\",\r\n detail: \"Producto Añadido\",\r\n life: 3000,\r\n });\r\n this.GetCesta();\r\n this.isLoading = false;\r\n articulo.canofe = null;\r\n },\r\n (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err,\r\n });\r\n this.isLoading = false;\r\n }\r\n );\r\n }\r\n }\r\n }\r\n\r\n GetCesta(): void {\r\n this.cestaService\r\n .GetCesta(this.user.codigo)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (cesta) => {\r\n this.dataCesta.changeMessage(cesta.length);\r\n\r\n //this.isOFW = false;\r\n //const elementoEncontrado = cesta.find(item => item?.tipdoc === 'OFW');\r\n //if (elementoEncontrado) {\r\n // this.isOFW = true;\r\n //}\r\n },\r\n (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err.error,\r\n });\r\n }\r\n );\r\n }\r\n\r\n loadArticulos(event: LazyLoadEvent) {\r\n this.loading = true;\r\n\r\n // filter data\r\n if (Object.keys(event.filters).length > 0) {\r\n this.datasource = this.unfilteredArticulos.filter((row) =>\r\n this.filterField(row, event.filters)\r\n );\r\n } else {\r\n this.datasource = this.unfilteredArticulos;\r\n }\r\n\r\n // sort data\r\n this.datasource.sort(\r\n (a, b) => this.compareField(a, b, event.sortField) * event.sortOrder\r\n );\r\n\r\n //imitate db connection over a network\r\n setTimeout(() => {\r\n if (this.datasource) {\r\n this.articulos = this.datasource.slice(\r\n event.first,\r\n event.first + event.rows\r\n );\r\n this.totalRecords = this.datasource.length;\r\n this.loading = false;\r\n }\r\n }, 1000);\r\n }\r\n\r\n filterField(row, filter) {\r\n let isInFilter = false;\r\n let noFilter = true;\r\n\r\n this.filterColumns.forEach(function (columnName) {\r\n if (row[columnName] == null) {\r\n return;\r\n }\r\n noFilter = false;\r\n let rowValue = row[columnName].toLowerCase();\r\n let filterMatchMode = filter[\"global\"].matchMode;\r\n let searchValue = filter[\"global\"].value.toLowerCase();\r\n\r\n if (\r\n filterMatchMode.includes(\"contains\") &&\r\n rowValue.includes(searchValue)\r\n ) {\r\n isInFilter = true;\r\n }\r\n });\r\n\r\n if (noFilter) {\r\n isInFilter = true;\r\n }\r\n\r\n return isInFilter;\r\n }\r\n\r\n compareField(rowA, rowB, field: string): number {\r\n if (rowA[field] == null) return 1; // on considère les éléments null les plus petits\r\n if (typeof rowA[field] === \"string\") {\r\n return rowA[field].localeCompare(rowB[field]);\r\n }\r\n if (typeof rowA[field] === \"number\") {\r\n if (rowA[field] > rowB[field]) return 1;\r\n else return -1;\r\n }\r\n }\r\n\r\n getArticulIMG(auxchr6: string, subDirectory: string): void {\r\n this.fileService\r\n .GetArticuloIMG(auxchr6, subDirectory)\r\n .pipe(takeUntil(this.unsubscribe$))\r\n .subscribe(\r\n (articulo) => {\r\n this.articuloIMG = articulo as unknown as B2BArticulosIMG;\r\n },\r\n (err) => {\r\n this.messageService.add({\r\n key: \"message\",\r\n severity: \"error\",\r\n summary: \"Error\",\r\n detail: err.error,\r\n });\r\n }\r\n );\r\n }\r\n\r\n hideDialog() {\r\n this.articuloDialog = false;\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n
\r\n

Todos los productos

\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 {{ head.label }} \r\n \r\n \r\n {{ head.label }}\r\n \r\n \r\n {{ head.label }} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
a 10 días
\r\n \r\n \r\n
a 30 días
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n 0\r\n }\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {{ element[head.name] }}\r\n \r\n 0\r\n \"\r\n >\r\n {{ element[head.name] }}\r\n \r\n \r\n\r\n 0\r\n \"\r\n >\r\n {{ element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.3-3\" }}\r\n \r\n \r\n A CONSULTAR \r\n \r\n\r\n 0\r\n \"\r\n >\r\n {{ element[\"stock\"] }}\r\n \r\n \r\n {{ element[\"stock\"] }}\r\n \r\n \r\n {{ element[\"stock10\"] }}\r\n \r\n \r\n {{ element[\"stock30\"] }}\r\n \r\n 0\r\n \"\r\n >\r\n {{\r\n element[head.name] | currency : \"EUR\" : \"symbol\" : \"1.2-2\"\r\n }}\r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n 0 &&\r\n element.precio > 0\r\n )\r\n \"\r\n (click)=\"addArticulo(element)\"\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

{{ articulo.nomart }}

\r\n
\r\n
\r\n Código: \r\n {{ articulo.codigo }}\r\n
\r\n
\r\n Descripción: \r\n {{ articulo.nomart }}\r\n
\r\n
\r\n Marca: \r\n {{ articulo.marca }}\r\n
\r\n
\r\n Família: \r\n {{ articulo.codfam1 }}\r\n
\r\n
\r\n
\r\n Subfamilia: {{ articulo.codfam2 }}\r\n
\r\n
\r\n Subfamilia: {{ articulo.codfam3 }}\r\n
\r\n
\r\n Subfamilia: {{ articulo.codfam4 }}\r\n
\r\n
\r\n
\r\n Medida: \r\n {{ articulo.medidas }}\r\n
\r\n
\r\n Uds. por caja: \r\n {{ articulo.auxnum2 }}\r\n
\r\n
\r\n Cantidad mínima de pedido: \r\n {{ articulo.canmul }}\r\n
\r\n
\r\n Código arancelario: \r\n {{ articulo.paranc }}\r\n
\r\n
\r\n Peso en Kg.: \r\n {{ articulo.pesnet }}\r\n
\r\n
\r\n
\r\n Stock Disponible hoy: \r\n {{ articulo.stock }}\r\n
\r\n
\r\n Stock Disponible a 10 días: \r\n {{ articulo.stock10 }}\r\n
\r\n
\r\n Stock Disponible a 30 días: \r\n {{ articulo.stock30 }}\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 El importe total no supera el importe minimo de {{ this.user.minlin }}\r\n €, ¿Quiere ajustar el precio o la cantidad?\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n","import { NativeDateAdapter } from '@angular/material/core';\r\nimport { MatDateFormats } from '@angular/material/core';\r\nimport { getLocaleFirstDayOfWeek, DatePipe } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class AppDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n if (displayFormat === 'input') {\r\n let day: string = date.getDate().toLocaleString();\r\n day = +day < 10 ? '0' + day : day;\r\n let month: string = (date.getMonth() + 1).toString();\r\n month = +month < 10 ? '0' + month : month;\r\n let year = date.getFullYear();\r\n return `${day}/${month}/${year}`;\r\n }\r\n const options = { weekday: 'long', year: 'numeric', month: 'short', day: 'numeric' };\r\n return new DatePipe(this.locale).transform(date, 'EEE d \\'DE\\' MMM \\'DE\\' y');\r\n //return date.toLocaleDateString(\"es-ES\", options);\r\n }\r\n\r\n parse(value: any): Date | null {\r\n if ((typeof value === 'string') && (value.indexOf('-') > -1)) {\r\n const str = value.split('-');\r\n\r\n const year = Number(str[2]);\r\n const month = Number(str[1]) - 1;\r\n const date = Number(str[0]);\r\n\r\n return new Date(year, month, date);\r\n }\r\n const timestamp = typeof value === 'number' ? value : Date.parse(value);\r\n return isNaN(timestamp) ? null : new Date(timestamp);\r\n }\r\n\r\n getFirstDayOfWeek() {\r\n //return 1;\r\n return getLocaleFirstDayOfWeek(this.locale);\r\n }\r\n\r\n\r\n}\r\nexport const APP_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: { month: 'long', year: 'numeric', day: 'numeric' },\r\n },\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: { year: 'numeric', month: 'numeric' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric'\r\n },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\r\n }\r\n};\r\n","import { SafeUrl } from \"@angular/platform-browser\";\r\n\r\nexport class B2BArticulosIMG {\r\n auxchr6?: string;\r\n url?: string;\r\n subdirectory?: string;\r\n\r\n constructor(auxchr6: string, url: string) {\r\n this.auxchr6 = auxchr6;\r\n this.url = url;\r\n };\r\n\r\n\r\n}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","export class B2BCesta {\r\n cabid: number;\r\n linid: number;\r\n codart: string;\r\n nomart: string;\r\n fecha: Date;\r\n canofe: number;\r\n precio: number;\r\n descuento: string;\r\n impnet: number;\r\n imptot: number;\r\n tercer: string;\r\n dtob2b: number;\r\n refter: string;\r\n direnv: string;\r\n coment: string;\r\n fecent: Date;\r\n tipdoc: string;\r\n cabori: number;\r\n tiptra: string;\r\n portes: string;\r\n updpre: number;\r\n constructor() {}\r\n}\r\n","export class B2BOfertas {\r\n cabid: number;\r\n\r\n refter: string;\r\n docser: string;\r\n tercer: string;\r\n nombre: string;\r\n fecfin: string;\r\n fecha: string;\r\n\r\n imptot: number;\r\n estcab: string;\r\n\r\n\r\n\r\n constructor() {};\r\n \r\n\r\n}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","export class B2BTipoTransporte {\r\n name: string;\r\n label: string;\r\n\r\n\r\n constructor(name: string, label: string) {\r\n this.name = name;\r\n this.label = label;\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 { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\r\nimport { catchError, empty } from 'rxjs';\r\nimport { DataService } from '../../core/services/data.service';\r\nimport { B2BPerfilService } from '../services/b2bPerfil.service';\r\n@Injectable()\r\nexport class AlbaranesResolver implements Resolve {\r\n constructor(private data: DataService, public perfilService: B2BPerfilService) {\r\n\r\n }\r\n resolve(route: ActivatedRouteSnapshot) {\r\n\r\n let user = JSON.parse(localStorage.getItem('currentUser'));\r\n return this.perfilService.GetAlbaranes(user.codigo).pipe(\r\n catchError((error) => {\r\n return empty();\r\n })\r\n );\r\n\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\r\nimport { catchError, empty } from 'rxjs';\r\nimport { DataService } from '../../core/services/data.service';\r\nimport { B2BArticulosService } from '../services/b2bArticulos.service';\r\n@Injectable()\r\nexport class ArticulosResolver implements Resolve {\r\n constructor(private data: DataService, public articulosService: B2BArticulosService) {\r\n\r\n }\r\n resolve(route: ActivatedRouteSnapshot) {\r\n\r\n let a = this.data.currentData;\r\n return this.articulosService.GetArticulos(this.data.currentData.codcli,\r\n this.data.currentData.sqlcond,\r\n this.data.currentData.alto,\r\n this.data.currentData.ancho,\r\n this.data.currentData.largo,\r\n this.data.currentData.codcat, this.data.currentData.codfam).pipe(\r\n catchError((error) => {\r\n return empty();\r\n })\r\n );\r\n\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\r\nimport { catchError, empty } from 'rxjs';\r\nimport { DataService } from '../../core/services/data.service';\r\nimport { B2BPerfilService } from '../services/b2bPerfil.service';\r\n@Injectable()\r\nexport class DireccionesResolver implements Resolve {\r\n constructor(private data: DataService, public perfilService: B2BPerfilService) {\r\n\r\n }\r\n resolve(route: ActivatedRouteSnapshot) {\r\n\r\n let user = JSON.parse(localStorage.getItem('currentUser'));\r\n return this.perfilService.GetDirecciones(user.codigo).pipe(\r\n catchError((error) => {\r\n return empty();\r\n })\r\n );\r\n\r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Resolve } from '@angular/router';\r\nimport { catchError, empty } from 'rxjs';\r\nimport { DataService } from '../../core/services/data.service';\r\nimport { B2BPerfilService } from '../services/b2bPerfil.service';\r\n@Injectable()\r\nexport class FacturasResolver implements Resolve {\r\n constructor(private data: DataService, public perfilService: B2BPerfilService) {\r\n\r\n }\r\n resolve(route: ActivatedRouteSnapshot) {\r\n\r\n let user = JSON.parse(localStorage.getItem('currentUser'));\r\n return this.perfilService.GetFacturas(user.codigo).pipe(\r\n catchError((error) => {\r\n return empty();\r\n })\r\n );\r\n\r\n }\r\n \r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { B2BArticulos } from 'src/app/shared/models/b2bArticulos.model';\r\nimport { retry, catchError, map } from 'rxjs/operators';\r\nimport { async } from 'rxjs/internal/scheduler/async';\r\nimport { B2BFamilias } from '../models/b2bFamilias.model';\r\nimport { B2BCategorias } from '../models/b2bCategorias.model';\r\nimport { B2BTipoCliente } from '../models/b2bTipoCliente';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class B2BArticulosService {\r\n\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n })\r\n };\r\n\r\n constructor(public http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/b2barticulos\"; \r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n console.log(\"Error Consumiendo B2BArticulosService\");\r\n return throwError(error.error);\r\n }\r\n GetArticulos(codcli: string, sqlcond: string, tamalt: string, tamanc: string, tamlon:string, codcat: string, codfam: string): Observable {\r\n\r\n\r\n const params = new HttpParams()\r\n .set('codcli', codcli)\r\n .set('sqlcond', sqlcond)\r\n .set('tamalt', tamalt)\r\n .set('tamanc', tamanc)\r\n .set('tamlon', tamlon)\r\n .set('codcat', codcat)\r\n .set('codfam', codfam);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/articulos\", { 'headers': this.httpOptions.headers, 'params': params })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetFamilias(): Observable {\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/familias\", { 'headers': this.httpOptions.headers })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetTipoCliente(): Observable {\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/tipocliente\", { 'headers': this.httpOptions.headers })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetCategorias(codfam: string): Observable {\r\n const params = new HttpParams()\r\n .set('codfam', codfam);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/categorias\", { 'headers': this.httpOptions.headers, 'params': params })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n HttpParams,\r\n} from \"@angular/common/http\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { catchError } from \"rxjs/operators\";\r\nimport { B2BCesta } from \"../models/b2bCesta.model\";\r\nimport { B2BTipoTransporte } from \"../models/b2bTipoTransporte.model\";\r\nimport { B2BOfertaLineas } from \"../models/b2bOfertaLineas.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class B2BCestaService {\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n }),\r\n };\r\n\r\n constructor(public http: HttpClient, @Inject(\"BASE_URL\") baseUrl: string) {\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/b2bcesta\";\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n console.log(\"Error Consumiendo B2BCestaService\");\r\n return throwError(error.error);\r\n }\r\n GetCesta(codcli: string): Observable {\r\n const params = new HttpParams().set(\"codcli\", codcli);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/cesta\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n EnviarPedido(formData): Observable {\r\n return this.http\r\n .post(\r\n this.myAppUrl + this.myApiUrl + \"/cesta/pedido\",\r\n JSON.stringify(formData),\r\n this.httpOptions\r\n )\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n addCesta(formdata): Observable {\r\n return this.http\r\n .post(\r\n this.myAppUrl + this.myApiUrl + \"/cesta/save\",\r\n JSON.stringify(formdata),\r\n this.httpOptions\r\n )\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n ofertaToCesta(formData): Observable {\r\n return this.http\r\n .post(\r\n this.myAppUrl + this.myApiUrl + \"/oferta/cesta\",\r\n JSON.stringify(formData),\r\n this.httpOptions\r\n )\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n deleteCesta(formData) {\r\n return this.http\r\n .post(\r\n this.myAppUrl + this.myApiUrl + \"/cesta/delete\",\r\n formData,\r\n this.httpOptions\r\n )\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n deleteArticuloCesta(formData) {\r\n return this.http\r\n .post(\r\n this.myAppUrl + this.myApiUrl + \"/articulo/delete\",\r\n formData,\r\n this.httpOptions\r\n )\r\n .pipe(catchError(this.handleError));\r\n }\r\n\r\n getTipoTransporte(): Observable {\r\n return this.http\r\n .get(\r\n this.myAppUrl + this.myApiUrl + \"/tipotransporte\",\r\n { headers: this.httpOptions.headers }\r\n )\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport {\r\n HttpClient,\r\n HttpErrorResponse,\r\n HttpHeaders,\r\n HttpParams,\r\n} from \"@angular/common/http\";\r\nimport { Observable, throwError } from \"rxjs\";\r\nimport { B2BPedidos } from \"src/app/shared/models/b2bPedidos.model\";\r\nimport { retry, catchError, map } from \"rxjs/operators\";\r\nimport { async } from \"rxjs/internal/scheduler/async\";\r\nimport { B2BOfertas } from \"../models/b2bOfertas.model\";\r\nimport { B2BOfertaLineas } from \"../models/b2bOfertaLineas.model\";\r\n\r\n@Injectable({\r\n providedIn: \"root\",\r\n})\r\nexport class B2BPedidosService {\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json; charset=utf-8\",\r\n }),\r\n };\r\n\r\n constructor(public http: HttpClient, @Inject(\"BASE_URL\") baseUrl: string) {\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/b2bpedidos\";\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n console.log(\"Error Consumiendo B2BArticulosService\");\r\n return throwError(error.error);\r\n }\r\n GetPedidos(codcli: string): Observable {\r\n const params = new HttpParams().set(\"codcli\", codcli);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/pedidos\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetOfertas(codcli: string): Observable {\r\n const params = new HttpParams().set(\"codcli\", codcli);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/ofertas\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetOfertaLineas(cabid: number): Observable {\r\n const params = new HttpParams().set(\"cabid\", cabid);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/ofertalineas\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetDocumento(tipo: string, docser: string): Observable {\r\n const params = new HttpParams().set(\"tipo\", tipo).set(\"docser\", docser);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/documento\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n responseType: \"blob\",\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetDocumentoOfe(tipo: string, docser: string): Observable {\r\n const params = new HttpParams().set(\"tipo\", tipo).set(\"docser\", docser);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/documento/ofe\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n responseType: \"blob\",\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetDocumentoArticulos(tipo: string, cliente: string): Observable {\r\n const params = new HttpParams().set(\"tipo\", tipo).set(\"cliente\", cliente);\r\n\r\n return this.http\r\n .get(this.myAppUrl + this.myApiUrl + \"/documento/articulos\", {\r\n headers: this.httpOptions.headers,\r\n params: params,\r\n responseType: \"blob\",\r\n })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n upload(body): Observable {\r\n return this.http\r\n .post(this.myAppUrl + this.myApiUrl + \"/pedido/upload\", body)\r\n .pipe();\r\n }\r\n\r\n generarPedido(formData): Observable {\r\n return this.http\r\n .post(\r\n this.myAppUrl + this.myApiUrl + \"/oferta/pedido\",\r\n JSON.stringify(formData),\r\n this.httpOptions\r\n )\r\n .pipe(catchError(this.handleError));\r\n }\r\n}\r\n","import { Injectable, Inject } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { B2BCategorias} from 'src/app/shared/models/b2bCategorias.model';\r\nimport { retry, catchError, map } from 'rxjs/operators';\r\nimport { async } from 'rxjs/internal/scheduler/async';\r\nimport { B2BDirecciones } from '../models/b2bDirecciones.model';\r\nimport { B2BFacturas } from '../models/b2bFacturas';\r\nimport { B2BAlbaranes } from '../models/b2bAlbaranes';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class B2BPerfilService {\r\n\r\n myAppUrl: string;\r\n myApiUrl: string;\r\n\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json; charset=utf-8'\r\n })\r\n };\r\n\r\n constructor(public http: HttpClient, @Inject('BASE_URL') baseUrl: string) {\r\n this.myAppUrl = baseUrl;\r\n this.myApiUrl = \"api/b2bareapersonal\";\r\n }\r\n\r\n handleError(error: HttpErrorResponse) {\r\n console.log(\"Error Consumiendo B2BArticulosService\");\r\n return throwError(error.error);\r\n }\r\n GetDirecciones(codcli: string): Observable {\r\n\r\n const params = new HttpParams()\r\n .set('codcli', codcli);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/direcciones\", { 'headers': this.httpOptions.headers, 'params': params })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetFacturas(codcli: string): Observable {\r\n\r\n const params = new HttpParams()\r\n .set('codcli', codcli);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/facturas\", { 'headers': this.httpOptions.headers, 'params': params })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetAlbaranes(codcli: string): Observable {\r\n\r\n const params = new HttpParams()\r\n .set('codcli', codcli);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/albaranes\", { 'headers': this.httpOptions.headers, 'params': params })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n GetDocumentoFactura(tipo: string, docser: string): Observable {\r\n\r\n const params = new HttpParams()\r\n .set('tipo', tipo)\r\n .set('docser', docser);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/factura/documento\", { 'headers': this.httpOptions.headers, 'params': params, responseType: 'blob' })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n GetDocumentoAlbaran(tipo: string, docser: string): Observable {\r\n\r\n const params = new HttpParams()\r\n .set('tipo', tipo)\r\n .set('docser', docser);\r\n\r\n return this.http.get(this.myAppUrl + this.myApiUrl + \"/albaran/documento\", { 'headers': this.httpOptions.headers, 'params': params, responseType: 'blob' })\r\n .pipe(\r\n //retry(1),\r\n catchError(this.handleError)\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { AuthGuard } from '../core/modules/authorization/auth.guard';\r\n\r\nconst routes: Routes = [\r\n\r\n]\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppSharedRoutingModule { }\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { MDBModule } from 'src/app/mdb.module';\r\nimport { MaterialModule } from 'src/app/material.module';\r\nimport { NgPrimeModule } from 'src/app/ngprime.module';\r\n\r\nimport { AppSharedRoutingModule } from './shared-routing.module';\r\nimport { B2BAritculosListComponent } from './components/b2b-articulos-list/b2b-articulos-list.component';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\nimport { ResizableModule } from 'angular-resizable-element';\r\nimport 'hammerjs';\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n AppSharedRoutingModule,\r\n PdfViewerModule,\r\n ResizableModule,\r\n MDBModule,\r\n MaterialModule,\r\n NgPrimeModule\r\n ],\r\n declarations: [\r\n B2BAritculosListComponent, \r\n ],\r\n //entryComponents: [ModalComponent, ObjtoolbarComponent, FilterPipe, EntidadFilter],\r\n exports: [\r\n CommonModule,\r\n B2BAritculosListComponent,\r\n PdfViewerModule,\r\n\r\n ]\r\n})\r\n\r\nexport class AppSharedModule { }\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\n */\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":[],"sourceRoot":"webpack:///"}