angular.module('focaLogisticaPedidoRuta').directive('focaLogistica', function() {
return {
restrict: 'E',
link: function(scope, el, attrs) {
var contenedor = document.createElement('div');
contenedor.className = 'border border-light rounded';
el.append(contenedor);
scope.map = L.map(contenedor).setView([attrs.latitud, attrs.longitud], attrs.zoom);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(scope.map);
},
controller: ['$scope', '$filter', '$compile', 'focaModalService',
function($scope, $filter, $compile, focaModalService) {
$scope.markers = [];
$scope.verProductos = function(id) {
var parametrosModal = {
titulo: 'Productos',
query: '/articulos/remito/' + id,
soloMostrar: true,
size: 'md',
columnas: [
{
nombre: 'Producto',
propiedad: 'descripcion'
},
{
nombre: 'Cantidad',
propiedad: 'cantidad'
}
]
};
focaModalService.modal(parametrosModal).then();
};
$scope.$watch('marcadores', function() {
for(var i in $scope.markers) {
$scope.map.removeLayer($scope.markers[i]);
}
$scope.markers = [];
angular.forEach($scope.marcadores, function(marcador) {
var observacion =
'Vendedor: ' + marcador.notaPedido.idVendedor + ' - ' +
(
marcador.notaPedido.vendedor ?
marcador.notaPedido.vendedor.NOM :
''
) + '
';
observacion += 'Fecha: ' +
$filter('date')(marcador.fecha.slice(0,10), 'dd/MM/yyyy') + ' ' +
marcador.fecha.slice(11,19) + '
';
observacion += 'Remito Nº: ' + $filter('comprobante')([
marcador.notaPedido.remito.sucursal,
marcador.notaPedido.remito.numeroRemito
]) + '
';
observacion += 'Cliente: ' +
marcador.notaPedido.cliente.NOM;
// if($scope.parametros.individual) {
observacion = 'Orden: ' + marcador.orden + '
' + observacion;
if (marcador.distancia) {
observacion += '
Distancia a casa central: ' +
marcador.distancia + 'km';
}
var icon;
if (marcador.notaPedido.remito.idUsuarioProceso) {
observacion += '
';
observacion += '';
observacion += 'Fecha de entrega: ' + marcador.notaPedido.remito
.cisternaMovimientos[0].cisternaCarga.fechaReparto.substring(0, 10);
observacion += '
';
observacion += 'Vehículo: ' + marcador.notaPedido.remito
.cisternaMovimientos[0].cisternaCarga.cisterna.vehiculo.codigo;
observacion += '
';
observacion += 'Transportista: ' + marcador.notaPedido.remito
.cisternaMovimientos[0].cisternaCarga.cisterna.vehiculo.transportista
.NOM;
observacion += '';
//Asignado ROJO
icon = new L.Icon({
iconUrl: 'img/marker-icon-2x-red.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
} else {
observacion += '
';
observacion += '(Arrastrar icono)';
observacion += '';
//Sin asignar VERDE
icon = new L.Icon({
iconUrl: 'img/marker-icon-2x-green.png',
shadowUrl: 'img/marker-shadow.png',
iconSize: [25, 41],
iconAnchor: [12, 41],
popupAnchor: [1, -34],
shadowSize: [41, 41]
});
}
//COMPILO HTML PARA QUE FUNCIONE BOTON EN POPUP
observacion = '