foca-logistica-pedido-ruta.html 7.88 KB
<script>
    function allowDrop(ev) {
        ev.preventDefault();
    }
    function drag(ev, marcador) {
        marcador = JSON.stringify(marcador);
        ev.dataTransfer.setData("marcador", marcador);
        var dom_el = document.getElementById('test');
        var scope = angular.element(dom_el).scope();
        scope.arrastra();
    }
    function drop(ev) {
        ev.preventDefault();
        var data = ev.dataTransfer.getData("marcador");
        var dom_el = document.getElementById(ev.target.id);
        var ng_el = angular.element(dom_el);
        var ng_el_scope = ng_el.scope();
        ng_el_scope.cargar(ev.target.id, data);
        ng_el_scope.$digest();
    }
    function dropEnd() {
        console.log('drop');
        var dom_el = document.getElementById('test');        
        var scope = angular.element(dom_el).scope();
        scope.noArrastra();
    }
</script>
<div class="foca-logistica-pedido-ruta" id="test">
    <h3>-EN DESARROLLO</h3>
    <div class="row">
        <div class="offset-1 col-9">
            <foca
                latitud="-32.89214159952345"
                longitud="-68.84572999101856"
                zoom="14"
                marcadores="marcadores"
                parametros= "datosBuscados"
            />
        </div>
        <div class="col-2 pl-0">
            <input
                type="date"
                ng-model="now"
                class="btn col-12 my-1"
                foca-focus="true"
                ng-blur="fecha()"
                hasta-hoy
            />
            <button 
                type="button" 
                ng-class="{'active': idUsuario == 0}"
                class="btn col-12 my-1" 
                ng-click="general()"
            >General</button>
            <button
                type="button" 
                ng-class="{'active': idUsuario != 0}"
                class="btn col-12 my-1" 
                ng-click="individual()"
                ng-show="actividad != 'Cobranza'"
            >Individual</button>
            <div class="form-group" ng-show="idUsuario == -1">
                <input 
                    type="text"
                    placeholder="Vendedor"
                    class="form-control"
                    ng-model="idUsuarioInput"
                    ng-keypress="search($event.keyCode)"
                    foca-focus="idUsuario == -1"
                    ng-show="actividad == 'Nota de pedido'"
                >
                <input 
                    type="text"
                    placeholder="Vehiculo"
                    class="form-control"
                    ng-model="idUsuarioInput"
                    ng-keypress="search($event.keyCode)"
                    foca-focus="idUsuario == -1"
                    ng-show="actividad == 'Entrega de producto'"
                >
            </div>
            <button 
                type="button" 
                class="btn col-12 my-1 boton-salir" 
                ng-click="salir()"
            >
                Salir
            </button>
        </div>
        <input
            class="col-auto form-control"
            ng-click="seleccionarVehiculo()"
            placeholder="Seleccionar vehiculo"
            readonly
        />
       <div class="row">
            <div
                class="container col-auto"
                ng-repeat="vehiculo in vehiculos"
                ng-click="mostrarDetalleVehiculo(vehiculo)"
            >
                <div>
                    <div class="col-md-3 col-sm-6">
                        <div class="progress-circle blue" ng-class="{'arrastrando': arrastrando}">
                            <span class="progress-left">
                                <span class="progress-bar"></span>
                            </span>
                            <span class="progress-right">
                                <span class="progress-bar"></span>
                            </span>
                            <div class="progress-value">{{vehiculo.codigo}}</div>
                        </div>                        
                    </div>
                    <div
                        class="col-12 border border-dark text-center"
                        ng-show="arrastrando"
                        id="{{vehiculo.id}}"
                        ondrop="drop(event)"
                        ondragover="allowDrop(event)"
                    >Soltar acá</div>
                </div>
            </div>
        </div>
    </div>
</div>
<style>
.arrastrando {
    opacity: 0.5;
}
.vertical {
  display: inline-block;
  width: 20%;
  height: 40px;
  -webkit-transform: rotate(-90deg); /* Chrome, Safari, Opera */
  transform: rotate(-90deg);
}
.progress-circle{
    width: 150px;
    height: 150px;
    line-height: 150px;
    background: none;
    margin: 0 auto;
    box-shadow: none;
    position: relative;
}
.progress-circle:after{
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 12px solid #fff;
    position: absolute;
    top: 0;
    left: 0;
}
.progress-circle > span{
    width: 50%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    z-index: 1;
}
.progress-circle .progress-left{
    left: 0;
}
.progress-circle .progress-bar{
    width: 100%;
    height: 100%;
    background: none;
    border-width: 12px;
    border-style: solid;
    position: absolute;
    top: 0;
}
.progress-circle .progress-left .progress-bar{
    left: 100%;
    border-top-right-radius: 80px;
    border-bottom-right-radius: 80px;
    border-left: 0;
    -webkit-transform-origin: center left;
    transform-origin: center left;
}
.progress-circle .progress-right{
    right: 0;
}
.progress-circle .progress-right .progress-bar{
    left: -100%;
    border-top-left-radius: 80px;
    border-bottom-left-radius: 80px;
    border-right: 0;
    -webkit-transform-origin: center right;
    transform-origin: center right;
    animation: loading-1 1.8s linear forwards;
}
.progress-circle .progress-value{
    width: 90%;
    height: 90%;
    border-radius: 50%;
    background: #44484b;
    font-size: 24px;
    color: #fff;
    line-height: 135px;
    text-align: center;
    position: absolute;
    top: 5%;
    left: 5%;
}
.progress-circle.blue .progress-bar{
    border-color: #049dff;
}
.progress-circle.blue .progress-left .progress-bar{
    animation: loading-2 1.5s linear forwards 1.8s;
}
.progress-circle.yellow .progress-bar{
    border-color: #fdba04;
}
.progress-circle.yellow .progress-left .progress-bar{
    animation: loading-3 1s linear forwards 1.8s;
}
.progress-circle.pink .progress-bar{
    border-color: #ed687c;
}
.progress-circle.pink .progress-left .progress-bar{
    animation: loading-4 0.4s linear forwards 1.8s;
}
.progress-circle.green .progress-bar{
    border-color: #1abc9c;
}
.progress-circle.green .progress-left .progress-bar{
    animation: loading-5 1.2s linear forwards 1.8s;
}
@keyframes loading-1{
    0%{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%{
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}
@keyframes loading-2{
    0%{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%{
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}
@keyframes loading-3{
    0%{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%{
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
}
@keyframes loading-4{
    0%{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%{
        -webkit-transform: rotate(36deg);
        transform: rotate(36deg);
    }
}
@keyframes loading-5{
    0%{
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100%{
        -webkit-transform: rotate(126deg);
        transform: rotate(126deg);
    }
}
@media only screen and (max-width: 990px){
    .progress{ margin-bottom: 20px; }
}

</style>