PageSourceSearch

https://servicios.arsyunen.com/consultaproveedores.aspx

html arsyunen.com collected 2026-10-09 03:27:31 UTC 117,829 bytes, 2,582 lines download raw bytes

1    <!DOCTYPE html>
2<html lang="en">
3<head>
4    <title>Consulta de Prestadores</title>
5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
6    <meta charset="ISO-8859-1">
7	<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1">
8    <link rel="icon" href="Img/favicon ArsYunen.png"/>
9    <link rel="stylesheet" href="//cdn.materialdesignicons.com/2.5.94/css/materialdesignicons.min.css">
10    <link rel="stylesheet" href="https://unpkg.com/buefy/dist/buefy.min.css">
11    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.1/css/selectize.min.css "/>
12    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" />
13    <link rel="stylesheet" href="https://unpkg.com/vue-select@latest/dist/vue-select.css">
14      
15    <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/vue-multiselect.min.css">
16
17    <style>
18        @font-face {
19            font-family: "Museo";
20            src: url(https://luxuriant-drawer.surge.sh/fonts/MuseoSansCyrl_0.otf);
21        }
22
23        [v-cloak] {
24            display: none;
25        }
26
27        * {
28            box-sizing: border-box;
29        }
30
31        html {
32            height: 100%;
33        }
34
35        body {
36            background: #F8F9F9;
37            color: #221D1E;
38            font-family: Museo, HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, "Lucida Grande", sans-serif;
39            min-height: 100%;
40            position: relative;
41        }
42
43        .app {
44            height: 100%;
45            display: flex;
46            flex-direction: column;
47        }
48
49        .app__content {
50            padding: 1rem;
51            width: 100%;
52            margin: 0 auto;
53        }
54
55        .field {
56            padding-left: 5px;
57        }
58
59        .field--submit {
60            margin-top: 2px;
61        }
62       
63        @media(min-width: 250px) {
64            .header-inner {
65                margin: 0;
66            }
67        }
68
69        @media(max-width: 470px) {
70            table {
71                font-size: 10px;
72            }
73
74            table td {
75                flex-direction: column;
76            }
77
78            .link--normal {
79                text-align: start;
80            }
81
82            .small-class {
83                display: inline-grid;
84            }
85
86            .input {
87                height: 1.8rem;
88            }
89
90            .is-light {
91                width: 104px;
92                margin-left: 5px;
93            }
94
95            .container {
96                display: block;
97                width: 100%;
98            }
99
100            .card {
101                display: block;
102                width: 100%;
103            }
104
105            .header-inner {
106                margin: 0;
107            }
108
109            .navigation {
110                display: none;
111            }
112
113            .col{
114                width: 100%;
115            }
116        }
117
118        @media(max-width: 624px) {
119            .header {
120                height: 75px;
121                line-height: 75px;
122            }
123
124            .header-inner {
125                display: flex;
126                flex-direction: column;
127            }
128
129            .toolbar li {
130                margin-right: auto;
131            }
132
133            .row {
134                padding-top: 25px;
135            }
136
137            .header-inner
138            .header-tagline {
139                font-size: 10px;
140            }
141
142            .span-direccion-horarios{
143                display: block;
144            }
145
146        }
147
148        @media(max-width: 768px) {
149            .columna {
150                margin-bottom: 10px;
151            }
152        }
153
154
155        @media(max-width: 1040px) {
156            .field--submit {
157                display: flex;
158                flex-wrap: wrap;
159            }
160
161            .button.is-primary {
162                width: 100%;
163            }
164
165            .boton {
166                margin: 2px 0 6px 0;
167            }
168
169            .dropdown,
170            .dropdown-trigger,
171            .is-light {
172                width: 100%;
173            }
174
175            .is-light {
176                margin: 0;
177            }
178
179             .column{
180                width: 100%;
181            }
182
183             
184        }
185
186        @media(min-width: 1040px) {
187            .header-inner {
188                margin: 0 33px;
189            }
190
191            .trabajo2{
192                 margin-left: 70px;
193             }
194        }
195
196        .v-select {
197            width: 100%;
198        }
199
200        .input {
201            height: 2.1rem;
202        }
203            /* Bulma Reset*/
204            .input.is-active,
205            .input.is-focused,
206            .input:active,
207            .input:focus,
208            .taginput .is-active.taginput-container.is-focusable,
209            .taginput .is-focused.taginput-container.is-focusable,
210            .taginput .taginput-container.is-focusable:active,
211            .taginput .taginput-container.is-focusable:focus,
212            .textarea.is-active, .textarea.is-focused,
213            .textarea:active, .textarea:focus {
214                border-color: #00AFEC;
215                box-shadow: 0 0 0 0.125em rgba(0, 175, 236, 0.25);
216            }
217
218        .select select.is-active,
219        .select select.is-focused,
220        .select select:active,
221        .select select:focus {
222            border-color: #00AFEC;
223            box-shadow: 0 0 0 0.125em rgba(0, 175, 236, 0.25);
224        }
225
226        .select:not(.is-multiple):not(.is-loading):after {
227            border-color: #00AFEC;
228        }
229
230        .button.is-primary {
231            background-color: #00AFEC;
232        }
233
234            .button.is-primary.is-hovered,
235            .button.is-primary:hover {
236                background-color: #00a8e6;
237            }
238
239        .label {
240            font-size: .8rem;
241            color: #000;
242        }
243
244        .title {
245            color: #009FE3;
246            text-align: center;
247            text-transform: uppercase;
248            font-weight: normal;
249        }
250
251        .text--primary {
252            color: #009FE3;
253        }
254
255        a {
256            color: #009FE3;
257        }
258
259            a.link--normal,
260            .link--normal a {
261                color: #363636;
262            }
263
264        .provider-detail {
265            display: block;
266            margin: 2px;
267            padding: 4px;
268        }
269
270        .content ul {
271            margin: 4px;
272        }
273
274        table td, table td * {
275            vertical-align: top;
276        }
277
278        .b-table .table .chevron-cell {
279            vertical-align: top;
280        }
281
282        .dropdown-content {
283            width: 118px;
284        }
285
286        .vs__dropdown-menu {
287            width: 270px;
288        }
289
290        .vs__clear {
291            display: none;
292        }
293
294        #telefono, #correo, #mapa {
295            color: #009FE3;
296        }
297
298        td[data-label="Nombre"] {
299            width: 50%;
300        }
301
302        td[data-label="Tipo"] {
303            width: 25%;
304        }
305
306        td[data-label="Teléfonos"] {
307            width: 25%;
308        }
309
310        .section-empty {
311            margin-top: 10%;
312        }
313
314        /* Spinner */
315        .loader, .select.is-loading::after {
316            width: 5em;
317            height: 5em;
318            left: 50%;
319            margin-left: -3em;
320            top: 40%;
321        }
322
323        /* HEADER */
324        .main-header {
325            position: fixed;
326            top: 0;
327            left: 0;
328            right: 0;
329            z-index: 100;
330        }
331
332        .header {
333            line-height: 44px;
334            background-color: #00afec;
335        }
336
337        .header-inner {
338            display: flex;
339            padding: 0 20px;
340            color: #fff;
341        }
342
343        .header-tagline {
344            color: inherit;
345            font-family: "Museo-Sans",Arial,sans-serif;
346            font-size: 13px;
347            font-weight: 400;
348            margin: 0 15px 0 0;
349        }
350
351            .header-tagline a {
352                color: #fff
353            }
354
355        .header-inner .toolbar {
356            flex: 1;
357            justify-content: flex-end;
358        }
359
360        .header-icon {
361            color: #fff;
362            font-size: 16px;
363        }
364
365        .toolbar {
366            display: flex;
367            align-items: flex-end;
368            padding: 0;
369            margin: 0;
370        }
371
372        .toolbar-item {
373            display: flex;
374            align-self: center;
375        }
376
377        .header-icon:hover {
378            color: #CF3B93
379        }
380
381        .toolbar-item > a {
382            margin: 0 5px;
383            color: #fff;
384        }
385
386        ul {
387            list-style: none;
388        }
389
390
391        /* NAVBAR */
392        .navbar {
393            height: 80px;
394            background-color: #fff;
395            box-shadow: 0 0 3px 0 rgb(76 76 76 / 14%);
396            display: flex;
397            flex-wrap: wrap;
398            width: 100%;
399            box-sizing: border-box;
400            top: 0;
401            z-index: 100;
402        }
403
404        .navbar-inner {
405            margin: 0 24.5px 0 20px;
406            width: 100%;
407            display: flex;
408            flex-wrap: wrap;
409            flex: 1;
410            justify-content: space-between;
411        }
412
413        .navigation-brand {
414            display: flex;
415            align-items: center;
416        }
417
418        .logo {
419            position: relative;
420            height: 90px;
421            width: 120px;
422            background-position: center;
423            background-position-y: -28px;
424            background-size: cover;
425        }
426
427            .logo img {
428                width: 120px;
429                margin-top: 10px;
430            }
431
432            .logo::after {
433                content: "";
434                width: 2px;
435                height: 100%;
436                background-color: #fff;
437            }
438
439        a, a:hover {
440            text-decoration: none;
441        }
442
443        .logo, .phone {
444            background-repeat: no-repeat;
445            background-size: contain;
446        }
447
448            .phone img {
449                height: 75px;
450            }
451
452        .navigation {
453            padding: 0;
454            flex-direction: column;
455            flex-wrap: wrap;
456            justify-content: flex-end;
457            background-color: #fff;
458        }
459
460        .navigation-item {
461            position: relative;
462            justify-content: space-evenly;
463            border-style: solid;
464            border-radius: 22px;
465            border-color: #00afec;
466            margin: 10px 2px 2px 12px;
467            border-width: 1px;
468        }
469
470            .navigation-item > a {
471                border-top: none;
472                color: #00afec;
473                font-size: .9375rem;
474                font-weight: 200;
475                line-height: 34px;
476                text-transform: uppercase;
477                text-align: center;
478                white-space: nowrap;
479                -o-border-image: initial;
480                border-image: initial;
481                padding: 0 20px;
482            }
483
484            .navigation-item .active {
485                font-weight: 700;
486                border-width: 1px;
487                border-color: #00afec;
488            }
489
490            .navigation-item .active, .navigation-item:hover {
491                border-radius: 32px;
492                border-width: 2px;
493                cursor: pointer;
494            }
495
496
497        /* MAIN */
498        .main {
499            flex: 1;
500            padding-bottom: 1rem;
501            position: relative;
502            padding-bottom: 100px;
503            min-height: 100%;
504        }
505
506        .container {
507            margin-top: 150px;
508            padding-right: 15px;
509            padding-left: 15px;
510            margin-right: auto;
511            margin-left: auto;
512            height: 100%;
513            width: 100%;
514        }
515
516        .row {
517            display: flex;
518            flex-wrap: wrap;
519            width: 100%;
520        }
521
522        .col {
523            flex-basis: 0;
524            flex-grow: 1;
525        }
526
527        .card {
528            position: relative;
529            display: flex;
530            flex-direction: column;
531            min-width: 0;
532            word-wrap: break-word;
533            background-color: #fff;
534            background-clip: border-box;
535            border: 1px solid rgba(0,0,0,.125);
536            border-radius: .125rem;
537            width: 100%;
538        }
539
540        .card-body {
541            flex: 1 1 auto;
542            padding: 1.25rem;
543        }
544
545        .card-title {
546            margin-bottom: 1.5rem;
547            text-align: center;
548            font-weight: 400;
549            color: #5a6466;
550            font-size: 20px;
551            padding-top: 15px;
552        }
553
554        .form {
555            width: 100%;
556            margin-right: 40px;
557        }
558
559        .filtros span {
560            color: #000;
561            font-size: 16px;
562            font-weight: 300;
563            text-align: center;
564        }
565
566        .column {
567            padding: 0;
568        }
569
570        .columna {
571            height: fit-content;
572        }
573
574        .borde {
575            padding: 2px 6px 4px 6px;
576        }
577
578        .input, .vs__dropdown-toggle, .multiselect__tags {
579            border: 0;
580            background-image: linear-gradient(#00afec,#00afec),linear-gradient(#bfc8ca,#bfc8ca);
581            background-size: 0 2px,100% 1px;
582            background-repeat: no-repeat;
583            background-position: center bottom,center calc(100% - 1px);
584            background-color: transparent;
585            transition: background 0 ease-out;
586            box-shadow: none;
587        }
588
589            .input:focus, .multiselect__tags:focus {
590                box-shadow: none;
591                outline: none;
592                background-image: linear-gradient(#00A8E6,#00A8E6),linear-gradient(#00A8E6,#00A8E6);
593            }
594
595        .vs__dropdown-menu {
596            border-top: 1.4px solid #00A8E6;
597        }
598
599        .multiselect--above .multiselect__content-wrapper {
600            bottom: 0;
601        }
602
603        .multiselect__content-wrapper {
604            position: relative;
605            /*width: 280px;*/
606        }
607
608        .multiselect__tag {
609            background: #00AFEC;
610        }
611
612        .multiselect__option:hover, .multiselect__option--highlight, .multiselect__option--selected.multiselect__option--highlight,
613        .multiselect__tag-icon:hover {
614            background: #00AFEC;
615            color: #fff;
616        }
617
618        .multiselect__element {
619            background: #fff;
620        }
621
622        .column-category, .column-zona, .column-especialidad {
623            width: 100%;
624        }
625
626        .trabajo2{
627            display: block;
628        }
629
630        .span-direccion-horarios{
631            display: flex;
632        }
633
634        /*FOOTER*/
635        .foot {
636            width: 100%;
637            display: flex;
638            align-items: center;
639            background: #00afec;
640            color: #fff;
641            font-size: 11px;
642            font-weight: 600;
643            letter-spacing: 1px;
644            padding-left: 53px;
645            height: 44px;
646            position: absolute;
647            bottom: 0;
648            clear: both;
649        }
650
651
652        body::-webkit-scrollbar {
653            width: 8px;
654            height: 8px;
655        }
656
657        body::-webkit-scrollbar-thumb {
658            background: #ccc;
659            border-radius: 4px;
660        }
661
662            body::-webkit-scrollbar-thumb:hover {
663                background: #b3b3b3;
664                box-shadow: 0 0 2px 1px rgba(0,0,0,0.2);
665            }
666
667            body::-webkit-scrollbar-thumb:active {
668                background: #999999;
669            }
670
671        body::-webkit-scrollbar-track {
672            background: #e1e1e1;
673            border-radius: 4px;
674        }
675    </style>
676</head>
677
678<body>
679    <div id="app" class="app" v-cloak>
680        <header class="main-header">
681            <div class="header">
682                <div class="header-inner">
683                    <span class="header-tagline">
684                        <a href="https://goo.gl/maps/QpfDzhEVtmCn4dfG6" target="_blank">
685                            <i class="fas fa-map-marker-alt"></i>
686                            Av. A. Lincoln No. 849, Ens. Piantini, Santo Domingo, Rep. Dom.
687                        </a>
688                    </span>
689                    <ul class="toolbar">
690                        <li class="toolbar-item">
691                            <a href="https://www.facebook.com/ARSYunenRD/" target="_blank">
692                                <i class="header-icon fab fa-facebook-square"></i>
693                            </a>
694                        </li>
695                        <li class="toolbar-item">
696                            <a href="https://www.instagram.com/arsyunenrd/" target="_blank">
697                                <i class="header-icon fab fa-instagram-square"></i>
698                            </a>
699                        </li>
700                        <li class="toolbar-item">
701                            <a href="https://www.linkedin.com/company/ars-yun%C3%A9n/posts/?feedView=all" target="_blank">
702                                <i class="header-icon fab fa-linkedin"></i>
703                            </a>
704                        </li>
705                        <li class="toolbar-item">
706                            <a href="mailto:[email protected]" target="_blank">
707                                <i class="header-icon fas fa-envelope"></i>
708                            </a>
709                        </li>
710                    </ul>
711                </div>
712            </div>
713           <nav class="navbar">
714                <div class="navbar-inner">
715                    <div class="navigation-brand">
716                        <a href="http://www.arsyunen.com">
717                            <div class="logo">
718                                <img src="Img/logo yunen grande.png" class="logo-yunen" alt="">
719                            </div>
720                        </a>
721                        <a href="tel:809-334-3030">
722                            <div class="phone">
723                                <img src="Img/phone.jpg" alt="">
724                            </div>
725                        </a>
726                        <ul class="navigation">
727                            <li class="navigation-item active">
728                                <a href="http://www.arsyunen.com">home</a>
729                            </li>
730                        </ul>
731                    </div>
732                </div>
733            </nav>
734        </header>
735        <main class="main">
736            <div class="container">
737                <div class="row">
738                    <div class="col">
739                        <h3 class="card-title">Buscador de Prestadores de Servicio de Salud</h3>
740                    </div>
741                </div>
742                <div class="row app__content">
743                    <div class="col columns">
744                        <div class="card column mr-4 is-3 columna" >
745                            <div class="card-body">
746                                <form @submit.prevent="searchHealthProviders" class="form column is-12">
747                                        <div class="columns borde">
748                                            <div class="field column column-category">
749                                                <label class="label">Categoría</label>
750                                                <div class="control  is-expanded">
751                                                    <div class="is-fullwidth">
752                                                        <vue-multiselect @input
752="chooseCategory" v-model="selectedCategory" :options="categories" :custom-label="labelName" label="label" track-by="label" :multiple="true" :searchable="true" :close-on-select="false" :clear-on-select="false" :show-labels="false" placeholder="Todas"></vue-multiselect>
753                                                        
754                                                      
755                                                    </div>
756                                                </div>
757                                            </div>
758                                        </div>
759                                    <div class="columns borde" v-if="showClinicDoctors">
760                                            <div class="field column">
761                                                <label class="checkbox">
762                                                    <input type="checkbox" v-model="includeDoctors">
763                                                    Incluir medicos
764                                                </label>
765                                            </div>
766                                        </div>
767                                        <div class="columns borde">
768                                            <div class="field column column-especialidad" v-if="showMedicalSpecialty">
769                                              <label class="label">Especialidad</label>
770                                              <div class="control is-expanded">
771                                                  <div class="is-fullwidth">
772                                                    <vue-multiselect v-model="selectedMedicalSpecialty" :options="medicalSpecialties" :custom-label="labelName" label="label" track-by="label" :multiple="true" :searchable="true" :close-on-select="false" :clear-on-select="false" :show-labels="false" placeholder="Todas"></vue-multiselect>
773
774                                                    
775                                                </div>
776                                              </div>
777                                            </div>
778                                        </div>
779                                        <div class="columns borde">
780                                            <div class="field column field--full-width" v-if="showMedicalSpecialty">
781                                              <label class="label">Centro</label>
782                                              <div class="control">
783                                                <input class="input" type="text" placeholder="Centro Donde Trabaja" v-model="searchCentroTrabaja" >
784                                              </div>
785                                            </div>
786                                        </div>
787                                        <div class="columns borde">
788                                            <div class="field column column-zona">
789                                              <label class="label">Zona</label>
790                                              <div class="control  is-expanded">
791                                                  <div class="is-fullwidth">
792                                                    
793                                                        <vue-multiselect v-model="selectedZone" :options="zones" :custom-label="labelName" label="label" track-by="label" :multiple="true" :searchable="true" :close-on-select="false" :clear-on-select="false" :show-labels="false" placeholder="Todas"></vue-multiselect>
794
795                                                </div>
796                                              </div>
797                                            </div>
798                                        </div>
799                                        <div class="columns borde">
800                                            <div class="field column">
801                                              <label class="label">Plan</label>
802                                              <div class="control  is-expanded">
803                                                  <div class="is-fullwidth">
804                                                    
805                                                        <vue-multiselect v-model="selectedPlanClase" :options="planesClases" :custom-label="labelName" label="label" track-by="label" :multiple="false" :searchable="true" :close-on-select="true"  :show-labels="false" placeholder="Todas"></vue-multiselect>
806                                                </div>
807                                              </div>
808                                            </div>
809                                        </div>
810                                        <div class="columns borde">
811                                            <div class="field column" v-if="showInternalOptions">
812                                              <label class="label">Premium</label>
813                                              <div class="control  is-expanded">
814                                                  <div class="is-fullwidth">
815                                                    
816                                                        <vue-multiselect v-model="selectedPremium" :options="premiums" :custom-label="labelName" label="label" track-by="label" :multiple="false" :searchable="true" :close-on-select="true" :show-labels="false" placeholder="Todas"></vue-multiselect>
817                                                  </div>
818                                              </div>
819                                            </div>
820                                        </div>
821                                        <div class="columns borde">
822                                            <div class="field column field--full-width">
823                                              <label class="label">Nombre</label>
824                                              <div class="control">
825                                                <input class="input" type="text" placeholder="Nombre del prestador" v-model="search" >
826                                              </div>
827                                            </div>
828                                        </div>
829                                        <div class="columns borde">
830                                            <div class="field column field--full-width">
831                                              <label class="label">Dirección</label>
832                                              <div class="control">
833                                                <input class="input" type="text" placeholder="Calle, municipio o provincia" v-model="direccion" >
834                                              </div>
835                                            </div>
836                                        </div>
837                                    
838                                        <div class="field columns field--full-width field--submit">
839                                            <div class="control column pr-0 pl-0 boton">
840                                                <button type="submit" :class="{'button': true, 'is-loading': loading, 'is-primary':true, 'disabled':disabled}">Consultar</button>
841                                            </div>
842                                            <div class="control column">
843                                                <div :class="{'dropdown': true, 'is-active': isActive}" @click="showItems($event)">
844                                                    <div class="dropdown-trigger">
845                                                        <button class="button is-light field-submit" aria-haspopup="true" aria-controls="dropdown-menu">
846                                                            <span>Exportar</span>
847                                                            <span class="icon is-small">
848                                                                <i class="fas fa-angle-down" aria-hidden="true"></i>
849                                                            </span>
850                                                        </button>
851                                                    </div>
852                                                    <div class="dropdown-menu" id="dropdown-menu" role="menu">
853                                                        <div class="dropdown-content">
854                                                           
855                                                            <button @click="exportEXCEL" :class="{'button': true, 'is-loading': loadingReport, 'is-outlined': true, 'dropdown-item': true}" title="Exportar a EXCEL">EXCEL</button>
856                                                            <button @click="exportTarjeta" :class="{'button': true, 'is-loading': loadingReport, 'is-outlined': true, 'dropdown-item': true}" title="Exportar a EXCEL">TARJETAS</button>
857                                                        </div>
858                                                    </div>
859                                                </div>
860                                            </div>
861                                        </div>
862
863                                    </form>
864                            </div>
865                        </div>
866                       
867
868                        <div class="card column is-9">
869                            <div class="card-body columns">
870                                <div class="loader" v-if="loading">
871                                    <div class="is-loading"></div>
872                                </div>
873                                <div  class="providers-list column" v-if="!loading">
874                                      <b-table
875                                          ref="table"
876                                          :data="healthProviders" 
877                                          :loading="loading"
878                                          detailed
879                                          detail-key="Codigo"
880                                          :paginated="healthProviders.length > 0"
881                                          :per-page="10"
882                                          :pagination-simple="true"
883                                          :current-page.sync="currentPage" id="tabla">
884                   
885                                          <template slot-scope="props">
886                                              <b-table-column sortable field="Nombre" label="Nombre">
887                                                 <a class="link--normal" @click="showDetail(props.row)">{{ props.row.Nombre }}</a>
888                                              </b-table-column>
889                                              <b-table-column v-if="props.row" sortable field="TipoDescripcion" label="Tipo" 
890                                                  class="is-capitalized">
891                                                  <span class="link--normal">{{ props.row.TipoDescripcion }}</span>
892                              
893                                              </b-table-column>
894                                              
895                                              <b-table-column v-if="props.row" field="Telefono1" label="Teléfonos">
896                                                   <a  style="display: block" v-if="props.row.Telefono1 && props.row.Telefono1.length > 6"
897                                                        :href="'tel:+' +  props.row.Telefono1"  
898                                                        class=" link--normal" id="telefono">
899                                                        {{  props.row.Telefono1 }}
900                                                    </a>
901                                                    
902                                              </b-table-column>
903                                          </template>   
904                                         <template slot="detail" slot-scope="props">
905                                            <provider-detail :key="props.row.Codigo" :provider="props.row" />
906                                         </template>
907                                         <template slot="empty">
908                                            <section class="section">
909                                                <div class="content has-text-grey has-text-centered section-empty">
910                                                    <p>
911                                                        No se han encontrado prestadores <br>
912                                                        <span>Reconfigure los filtros e intente nuevamente</span>
913                                                    </p>
914                                                </div>
915                                            </section>
916                                        </template>
917                                      </b-table>
918                                    </div>
919                            </div>
920                        </div>
921                    </div>
922                </div>
923            </div>
924        </main>
925
926        <footer class="foot">
927             <span class="footer-copyright">Copyright All Rights Reserved © {{ footerYear }}</span>
928        </footer>
929
930        
931        <div id="contenido" style="display:none">
932            <meta http-equiv="X-UA-Compatible" content="IE=edge">
933            <meta name="viewport" content="width=device-width, initial-scale=1.0">
934            <div style="margin-top:20px">
935                <h3 style="text-align:center;">PRESTADORES DE SERVICIO SEGUROS YUNEN</h3>
936                <ul style="padding:0; list-style:none; --auto-grid-min-size: 16rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--auto-grid-min-size), 1fr)); grid-gap: 1rem;">
937                    <li v-for="(data, index) of healthProviders" :key="index" style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2); padding: 8px; background-color: #f1f1f1;">
938                        <p>
939                            <span style="font-size: 12px; font-weight: bold">{{ data.Nombre }}</span>
940                        </p>
941                        <p>
942                            <span style="font-weight:bold; font-size:14px;">Tipo:</span> 
943                            <span style="font-size: 12px;">{{ data.TipoDescripcion }}</span>
944                        </p>
945                        <p>
946                            <span style="font-weight:bold; font-size:14px;">Telefonos:</span> 
947                            <span style="font-size: 12px;">
948                                <a :href="'tel:+' + data.Telefono1"> {{ data.Telefono1 }} </a> 
949                                <a :href="'tel:+' + data.Telefono2" v-if="data.Telefono2?.length > 6"> / {{ data.Telefono2 }} </a>
950                            </span>
951                        </p>
952                        <p>
953                            <span style="font-weight:bold; font-size:14px;">Direccion:</span> 
954                            <span style="font-size: 12px;">{{ data.Direccion?.toUpperCase() }}, {{ data.Municipio?.Descripcion?.toUpperCase() }}</span>
955                        </p>
956                        <p v-if="showInternalOptions && data.Correo != '' ">
957                            <span style="font-weight:bold; font-size:14px;">Correo:</span> 
958                            <span style="font-size: 12px;">{{ data.Correo?.toUpperCase() }}</span>
959                        </p>
960                        <p v-if="showInternalOptions">
961                            <span style="font-weight:bold; font-size:14px;">{{ data.Premium == 1 ? "PREMIUM" : "" }}</span>
962                        </p>
963                    </li>
964                </ul>
965            </div>
966        </div>
967    </div>
968
969    
969<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
969    
970
971    
971<script src="https://unpkg.com/[email protected]/dist/buefy.min.js"></script>
971
972    
972<script src="https://unpkg.com/[email protected]/dist/components/table" ></script>
972
973    
973<script src="https://unpkg.com/[email protected]/dist/components/toast"></script>
973
974
975    <!--
975<script src="https://unpkg.com/buefy/dist/buefy.min.js"></script>
975
976    
976<script src="https://unpkg.com/buefy/dist/components/table"></script>
976
977    
977<script src="https://unpkg.com/buefy/dist/components/toast"></script>
977-->
978    
978<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
978
979
980    
980<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
980
981    
981<script src="https://unpkg.com/vue-simple-search-dropdown@latest/dist/vue-simple-search-dropdown.min.js"></script>
981
982    
982<script src="https://unpkg.com/vue-select@latest"></script>
982
983    
983<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.14.1/xlsx.full.min.js"></script>
983
984    
984<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.min.js"></script>
984
985    
985<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf-autotable/2.0.16/jspdf.plugin.autotable.js"></script>
985
986    
986<script src="https://cdnjs.cloudflare.com/ajax/libs/selectize.js/0.12.6/js/standalone/selectize.min.js"></script>
986
987    
987<script src="http://cdn.jsdelivr.net/g/filesaver.js"></script>
987
988    
989    
989<script src="https://unpkg.com/[email protected]"></script>
989
990
991    
991<script type="text/x-template" id="provider-detail-template">
992        <div class="provider-details">
993            <article class="media">
994                <div class="media-content">
995                    <div class="content">
996                        <h5>
997                            {{ provider.Nombre }} 
998                            <small style="font-size:65%"
999                                class="has-text-grey is-capitalized">{{ provider.TipoDescripcion }}</small>
1000                        </h5>
1001                        <div>
1002                            <div>                           
1003                                <span class="provider-detail is-capitalized span-direccion-horarios">
1004                                    <small>
1005                                        <strong>Direccion:</strong> 
1006                                        {{ provider.Direccion }}, {{ provider.Municipio?.Descripcion }}, {{ provider.Provincia?.Descripcion }} 
1007                                        
1008                                    </small>
1009                                    <small v-if="provider.Horario != '' && provider.Horario?.length > 5"> 
1010                                            <small><strong>Horarios:</strong> {{ provider.Horario }}</small>
1011                                    </small>
1012                                </span>
1013                                <span class="provider-detail is-capitalized" v-if="provider.CentroTrabaja != null"><small><strong>Trabaja en:</strong> {{ provider.CentroTrabaja?.Nombre }} <a :href="'tel:+' + provider.CentroTrabaja.Telefono1" class="link--normal" id="telefono"> {{ provider.CentroTrabaja?.Telefono1 }} </a> </small>
1014                                    <small class="trabajo2" v-if="provider.CentroTrabaja2?.Nombre?.length > 2"> 
1015                                        <span>y {{ provider.CentroTrabaja2?.Nombre }} <a :href="'tel:+' + provider.CentroTrabaja2.Telefono1" class="link--normal" id="telefono"> {{ provider.CentroTrabaja2?.Telefono1 }} </a></span>
1016                                    </small>
1017                                </span>
1018
1019                                
1020                                <span class="provider-detail is-capitalized" v-if="provider.Correo != '' && showOptions"><small><strong>Correo:</strong> <span><a :href="'mailto:'+provider.Correo" class="link--normal" id="correo">{{ provider.Correo?.toUpperCase() }}</a></span> </small></span>                             
1021                                <span class="provider-detail is-capitalized">
1022                                    <small><strong>Telefonos:</strong>
1023                                        <span> <a :href="'tel:+' + provider.Telefono1" class="link--normal" id="telefono"> {{ provider.Telefono1 }} </a> </span>
1024                                        <span v-if="provider.Telefono2 != null && provider.Telefono2?.length > 6"> <span> / </span> <a :href="'tel:+' + provider.Telefono2" class="link--normal" id="telefono"> {{ provider.Telefono2 }} </a> </span>
1025                                    </small>
1026                                </span> 
1027                                <span class="provider-detail is-capitalized" v-if="provider.UbicacionMapa != '' "><small><a :href="provider.UbicacionMapa" class="link--normal" id="mapa" target="_blank">Ver Mapa</a> </small></span>
1028                 
1029                                <span class="provider-detail is-capitalized"><small>{{ provider.Premium == 1 ? "PREMIUM" : "" }} </small></span>
1030                                <div class="provider-detail" v-if="isDoctor && clinics.length > 0">
1031                                    <small><strong>Trabaja en</strong></small>
1032                                    <ul style="margin: .5rem 2.5rem;">
1033                                        <li v-for="(clinic, clinicIndex) in clinics" :key="clinicIndex" class="is-capitalized">
1034                                           <small> {{ clinic.Nombre?.toLowerCase() }} <small>{{ clinic.Municipio?.Descripcion }}</small></small>
1035                                        </li>
1036                                    </ul>                
1037                                </div>
1038                                <div class="provider-detail" v-if="provider.Medicos != null && provider.Medicos.length > 0">
1039                                    <small><strong>Doctores</strong></small>
1040        
1041                                   <div class="control">
1042                                     <input class="input" type="text" placeholder="Buscar doctores" v-model="searchDoctorsInput">
1043                                   </div>                     
1044                                    <ul style="max-height: 140px;
1044overflow-y: scroll;">
1045                                        <li v-for="(doctor, doctorIndex) of filteredDoctors" :key="doctorIndex">
1046                                        
1047                                            <a class="link--normal" >  {{ doctor.Tipo }}</a>
1048                                            <div >
1049                                                
1050                                                <ul style="margin-left: 20px; list-style-type: none">
1051                                                    <li v-for="( doctor, doctorIndex ) in doctor.Datos" :key="doctorIndex" class="is-capitalized">
1052                                                        <small class="small-class"> {{ doctor.Nombre?.toLowerCase() }} <small> <a v-if=" doctor.Telefono1 && doctor.Telefono1.length > 6 " :href="'tel:+' + doctor.Telefono1" class="link--normal" id="telefono"> {{ doctor?.Telefono1 }} </a> </small> </small>
1053                                                    </li>
1054                                                </ul>
1055                                            </div>
1056                                        </li>
1057                                    </ul>
1058                                </div>
1059                            </div>
1060                        </div>
1061                    </div>
1062                </div>
1063            </article>
1064        </div>
1065    </script>
1065
1066
1067    
1067<script>
1068
1069        const CATEGORY_DOCTOR_ID = 99;
1070        const CATEGORY_MEDICAL_CENTER_ID = 4;
1071        const ENDPOINT = 'ConsultaPSSServicio.aspx?request=';
1072
1073        axios.interceptors.response.use(function (response) {
1074            if (response.data && response.data.error) {
1075                return Promise.reject(response.data.error);
1076            }
1077            return response;
1078        }, function (error) {
1079            return Promise.reject(error);
1080        });
1081
1082        Vue.component('provider-detail', {
1083            template: '#provider-detail-template',
1084            props: {
1085                provider: {
1086                    type: Object,
1087                    required: true,
1088                },
1089            },
1090            data() {
1091                return {
1092                    clinics: [],
1093                    doctors: [],
1094                    loaded: false,
1095                    searchDoctorsInput: '',
1096                    showDoctorDetails: "",
1097                    doctorsGroupBySpecialty: [],
1098                    closeDoctorsDetail: false,
1099                    doctorsData: [],
1100                    showOptions: false,
1101                };
1102            },
1103            created() {
1104                this.searchInformation();
1105                this.getDoctorsGroupBySpecialty();
1106                this.getAsignDoctors();
1107                this.showOptions = app.showInternalOptions;
1108            },
1109            computed: {
1110                isDoctor() {
1111                    return (this.provider.CODIGO || 0) == CATEGORY_DOCTOR_ID;
1112                },
1113                isClinic() {
1114                    return (this.provider.CODIGO || 0) == CATEGORY_MEDICAL_CENTER_ID;
1115                },
1116                filteredDoctors() {
1117                    let data = this.doctorsData.filter(currentDoctor => currentDoctor.Tipo.toLowerCase().includes(this.searchDoctorsInput.toLowerCase())
1118                        || currentDoctor.Datos.some(x => x.Nombre.toLowerCase().includes(this.searchDoctorsInput.toLowerCase()))
1119                    );
1120
1121                    let datosOf = [];
1122                    if (data.length < this.doctorsData.length) {
1123                        data.forEach((item, index) => {
1124                            item.Datos.forEach((ejemplo, indexItem) => {
1125                                if (ejemplo.Nombre.toLowerCase().includes(this.searchDoctorsInput.toLowerCase())) {
1126                                    datosOf.push({ Tipo: item.Tipo, Datos: [item.Datos[indexItem]] });
1127                                }
1128                            });
1129                        });
1130                    }
1131                    else {
1132                        datosOf = data;
1133                    }
1134                    return datosOf.length == 0 ? data : datosOf;
1135                },
1136            },
1137            methods: {
1138                searchInformation() {
1139                    if (!this.loaded) {
1140                        if (this.isDoctor) {
1141                            this.searchClinics();
1142                        }
1143
1144                        if (this.isClinic) {
1145                            this.searchDoctors();
1146                        }
1147                    }
1148                },
1149                searchClinics() {
1150                    if (this.isDoctor) {
1151                        axios.get(ENDPOINT + 'clinicas&doctor=' + this.provider.Codigo)
1152                            .then((result) => {
1153                                this.clinics = result.data;
1154                                this.loaded = true;
1155                            })
1156                            .catch((error) => {
1157                                this.$toast.open({
1158                                    type: 'is-danger',
1159                                    message: error,
1160                                    position: 'is-top-right',
1161                                });
1162                            });
1163                    }
1164                },
1165                searchDoctors() {
1166                    if (this.isClinic) {
1167                        axios.get(ENDPOINT + 'doctores&centro=' + this.provider.Codigo)
1168                            .then((result) => {
1169                                this.doctors = result.data;
1170                                this.loaded = true;
1171                            })
1172                            .catch((error) => {
1173                                this.$toast.open({
1174                                    type: 'is-danger',
1175                                    message: error,
1176                                    position: 'is-top-right',
1177                                });
1178                            });
1179                    }
1180                },
1181                getDoctorsGroupBySpecialty() {
1182                    this.doctorsGroupBySpecialty = this.provider.Medicos?.reduce((r, a) => {
1183                        r[a.TipoDescripcion] = [...r[a.TipoDescripcion] || [], a];
1184                        return r;
1185                    }, {});
1186                },
1187                getAsignDoctors() {
1188                    if (this.doctorsGroupBySpecialty != undefined) {
1189                        Object.entries(this.doctorsGroupBySpecialty).forEac
1189h((item) => {
1190                            this.doctorsData.push({ "Tipo": item[0], "Datos": item[1] });
1191                        });
1192                    }
1193
1194                },
1195                showSpecialtyDoctors(key) {
1196                    this.showDoctorDetails = key;
1197                    this.closeDoctorsDetail = !this.closeDoctorsDetail;
1198                }
1199            },
1200        });
1201
1202        Vue.component('v-select', VueSelect.VueSelect);
1203        Vue.component('vue-multiselect', window.VueMultiselect.default)
1204        var app = new Vue({
1205            el: '#app',
1206            data: {
1207                categories: [],
1208                selectedCategory: null,
1209                zones: [],
1210                premiums: [],
1211                selectedPremium: null,
1212                showInternalOptions: false,
1213                selectedZone: null,
1214                showMedicalSpecialty: false,
1215                showClinicDoctors: false,
1216                medicalSpecialties: [],
1217                selectedMedicalSpecialty: { CODIGO: 0, DESCRIPCION: 'Todas' },
1218                planesClases: [],
1219                selectedPlanClase: null,
1220                healthProviders: [],
1221                errors: [],
1222                loading: false,
1223                disabled: false,
1224                loaded: false,
1225                search: '',
1226                searchCentroTrabaja: '',
1227                includeDoctors: "",
1228                includeDoctorsRequest: "",
1229                currentPage: 1,
1230                selectedReport: null,
1231                optionsReport: [],
1232                isActive: false,
1233                direccion: '',
1234                loadingReport: false,
1235                footerYear: new Date().getFullYear(),
1236            },
1237            created() {
1238                this.getCategories();
1239                this.getZones();
1240                this.getPlanesClases();
1241                this.getPremiums();
1242                this.getOptionsReport();
1243                this.evaluateQueryStringParams();
1244            },
1245            methods: {
1246                getCategories() {
1247                    axios.get(ENDPOINT + 'categorias')
1248                        .then((result) => {
1249                            result.data.forEach(item => this.categories.push({ co: item.CODIGO, label: item.DESCRIPCION }));
1250                            //this.categories.unshift({ co: 0, label: 'Todas' });
1251                            //this.selectedCategory = this.categories[0];
1252                        })
1253                        .catch((error) => {
1254                            this.categories.unshift({ co: 0, label: 'Todas' });
1255                            this.selectedCategory = this.categories[0];
1256                            alert(this.showErrors("Categorias", error));
1257                            this.$toast.open({
1258                                type: 'is-danger',
1259                                message: error,
1260                                position: 'is-top-right',
1261                            });
1262                        });
1263                },
1264                getZones() {
1265                    axios.get(ENDPOINT + 'zonas')
1266                        .then((result) => {
1267                            result.data.forEach(item => this.zones.push({ co: item.CODIGO, label: item.DESCRIPCION }));
1268                            //this.zones.unshift({ co: 0, label: 'Todas' });
1269                            //this.selectedZone = this.zones[0];
1270                        })
1271                        .catch((error) => {
1272                            this.zones.unshift({ co: 0, label: 'Todas' });
1273                            this.selectedZone = this.zones[0];
1274                            alert(this.showErrors("Zonas", error));
1275                            this.$toast.open({
1276                                type: 'is-danger',
1277                                message: error,
1278                                position: 'is-top-right',
1279                            });
1280                        });
1281                },
1282                getPlanesClases() {
1283                    axios.get(ENDPOINT + 'planesClases')
1284                        .then((result) => {
1285                            result.data.forEach(item => this.planesClases.push({ co: item.Id, label: item.Descripcion }));
1286                            //this.planesClases.unshift({ co: 0, label: 'Todas' });
1287                            //this.selectedPlanClase = this.planesClases[0];
1288                        })
1289                        .catch((error) => {
1290                            this.planesClases.unshift({ Id: 0, Descripcion: 'Todas' });
1291                            this.selectedPlanClase = this.planesClases[0];
1292                            alert(this.showErrors("Planes", error));
1293                            this.$toast.open({
1294                                type: 'is-danger',
1295                                message: error,
1296                                position: 'is-top-right',
1297                            });
1298                        });
1299                },
1300                getMedicalSpecialties() {
1301                    axios.get(ENDPOINT + 'especialidades')
1302                        .then((result) => {
1303                            result.data.forEach(item => this.medicalSpecialties.push({ co: item.CODIGO, label: item.DESCRIPCION }));
1304                            this.selectedMedicalSpecialty = null;
1305                            //this.medicalSpecialties.unshift({ co: 0, label: 'Todas' });
1306                            //this.selectedMedicalSpecialty = this.medicalSpecialties[0];
1307                        })
1308                        .catch((error) => {
1309                            this.medicalSpecialties.unshift({ co: 0, label: 'Todas' });
1310                            this.selectedMedicalSpecialty = this.medicalSpecialties[0];
1311                            alert(this.showErrors("Especialidades", error));
1312
1313                            this.errors.push(error);
1314                            this.$toast.open({
1315                                type: 'is-danger',
1316                                message: error,
1317                                position: 'is-top-right',
1318                            });
1319                        });
1320                },
1321                chooseCategory() {
1322                    //if (this.selectedCategory.co == CATEGORY_DOCTOR_ID) {
1323                    //    this.searchCentroTrabaja = "";
1324                    //    this.showMedicalSpecialty = true;
1325                    //    this.showClinicDoctors = false;
1326                    //    this.includeDoctors = false;
1327                    //    this.getMedicalSpecialties();
1328                    //}
1329                    //else if (this.selectedCategory.co == CATEGORY_MEDICAL_CENT
1329ER_ID) {
1330                    //    this.showClinicDoctors = true;
1331                    //    this.showMedicalSpecialty = false;
1332                    //    this.selectedMedicalSpecialty = { co: 0, label: 'Todas' };
1333                    //}
1334                    //else {
1335                    //    this.showMedicalSpecialty = false;
1336                    //    this.showClinicDoctors = false;
1337                    //    this.selectedMedicalSpecialty = { co: 0, label: 'Todas' };
1338                    //    this.includeDoctors = false;
1339                    //}
1340
1341
1342                    if (this.selectedCategory.some(x => x.co == CATEGORY_DOCTOR_ID)) {
1343                        this.searchCentroTrabaja = "";
1344                        this.showMedicalSpecialty = true;
1345                        this.getMedicalSpecialties();
1346                    }
1347                    else {
1348                        this.showMedicalSpecialty = false;
1349                        this.selectedMedicalSpecialty = { co: 0, label: 'Todas' };
1350                    }
1351
1352                    if (this.selectedCategory.some(x => x.co == CATEGORY_MEDICAL_CENTER_ID)) {
1353                        this.showClinicDoctors = true;
1354                    }
1355                    else {
1356                        this.showClinicDoctors = false;
1357                    }
1358
1359                },
1360                getPremiums() {
1361                    this.premiums = [
1362/*                        { co: null, label: 'Todas' },*/
1363                        { co: 1, label: 'SI' },
1364                        { co: 0, label: 'NO' }
1365                    ]
1366                    //this.selectedPremium = this.premiums[0];
1367                },
1368                getOptionsReport() {
1369                    this.optionsReport = [
1370                        { CODIGO: null, DESCRIPCION: 'Reporte' },
1371                        { CODIGO: 0, DESCRIPCION: 'PDF' },
1372                        { CODIGO: 1, DESCRIPCION: 'EXCEL' }
1373                    ]
1374                },
1375                searchHealthProviders() {
1376                    this.loaded = true;
1377                    this.loading = true;
1378                    this.disabled = true;
1379                    this.healthProviders = [];
1380                    this.includeDoctorsRequest = this.includeDoctors ? "1" : "0";
1381
1382                    let categoriesSelected = this.selectedCategory != null ? Array.prototype.map.call(this.selectedCategory, x => x.co).toString() : "0";
1383                    let zonesSelected = this.selectedZone != null ? Array.prototype.map.call(this.selectedZone, x => x.co).toString() : "0";
1384                    let premiumSelected = this.selectedPremium != null ? this.selectedPremium.co : "";
1385                    let specialtiesSelected = this.selectedMedicalSpecialty != null ? Array.prototype.map.call(this.selectedMedicalSpecialty, x => x.co).toString() : "0";
1386                    let planClaseSelected = this.selectedPlanClase != null ? this.selectedPlanClase.co : "0";
1387
1388                    axios.get(ENDPOINT + 'prestadores&zona=' + zonesSelected + '&categoria=' + categoriesSelected + '&nombre=' + this.search + '&subcategoria=' + specialtiesSelected + '&planClase=' + planClaseSelected + '&premium=' + premiumSelected + '&trabajaen=' + this.searchCentroTrabaja + '&incluyemedicosacentros=' + this.includeDoctorsRequest + '&direccion=' + this.direccion)
1389                        .then((result) => {
1390                            //console.log(result);
1391                            this.currentPage = 1;
1392                            this.healthProviders = result.data;
1393                            this.loading = false;
1394                            this.disabled = false;
1395                        })
1396                        .catch((error) => {
1397                            this.loading = false;
1398                            this.disabled = false;
1399                            this.healthProviders = [];
1400                            alert(error);
1401                            console.log(error);
1402                            this.$toast.open({
1403                                type: 'is-danger',
1404                                message: error,
1405                                position: 'is-top-right',
1406                            });
1407                        });
1408                },
1409                showDetail(row) {
1410                    this.$refs.table.toggleDetails(row);
1411                },
1412                getFilteredData() {
1413                    let filteredData = [];
1414                    this.healthProviders.map(item => {
1415                        let data = {
1416                            NOMBRE: item.Nombre ?? "",
1417                            TIPO: item.TipoDescripcion ?? "",
1418                            MUNICIPIO: item.Municipio != null ? item.Municipio.Descripcion : "",
1419                            PROVINCIA: item.Provincia?.Descripcion ?? "",
1420                            DIRECCION: item.Direccion?.toUpperCase() ?? "",
1421                            TELEFONO: item.Telefono1 ?? "",
1422                            TELEFONO_2: item.Telefono2?.length > 6 ? item.Telefono2 : "",
1423                            UBICACION: item.UbicacionMapa ?? "",
1424                            HORARIOS: item.Horario ?? ""
1425                        }
1426
1427                        if (item.CentroTrabaja != null) {
1428                            data.TRABAJA_EN = item.CentroTrabaja.Nombre?.toUpperCase();
1429                            data.TELEFONO_TRABAJO = item.CentroTrabaja.Telefono1;
1430                        }
1431
1432                        if (item.CentroTrabaja2 != null) {
1433                            data.CENTRO_TRABAJO2 = item.CentroTrabaja2.Nombre?.toUpperCase();
1434                            data.TELEFONO_TRABAJO2 = item.CentroTrabaja2.Telefono1;
1435                        }
1436
1437
1438                        if (this.evaluateQueryStringParams()) {
1439                            data.CORREO = item.Correo?.toUpperCase() ?? "";
1440                            data.PREMIUM = item.Premium == true ? "SI" : "NO";
1441                        }
1442
1443                        filteredData.push(data);
1444                    });
1445                    return filteredData;
1446                },
1447                exportPDF() {
1448                    this.loadingReport = true;
1449                    let document;
1450                    document = new jsPDF('p', 'pt', 'a5');
1451                    document.text("PRESTADORES DE SERVICIO", 95, 25);
1452                    var pageWidth = 595;
1453                    var pageHeight = 842;
1454                    var pageMargin = 70;
1455
1456                    pageWidth -= pageMargin * 2;
1457                    pageHeight -= pageMargin * 2;
1458
1459                    var cellPadding = 10;
1460                    var cellWidth = 185;
1461                    var cellHeight = 70;
1462                    var lineHeight = 14;
1463
1464                    var startX = pageMargin;
1465                    var startY = pageMargin;
1466
1467                    document.setFontSize(8);
1468
1469                    var page = 1;
1470
1471                    function createCard(item) {
1472                        var requiredWidth = startX + cellWidth + (cellPadding * 2);
1473                        var requiredHeight = startY + cellHeight + (cellPadding * 2);
1474
1475                        if (requiredWidth <= pageWidth) {
1476                            textWriter(item, startX + cellPadding, startY + cellPadding);
1477                            startX = requiredWidth;
1478                            //  startY += cellHeight + cellPadding;
1479                        } else {
1480                            if (requiredHeight > pageHeight) {
1481                                document.addPage();
1482                                page++;
1483                                document.setPage(page);
1484                                startY = pageMargin;
1485                            } else {
1486                                startY = requiredHeight;
1487                            }
1488
1489                            startX = pageMargin;
1490                            textWriter(item, startX + cellPadding, startY + cellPadding);
1491                            startX = startX + cellWidth + (cellPadding * 2);
1492                        }
1493                    }
1494
1495                    function textWriter(item, xAxis, yAxis) {
1496                        xAxis -= 33;
1497                        document.setFillColor(238, 238, 238);
1498
1499                        document.rect(xAxis - 13, yAxis - lineHeight, 353, 74.5, 'F');
1500
1501                        let pageWidth = document.internal.pageSize.width || document.internal.pageSize.getWidth();
1502                        let ParaWidth = 353 * 0.85;
1503                        let LeftMargin = (pageWidth - ParaWidth) / 2;
1504                        let nombre = document.splitTextToSize(item.NOMBRE, ParaWidth);
1505                        let direccion = document.splitTextToSize(item.MUNICIPIO + ', ' + item.DIRECCION, ParaWidth);
1506
1507
1508                        //data
1509                        document.setFontType('bold');
1510                        document.text(xAxis - 8, yAxis, "Prestador: ");
1511                        document.setFontType('normal');
1512                        document.text((LeftMargin + xAxis) - 22, yAxis, nombre);
1513
1514                        document.setFontType('bold');
1515                        document.text(xAxis - 8, yAxis + (lineHeight * 1.2), "Tipo: ");
1516                        document.setFontType('normal');
1517                        document.text(xAxis + 16, yAxis + (lineHeight * 1.2), item.TIPO);
1518
1519                        document.setFontType('bold');
1520                        document.text(xAxis - 8, yAxis + (lineHeight * 2), "Telefono: ");
1521                        document.setFontType('normal');
1522                        document.text(xAxis + 32, yAxis + (lineHeight * 2), item.TELEFONO);
1523
1524                        document.setFontType('bold');
1525                        document.text(xAxis - 8, yAxis + (lineHeight * 3), "Direccion: ");
1526                        document.setFontType('normal');
1527                        document.text((LeftMargin + xAxis) - 25, (yAxis + lineHeight * 3), direccion);
1528
1529                        document.setFontType('bold');
1530                        document.text(xAxis - 8, yAxis + (lineHeight * 4), item.PREMIUM == "SI" ? "ES PREMIUM" : "");
1531                    }
1532
1533                    for (var i = 0; i < this.getFilteredData().length; i++) {
1534                        createCard(this.getFilteredData()[i]);
1535                    }
1536
1537                    document.save('ProveedoresPss.pdf');
1538                    this.loadingReport = false;
1539                },
1540                exportEXCEL() {
1541                    this.loadingReport = true;
1542                    let datos = this.getFilteredData();
1543                    datos.forEach(u => { delete u.UBICACION; });
1544                    let data = XLSX.utils.json_to_sheet(datos);
1545
1546                    let headers = [
1547                        { wch: 30 },
1548                        { wch: 30 },
1549                        { wch: 30 },
1550                        { wch: 30 },
1551                        { wch: 30 },
1552                        { wch: 15 },
1553                        { wch: 15 },
1554                        { wch: 30 },
1555                        { wch: 10 },
1556                        { wch: 10 },
1557                        { wch: 30 },
1558                        { wch: 10 },
1559                    ];
1560
1561                    data['!cols'] = headers;
1562                    let workbook = XLSX.utils.book_new();
1563
1564                    let fileName = "ProveedoresPss";
1565                    XLSX.utils.book_append_sheet(workbook, data, fileName);
1566                    XLSX.writeFile(workbook, `${fileName}.xlsx`);
1567                    this.loadingReport = false;
1568                },
1569                exportTarjeta() {
1570                    this.loading = true;
1571
1572                    let docType = window.document.implementation.createDocumentType('html', '', '');
1573                    let dom = window.document.implementation.createDocument('', 'html', docType);
1574                    let head = document.createElement('head');
1575                    head.innerHTML = `
1576                        <meta charset="UTF-8">
1577                        <meta http-equiv="X-UA-Compatible" content="IE=edge">
1578                        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
1579                        <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" />
1580                    `;
1581                    let body = document.createElement('body');
1582                    const style = document.createElement('style');
1583
1584                    style.innerHTML = `
1585                            body {
1586                                background: #F8F9F9;
1587                                font-family: Museo, HelveticaNeue-Light, Helvetica Neue Light, Helvetica Neue, Helvetica, Arial, "Lucida Grande", sans-serif
1588                            }
1589
1590                            table {
1591                                min-width: 100%;
1592                                border-collapse: collapse;
1593                            }
1594
1595                            .card {
1596                                display: block;
1597                                background-color: #fff;
1598                                border: 1px solid rgba(0, 0, 0, .125);
1599                                border-radius: .125rem;
1600                            }
1601                            .card-title{
1602                                margin-top: 150px;
1603                            }
1604
1605                            tr {
1606
1607                                flex: 1 1 auto;
1608                                padding: 1.25rem;
1609                            }
1610
1611                            tbody tr {
1612                                border-bottom: 1px solid #DBDBDB;
1613                            }
1614
1615                            thead tr {
1616                                border-bottom: 2px solid #DBDBDB;
1617                            }
1618
1619                            thead tr th:hover {
1620                                border-bottom: 2px solid #5A6466;
1621                            }
1622
1623                            a {
1624                                text-decoration: none
1625                            }
1626
1627                            /* HEADER */
1628                            .main-header {
1629                                position: fixed;
1630                                top: 0;
1631                                left: 0;
1632                                right: 0;
1633                                z-index: 100;
1634                            }
1635
1636                            .header {
1637                                line-height: 44px;
1638                                background-color: #00afec;
1639                            }
1640
1641                            .header-inner {
1642                                display: flex;
1643                                padding: 0 20px;
1644                                color: #fff;
1645                                margin: 0 33px;
1646                            }
1647
1648                            .header-tagline {
1649                                color: inherit;
1650                                font-family: "Museo-Sans",Arial,sans-serif;
1651                                font-size: 13px;
1652                                font-weight: 400;
1653                                margin: 0 15px 0 0;
1654                            }
1655
1656                            .header-tagline a{
1657                                color: #fff
1658                            }
1659
1660                            .header-inner .toolbar {
1661                                flex: 1;
1662                                justify-content: flex-end;
1663                            }
1664
1665                            .header-icon {
1666                                color: #fff;
1667                                font-size: 16px;
1668                            }
1669
1670                            .toolbar {
1671                                display: flex;
1672                                align-items: flex-end;
1673                                padding: 0;
1674                                margin: 0;
1675                            }
1676
1677                            .toolbar-item {
1678                                display: flex;
1679                                align-self: center;
1680                            }
1681
1682                            .header-icon:hover{
1683                               color: #CF3B93
1684                            }
1685
1686                            .item-toolbar  {
1687                                margin: 0 5px;
1688                                color: #fff;
1689                            }
1690
1691                            ul {
1692                                list-style: none;
1693                            }
1694
1695
1696                            /* NAVBAR */
1697                            .navbar {
1698                                height: 80px;
1699                                background-color: #fff;
1700                                box-shadow: 0 0 3px 0 rgb(76 76 76 / 14%);
1701                                display: flex;
1702                                flex-wrap: wrap;
1703                                width: 100%;
1704                                box-sizing: border-box;
1705                                top: 0;
1706                                z-index: 100;
1707                            }
1708
1709                            .navbar-inner {
1710                                margin: 0 24.5px 0 20px;
1711                                width: 100%;
1712                                display: flex;
1713                                flex-wrap: wrap;
1714                                flex: 1;
1715                                justify-content: space-between;
1716                            }
1717
1718                            .navigation-brand {
1719                                display: flex;
1720                                align-items: center;
1721                            }
1722
1723                            .logo {
1724                                position: relative;
1725                                height: 90px;
1726                                width: 120px;
1727                                background-position: center;
1728                                background-position-y: -28px;
1729                                background-size: cover;
1730                            }
1731
1732                            .logo img {
1733                                width: 120px;
1734                                margin-top: 10px;
1735                            }
1736
1737                            .logo::after {
1738                                content: "";
1739                                width: 2px;
1740                                height: 100%;
1741                                background-color: #fff;
1742                            }
1743
1744                            a, a:hover {
1745                                text-decoration: none;
1746                            }
1747
1748                            .logo, .phone {
1749                                background-repeat: no-repeat;
1750                                background-size: contain;
1751                            }
1752
1753                            .phone img {
1754                                height: 70px;
1755                            }
1756
1757                            .navigation {
1758                                padding: 0;
1759                                flex-direction: column;
1760                                flex-wrap: wrap;
1761                                justify-content: flex-end;
1762                                background-color: #fff;
1763                            }
1764
1765                            .navigation-item {
1766                                position: relative;
1767                                justify-content: space-evenly;
1768                                border-style: solid;
1769                                border-radius: 22px;
1770                                border-color: #00afec;
1771                                margin: 10px 2px 2px 12px;
1772                                border-width: 1px;
1773                            }
1774
1775                            .enlace-navigation {
1776                                border-top: none;
1777                                color: #00afec;
1778                                font-size: .9375rem;
1779                                font-weight: 200;
1780                                line-height: 34px;
1781                                text-transform: uppercase;
1782                                text-align: center;
1783                                white-space: nowrap;
1784                                -o-border-image: initial;
1785                                border-image: initial;
1786                                padding: 0 20px;
1787                            }
1788
1789                            .navigation-item .active {
1790                                font-weight: 700;
1791                                border-width: 1px;
1792                                border-color: #00afec;
1793                            }
1794
1795                            .navigation-item .active, .navigation-item:hover {
1796                                border-radius: 32px;
1797                                border-width: 2px;
1798                                cursor: pointer;
1799                            }
1800
1801                            .card-title {
1802                                margin-bottom: 1.5rem;
1803                                text-align: center;
1804                                font-weight: 400;
1805                                color: #5a6466;
1806                                font-size: 20px;
1807                                padding-top: 15px;
1808                                margin-left: 35px;
1809                                margin-right: 35px;
1810                                padding-left: 10px;
1811                                padding-right: 10px;
1812                            }
1813
1814
1815                            th {
1816                                color: #000;
1817                                font-weight: bold;
1818                                padding: 18px;
1819                            }
1820
1821                            td,
1822                            th {
1823                                padding: 12px;
1824                                text-align: left;
1825                            }
1826
1827                            .tdNombre a,
1828                            .tdNombre a:visited {
1829                                color: #000;
1830                            }
1831
1832                            .icon {
1833                                text-align: right;
1834                            }
1835
1836                            #telefono,
1837                            #correo,
1838                            #ubicacion {
1839                                color: #009FE3;
1840                            }
1841
1842                            .direccion,
1843                            .correo,
1844                            .premium,
1845                            .telefono2,
1846                            .ubicacion,
1847                            .trabajo,
1848                            .telefonoTrabajo,
1849                            .trabajo2,
1850                            .telefonoTrabajo2,
1851                            .horarios{
1852                                display: none;
1853                            }
1854                            .detail {
1855                                box-shadow: inset 0 1px 3px #dbdbdb;
1856                                background: #fafafa;
1857                            }
1858
1859                            .detail-container {
1860                                margin: 16px;
1861                                line-height: 2.5;
1862                            }
1863
1864                            h5 {
1865                                font-size: 14px;
1866                                margin-bottom: .8888em;
1867                                color: #363636;
1868                                font-weight: 600;
1869                                line-height: 1.125;
1870                            }
1871
1872                            .small-header {
1873                                font-size: 65%;
1874                                color: #7a7a7a;
1875                            }
1876
1877                            h3{
1878                                margin-top: 8px;
1879                                text-align: center;
1880                                font-weight: 400;
1881                                color: #5a6466;
1882                                font-size: 20px;
1883                            }
1884
1885                            .table-filter {
1886                                border: 0;
1887                                background-image: linear-gradient(#00afec, #00afec), linear-gradient(#bfc8ca, #bfc8ca);
1888                                background-size: 0 2px, 100% 1px;
1889                                background-repeat: no-repeat;
1890                                background-position: center bottom, center calc(100% - 1px);
1891                                background-color: transparent;
1892                                transition: background 0 ease-out;
1893                                box-shadow: none;
1894                                width: 100%;
1895                                margin-bottom: 8px;
1896                                padding: 10px;
1897                            }
1898
1899                            .table-filter:focus {
1900                                box-shadow: none;
1901                                outline: none;
1902                                background-image: linear-gradient(#00A8E6, #00A8E6), linear-gradient(#00A8E6, #00A8E6);
1903                            }
1904
1905                            .currentTrabajo2{
1906                                display: block; 
1907                                margin-left: 70px;
1908                                line-height: 1;
1909                            }
1910
1911                            .small-horario-direccion{
1912                                padding-left: 12px;
1913                            }
1914
1915                            @media only screen and (max-width: 760px) and (max-width: 1024px) {
1916
1917                                table,
1918                                thead,
1919                                tbody,
1920                                th,
1921                                td,
1922                                tr {
1923                                    display: block;
1924                                }
1925
1926                                thead tr {
1927                                    position: absolute;
1928                                    top: -9999px;
1929                                    left: -9999px;
1930                                }
1931
1932                                tr {
1933                                    overflow-wrap: break-word;
1934                                    box-shadow: 0 2px 3px rgb(10 10 10 / 10%), 0 0 0 1px rgb(10 10 10 / 10%);
1935                                    max-width: 100%;
1936                                    position: relative;
1937                                    display: block;
1938                                    margin-bottom: 1rem;
1939                                }
1940
1941                                td {
1942                                    border: none;
1943                                    border-bottom: 1px solid #eee;
1944                                    position: relative;
1945                                    color: #363636;
1946
1947                                }
1948
1949                                td:before {
1950                                    display: block;
1951                                    font-weight: 600;
1952                                }
1953
1954                                td.icon {
1955                                    padding: 0;
1956                                    height: 25px;
1957                                }
1958
1959                                td:nth-of-type(1):before {
1960                                    content: "";
1961                                }
1962
1963                                td:nth-of-type(2):before {
1964                                    content: "Nombre:";
1965                                    font-weight: bold;
1966                                }
1967
1968                                td:nth-of-type(3):before {
1969                                    content: "Tipo:";
1970                                    font-weight: bold;
1971                                }
1972
1973                                td:nth-of-type(4):before {
1974                                    content: "Telefonos:";
1975                                    font-weight: bold;
1976                                }
1977
1978                                td:nth-of-type(5):before {
1979                                    content: "Direccion:";
1980                                    font-weight: bold;
1981                                }
1982
1983                                td:nth-of-type(6):before {
1984                                    content: "Correo:";
1985                                    font-weight: bold;
1986                                }
1987
1988                                td:nth-of-type(7):before {
1989                                    content: "";
1990                                    font-weight: bold;
1991                                }
1992
1993                                td:nth-of-type(8):before {
1994                                    content: "Ubicacion:";
1995                                    font-weight: bold;
1996                                }
1997
1998                                .detail {
1999                                    margin-top: -14px;
2000                                }
2001
2002                                .detalle {
2003                                    padding: 0;
2004                                }
2005
2006                                .provider-detail {
2007                                    display: block;
2008                                    margin: 2;
2009                                    padding: 4;
2010                                }
2011
2012                                .header {
2013                                    height: 75px;
2014                                    line-height: 44px;
2015                                }
2016
2017                                .header-inner {
2018                                    display: flex;
2019                                    flex-direction: column;
2020                                    margin: 0;
2021                                }
2022
2023                                .header-inner 
2024                                .header-tagline {
2025                                    font-size: 10px;
2026                                }
2027
2028                                .navigation{
2029                                    display: none;
2030                                }
2031
2032                                .toolbar li{
2033                                    margin-right: auto;
2034                                }
2035                                
2036                                .card-title{
2037                                    margin-left:0;
2038                                    margin-right:0;
2039                                }
2040                
2041                                table{
2042                                    font-size: 10px;
2043                                }
2044
2045                                .provider-detail-telefono{
2046                                    margin-right: -10px;
2047                                }
2048
2049                                .currentTrabajo2{
2050                                    margin: 0;
2051                                }
2052
2053                            }
2054                            `;
2055                    let header = document.createElement('header');
2056                    header.classList.add('main-header');
2057                    header.innerHTML =
2058                        `
2059                                    <div class="header">
2060                                        <div class="header-inner">
2061                                            <span class="header-tagline">
2062                                                <a href="https://goo.gl/maps/QpfDzhEVtmCn4dfG6" target="_blank">
2063                                                    <i class="fas fa-map-marker-alt"></i>
2064                                                    Av. A. Lincoln No. 849, Ens. Piantini, Santo Domingo, Rep. Dom.
2065                                                </a>
2066                                            </span>
2067                                            <ul class="toolbar">
2068                                                <li class="toolbar-item">
2069                                                    <a href="https://www.facebook.com/ARSYunenRD/" class="item-toolbar"  target="_blank">
2070                                                        <i class="header-icon fab fa-facebook-square"></i>
2071                                                    </a>
2072                                                </li>
2073                                                <li class="toolbar-item">
2074                                                    <a href="https://www.instagram.com/arsyunenrd/" class="item-toolbar"  target="_blank">
2075                                                        <i class="header-icon fab fa-instagram-square"></i>
2076                                                    </a>
2077                                                </li>
2078                                                <li class="toolbar-item">
2079                                                    <a href="https://www.linkedin.com/company/ars-yun%C3%A9n/posts/?feedView=all" class="item-toolbar"  target="_blank">
2080                                                        <i class="header-icon fab fa-linkedin"></i>
2081                                                    </a>
2082                                                </li>
2083                                                <li class="toolbar-item">
2084                                                    <a href="mailto:[email protected]" class="item-toolbar"  target="_blank">
2085                                                        <i class="header-icon fas fa-envelope"></i>
2086                                                    </a>
2087                                                </li>
2088                                            </ul>
2089                                        </div>
2090                                    </div>
2091                                   <nav class="navbar">
2092                                        <div class="navbar-inner">
2093                                            <div class="navigation-brand">
2094                                                <a href="http://www.arsyunen.com">
2095                                                    <div class="logo">
2096                                                        <img src="https://servicios.arsyunen.com/Img/logo%20yu
2096nen%20grande.png" class="logo-yunen" alt="">
2097                                                    </div>
2098                                                </a>
2099                                                <a href="tel:809-334-3030">
2100                                                    <div class="phone">
2101                                                        <img src="https://servicios.arsyunen.com/Img/phone.jpg" alt="">
2102                                                    </div>
2103                                                </a>
2104                                                <ul class="navigation">
2105                                                    <li class="navigation-item active">
2106                                                        <a href="http://www.arsyunen.com" class="enlace-navigation">home</a>
2107                                                    </li>
2108                                                </ul>
2109                                            </div>
2110                                        </div>
2111                                    </nav>
2112                        `;
2113
2114                    let divPrincipal = document.createElement('div');
2115                    let headerText = document.createElement('h3');
2116                    headerText.innerText = "Prestadores de Servicio de Salud";
2117                    divPrincipal.appendChild(headerText);
2118                    divPrincipal.classList.add('card-title');
2119
2120                    let inputSearch = document.createElement('input');
2121                    inputSearch.type = 'text';
2122                    inputSearch.id = "buscar";
2123                    inputSearch.classList.add('table-filter');
2124                    inputSearch.setAttribute('data-table', 'tabla');
2125                    inputSearch.setAttribute('placeholder', 'Buscar...');
2126
2127                    divPrincipal.appendChild(inputSearch);
2128                    let divCard = document.createElement('div');
2129                    divCard.classList.add('card');
2130
2131                    divPrincipal.appendChild(divCard);
2132                    let tabla = document.createElement('table');
2133                    tabla.classList.add('tabla');
2134                    let thead = document.createElement('thead');
2135                    thead.innerHTML =
2136                        `
2137                            <tr>
2138                                <th></th>
2139                                <th>Nombre</th>
2140                                <th>Tipo</th>
2141                                <th>Telefonos</th>
2142                            </tr>
2143                        `;
2144
2145                    let tbody = document.createElement('tbody');
2146                    let divDoctores = document.createElement('div');
2147                    let ul = document.createElement('ul');
2148
2149                     
2150
2151                    for (let i = 0; i < this.getFilteredData().length; i++) {
2152                        this.healthProviders.forEach((item, index) => {
2153                            if (item.Medicos != null) {
2154                            }
2155
2156                        });
2157
2158                        tbody.innerHTML +=
2159                            `
2160                                <tr id=${i}>
2161                                    <td class="icon"><a href="#"><span class="iconify" data-icon="mdi-chevron-right" data-inline="false"></a></td>
2162                                    <td class="enlace"> <span class="tdNombre"> <a href="#"> ${this.getFilteredData()[i].NOMBRE}</a> </span></td>
2163                                    <td>${this.getFilteredData()[i].TIPO}</td>
2164                                    <td><a id="telefono" href="tel:${this.getFilteredData()[i].TELEFONO}">${this.getFilteredData()[i].TELEFONO}</a></td>
2165                                    <td class="telefono2"><a id="telefono" href="tel:${this.getFilteredData()[i].TELEFONO_2}">${this.getFilteredData()[i].TELEFONO_2}</a></td>
2166                                    <td class="direccion">${this.getFilteredData()[i].DIRECCION}, ${this.getFilteredData()[i].MUNICIPIO}, ${this.getFilteredData()[i].PROVINCIA}</td>
2167                                    <td class="correo">${this.getFilteredData()[i].CORREO}</td>
2168                                    <td class="premium">${this.getFilteredData()[i].PREMIUM}</td>
2169                                    <td class="ubicacion">${this.getFilteredData()[i].UBICACION}</td>
2170                                    <td class="trabajo">${this.getFilteredData()[i].TRABAJA_EN}</td>
2171                                    <td class="telefonoTrabajo">${this.getFilteredData()[i].TELEFONO_TRABAJO}</td>
2172                                    <td class="trabajo2">${this.getFilteredData()[i].CENTRO_TRABAJO2}</td>
2173                                    <td class="telefonoTrabajo2">${this.getFilteredData()[i].TELEFONO_TRABAJO2}</td>
2174                                    <td class="horarios">${this.getFilteredData()[i].HORARIOS}</td>
2175                                </tr>
2176                            `
2177                    }
2178
2179                    divDoctores.appendChild(ul);
2180                    divPrincipal.appendChild(divDoctores);
2181
2182                    let script = document.createElement('script');
2183                    script.setAttribute('src', "https://code.iconify.design/1/1.0.7/iconify.min.js");
2184
2185                    let script2 = document.createElement('script');
2186
2187                    script2.textContent =
2188                        `
2189                        let evento = document.addEventListener('click', function MostrarDetalles(e) {
2190            
2191                        let elementoLink = e.target.parentElement.parentElement.parentElement;
2192                        let elementosClases = document.getElementsByClassName(elementoLink.id);
2193                        if (elementoLink.children[0].classList.contains('icon') || elementoLink.children[1].classList.contains('enlace')) {
2194                            e.preventDefault();
2195                            let elemento = e.target.parentElement.parentElement.parentElement;
2196                            let idElemento = elemento.id;
2197                            let element = document.getElementById(idElemento);
2198
2199                            let trOpen = document.getElementsByClassName('is-open'); 
2200                            if (idElemento != '' || idElemento != null) {
2201                                 if (trOpen[0]?.id == idElemento) {
2202                                     trOpen[0].remove();
2203                                     trOpen[1].remove();
2204                                 }
2205
2206                                 if(trOpen[1]?.id == idElemento){
2207                                     trOpen[1].remove();
2208                                     trOpen[2].remove();
2209                                 }
2210
2211                                 if(trOpen[2]?.id == idElemento){
2212                                     trOpen[2].remove();
2213                                     trOpen[3].remove();
2214                                 }
2215
2216                                 if(trOpen[3]?.id == idElemento){
2217                                     trOpen[3].remove();
2218                                     trOpen[4].remove();
2219                                 }
2220
2221                                 if(trOpen[4]?.id == idElemento){
2222                                     trOpen[4].remove();
2223                                     trOpen[5].remove();
2224                                 }
2225
2226                                 if(trOpen[5]?.id == idElemento){
2227                                     trOpen[5].remove();
2228                                     trOpen[6].remove();
2229                                 }
2230                   
2231                                 if(trOpen[6]?.id == idElemento){
2232                                     trOpen[6].remove();
2233                                     trOpen[7].remove();
2234                                 }
2235                   
2236                                 if(trOpen[7]?.id == idElemento){
2237                                     trOpen[7].remove();
2238                                     trOpen[8].remove();
2239                                 }
2240
2241                                 if(trOpen[9]?.id == idElemento){
2242                                     trOpen[9].remove();
2243                                     trOpen[10].remove();
2244                                 }
2245
2246                                 if(trOpen[10]?.id == idElemento){
2247                                     trOpen[10].remove();
2248                                     trOpen[11].remove();
2249                                 }
2250                   
2251                   
2252                                 if(trOpen[11]?.id == idElemento){
2253                                     trOpen[11].remove();
2254                                     trOpen[12].remove();
2255                                 }
2256
2257                                 if(trOpen[12]?.id == idElemento){
2258                                     trOpen[12].remove();
2259                                     trOpen[13].remove();
2260                                 }
2261
2262                                 if(trOpen[14]?.id == idElemento){
2263                                     trOpen[14].remove();
2264                                     trOpen[15].remove();
2265                                 }
2266                   
2267                                 if(trOpen[15]?.id == idElemento){
2268                                     trOpen[15].remove();
2269                                     trOpen[16].remove();
2270                                 }    
2271
2272                                if(trOpen[16]?.id == idElemento){
2273                                     trOpen[16].remove();
2274                                     trOpen[17].remove();
2275                                 }   
2276                     
2277                                 if(trOpen[17]?.id == idElemento){
2278                                     trOpen[17].remove();
2279                                     trOpen[18].remove();
2280                                 }    
2281                                 if(trOpen[18]?.id == idElemento){
2282                                     trOpen[18].remove();
2283                                     trOpen[19].remove();
2284                                 } 
2285                                 if(trOpen[20]?.id == idElemento){
2286                                     trOpen[20].remove();
2287                                     trOpen[21].remove();
2288                                 }    
2289                   
2290                                ShowDetails(idElemento);
2291                            }
2292                        }
2293
2294                    });
2295                            function ShowDetails(elem) {
2296
2297                            let elementoHtml = document.getElementById(elem);
2298                            let currentNombre = elementoHtml.children[1].textContent;
2299                            let currentTipo = elementoHtml.children[2].textContent;
2300                            let currentTelefono1 = elementoHtml.children[3].textContent;
2301                            let currentTelefono2 = elementoHtml.children[4].textContent;
2302                            let currentDireccion = elementoHtml.children[5].textContent;
2303                            let currentCorreo = elementoHtml.children[6].textContent;
2304                            let currentPremium = elementoHtml.children[7].textContent;
2305                            let currentLocation = elementoHtml.children[8].textContent;
2306                            let currentTrabajo = elementoHtml.children[9].textContent;
2307                            let currentTelefonoTrabajo = elementoHtml.children[10].textContent;
2308                            let currentTrabajo2 = elementoHtml.children[11].textContent;
2309                            let currentTelefonoTrabajo2 = elementoHtml.children[12].textContent;
2310                            let currentHorarios = elementoHtml.children[13].textContent;
2311    
2312                            let trDetails = document.createElement('tr');
2313                            trDetails.classList.add('detail', 'is-open');
2314                            trDetails.id = elem;
2315                            trDetails.classList.add(elem);
2316                            let td = document.createElement('td');
2317                            td.setAttribute('colspan', 4);
2318                            td.classList.add('detalle');
2319                            let divDetailContainer = document.createElement('div');
2320                            divDetailContainer.classList.add('detail-container');
2321                            let divProviderDetails = document.createElement('div');
2322                            divProviderDetails.classList.add('provider-details');
2323
2324                            let media = document.createElement('article');
2325                            media.classList.add('media');
2326
2327                            let divMediaContent = document.createElement('div');
2328                            divMediaContent.classList.add('media-content');
2329
2330                            let divContent = document.createElement('div');
2331                            divContent.classList.add('content');
2332
2333                            let divContentPadre = document.createElement('div');
2334                            let divContentHijo = document.createElement('div');
2335
2336                            let h5 = document.createElement('h5');
2337                            h5.textContent = currentNombre;
2338                            let smallH5 = document.createElement('small');
2339                            smallH5.textContent = currentTipo;
2340                            smallH5.classList.add('small-header');
2341                            h5.appendChild(smallH5);
2342                            divContentHijo.appendChild(h5);
2343
2344         
2345                            if(currentHorarios != ''){
2346                                if(currentHorarios != 'undefined'){
2347                                    let spanPadre = document.createElement('span');
2348                                    spanPadre.style.display = 'flex';
2349                                    spanPadre.classList.add('provider-detail', 'is-capitalized');
2350                                    let small = document.createElement('small');
2351                                    small.style.lineHeight = "1.5";
2352                                    let strong = document.createElement('strong');
2353                                    strong.textContent = "Direccion: ";
2354                                    let contenido = document.createElement('span');
2355                                    contenido.textContent = currentDireccion;
2356                                    small.appendChild(strong);
2357                                    small.appendChild(contenido);
2358
2359                                    let smallHorario = document.createElement('small');
2360                                    smallHorario.classList.add('small-horario-direccion');
2361                                    smallHorario.style.lineHeight = "1.5"
2362                                    let strongHorario = document.createElement('strong');
2363                                    strongHorario.textContent = "Horarios: "
2364                                    let contenidoHorario = document.createElement('span');
2365                                    contenidoHorario.textContent = currentHorarios;
2366                                    smallHorario.appendChild(strongHorario);
2367                                    smallHorario.appendChild(contenidoHorario);
2368
2369
2370                                    spanPadre.appendChild(small);
2371                                    spanPadre.appendChild(smallHorario);
2372                                    divContentHijo.appendChild(spanPadre);
2373                                }
2374                            }
2375                            else{
2376                                divContentHijo.appendChild(CreateElement('Direccion: ', currentDireccion))
2377                            }
2378
2379                            if(currentTrabajo != ''){
2380                                if(currentTrabajo != 'undefined'){
2381                                    let spanPadre = document.createElement('span');
2382                                    spanPadre.style.display = 'block';
2383                                    spanPadre.classList.add('provider-detail', 'is-capitalized');
2384                                    let small = document.createElement('small');
2385
2386                                    let strong = document.createElement('strong');
2387                                    strong.textContent = "Trabaja En: ";
2388                                    let contenido = document.createElement('span');
2389
2390                                    let spanTrabajo1 = document.createElement('span');
2391                                    spanTrabajo1.textContent = currentTrabajo;
2392                                    let telefonoTrabajo1 = document.createElement('a');
2393                                    telefonoTrabajo1.href = 'tel:'+currentTelefonoTrabajo;
2394                                    telefonoTrabajo1.textContent = currentTelefonoTrabajo;
2395                                    telefonoTrabajo1.id = "telefono";  
2396
2397                                    spanTrabajo1.appendChild(telefonoTrabajo1);
2398                                    let spanTrabajo2 = document.createElement('span');
2399                                    if(currentTrabajo2 != 'undefined'){                    
2400                                        spanTrabajo2.classList.add('currentTrabajo2');
2401                                        spanTrabajo2.textContent = 'y ' + currentTrabajo2;
2402                                        let telefonoTrabajo2 = document.createElement('a');
2403                                        telefonoTrabajo2.href = 'tel:'+currentTelefonoTrabajo2;
2404                                        telefonoTrabajo2.textContent = currentTelefonoTrabajo2;
2405                                        telefonoTrabajo2.id = "telefono";  
2406                                        spanTrabajo2.appendChild(telefonoTrabajo2);
2407                                    }
2408
2409                                    contenido.appendChild(spanTrabajo1);
2410                                    contenido.appendChild(spanTrabajo2);
2411                
2412                                    small.appendChild(strong);
2413                                    small.appendChild(contenido)
2414                                    spanPadre.appendChild(small);
2415                                    divContentHijo.appendChild(spanPadre);
2416                                }
2417                                
2418                            }
2419
2420                            divContentHijo.appendChild(CreateLink('Telefonos: ', currentTelefono1, 'phone'));
2421
2422                            if (currentTelefono2 != undefined || currentTelefono2 != '' || currentTelefono2 != '(') {
2423                                if (currentTelefono2?.length != 0) {
2424                                    if (currentTelefono2?.length != 1) {
2425                                        divContentHijo.appendChild(CreateLink(' / ', currentTelefono2, 'ph
2425one'));
2426                                    }
2427                                }
2428                            }
2429
2430                            if (currentCorreo != 'undefined') {
2431                                divContentHijo.appendChild(CreateLink('Correo: ', currentCorreo, 'mail'));
2432                                divContentHijo.appendChild(CreateElement(currentPremium == "SI" ? "PREMIUM" : ""), '');
2433                            }
2434            
2435                            if(currentLocation != ''){
2436                                divContentHijo.appendChild(CreateLink('', currentLocation, ''));
2437                            }
2438
2439                            divContentPadre.appendChild(divContentHijo);
2440
2441                            divContent.appendChild(divContentPadre);
2442
2443                            divMediaContent.appendChild(divContent);
2444                            media.appendChild(divMediaContent);
2445                            divProviderDetails.appendChild(media);
2446                            divDetailContainer.appendChild(divProviderDetails);
2447                            td.appendChild(divDetailContainer);
2448                            trDetails.appendChild(td);
2449                            elementoHtml.after(trDetails);
2450                        }
2451
2452                    function CreateElement(header, value) {
2453                        let spanPadre = document.createElement('span');
2454                        spanPadre.style.display = 'block';
2455                        spanPadre.classList.add('provider-detail', 'is-capitalized');
2456                        let small = document.createElement('small');
2457                        let strong = document.createElement('strong');
2458                        strong.textContent = header;
2459                        let contenido = document.createElement('span');
2460                        contenido.textContent = value;
2461                        small.appendChild(strong);
2462                        small.appendChild(contenido)
2463                        spanPadre.appendChild(small);
2464
2465                        return spanPadre;
2466                    }
2467
2468                    function CreateLink(header, value, type) {
2469                        let spanPadre = document.createElement('span');
2470                        spanPadre.style.display = 'block';
2471                        spanPadre.classList.add('provider-detail', 'is-capitalized');
2472                        let small = document.createElement('small');
2473                        let strong = document.createElement('strong');
2474                        strong.textContent = header;
2475
2476                        let contenido = document.createElement('span');
2477                        let link = document.createElement('a');
2478                        if (type == 'mail') {
2479                            link.href = "mailto:" + value;
2480                            link.textContent = value;
2481                            link.id = 'correo';
2482
2483                        } else if (type == 'phone') {
2484                            link.href = "tel:" + value;
2485                            link.textContent = value;
2486                            link.id = "telefono";
2487                            spanPadre.style.display = 'inline';
2488                            spanPadre.classList.add('provider-detail-telefono');
2489                        }
2490                        else {
2491                            link.href = value;
2492                            link.target = '_blank';
2493                            link.textContent = "Ver Mapa";
2494                            link.id = "ubicacion"
2495                        }
2496
2497                        contenido.appendChild(link);
2498                        small.appendChild(strong);
2499                        small.appendChild(contenido)
2500                        spanPadre.appendChild(small);
2501                        return spanPadre
2502                    }
2503
2504                         (function () {
2505                                    //'use strict';
2506                                    var TableFilter = (function () {
2507                                        var Arr = Array.prototype;
2508                                        var input;
2509
2510                                        function onInputEvent(e) {
2511                                            input = e.target;
2512                                            var table1 = document.getElementsByClassName(input.getAttribute('data-table'));
2513                                            Arr.forEach.call(table1, function (table) {
2514                                                Arr.forEach.call(table.tBodies, function (tbody) {
2515                                                    Arr.forEach.call(tbody.rows, filter);
2516                                                });
2517                                            });
2518                                        }
2519
2520                                        function filter(row) {
2521                                            var text = row.textContent.toLowerCase();
2522                                            var val = input.value.toLowerCase();
2523                                            row.style.display = text.indexOf(val) === -1 ? 'none' : '';
2524                                        }
2525
2526                                        return {
2527                                            init: function () {
2528                                                var inputs = document.getElementsByClassName('table-filter');
2529                                                Arr.forEach.call(inputs, function (input) {
2530                                                    input.oninput = onInputEvent;
2531                                                });
2532                                            }
2533                                        };
2534
2535                                    })();
2536
2537                                    TableFilter.init();
2538                                })();
2539
2540                        `;
2541
2542
2543
2544                    tabla.appendChild(thead);
2545                    tabla.appendChild(tbody);
2546
2547                    divCard.appendChild(tabla);
2548                    head.appendChild(style);
2549                    body.appendChild(header);
2550                    body.appendChild(divPrincipal);
2551                    dom.documentElement.appendChild(head);
2552                    dom.documentElement.appendChild(body);
2553                    body.appendChild(script);
2554                    body.appendChild(script2);
2555
2556                    let a = window.document.body.appendChild(window.document.createElement('a'));
2557                    a.download = "ProveedoresPss.html";
2558                    a.href = a.href = "data:text/html," + window.encodeURIComponent(dom.documentElement.innerHTML);
2559                    a.click();
2560                    this.loading = false;
2561                },
2562                showItems(event) {
2563                    event.preventDefault();
2564                    this.isActive = !this.isActive;
2565                },
2566                evaluateQueryStringParams() {
2567                    const params = new URL(window.location.href).searchParams;
2568                    let result = params.get("consultainterna") == 1;
2569                    this.showInternalOptions = result;
2570                    return result;
2571                },
2572                showErrors(source, errorMessage) {
2573                    return `SOURCE: ${source}  MESSAGE: ${errorMessage}`;
2574                },
2575                labelName({ label, co }) {
2576                    return `${label}`
2577                }
2578            }
2579        });
2580    </script>
2580
2581</body>
2582</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.