Vue.component('dl_menu_principal',{
  data: function () {
     return {
     empresa: "Menu Principal",
     logo: 'recursos/logos/icon-384x384.png',
     conexiones_eliminadas_filtradas: [],
     padron_filtro: '',
     nombre_importacion: ''
    }
},	
template: /*html*/`
  <div>

    <div class="column col-xs middle-xs center-xs">

      <div class="row center-xs middle-xs" >
          <img v-bind:src=logo style="width:30px;height:30px">
      </div>

      <div class="row center-xs middle-xs">
         <b><p style="color:green">{{empresa}}</p></b>
      </div>

    </div>


    <div class="column col-xs middle-xs center-xs">	
      <div class="row center-xs middle-xs" >
          <b-button  v-on:click="$store.state.layout_visible = 'layout_catastro'" type="is-success" rounded  icon-left="map-marker"  style="width:200px">
            Catastro
          </b-button>
      </div>
      <div class="row center-xs middle-xs m-2" >
          <b-button  v-on:click="$store.state.layout_visible = 'layout_indicadores'" type="is-success" rounded   icon-left="equalizer"  style="width:200px">
            Indicadores
          </b-button>
      </div>

      <div class="row center-xs middle-xs m-2" >
      <b-button v-on:click="$store.state.modal_visible = 'modal_importacion'" rounded  type="is-success" icon-left="database-import"  style="width:200px">
            Importar
      </b-button>  
      </div>

      <div class="row center-xs middle-xs m-2" v-if="$store.state.datos_login.nivel_acceso > 19">
          <b-button  v-on:click="$store.state.modal_visible = 'modal_administracion'" type="is-success" rounded   icon-left="cog-outline"  style="width:200px">
             Administracion
          </b-button>
      </div>
      </div>






<!--__________________________________________________________________________________________layout administracion-->
<b-modal :active.sync="$store.state.modal_visible == 'modal_administracion'"
has-modal-card
trap-focus
:destroy-on-hide="false"
aria-role="dialog"
aria-modal>
<form action="">
<div class="modal-card" style="width: auto">
    <header class="modal-card-head">
        <p class="modal-card-title">Administracion</p>
    </header>
    <section class="modal-card-body">
    <div class="column col-xs middle-xs center-xs">	
        <div class="row center-xs middle-xs">
            <b-button  v-if="$store.state.datos_login.nivel_acceso > 19" v-on:click="$store.state.layout_visible = 'layout_usuarios'" type="is-success" rounded  icon-left="map-marker"  style="width:200px">
              Usuarios
            </b-button>
        </div>
        <div class="row center-xs middle-xs m-2" >
        <b-button  v-on:click="conexiones_eliminadas()" type="is-success" rounded  icon-left="recycle"  style="width:200px">
            Conexiones Eliminadas
        </b-button>
        </div>

        <div class="row center-xs middle-xs m-2" >
        <b-button  v-on:click="exportar_log()" type="is-success" rounded  icon-left="table-arrow-right"  style="width:200px">
            Reporte LOG
        </b-button>
        </div>
        </div>
    </section>
    <footer class="modal-card-foot">
    <div class="column start-xs" >
      <b-button  @click="$store.state.modal_visible = ''" type='is-warning' icon-right="backburger" style="float:left">
        Volver
      </b-button>
      </div>
    </footer>
</div>
</form>
</b-modal>

<!-- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄-->


<!--__________________________________________________________________________________________modal conexiones eliminadas-->
<b-modal :active.sync="$store.state.modal_visible == 'modal_conexiones_eliminadas'"
has-modal-card
trap-focus
:destroy-on-hide="false"
aria-role="dialog"
aria-modal>
<form action="">
<div class="modal-card" style="width: auto">
    <header class="modal-card-head">
        <p class="modal-card-title">Reactivar conexiones</p>
    </header>
    <section class="modal-card-body">

    <div class="column is-full-mobile is-3 p-1 m-1">
    Padrón:
        <b-input style="margin-left:1rem;width:250px" maxlength="200"  v-model="filtrar_conexiones_eliminadas">
        </b-input>
    </div>

    <div class="box m-0 p-0"  v-for="(value, key) in conexiones_eliminadas_filtradas">
                                      <div class="box m-0 p-0">
                                        <div class="columns m-0 p-0">
                                          <div class="column is-2">
                                            <b-tooltip label="Reactivar conexion" multilined position="is-right" type="is-success is-light">
                                              <b-button class="m-1" style="width:40px" @click.native="reactivar_conexion(key)" type="is-success"  icon-right="recycle"></b-button>
                                            </b-tooltip>  
                                          </div> 
                                          <div class="column  bg-white rounded m-2 p-2" ><b>Id:</b> {{value.id}} <br><b>Padron:</b> {{value.padron}} <br><b>Calle:</b> {{value.calle}} <br><b>Puerta:</b> {{value.puertas}}</div>
                                        </div>
                                      </div>
                      </div>
    </section>
    <footer class="modal-card-foot">
    <div class="column start-xs" >
      <b-button  @click="$store.state.modal_visible = ''" type='is-warning' icon-right="backburger" style="float:left">
        Volver
      </b-button>
      </div>
    </footer>
</div>
</form>
</b-modal>

<!-- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄-->




<!--__________________________________________________________________________________________modal conexiones eliminadas-->
<b-modal :active.sync="$store.state.modal_visible == 'modal_importacion'"
has-modal-card
trap-focus
:destroy-on-hide="false"
aria-role="dialog"
aria-modal>
<form action="">
<div class="modal-card" style="width: auto">
    <header class="modal-card-head">
        <p class="modal-card-title">Nombre importacion</p>
    </header>
    <section class="modal-card-body">

    <div class="column is-full-mobile is-3 p-1 m-1">
    Nombre:
        <b-input style="margin-left:1rem;width:250px" maxlength="200"  v-model="importacion">
        </b-input>
    </div>
    </section>
    <footer class="modal-card-foot">
      <div class="row center-xs middle-xs m-2" v-if="nombre_importacion != ''">
      <b-button type="is-success" rounded  icon-left="database-import"  style="width:200px">
      <b-field class="file is-success">
          <b-upload v-model="geoJSON" class="file-label" type="is-success" rounded accept=".geojson">                
                  <span class="file-label">Importar</span>
          </b-upload>
      </b-field>
      </b-button>  
      </div>
      <div class="column start-xs" >
      <b-button  @click="$store.state.modal_visible = ''" type='is-warning' icon-right="backburger" style="float:left">
        Volver
      </b-button>
      </div>
    </footer>
</div>
</form>
</b-modal>

<!-- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄-->




</div>
`,
computed: {
  importacion:{
    get:  function () {
        return this.nombre_importacion; 
      },
      set:  function (valor) {
        const regex = /^[a-zA-Z0-9 ñÑ]*$/;
         if (regex.test(valor)) {
           this.nombre_importacion = valor.toUpperCase();
         } else {
           this.nombre_importacion = '';
           this.$buefy.toast.open({duration: 5000, message: 'Solamente se permiten letras y números'});
         }
      },
    },
  geoJSON: {
    get: function () {
    },
    set: function (valor) {
     var padre = this;
     var mensaje = '';
     var tope = 0.3;
     if (valor == null)
     {
      mensaje = 'No es un formato válido';
      this.$buefy.toast.open({duration: 5000, message: mensaje});
      return false;
     }
      valor.arrayBuffer().then(buff => {
          var str = new TextDecoder().decode(buff)
          str.replace(/[\n"\&\r\t\b\f]/g, '\\$&');
          try {
            var json = JSON.parse(str);
            if (json.features !== undefined)
            {
            var listafeatures = json.features.filter(function (el) {return el.type == "Feature";});
            }
            else if (json.feature !== undefined)
            {
              var listafeatures = json.feature;
            }
              }
            catch (err) {
                    mensaje = 'No es un formato válido';
                    this.$buefy.toast.open({duration: 5000, message: mensaje});
                    return false;
            }  
            //listafeatures = listafeatures.slice(0,10);
            //determino tipo de elemementos a importar ____________________________________________________________
            //_____________________________________________________________________________________________________
            if(mensaje != '')
            {
              this.$buefy.toast.open({duration: 5000, message: mensaje});
            }
            else
            {
                  var tipo = '';
                  if (listafeatures[0].geometry.type == 'LineString')
                  {tipo = "conexiones1"}
                  else if (listafeatures[0].geometry.type == 'MultiLineString')
                  {tipo = "conexiones2"}
                  (tipo == '')? mensaje = 'Formato inadecuado. No es posible identificar los elementos': mensaje = '';
            }
            //obtengo extensión y sistema de coordenadas __________________________________________________________
            //genero lista depurada de coordenadas y propiedades
            //_____________________________________________________________________________________________________
            if(mensaje != '')
            {
              this.$buefy.toast.open({duration: 5000, message: mensaje});
            }
            else
            {
                  let listax = [];
                  let listay = [];
                  var lista_geometrias = [];
                  var lista_puntos = [];
                  var lista_propiedades = [];
                  for (let i = 0; i<listafeatures.length; i++)
                  {
                      if (tipo == 'conexiones2')
                      {
                        lista_puntos = listafeatures[i].geometry.coordinates[0];
                      }
                      else
                      {
                        lista_puntos = listafeatures[i].geometry.coordinates;
                      }
                          for (let j = 0; j < lista_puntos.length; j++)
                          {     
                              listax.push(lista_puntos[j][0]);
                              listay.push(lista_puntos[j][1]);
                          }    
                      lista_geometrias.push(lista_puntos);
                      lista_propiedades.push(listafeatures[i].properties);
                  } 
                    var sistema = '';
                    var maxx = Math.max(...listax);
                    var maxy = Math.max(...listay);
                    var minx = Math.min(...listax);
                    var miny = Math.min(...listay);
                     if (minx > 550000 && maxx < 590000 && miny > 6125000 && maxy < 6160000){sistema = 'UTM';} 
                    if (minx > -56.45 && maxx < -56 && miny > -34.98 && maxy < -34.70){sistema = 'LL';} 
                    (sistema == '')?mensaje='No es correcto el sistema de coordenadas. Debe ser LL84 o UTM21S':mensaje = '';
                    if (sistema == 'UTM')
                    {
                      let lista_provisoria = lista_geometrias.slice();
                      lista_geometrias = [];
                      for (let i=0;i<lista_provisoria.length;i++)
                      {
                        let elemento = [];
                        for (let j=0;j<lista_provisoria[i].length;j++)
                                  {
                                    let v1 = dl_coordenadas.utm2ll(lista_provisoria[i][j][0],lista_provisoria[i][j][1]);
                                    elemento.push([v1.lon,v1.lat]);
                                  }  
                        lista_geometrias.push(elemento);
                      }
                    }
           }
           // consulto base de datos para evitar duplicaciones______________________________________________
           // ______________________________________________________________________________________________
           if(mensaje != '')
           {
             this.$buefy.toast.open({duration: 5000, message: mensaje});
           }
           else
           {
            app.chequeo_conexion();
            if (store.state.hayconexion == true) {
              const cargando_algo = padre.$buefy.loading.open({ containter: null });
              if(sistema == 'UTM')
              {
                let v1 = dl_coordenadas.utm2ll(minx,miny);
                let v2 = dl_coordenadas.utm2ll(maxx,maxy);
                maxx = v2.lon;
                minx = v1.lon;
                maxy = v2.lat;
                miny = v1.lat;
              }                             
              var fd = new FormData();
              fd.append("maxx", maxx);
              fd.append("maxy", maxy);
              fd.append("minx", minx);
              fd.append("miny", miny);
              var getUrl = window.location;
              var baseUrl = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
              var phpfile = baseUrl + '/php/cargo_red_control_importacion.php';
              var xhr = new XMLHttpRequest();
              xhr.open('POST', phpfile, true);
              xhr.onload = function () {
                
                var data = JSON.parse(this.response);

                var hay_duplicados = false;
                var conexiones_existentes = data[0];
                var tramos_existentes = data[1];
                var calles_existentes = data[2];
                var padrones_existentes = data[3];
                var maxid = data[4];
                //CONEXIONESSSSSSSSSSSSSSSSSS ______________________________________________________________
                //chequeo duplicados en conexiones ______________________________________________________________
   
                                for (let i=0;i<lista_geometrias.length;i++)
                                {
                                  var prop_conex_padron = 0 , prop_conex_distmed = 0 , prop_conex_prof = 0, prop_conex_material = '', prop_conex_seccion = 0;
                                  (lista_propiedades[i].PADRON != undefined)? prop_conex_padron = lista_propiedades[i].PADRON : prop_conex_padron = 0;
                                  (lista_propiedades[i].DISTMED  != undefined)? prop_conex_distmed = lista_propiedades[i].DISTMED : prop_conex_distmed = 0;
                                  (lista_propiedades[i].PROF != undefined)? prop_conex_prof = lista_propiedades[i].PROF : prop_conex_prof = 0;
                                  (lista_propiedades[i].MATERIAL != undefined)? prop_conex_material = lista_propiedades[i].MATERIAL : prop_conex_material = '';
                                  (lista_propiedades[i].SECCION != undefined)? prop_conex_seccion = lista_propiedades[i].SECCION : prop_conex_seccion = 0;
                                  for (let j=0;j<conexiones_existentes.length;j++)
                                  {
                                    let p1ini = lista_geometrias[i][0];
                                    let p1fin = lista_geometrias[i][lista_geometrias[i].length - 1];
                                    let dist1 = dl_geometria.dl_distancia_metros_de_geograficas(p1ini[1],p1ini[0],conexiones_existentes[j].lat1,conexiones_existentes[j].lon1);
                                    let dist2 = dl_geometria.dl_distancia_metros_de_geograficas(p1fin[1],p1fin[0],conexiones_existentes[j].lat2,conexiones_existentes[j].lon2);
                                    let dist3 = dl_geometria.dl_distancia_metros_de_geograficas(p1fin[1],p1fin[0],conexiones_existentes[j].lat1,conexiones_existentes[j].lon1);
                                    let dist4 = dl_geometria.dl_distancia_metros_de_geograficas(p1ini[1],p1ini[0],conexiones_existentes[j].lat2,conexiones_existentes[j].lon2); 
                                    if ((dist1 < tope && dist2 < tope) || (dist3 < tope && dist4 < tope))
                                    {
                                      hay_duplicados = true;
                                      mensaje = 'Existen elementos duplicados. Se interrumpe importación.';
                                    }
                                  } 
                                } 
                                // si no hay duplicados empiezo carga_________________________________________________________
                                if(mensaje != '')
                                {
                                  cargando_algo.close();
                                  padre.$buefy.toast.open({duration: 5000, message: mensaje});
                                }
                                else
                                {
                                  var sql = '';
                                  for (let i=0;i<lista_geometrias.length;i++)
                                  {
                                    maxid++;
                                    prop_conex_padron = 0;

                                    if(i == 0)
                                    {
                                      sql = "INSERT INTO conexiones (SHAPE, id, padron, colector, profundidad, tipo, seccion, distmed, alta_fuent, alta_descr, alta_fecha, sur, etapa, ccz, accion,";
                                      sql += "activo, z_col, via, id_tramite, id_con_ant, calle, tramite, empresa, oses, medidores, servicios, tgms, audios, fotos, puertas, historial, descripcion) VALUES ";
                                    }

                                    var p1ini = lista_geometrias[i][0];
                                    var p1fin = lista_geometrias[i][lista_geometrias[i].length - 1];
                                    var punto_en_col_lat = p1fin[1];
                                    var punto_en_col_lon = p1fin[0];
                                    var punto_en_pad_lat = p1ini[1];
                                    var punto_en_pad_lon = p1ini[0];
                                  
                                    let menor_distancia = 99999;
                                    var id_tramo_colector = 0;
                                    var lat_en_colector = 0;
                                    var lon_en_colector = 0;
                                    var lat_en_padron = 0;
                                    var lon_en_padron = 0;
                                    var colector_vinculado = false;

                                    for (var s = 0; s < tramos_existentes.length; s++) 
                                    {
                                      var coordenadas = '';
                                      var geom_tramo = tramos_existentes[s].geom;
                                      geom_tramo = geom_tramo.replace(/[A-z()]/g, '');
                                      let puntos = geom_tramo.split(",");
                                      for(let m = 0;m<puntos.length;m++)
                                              {  
                                                  let punto = puntos[m];
                                                  let puntoarr = punto.split(' ');
                                                  coordenadas += puntoarr[0] + " " + puntoarr[1] + ",";
                                       }
                                      coordenadas = coordenadas.slice(0, -1);
                                      let res_dist = dl_geometria.dl_punto_cercano_linestring(punto_en_col_lat,punto_en_col_lon,coordenadas);
                                      let res_dist2 = dl_geometria.dl_punto_cercano_linestring(punto_en_pad_lat,punto_en_pad_lon,coordenadas);
                                       
                                      if ((res_dist.distancia < menor_distancia && res_dist.distancia < 2) || (res_dist2.distancia < menor_distancia && res_dist2.distancia < 2))
                                      {
                                        id_tramo_colector = tramos_existentes[s].id_tramo;
                                        if (res_dist.distancia < menor_distancia && res_dist.distancia < 2)
                                        {
                                        lat_en_colector = res_dist.lat;
                                        lon_en_colector = res_dist.lon;
                                        lat_en_padron = punto_en_pad_lat;
                                        lon_en_padron = punto_en_pad_lon;
                                        menor_distancia = res_dist.distancia;
                                        }
                                        if (res_dist2.distancia < menor_distancia && res_dist2.distancia < 2)
                                        {
                                        lat_en_colector = res_dist2.lat;
                                        lon_en_colector = res_dist2.lon;
                                        lat_en_padron = punto_en_col_lat;
                                        lon_en_padron = punto_en_col_lon;
                                        menor_distancia = res_dist2.distancia;
                                        }
                                        colector_vinculado = tramos_existentes[s];
                                      }
                                    }
                                    var zencol = 0.00;
                                    if (colector_vinculado == false)
                                    {
                                      lat_en_colector = punto_en_col_lat;
                                      lon_en_colector = punto_en_col_lon;
                                      lat_en_padron = punto_en_pad_lat;
                                      lon_en_padron = punto_en_pad_lon;
                                    }
                                    else
                                    {
                                      punto_en_col_lat = lat_en_colector;
                                      punto_en_col_lon = lon_en_colector;
                                      punto_en_pad_lat = lat_en_padron;
                                      punto_en_pad_lon = lon_en_padron;
                                      let zarriba = colector_vinculado.zarriba;
                                      let zabajo = colector_vinculado.zabajo;
                                      let largo_tramo = colector_vinculado.longitud;
                                      let distancia_abajo = dl_geometria.dl_distancia_metros_de_geograficas(colector_vinculado.lat2,colector_vinculado.lon2, lat_en_colector,lon_en_colector);
                                      if (largo_tramo > 0 && zarriba > 0 && zabajo > 0 && zarriba > zabajo && distancia_abajo >= 0 && distancia_abajo <= largo_tramo) {
                                        let zres = 0;
                                        let fac1 = distancia_abajo / largo_tramo;
                                        let fac2 = zarriba - zabajo;
                                        zres = Number(zabajo) + Number(fac2 * fac1);
                                        zres = String(zres);
                                        zencol = zres.substring(0, 5);
                                      }
                                    }

                                    var calle = '', via = 0;
                                    for (let k=0;k<calles_existentes.length;k++)
                                    {
                                      let pmedio_calle_lat = (Number(calles_existentes[k].lat1) + Number(calles_existentes[k].lat2)) / 2.0;
                                      let pmedio_calle_lon = (Number(calles_existentes[k].lon1) + Number(calles_existentes[k].lon2)) / 2.0;
                                      let dist = dl_geometria.dl_distancia_metros_de_geograficas(p1ini[1], p1ini[0], pmedio_calle_lat, pmedio_calle_lon);
                                      if (dist < menor_distancia)
                                      {
                                        menor_distancia = dist;
                                        calle = calles_existentes[k].calle;
                                        via = calles_existentes[k].via;
                                      }
                                    }

 
                                            menor_distancia = 99999;
                                            if (prop_conex_padron == 0)
                                            {
                                                      var padron_res = 0;
                                                    for (let k=0;k<padrones_existentes.length;k++)
                                                    {
                                                      var coordenadas = '';
                                                      var geom_padron = padrones_existentes[k].geom;
                                                      var padron_provisoria = padrones_existentes[k].padron;
                                                      geom_padron = geom_padron.replace(/[A-z()]/g, '');
                                                      let puntos = geom_padron.split(",");
                                                      for(let m = 0;m<puntos.length - 1;m++)
                                                              {   
                                                                  let punto1 = puntos[m];
                                                                  let n = m+1;
                                                                  let punto2 = puntos[n];
                                                                  let coordenadas = punto1 + "," + punto2;
                                                                  let res_dist = dl_geometria.dl_punto_cercano_linestring(punto_en_pad_lat,punto_en_pad_lon,coordenadas);                                                                  
                                                                  if (res_dist.distancia < menor_distancia && res_dist.distancia < 15){
                                                                    padron_res = padron_provisoria;
                                                                    menor_distancia = res_dist.distancia;
                                                                  }
                                                              }
                                                    }
                                                    if (padron_res > 0)
                                                    {prop_conex_padron = padron_res;}
                                         }



                                    
                                    if((i > 0 && (i % 50 ) == 0) || i == lista_geometrias.length - 1)
                                    {
                                      sql = sql.slice(0,-1);
                                      var fd2 = new FormData();
                                      fd2.append("sql", sql);
									  fd2.append("fin", "no");
                                      fd2.append("usuario", store.state.datos_login.usuario);
                                      var getUrl2 = window.location;
                                      var baseUrl2 = getUrl2.protocol + "//" + getUrl2.host + "/" + getUrl2.pathname.split('/')[1];
                                      var phpfile2 = baseUrl2 + '/php/nuevas_conexiones_importacion.php';
                                      var xhr2 = new XMLHttpRequest();
                                      xhr2.open('POST', phpfile2, true);
                                      xhr2.onload = function () {
                                        cargando_algo.close();
                                        };
                                      xhr2.send(fd2);
                                      sql = "INSERT INTO conexiones (SHAPE, id, padron, colector, profundidad, tipo, seccion, distmed, alta_fuent, alta_descr, alta_fecha, sur, etapa, ccz, accion,";
                                      sql += "activo, z_col, via, id_tramite, id_con_ant, calle, tramite, empresa, oses, medidores, servicios, tgms, audios, fotos, puertas, historial, descripcion) VALUES ";                                  
                                    }
                                    else if (i > 0)
                                    {
                                    let historias = [];
                                    let fechaactual = app.obtengo_fecha(new Date());
                                    let historia_array = { "descripcion": "NUEVA CONEXION POR IMPORTACION", "fecha": fechaactual, "usuario": store.state.datos_login.usuario };
                                    historias.push(historia_array);
                                    var historia = JSON.stringify(historias);
                                    sql += "(GEOMFROMTEXT('LINESTRING(" + punto_en_pad_lon + " " + punto_en_pad_lat + "," + punto_en_col_lon + " " + punto_en_col_lat + ")'),";
                                    sql += maxid + "," + prop_conex_padron + "," + id_tramo_colector + ",0.0,'Circular','Sin determinar',0,'INGRESO POR IMPORTACION " + padre.nombre_importacion + "','Se ingresa conexion por importacion','";
                                    sql += fechaactual + "','Sin reclamos','Ramal sin inst. sanitaria conectada','','Sin asignar',1," + zencol + "," + via + ",0,0,'" + calle;
                                    sql += "','Sin tramite','IM','','','','','','','','" + historia  + "',''),"; 
                                    }
                                  
                       
                                  }
                            }
                //fin de procesos de carga__________________________________________________________________________________________
                //fin de procesos de carga__________________________________________________________________________________________
                //fin de procesos de carga__________________________________________________________________________________________
              };
              xhr.send(fd);
            }
            else {
              this.$buefy.toast.open({duration: 5000, message: 'No es consultar los datos por falta de conexión. Intente nuevamente'});
            }
           }
        });
        store.state.modal_visible = '';
    },
  },
  filtrar_conexiones_eliminadas: {
    get: function () {
        if (this.conexiones_eliminadas_filtradas.length == 0)
        {
        this.conexiones_eliminadas_filtradas = store.state.conexiones_eliminadas.slice();
        }
        return this.padron_filtro;
      },
      set: function (valor) {
        this.padron_filtro = valor;
        let padron_a_filtrar = valor;
        this.conexiones_eliminadas_filtradas = store.state.conexiones_eliminadas.filter(function(element)
        {
            if (valor == '')
            {
              return true;
            }
            else
            {
              return padron_a_filtrar == element.padron;
            }
       });   
      }
}
},


methods:
{
  conexiones_eliminadas: function(){
    if (store.state.conexiones_eliminadas.length == 0)
    {
      app.chequeo_conexion();
      if (store.state.hayconexion == true) {
        var getUrl = window.location;
        var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
        var phpfile = baseUrl + '/php/conexiones_eliminadas.php';
        var xhr = new XMLHttpRequest();	
        xhr.open('GET',phpfile,true);
        xhr.onload = function() {
                  var data = JSON.parse(this.response);
                  store.state.conexiones_eliminadas = data;
                  store.state.modal_visible = 'modal_conexiones_eliminadas';
                                };
        xhr.send();
      }//fin de bloque chequeo conexion
      else
      {
        this.$buefy.toast.open('No es posible modificar los datos por falta de conexión. Intente nuevamente'); 
      }
    } 
    else 
    {
      store.state.modal_visible = 'modal_conexiones_eliminadas';
    }
  },
  reactivar_conexion: function(e){    
       var padre = this;
       app.chequeo_conexion();
      if (store.state.hayconexion == true) {
        const cargando_algo =  this.$buefy.loading.open({containter: null});
        let id_con = this.conexiones_eliminadas_filtradas[e].id;
        let historia = this.conexiones_eliminadas_filtradas[e].historial;
        var fd = new FormData();
        fd.append("id",id_con);
        fd.append("historia",historia);
        fd.append("usuario", store.state.datos_login.usuario);
        var getUrl = window.location;
        var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
        var phpfile = baseUrl + '/php/reactivar_conexion.php';
        var xhr = new XMLHttpRequest();	
        xhr.open('POST',phpfile,true);
        xhr.onload = function() {
                  var data = JSON.parse(this.response);
                  if (data.mensaje == 'ok')
                  {
                  store.state.conexiones_eliminadas = store.state.conexiones_eliminadas.filter(function (el) {return el != padre.conexiones_eliminadas_filtradas[e]});
                  padre.conexiones_eliminadas_filtradas = padre.conexiones_eliminadas_filtradas.filter(function (el) {return el != padre.conexiones_eliminadas_filtradas[e]});
                  store.state.modal_visible = 'modal_conexiones_eliminadas'
                  cargando_algo.close();
                  padre.$buefy.toast.open('Se reactivo conexion exitosamente'); 
                  }
                                };
        xhr.send(fd);
      }//fin de bloque chequeo conexion
      else
      {
        this.$buefy.toast.open('No es posible modificar los datos por falta de conexión. Intente nuevamente'); 
      }
     
  },
  exportar_log: function(){
    var padre = this;
    app.chequeo_conexion();
    if (store.state.hayconexion == true) { // si hay conexion........................................................................
      //consulto base de datos
      var fd = new FormData();
      var getUrl = window.location;
      var baseUrl = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
      var phpfile = baseUrl + '/php/cargo_datos_log.php';
      var xhr = new XMLHttpRequest();
      xhr.open('POST', phpfile, true);
      xhr.onload = function () {
        var data = JSON.parse(this.response);
        store.state.datos_log = data;
        var mensaje_espera = padre.$buefy.toast.open({indefinite:true, message: 'Generando excel......'});
        const cargando_algo =  padre.$buefy.loading.open({containter: null});
        app.genero_reporte_excel_log().then(v=>{
        mensaje_espera.close();
        cargando_algo.close();    
        });
      };
      xhr.send(fd);
    }
    else {
      this.$buefy.toast.open('No hay conectividad para traer los datos. Espere conexión e intente nuevamente');
    }
  }, 
}
})