diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index 6f30d43..99aa398 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -69,16 +69,16 @@ class GrupoDeCompra extends Model throw new Exception('No hay bono de transporte'); } - private function totalPedidoSinBDT() { + private function totalPedidosSinBonos() { $total = 0; - foreach ($this->subpedidos as $subpedido) { - $total += $subpedido->totalSinBDT(); + foreach ($this->pedidosAprobados() as $pedido) { + $total += ceil($pedido->totalSinBonos()); } return $total; } - private function calcularCantidadBDT() { - return ceil($this->totalPedidoSinBDT() / 500); + public function calcularCantidadBDT() { + return ceil($this->totalPedidosSinBonos() / 500); } public function exportarPedidoEnCSV(){ diff --git a/app/Http/Resources/SubpedidoResource.php b/app/Http/Resources/SubpedidoResource.php index 6567ee0..bd53b85 100644 --- a/app/Http/Resources/SubpedidoResource.php +++ b/app/Http/Resources/SubpedidoResource.php @@ -17,7 +17,7 @@ class SubpedidoResource extends JsonResource return [ 'id' => $this->id, 'nombre' => $this->nombre, - 'subtotal_productos' => number_format($this->totalSinBDT(),0), + 'subtotal_productos' => number_format($this->totalSinBonos(),0), 'subtotal_bonos' => number_format($this->getSubtotalBonos(),0), 'bonos_de_transporte' => $this->cantidadBDT(), 'subtotal_bonos_de_transporte' => number_format($this->getSubtotalBDT(),0), diff --git a/app/Subpedido.php b/app/Subpedido.php index ea9d779..8b64a24 100644 --- a/app/Subpedido.php +++ b/app/Subpedido.php @@ -41,7 +41,7 @@ class Subpedido extends Model } //Subtotal de dinero de productos del pedido, sin bonos ni transporte - public function totalSinBDT() + public function totalSinBonos() { return $this->productosSinBonos()->sum('total'); } @@ -49,7 +49,7 @@ class Subpedido extends Model //Cantidad de bonos de transporte public function cantidadBDT() { - return ceil($this->totalSinBDT() / 500); + return ceil($this->totalSinBonos() / 500); } //Subtotal de dinero de bonos de transporte @@ -66,7 +66,7 @@ class Subpedido extends Model public function getTotal() { - return $this->totalSinBDT() + $this->getSubtotalBDT() + $this->getSubtotalBonos(); + return $this->totalSinBonos() + $this->getSubtotalBDT() + $this->getSubtotalBonos(); } //Actualiza el pedido, agregando o quitando del subpedido según sea necesario. Debe ser llamado desde el controlador de subpedidos, luego de validar que los parámetros $producto y $cantidad son correctos. También calcula el subtotal por producto. diff --git a/package.json b/package.json index ca11d30..cc4c17c 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "devDependencies": { "axios": "^0.19.2", "bootstrap": "^4.0.0", - "cross-env": "^7.0", + "cross-env": "^7.0.3", "jquery": "^3.2", "laravel-mix": "^5.0.1", "lodash": "^4.17.19", diff --git a/resources/csv/productos.csv b/resources/csv/productos.csv index e61c536..d2241a0 100644 --- a/resources/csv/productos.csv +++ b/resources/csv/productos.csv @@ -1,5 +1,5 @@ Tipo|Producto|Precio -P|Huevos free range (de gallina contenta) maple 30un|315.00 +P|Huevos free range (de gallina contenta) maple 30un|300.00 ALIMENTOS NO PERECEDEROS|| P|Yerba Compuesta La Herboristería 1kg|157.63 P|Yerba Yusa tradicional 1kg|126.70 @@ -13,11 +13,11 @@ P|*Harina de arroz Pasaná 1 kg (Puede contener gluten)|65.00 P|*Harina de Garbanzos Pasaná 1 kg (Puede contener gluten)|140.00 P|*Mezcla para faina Pasaná 1 kg (Puede contener gluten)|150.00 P|*Fécula de Mandioca Pasaná 1 kg (Puede contener gluten)|100.00 -P|Tres Harinas 500grs (Sin TAAC)|89.00 +P|Tres Harinas 500grs (Sin TAAC)|99.00 P|*Harina Santa Unión 000 Bolsa 25kg|675.09 P|*Polenta Santa Unión 450gr|18.33 P|*Mezcla de Fainá Santa Unión 5kg|448.50 -P|*Harina de trigo intergal orgánica "La dulce sauceña"|87.00 +P|*Harina de trigo intergal orgánica "La linda sauceña"|87.00 P|*Fideos Caorsi Tirabuzón 1kg|70.00 P|*Fideos Caorsi Tallarín 1kg|78.00 P|*Fideos Caorsi Moñita 1kg|78.00 @@ -28,66 +28,67 @@ P|Arroz Blue Patna 1kg|42.23 P|Arroz Shiva 1kg|27.00 P|*Arroz integral 1kg|60.00 P|*Arroz integral 3kg|170.00 -P|Aceite Condesa de Soja 900 cc.|68.40 -P|Aceite Uruguay de Girasol 900 cc.|96.30 -P|Aceite Optimo canola 900 cc.|74.58 +P|Aceite Condesa de Soja 900 cc.|68.20 +P|Aceite Uruguay de Girasol 900 cc.|96.10 +P|Aceite Optimo canola 900 cc.|73.94 P|*Aceite de oliva 500 ml.|260.00 -P|Vinagre Uruguay 900ml|65.60 +P|Vinagre Uruguay 900ml|65.50 P|Aceite de Oliva Cuatro Piedras 3 lt|1250.00 P|*Salsa de soja La Posta 250 ml.|100.00 P|*Aceitunas verdes sin carozo en frasco La Posta 500 gr.|195.00 -P|*Aceitunas negras sin carozo en frasco frasco La Posta 500 gr.|195.00 -P|Lata atún Golden Fish desmenuzado al aceite 170g|35.00 -P|Lata de arvejas Campero 300g|18.40 -P|Lata de choclo Cosecha 300g|26.70 -P|Lata de jardinera Cosecha|26.70 -P|Lata de porotos negros Cosecha|31.30 -P|Lata de porotos de frutilla Cosecha|31.30 +P|*Aceitunas negras sin carozo en frasco La Posta 500 gr.|225.00 +P|Lata de atún El Emigrante desmenuzado al aceite 170g|44.20 +P|Lata de arvejas Campero 300g|18.20 +P|Lata de choclo Cosecha 300g|28.20 +P|Lata de jardinera Cosecha|30.90 +P|Lata de porotos negros Cosecha|33.90 +P|Lata de porotos de frutilla Cosecha|33.90 P|Lata de duraznos en almíbar Campero|64.40 -P|Mayonesa Uruguay 500g|76.90 -P|Azúcar Bella Unión 1kg|44.30 +P|Mayonesa Uruguay 500g|76.70 +P|Azúcar Bella Unión 1kg|48.40 P|Azúcar rubia Mascabo 500g|90.00 -P|Azúcar impalpable Hornex 200 gr|37.00 -P|Azúcar impalpable Hornex 1kg|121.00 -P|Almidón de maíz Hornex 1Kg|76.00 +P|Azúcar impalpable Hornex 200 gr|38.00 +P|Azúcar impalpable Hornex 1kg|125.00 +P|Almidón de maíz Hornex 1Kg|79.00 +P|Almidón de maíz Ilu wayra 3Kg|200.00 P|Almidón de maíz Ilu wayra 1Kg|70.00 P|Almidón de maíz Ilu wayra 500 g|40.00 -P|Polvo de Hornear Hornex 1 kg|141.00 -P|Polvo de Hornear Hornex 100 g + 20 g|36.50 +P|Polvo de Hornear Hornex 1 kg|148.00 +P|Polvo de Hornear Hornex 100 g + 20 g|38.00 P|*Esencia de vainilla La Posta 100ml|90.00 P|*Bicarbonato de sodio La Posta 250 gr|50.00 -P|Grasa Uruguay 400grs|52.40 -P|Levadura seca Hornex 125g|118.00 +P|Grasa Uruguay 400grs|52.30 +P|Levadura seca Hornex 125g|120.00 P|Café Sorocabana glaseado p/máquina 500 grs|383.36 P|Café Sorocabana natural p/máquina 500 grs|519.91 -P|Café soluble Saint bollón 170 gr|202.00 -P|Té Negro en hebras 90gr hornimans|32.00 +P|Café soluble Saint bollón 170 gr|225.70 +P|Té Negro en hebras 90gr hornimans|35.60 P|Galletas de arroz SIN SAL Natural Rice 120 gr.|36.00 P|Galletas de arroz comunes Natural Rice 120 gr|36.00 -P|Leche en polvo entera 500 gr|98.00 +P|Leche en polvo entera 250 g|98.00 P|Leche en polvo entera 1kg|298.00 P|* Coco rallado 200gr|60.00 P|* Coco rallado 1kg|210.00 -P|Cocoa Hornex 200gr|49.50 -P|Postre de chocolate Hornex 8 porciones|41.50 -P|Postre LIGHT de vainilla Hornex 8 porciones (aprobado por ADU)|66.00 -P|Flan de vainilla Hornex 8 porciones|41.50 -P|Gelatina de frutilla Hornex 8 porciones|41.50 -P|Bizcochuelo de vainilla SIN GLUTEN 500gr Hornex|158.00 -P|Pizza SIN GLUTEN 320gr Hornex|150.00 -P|Pulpa de Tomate De Ley 1lt (S-G)|53.00 -P|Pure de papa instantaneo De Ley 125g|23.90 +P|Cocoa Hornex 200gr|51.00 +P|Postre de chocolate Hornex 8 porciones|43.00 +P|Postre LIGHT de vainilla Hornex 8 porciones (aprobado por ADU)|68.00 +P|Flan de vainilla Hornex 8 porciones|43.00 +P|Gelatina de frutilla Hornex 8 porciones|43.00 +P|Bizcochuelo de vainilla SIN GLUTEN 500gr Hornex|166.00 +P|Pizza SIN GLUTEN 320gr Hornex|159.00 +P|Pulpa de Tomate De Ley 1lt (S-G)|50.25 +P|Pure de papa instantaneo De Ley 125g|27.47 P|*Sal fina sin fluor Polenteados 500g|34.00 P|*Sal gruesa sin fluor Polenteados 500g|34.00 -P|*Salsa de tomate casera (puro tomate) 1 lt - (S-G) - azucar agregada: 1g/L - sal agregada: 0,25g/L|80.00 +P |*Salsa de tomate casera (puro tomate) 1 lt - (S-G) - azucar agregada: 1g/L - sal agregada: 0,25g/L|80.00 P|*Barras de cereales (maní, sésamo, lino, girasol, avena, copos de arroz, copos de máiz, azúcar rubia y miel) - Pack x2|80.00 P|*Barras de cereales bañadas en chocolate (maní, sésamo, lino, girasol, avena, copos de arroz, copos de máiz, azúcar rubia y miel) - Pack x2|90.00 P|*Granola artesanal 500 gr Ing: copos ,avena,miel, vainilla,coco rallado, chia,girasol,sésamo, lino,maní, almendras, castañas de caju, nueces, chips de chocolate.|235.00 -P|*Granola simple (avena+ girasol+ pasaUva) 1kg|170.00 +P|*Granola simple (avena+ girasol+ pasaUva) 1kg|160.00 P|*Copos de maíz azucarados 500g|98.00 P|*Copos de maíz naturales 500g|98.00 P|*Crema untable de maní 250gr|92.00 -P|Alfajor de chocolate negro 80 g (S-G)|44.00 +P|Alfajor de chocolate negro 80 g (S-G) |44.00 P|Galletitas dulces de chispas de chocolate y avena 150 g (S-G, S-A)|108.00 P|Crackers saladas de sésamo girasol y chía 180 g (S-G)|108.00 P|*Lino 1/4 kg|35.00 @@ -118,9 +119,9 @@ P|*Porotos de manteca Polenteados 1kg|126.00 P|*Proteína de SOJA texturizada 1kg|130.00 P|*Semillas Zapallo 100g.|55.00 CONDIMENTOS, PERECEDEROS Y BEBIDAS|| -P|*Tallarines frescos de yema Pastas Colon 1kg|175.00 +P|*Tallarines frescos de yema Pastas Colon 1kg|175.00 P|*Tallarines frescos de espinaca Pastas Colon 1kg|185.00 -P|*Tallarines frescos de morrón Pastas Colon 1kg|190.00 +P|*Tallarines frescos de morrón Pastas Colon 1kg|190.00 P|*Salsa pomarola 300gr ex trabajadores de La Spezia|90.00 P|*Fetuccine integral de zanahoria, apto veganos 1kg|190.00 P|*Romanitos rellenos jamón y queso ex trabajadores de La Spezia 1kg|510.00 @@ -136,9 +137,7 @@ P|*Empanada de pollo x 6|250.00 P|*Empanada de carne x 6|250.00 P|*Milanesas de seitan x6|350.00 P|*Hamburguesas parrilleras de soja no transgénica, sal, harina de avena y adobo sin picante x6 - (S-A)|340.00 -P|*Jamón vegano (gluten de trigo, salsa de tomate, sabor ahumado, sal) horma 250 g - (S-A)|215.00 -P|*Hummus 200cc|140.00 -P|*Pate de zanahoria 200cc|140.00 +P|*Jamón vegano (gluten de trigo, salsa de tomate, sabor ahumado, sal) horma 250 g - (S-A)|215.00 P|*Pan rallado 1kg|65.00 P|*Pan rallado saborizado 1Kg|85.00 P|*Pimienta blanca 30g|20.00 @@ -146,20 +145,20 @@ P|*Orégano 25g|20.00 P|*Pimentón 30g|20.00 P|*Adobo 30g|20.00 P|*Ajo y Perejil 30g|20.00 -P|*Clavo de olor 15g NUEVO|20.00 -P|*Tomillo 25g NUEVO|20.00 +P|*Clavo de olor 15g|20.00 +P|*Tomillo 25g|20.00 P|*PACK "A" Curry / Nuez moscada / Ajo en polvo / Condimento verde / Comino|100.00 P|*PACK "B" Pimienta Negra polvo / Sal de ajo / Aji molido / Canela en polvo / Condimento para arroz|100.00 -P|*PACK "C" Cebolla en polvo / Pimienta blanca en grano / Pimienta negra en grano / Ajo en escamas / Especias surtidas|100.00 +P|*PACK "C" Cebolla en polvo / Pimienta blanca en grano / Pimienta negra en grano / Ajo en escamas / Especias surtidas|100.00 P|*Pimentón 250grs|110.00 P|*Orégano 250g|115.00 P|*Nuez moscada entera 2 unidades|23.00 P|*Canela en rama 10g|23.00 P|*Cúrcuma 20g|23.00 P|*Pack "Mix de sabores": Albahaca, Romero, Pimentón español.|62.00 -P|*Pack "Rejuvenecedor"-Caléndula, Mazanilla, Petalos de Rosa.|115.00 -P|*Pack "Relax"- Tilo, Té Rojo, Malva.|115.00 -P|*Pack "Pal Mate" - Cedrón, Boldo, Marcela .|115.00 +P|*Pack "Power pack"-Ginseng, Carqueja, Ginkgo Biloba. |115.00 +P|*Pack "Rejuvenecedor"- Calendula, Manzanilla, Pétalos de rosa.|115.00 +P|*Pack "Invierno" - Guaco, Diente de León, Congorosa .|115.00 P|Vino Santero Marselán 1 lt.|220.00 P|Vino Tannat-Cabernet Paso del Roble 1 lt.|98.00 P|Vino Rosado dulce Paso del Roble 1 lt.|98.00 @@ -168,10 +167,10 @@ P|Frizzante de Frutos del bosque|230.00 P|Fernet 780 ml|390.00 P|*Cerveza artesanal Punto Rojo Red Ipa 500cc|100.00 P|*Cerveza artesanal Punto Rojo Cream Ale (Rubia) 500cc|100.00 -P|*Cerveza artesanal APA Press 1L|190.00 -P|*Cerveza artesanal Negra Press 1L|190.00 +P|*Cerveza artesanal APA Press 1L|200.00 +P|*Cerveza artesanal Negra Press 1L|200.00 P|Jugo en polvo "Juguito" sabores surtidos|8.00 -P|Jugo Big C 200ml sabores surtidos|15.50 +P|Jugo Big C 200ml sabores surtidos|15.80 P|*Refresco U Naranja 2lt|87.00 P|*Refresco U Mandarina 2lt|87.00 P|*Refresco U Pomelo 2lt|87.00 @@ -182,14 +181,14 @@ P|*Queso Magro s/sal 1/2 kg Unidad Cooperaria|184.00 P|*Queso Magro c/sal 1/2 kg Uniddad Cooperaria|184.00 P|*Queso Danbo 1/2 kg Unidad Cooperaria|180.00 P|*Queso Sbrinz 1/2 kg Unidad Cooperaria|275.00 -P|*Queso Colonia 1/2 Kg Unidad Cooperaria|189.00 +P|*Queso Colonia 1/2 Kg Unidad Cooperaria|189.00 P|*Queso parrillero 350g Unidad Cooperaria|169.00 P|*Queso de mandioca en horma 400 gr|230.00 P|*Queso saborizado con orégano 500grs (envasado al vacío)|303.00 P|*Queso semiduro 500grs (envasado al vacío) Productores Ismael Cortinas|243.00 P|*Queso cuartirolo horma 1kg envasado al vacío|355.00 P|*Queso rallado 200grs|145.00 -P|*Dulce de Leche 1 Kg Unidad Cooperaria|258.00 +P|*Dulce de Leche 1 Kg Unidad Cooperaria|258.00 P|*Dulce de leche de coco 360 gr|330.00 P|*Morrones en vinagre 330 gr|200.00 P|*Berenjenas en vinagre 330 gr|200.00 @@ -198,17 +197,17 @@ P|*Mermelada de frutilla, 450 grs.|138.50 P|*Mermelada de durazno, 450 grs.|126.00 P|*Mermelada de ciruela, 450 grs.|134.00 P|*Mermelada de higo, 450 grs.|126.00 -P|*Mermelada de zapallo, 450 grs.|121.00 +P|*Mermelada de zapallo, 450 grs.|132.00 P|*Mermelada de tomate, 450 grs. NUEVO|134.00 P|*Mermelada de arándanos, 450 grs.|159.50 P|*Dulce de membrillo, 900grs|114.00 -P|*Dulce de batata con chocolate 1kg|134.50 -P|*Dulce de zapallo 1kg|125.00 +P|*Dulce de batata con chocolate 1kg|146.50 +P|*Dulce de zapallo 1kg|136.00 P|*Dulce de higo 1kg|128.00 P|*Miel artesanal 1 kg|240.00 P|*Canasta de frutas y verduras "34 Sur Productos Orgánicos"|630.00 ARTÍCULOS PERSONALES Y DE LIMPIEZA|| -P|Preservativos Prime ultrafinos x3|86.50 +P|Preservativos Prime ultrafinos x3|89.66 P|Tabaco Cerrito|116.69 P|Hojilla JOB x30|24.34 P|Shampoo Plusbelle 930ml|146.00 @@ -222,12 +221,12 @@ P|*Cepillo dental de bambú 97% biodegradable (niños y adultos)|165.00 P|*Desodorante ecológico apto veganos Natura|165.00 P|*Shampoo artesanal pelo graso 250ml Natura|235.00 P|*Barrita quita manchas 75 gr Natura|100.00 -P|*Aromatizador ambiental fragancia floral de varilla Natura, 100ml|330.00 -P|*Aromatizador ambiental fragancia cítrica de varilla Natura, 100ml|330.00 +P|*Aromatizador ambiental fragancia floral de varilla Natura, 100ml |330.00 +P|*Aromatizador ambiental fragancia cítrica de varilla Natura, 100ml |330.00 P|*Talco pédico 200gr|205.00 -P|* Shampoo sólido para cabello seco Herencia de Aquelarre 90 gr|360.00 -P|* Shampoo sólido para cabello graso Herencia de Aquelarre 90 gr|360.00 -P|*Acondicionador sólido Herencia de Aquelarre 50 gr|300.00 +P|* Shampoo sólido para cabello seco Herencia de Aquelarre 90 gr |360.00 +P|* Shampoo sólido para cabello graso Herencia de Aquelarre 90 gr |360.00 +P|*Acondicionador sólido Herencia de Aquelarre 50 gr |300.00 p|* Pasta dental Herencias de Aquelarre 65 cc|250.00 P|*Bálsamo labial Herencias de aquelarre (protege y repara) 15 cc|250.00 P|* Ungüento descongestivo y expectorante (tomillo, eucalipto y mentol) 30 cc|350.00 @@ -237,15 +236,15 @@ P|*Suavizante Bonsai 1lt|70.00 P|*Jabon liquido para lavarropas 900 cc Bonsai|80.00 P|*Jabon liquido para lavarropas 3 lts Bonsai|250.00 P|*Jabon liquido de Manos 500 cc Bonsai|60.00 -P|*Perfumador de telas 250 cc Bonsai|110.00 +P|*Perfumador de telas 250 cc Bonsai|110.00 P|*Limpiador desengarsante para cocinas y baños aroma cítrico 1 litro (no es para cañerías)|110.00 P|*Entrebichitos - MEN 2lts. (graseras, pozos, cañerías, plantas)|180.00 P|*Entrebichitos - MEN Limpieza 1lt (suelos, mesadas, paredes, combate hongos, bacterias y virus)|100.00 P|*Entrebichitos - Pastilla grasera|80.00 -P|*Hipoclorito El Resistente 1800cc|72.00 -P|*Limpiador perfumado El Resistente (perfumol) 1800cc|72.00 -P|*Detergente El Resistente 500ml|48.00 -P|*KIT El Resistente (Hip./Perf./Det.)|176.00 +P|*Hipoclorito El Resistente 1800cc|74.00 +P|*Limpiador perfumado El Resistente (perfumol) 1800cc|74.00 +P|*Detergente El Resistente 500ml|49.00 +P|*KIT El Resistente (Hip./Perf./Det.)|182.00 P|Jabon en barra Primor x1|27.90 P|Rejilla de cocina 40 x 27.5 Tacuabé (ex Paylana) cm|30.00 P|Trapo de piso 53 x 53 Tacuabé (ex Paylana)|38.00 @@ -258,7 +257,7 @@ P|Pala con mango|99.00 P|Balde 9 Lts|109.00 P|Bolsa de residuos 50x55 30 unidades|63.00 P|Lampazo|119.00 -P|Guantes de latex talle M|88.00 +P|Guantes de latex talle L|88.00 P|Rollitos de alumnio x6|30.00 P|*Vela de apagón|8.40 P|*Vela de citronela 1 mecha|132.80 @@ -271,8 +270,8 @@ P|Toallita de bebé BabySec ultra 50un|79.00 P|Papel Higienico: Higienol Texturado x4|45.36 P|Papel de Cocina Sussex extra x 2 -120 paños-|78.84 P|Pañales para Adultes INCOPROTECT TALLE M NUEVO|579.00 -P|Pañales para Adultes INCOPROTECT TALLE G NUEVO|617.00 -P|Pañales para Adultes INCOPROTECT TALLE EXTRA G NUEVOS|743.00 +P|Pañales para Adultes INCOPROTECT TALLE G NUEVO|617.00 +P|Pañales para Adultes INCOPROTECT TALLE EXTRA G NUEVOS|743.00 TEXTIL|| PTC|*Calza licra de algodon talle S|900.00 PTC|*Calza licra de algodon talle M|900.00 @@ -344,19 +343,17 @@ P|*Toalla de mano|350.00 P|*Turbante toalla|450.00 P|*Delantal corto Colectiva en la Olla|450.00 P|*Delantal largo Colectiva en la Olla|650.00 -P|*Matera Colectiva en la Olla|450.00 +P|*Matera Colectiva en la Olla |450.00 P|*Delantal infantil Colectiva en la Olla|450.00 ARTÍCULOS DE MADRES Y FAMILIARES|| P|Pañuelo Madres y Familiares de Detenidos Desaparecidos|50.00 P|Balconera Madres y Familiares de Detenidos Desaparecidos|100.00 -PTC|Camiseta Madres y Familiares de Detenidos Desaparecidos negra - talles S al XXL|380.00 -PTC|Camiseta Madres y Familiares de Detenidos Desaparecidos violeta - talles S al XL|380.00 -PTC|Camiseta Madres y Familiares de Detenidos Desaparecidos verde - talles S al XXL|380.00 -PTC|Camiseta Madres y Familiares de Detenidos Desaparecidos blanca con letras rosa - talles S al XXL|380.00 -PTC|Camiseta Madres y Familiares de Detenidos Desaparecidos rojo - talles S al XXL|380.00 +P|Pack 1: 1 pin redondo + 1 lapicera + 1 Pañuelo + Pegotines y marcalibros|150.00 +P|Pack 2: 1 Pin redondo + 1 Lapicera + Pegotines y marcalibros|100.00 +P|Pack 3: 1 Pañuelo + 2 Lapiceras|100.00 +P|Pack 4: 1 Libro La Sal de la Tierra + 1 Pin redondo + 1 Lapicera +Pegotines y Marcalibros|150.00 PRODUCTO MPS|| -P|* Bolsa estampada con logo MPS. Acción Solidaria.|155.00 -P|Jenga "Se Va a Caer"|200.00 +P|Jenga "Se Va a Caer" |200.00 PRODUCTOS ESPECIALES|| P|*Cuaderno artesanal 80 hojas rayado|100.00 P|*Cuaderno artesanal 80 hojas liso|100.00 diff --git a/resources/js/app.js b/resources/js/app.js index 79de065..18712d5 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -5,6 +5,7 @@ */ import axios from 'axios'; import animate from 'animate.css'; +import Vue from 'vue'; window.Vue = require('vue'); window.Event = new Vue(); window.axios = axios; @@ -17,16 +18,74 @@ window.bulmaToast = require('bulma-toast'); * * Eg. ./components/ExampleComponent.vue -> */ - const files = require.context('./', true, /\.vue$/i) files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) +/** + * Constants + */ +Vue.prototype.$rootMiga = { + nombre: "Categorías", + href: "/productos" +} +/** + * Global methods + */ +Vue.prototype.$settearProducto = function(cantidad, id) { + Event.$emit("sync-subpedido", this.cant, this.producto.id) +} +Vue.prototype.$toast = function(mensaje) { + return window.bulmaToast.toast({ + message: mensaje, + duration: 1000, + type: 'is-danger', + position: 'bottom-center', + animate: { in: 'fadeIn', out: 'fadeOut' } + }); +} /** * Next, we will create a fresh Vue application instance and attach it to * the page. Then, you may begin adding components to this application * or customize the JavaScript scaffolding to fit your unique needs. */ - const app = new Vue({ - el: '#root' + el: '#root', + data() { + return { + gdc: null, + pedido: null + } + }, + mounted() { + Event.$on('obtener-sesion', () => { + axios.get('/subpedidos/obtener_sesion') + .then(response => { + this.pedido = response.data.subpedido.id + axios.get('/api/subpedidos/' + this.pedido) + .then(response => { + this.pedido = response.data.data + this.gdc = this.pedido.grupo_de_compra.id + }) + }) + }) + Event.$on('sync-subpedido', (cantidad, id) => { + axios.post("/api/subpedidos/" + this.pedido.id + "/sync", { + cantidad: cantidad, + producto_id: id + }).then((response) => { + this.pedido = response.data.data + this.$toast('Pedido actualizado exitosamente') + }); + }); + Event.$on('aprobacion-subpedido', (subpedidoId, aprobado) => { + axios.post("/api/admin/subpedidos/" + subpedidoId + "/aprobacion", { + aprobacion: aprobado + }).then((response) => { + Event.$emit('sync-aprobacion', response.data.data); + this.$toast('Pedido ' + (aprobado ? 'aprobado' : 'desaprobado') + ' exitosamente') + }) + }) + Event.$emit('obtener-sesion') + }, }); + diff --git a/resources/js/components/CategoriasContainer.vue b/resources/js/components/CategoriasContainer.vue index 9eec86b..65a06de 100644 --- a/resources/js/components/CategoriasContainer.vue +++ b/resources/js/components/CategoriasContainer.vue @@ -1,12 +1,12 @@ diff --git a/resources/js/components/PedidosAdminTablaPedidos.vue b/resources/js/components/PedidosAdminTablaPedidos.vue index 35c7098..379190b 100644 --- a/resources/js/components/PedidosAdminTablaPedidos.vue +++ b/resources/js/components/PedidosAdminTablaPedidos.vue @@ -33,18 +33,24 @@ export default { pedidos: { type: Array, required: true - } + }, + bonosDeTransporte: { + type: Number, + required: true + }, }, methods: { totalAprobados() { let suma = 0; let aprobados = this.pedidos.filter(p => p.aprobado); for (let i = 0; i < aprobados.length; i++) { - suma += parseFloat(aprobados[i].total.replace(/,/g, '')); + suma += parseFloat(aprobados[i].subtotal_bonos.replace(/,/g, '')); + suma += parseFloat(aprobados[i].subtotal_productos.replace(/,/g, '')); } + suma += parseInt(this.bonosDeTransporte)*15 return suma; } - } + }, } diff --git a/resources/js/components/ProductoModal.vue b/resources/js/components/ProductoModal.vue index d781a9b..de9db3e 100644 --- a/resources/js/components/ProductoModal.vue +++ b/resources/js/components/ProductoModal.vue @@ -83,7 +83,7 @@ if (this.cant < 0) alert("No se puede agregar cantidades negativas") else if (!Number.isInteger(this.cant)) alert("Las cantidades deben ser números enteros") else { - Event.$emit("sync-subpedido", this.cant, this.producto.id); + Event.$emit('sync-subpedido',this.cant, this.producto.id); this.cerrar(); } } diff --git a/resources/js/components/ProductoRow.vue b/resources/js/components/ProductoRow.vue index c39a9bd..c583fc2 100644 --- a/resources/js/components/ProductoRow.vue +++ b/resources/js/components/ProductoRow.vue @@ -2,7 +2,7 @@ {{ this.producto.nombre }} {{ this.producto.pivot.cantidad }} - {{ this.producto.pivot.total }} + {{ Math.ceil(this.producto.pivot.total) }}