Commit 95869a524d99fc59fae2dec174bccac956f4b8ba
Exists in
master
and in
1 other branch
Merge branch 'master' into 'develop'
Master(efernandez) See merge request !30
Showing
4 changed files
Show diff stats
src/js/controller.js
... | ... | @@ -519,11 +519,17 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
519 | 519 | |
520 | 520 | crearFuncionesProductos(producto); |
521 | 521 | }); |
522 | + | |
523 | + $scope.botoneraProductos.push({ | |
524 | + label: 'Ultimos despachos', | |
525 | + image: 'ultimos-despachos.png', | |
526 | + imageDefault: 'productoDefault.png' | |
527 | + }); | |
522 | 528 | }); |
523 | 529 | } |
524 | 530 | |
525 | 531 | $scope.seleccionarBusquedaProductos = function () { |
526 | - | |
532 | + | |
527 | 533 | if (angular.equals({}, $scope.factura.vendedor)) { |
528 | 534 | |
529 | 535 | focaModalService.alert('Seleccione Vendedor'); |
... | ... | @@ -593,6 +599,89 @@ angular.module('focaCrearFactura').controller('facturaController', [ |
593 | 599 | .catch(function (e) { console.error(e); }); |
594 | 600 | }; |
595 | 601 | |
602 | + $scope.seleccionarUltimosDespachos = function () { | |
603 | + | |
604 | + if (angular.equals($scope.factura.cliente, {})) { | |
605 | + focaModalService.alert('Seleccione cliente'); | |
606 | + return; | |
607 | + } | |
608 | + | |
609 | + var modalInstance = $uibModal.open( | |
610 | + { | |
611 | + templateUrl: 'modal-ultimos-despachos.html', | |
612 | + controller: 'ultimosDespachosController', | |
613 | + resolve: { | |
614 | + parametros: function () { | |
615 | + return { | |
616 | + planilla: $scope.factura.vendedor.NplVen, | |
617 | + }; | |
618 | + } | |
619 | + }, | |
620 | + size: 'md' | |
621 | + } | |
622 | + ); | |
623 | + | |
624 | + modalInstance.result.then(function (despacho) { | |
625 | + | |
626 | + var articulo = { | |
627 | + TIP: $scope.factura.cliente.tipoFactura, | |
628 | + TCO: 'FT', | |
629 | + SUC: parseInt($scope.puntoVenta), | |
630 | + ORD: $scope.articulosFiltro().length + 1, | |
631 | + SEC: despacho.SEC, | |
632 | + ART: despacho.PRO, | |
633 | + RUB: producto.CodRub, | |
634 | + DES: producto.DetArt, | |
635 | + CAN: despacho.LTS, | |
636 | + PUN: producto.PreVen, | |
637 | + IVA: producto.IMPIVA, | |
638 | + NET: producto.IvaCO != 0 ? producto.PreNet : 0, | |
639 | + NEX: producto.IvaCO == 0 ? producto.PreNet : 0, | |
640 | + IMI: producto.ImpInt, | |
641 | + IMI2: producto.ImpInt2, | |
642 | + IMI3: producto.ImpInt3, | |
643 | + PUT: producto.PreVen, | |
644 | + SUR: despacho.SUR, | |
645 | + PLA: despacho.PLA, | |
646 | + LUG: despacho.LUG, | |
647 | + LEG: $scope.factura.vendedor.CodVen, | |
648 | + TUR: $scope.factura.vendedor.TurVen, | |
649 | + ORDEN_PRECOMPRA: '', | |
650 | + ESC: producto.tipoFactura === 'L' ? 1 : 0, | |
651 | + CMF: 0, | |
652 | + PTA: 0, | |
653 | + IVS: 0, | |
654 | + TIVA: 21, // TODO traer POR de la tabla ACODIVA where ID = IvaCO | |
655 | + CON: 0, | |
656 | + SINO: '', | |
657 | + ORD_TRA: 0, | |
658 | + IMP_DESP: 0, | |
659 | + PCD: 0, | |
660 | + RTO: '', | |
661 | + }; | |
662 | + | |
663 | + crearFacturaService.setearDespachoOcupado({ | |
664 | + surtidor: despacho.SUR, | |
665 | + producto: despacho.PRO, | |
666 | + carga: despacho.CAR | |
667 | + }) | |
668 | + .then(function () { | |
669 | + $scope.factura.articulosFactura.push(articulo); | |
670 | + $scope.factura.despachos.push(despacho); | |
671 | + }) | |
672 | + .catch(function (err) { | |
673 | + | |
674 | + console.error(err); | |
675 | + focaModalService.alert('El despacho esta en uso'); | |
676 | + }); | |
677 | + | |
678 | + }) | |
679 | + .catch(function (err) { | |
680 | + console.error(err); | |
681 | + }); | |
682 | + | |
683 | + }; | |
684 | + | |
596 | 685 | function crearFuncionesProductos(producto) { |
597 | 686 | |
598 | 687 | $scope[nombreFuncion(producto.DetArt)] = function () { |
src/js/controllerUltimosDespachos.js
... | ... | @@ -0,0 +1,52 @@ |
1 | +angular.module('focaCrearFactura') | |
2 | + .controller('ultimosDespachosController', [ | |
3 | + '$filter', | |
4 | + '$scope', | |
5 | + '$uibModalInstance', | |
6 | + 'crearFacturaService', | |
7 | + 'parametros', | |
8 | + function ($filter, $scope, $uibModalInstance, crearFacturaService, parametros) { | |
9 | + | |
10 | + $scope.colorTexto = { color: 'black' }; | |
11 | + | |
12 | + config(); | |
13 | + | |
14 | + function config() { | |
15 | + | |
16 | + crearFacturaService.getUltimosDespachos(parametros.planilla).then(function (res) { | |
17 | + $scope.productos = res.data; | |
18 | + }); | |
19 | + } | |
20 | + | |
21 | + $scope.aceptar = function (despacho) { | |
22 | + $uibModalInstance.close(despacho); | |
23 | + }; | |
24 | + | |
25 | + $scope.cancel = function () { | |
26 | + $uibModalInstance.dismiss('cancel'); | |
27 | + }; | |
28 | + | |
29 | + //TODO: Cambiar switch case con los casos de nombres de productos axion | |
30 | + function setColorNombreProducto() { | |
31 | + | |
32 | + // Diesel #FF852E | Euro+Diesel #6C389A | Premium #00A857 | Super #175AA5 | |
33 | + switch ($scope.nombreProducto) { | |
34 | + case 'NAFTA SUPER XXI': | |
35 | + $scope.colorTexto = { color: '#FF852E' }; | |
36 | + break; | |
37 | + case 'GO-INFINIA DIESEL': | |
38 | + $scope.colorTexto = { color: '#6C389A' }; | |
39 | + break; | |
40 | + case 'ULTRADIESEL XXI - RED': | |
41 | + $scope.colorTexto = { color: '#00A857' }; | |
42 | + break; | |
43 | + case 'NAFTA INFINIA': | |
44 | + $scope.colorTexto = { color: '#175AA5' }; | |
45 | + break; | |
46 | + default: | |
47 | + $scope.colorTexto = { color: 'black' }; | |
48 | + break; | |
49 | + } | |
50 | + } | |
51 | + } | |
52 | + ]); |
src/js/service.js
... | ... | @@ -15,6 +15,9 @@ angular.module('focaCrearFactura') |
15 | 15 | getProductosByPlanilla: function (numeroPlanilla) { |
16 | 16 | return $http.get(route + '/turnos/productos/' + numeroPlanilla); |
17 | 17 | }, |
18 | + getUltimosDespachos: function (numeroPlanilla) { | |
19 | + return $http.get(route + '/turnos/productos/' + numeroPlanilla + '/true'); | |
20 | + }, | |
18 | 21 | setearDespachoOcupado: function (parametros) { |
19 | 22 | return $http.post(route + '/turnos/despacho-en-uso', parametros); |
20 | 23 | }, |
src/views/modal-ultimos-despachos.html
... | ... | @@ -0,0 +1,76 @@ |
1 | +<div class="modal-header py-1"> | |
2 | + <div class="row w-100"> | |
3 | + <div class="col-lg-6"> | |
4 | + <h5 class="modal-title my-1"><b>Despachos Disponibles</b></h5> | |
5 | + </div> | |
6 | + </div> | |
7 | +</div> | |
8 | +<div class="modal-body" id="modal-body"> | |
9 | + <div ng-repeat="(key, producto) in productos"> | |
10 | + <div class="row my-2"> | |
11 | + <div class="col"> | |
12 | + <label> | |
13 | + <img class="w-50" ng-src="./img/surtidor.png" alt=""> | |
14 | + {{manguera.csu}} | |
15 | + </label> | |
16 | + <button | |
17 | + type="button" | |
18 | + class="btn p-1 text-secondary float-right border" | |
19 | + ng-click="manguera.show = !manguera.show"> | |
20 | + <i ng-show="manguera.show" class="fa fa-minus px-1"></i> | |
21 | + <i ng-show="!manguera.show" class="fa fa-plus px-1"></i> | |
22 | + </button> | |
23 | + <table class="table table-sm table-striped" ng-show="manguera.show"> | |
24 | + <tbody> | |
25 | + <tr ng-repeat="(key, despacho) in manguera.despachos"> | |
26 | + <td class="py-2 py-sm-1" ng-bind="despacho.FEC | date:'dd/MM/yyyy hh:MM:ss'"></td> | |
27 | + <td class="py-2 py-sm-1" ng-bind="despacho.LTS"></td> | |
28 | + <td class="py-2 py-sm-1" ng-bind="despacho.IMP | currency: '$'"></td> | |
29 | + <td class="py-2 py-sm-1"> | |
30 | + <button | |
31 | + type="button" | |
32 | + class="btn btn-default btn-xs p-1 float-right" | |
33 | + title="Seleccionar" | |
34 | + ng-click="aceptar(despacho)" | |
35 | + ><i class="fa fa-circle-thin" aria-hidden="true"></i> | |
36 | + </button> | |
37 | + </td> | |
38 | + </tr> | |
39 | + </tbody> | |
40 | + </table> | |
41 | + </div> | |
42 | + </div> | |
43 | + </div> | |
44 | + | |
45 | +</div> | |
46 | +<div class="modal-footer py-2"> | |
47 | + <nav ng-show="currentPageProveedores.length > 0 && primerBusqueda" class="mr-auto"> | |
48 | + <ul class="pagination pagination-sm mb-0"> | |
49 | + <li class="page-item" ng-class="{'disabled': currentPage == 1}"> | |
50 | + <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage - 1)"> | |
51 | + <span aria-hidden="true">«</span> | |
52 | + <span class="sr-only">Anterior</span> | |
53 | + </a> | |
54 | + </li> | |
55 | + <li | |
56 | + class="page-item" | |
57 | + ng-repeat="pagina in paginas" | |
58 | + ng-class="{'active': pagina == currentPage}" | |
59 | + > | |
60 | + <a | |
61 | + class="page-link" | |
62 | + href="javascript:void();" | |
63 | + ng-click="selectPage(pagina)" | |
64 | + ng-bind="pagina" | |
65 | + ></a> | |
66 | + </li> | |
67 | + <li class="page-item" ng-class="{'disabled': currentPage == lastPage}"> | |
68 | + <a class="page-link" href="javascript:void();" ng-click="selectPage(currentPage + 1)"> | |
69 | + <span aria-hidden="true">»</span> | |
70 | + <span class="sr-only">Siguiente</span> | |
71 | + </a> | |
72 | + </li> | |
73 | + </ul> | |
74 | + </nav> | |
75 | + <button class="btn btn-sm btn-secondary" type="button" ng-click="cancel()">Cancelar</button> | |
76 | +</div> |