diff --git a/.docker-compose.yml.swp b/.docker-compose.yml.swp new file mode 100644 index 0000000..a18349a Binary files /dev/null and b/.docker-compose.yml.swp differ diff --git a/.gitignore b/.gitignore index 0f7df0f..f5b7047 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ Homestead.json Homestead.yaml npm-debug.log yarn-error.log +.idea diff --git a/.idea/pedi2.iml b/.idea/pedi2.iml index ae09bef..15cd481 100644 --- a/.idea/pedi2.iml +++ b/.idea/pedi2.iml @@ -78,6 +78,11 @@ + + + + + diff --git a/.idea/php.xml b/.idea/php.xml index 0a57aad..e08e4c6 100644 --- a/.idea/php.xml +++ b/.idea/php.xml @@ -75,6 +75,13 @@ + + + + + + + diff --git a/app/GrupoDeCompra.php b/app/GrupoDeCompra.php index 8d16b8f..7b41722 100644 --- a/app/GrupoDeCompra.php +++ b/app/GrupoDeCompra.php @@ -3,6 +3,7 @@ namespace App; use Illuminate\Database\Eloquent\Model; +use Mpdf\Mpdf; class GrupoDeCompra extends Model { @@ -14,5 +15,19 @@ class GrupoDeCompra extends Model public function subpedidos() { return $this->hasMany('App\Subpedido'); } - + + public function exportarPlanillasAPdf() { + $subpedidos = $this->subpedidos; + //generar pdf + $mpdf = new Mpdf();; + foreach ($subpedidos as $subpedido) { + $tabla = $subpedido->generarHTML(); + // agregar la tabla al pdf en una nueva página + $mpdf->WriteHTML($tabla); + $mpdf->AddPage(); + } + // imprimir el pdf + $mpdf->Output(); + } + } diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 7a9642c..d5b1bef 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\GrupoDeCompra; use Illuminate\Http\Request; class AdminController extends Controller @@ -14,4 +15,8 @@ class AdminController extends Controller public function index() { return view('auth/admin_subpedidos'); } + + public function exportarPlanillasAPdf(GrupoDeCompra $gdc) { + return $gdc->exportarPlanillasAPdf(); + } } diff --git a/app/Subpedido.php b/app/Subpedido.php index 4472630..68e5a4f 100644 --- a/app/Subpedido.php +++ b/app/Subpedido.php @@ -24,7 +24,7 @@ class Subpedido extends Model return $this->productos()->where('bono',1); } - private function productosSinBonos() + public function productosSinBonos() { return $this->productos()->where('bono',false); } @@ -90,4 +90,9 @@ class Subpedido extends Model $this->save(); } + public function generarHTML() { + $view = view("pdfgen.subpedido_tabla", ["subpedido" => $this]); + return $view->render(); + } + } diff --git a/composer.json b/composer.json index 3778816..be4e5ee 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,9 @@ "laravel/sanctum": "^2.13", "laravel/tinker": "^2.5", "laravel/ui": "*", - "league/csv": "^9.8" + "league/csv": "^9.8", + "mpdf/mpdf": "^8.1", + "prexview/prexview": "^1.1" }, "require-dev": { "facade/ignition": "^2.0", diff --git a/composer.lock b/composer.lock index eb23c75..988612c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "8389a7c37eb75068185ce61fe4270621", + "content-hash": "55c5266672a741b618c9da8a6e272450", "packages": [ { "name": "asm89/stack-cors", @@ -1666,6 +1666,142 @@ ], "time": "2021-10-01T21:08:31+00:00" }, + { + "name": "mpdf/mpdf", + "version": "v8.1.2", + "source": { + "type": "git", + "url": "https://github.com/mpdf/mpdf.git", + "reference": "a8a22f4874157e490d41b486053a20bec42e182c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mpdf/mpdf/zipball/a8a22f4874157e490d41b486053a20bec42e182c", + "reference": "a8a22f4874157e490d41b486053a20bec42e182c", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-mbstring": "*", + "myclabs/deep-copy": "^1.7", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": "^5.6 || ^7.0 || ~8.0.0 || ~8.1.0", + "php-http/message-factory": "^1.0", + "psr/http-message": "^1.0", + "psr/log": "^1.0 || ^2.0", + "setasign/fpdi": "^2.1" + }, + "require-dev": { + "mockery/mockery": "^1.3.0", + "mpdf/qrcode": "^1.1.0", + "squizlabs/php_codesniffer": "^3.5.0", + "tracy/tracy": "^2.4", + "yoast/phpunit-polyfills": "^1.0" + }, + "suggest": { + "ext-bcmath": "Needed for generation of some types of barcodes", + "ext-xml": "Needed mainly for SVG manipulation", + "ext-zlib": "Needed for compression of embedded resources, such as fonts" + }, + "type": "library", + "autoload": { + "psr-4": { + "Mpdf\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-only" + ], + "authors": [ + { + "name": "Matěj Humpál", + "role": "Developer, maintainer" + }, + { + "name": "Ian Back", + "role": "Developer (retired)" + } + ], + "description": "PHP library generating PDF files from UTF-8 encoded HTML", + "homepage": "https://mpdf.github.io", + "keywords": [ + "pdf", + "php", + "utf-8" + ], + "support": { + "docs": "http://mpdf.github.io", + "issues": "https://github.com/mpdf/mpdf/issues", + "source": "https://github.com/mpdf/mpdf" + }, + "funding": [ + { + "url": "https://www.paypal.me/mpdf", + "type": "custom" + } + ], + "time": "2022-08-15T08:15:09+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2022-03-03T13:19:32+00:00" + }, { "name": "nesbot/carbon", "version": "2.55.2", @@ -1883,6 +2019,110 @@ }, "time": "2021-04-09T13:42:10+00:00" }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" + }, + { + "name": "php-http/message-factory", + "version": "v1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-http/message-factory.git", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message-factory/zipball/a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "reference": "a478cb11f66a6ac48d8954216cfed9aa06a501a1", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Factory interfaces for PSR-7 HTTP Message", + "homepage": "http://php-http.org", + "keywords": [ + "factory", + "http", + "message", + "stream", + "uri" + ], + "support": { + "issues": "https://github.com/php-http/message-factory/issues", + "source": "https://github.com/php-http/message-factory/tree/master" + }, + "time": "2015-12-19T14:08:53+00:00" + }, { "name": "phpoption/phpoption", "version": "1.8.1", @@ -1954,6 +2194,40 @@ ], "time": "2021-12-04T23:24:31+00:00" }, + { + "name": "prexview/prexview", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/prexview/prexview-php.git", + "reference": "d5f44d7aa49ce1cb507a613427d0184e1952f1b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/prexview/prexview-php/zipball/d5f44d7aa49ce1cb507a613427d0184e1952f1b7", + "reference": "d5f44d7aa49ce1cb507a613427d0184e1952f1b7", + "shasum": "" + }, + "require": { + "rmccue/requests": "^1.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "PrexView\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A composer library to use PrexView, a fast, scalable and friendly service for programatic HTML, PDF, PNG or JPG generation using JSON or XML data.", + "support": { + "issues": "https://github.com/prexview/prexview-php/issues", + "source": "https://github.com/prexview/prexview-php/tree/master" + }, + "time": "2017-07-28T00:29:38+00:00" + }, { "name": "psr/container", "version": "1.1.2", @@ -2609,6 +2883,138 @@ ], "time": "2021-09-25T23:10:38+00:00" }, + { + "name": "rmccue/requests", + "version": "v1.8.1", + "source": { + "type": "git", + "url": "https://github.com/WordPress/Requests.git", + "reference": "82e6936366eac3af4d836c18b9d8c31028fe4cd5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/WordPress/Requests/zipball/82e6936366eac3af4d836c18b9d8c31028fe4cd5", + "reference": "82e6936366eac3af4d836c18b9d8c31028fe4cd5", + "shasum": "" + }, + "require": { + "php": ">=5.2" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7", + "php-parallel-lint/php-console-highlighter": "^0.5.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcompatibility/php-compatibility": "^9.0", + "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5", + "requests/test-server": "dev-master", + "squizlabs/php_codesniffer": "^3.5", + "wp-coding-standards/wpcs": "^2.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "Requests": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Ryan McCue", + "homepage": "http://ryanmccue.info" + } + ], + "description": "A HTTP library written in PHP, for human beings.", + "homepage": "http://github.com/WordPress/Requests", + "keywords": [ + "curl", + "fsockopen", + "http", + "idna", + "ipv6", + "iri", + "sockets" + ], + "support": { + "issues": "https://github.com/WordPress/Requests/issues", + "source": "https://github.com/WordPress/Requests/tree/v1.8.1" + }, + "time": "2021-06-04T09:56:25+00:00" + }, + { + "name": "setasign/fpdi", + "version": "v2.3.6", + "source": { + "type": "git", + "url": "https://github.com/Setasign/FPDI.git", + "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Setasign/FPDI/zipball/6231e315f73e4f62d72b73f3d6d78ff0eed93c31", + "reference": "6231e315f73e4f62d72b73f3d6d78ff0eed93c31", + "shasum": "" + }, + "require": { + "ext-zlib": "*", + "php": "^5.6 || ^7.0 || ^8.0" + }, + "conflict": { + "setasign/tfpdf": "<1.31" + }, + "require-dev": { + "phpunit/phpunit": "~5.7", + "setasign/fpdf": "~1.8", + "setasign/tfpdf": "1.31", + "squizlabs/php_codesniffer": "^3.5", + "tecnickcom/tcpdf": "~6.2" + }, + "suggest": { + "setasign/fpdf": "FPDI will extend this class but as it is also possible to use TCPDF or tFPDF as an alternative. There's no fixed dependency configured." + }, + "type": "library", + "autoload": { + "psr-4": { + "setasign\\Fpdi\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Slabon", + "email": "jan.slabon@setasign.com", + "homepage": "https://www.setasign.com" + }, + { + "name": "Maximilian Kresse", + "email": "maximilian.kresse@setasign.com", + "homepage": "https://www.setasign.com" + } + ], + "description": "FPDI is a collection of PHP classes facilitating developers to read pages from existing PDF documents and use them as templates in FPDF. Because it is also possible to use FPDI with TCPDF, there are no fixed dependencies defined. Please see suggestions for packages which evaluates the dependencies automatically.", + "homepage": "https://www.setasign.com/fpdi", + "keywords": [ + "fpdf", + "fpdi", + "pdf" + ], + "support": { + "issues": "https://github.com/Setasign/FPDI/issues", + "source": "https://github.com/Setasign/FPDI/tree/v2.3.6" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/setasign/fpdi", + "type": "tidelift" + } + ], + "time": "2021-02-11T11:37:01+00:00" + }, { "name": "swiftmailer/swiftmailer", "version": "v6.3.0", diff --git a/public/css/app.css b/public/css/app.css index 8c380e8..de6b9c3 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -27,3 +27,4 @@ main.chisma-abierta { .container { max-height: 100% !important; } + diff --git a/public/js/app.js b/public/js/app.js index f9ebd46..4e9569c 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -2026,58 +2026,6 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=script&lang=js&": -/*!*********************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=script&lang=js& ***! - \*********************************************************************************************************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// -// -// -// -// -// -// -// -// -/* harmony default export */ __webpack_exports__["default"] = ({ - name: "BotonAdminSubpedidoRow", - props: { - 'subpedido': Object - }, - data: function data() { - return { - pedido: this.subpedido - }; - }, - computed: { - mensaje: function mensaje() { - return this.pedido.aprobado ? "Desaprobar" : "Aprobar"; - } - }, - methods: { - toggleAprobacion: function toggleAprobacion() { - this.aprobado = !this.aprobado; - Event.$emit('aprobacion-subpedido', this.pedido.id, this.aprobado); - } - }, - mounted: function mounted() { - var _this = this; - - Event.$on('sync-aprobacion', function (unSubpedido) { - if (_this.pedido.id === unSubpedido.id) { - _this.pedido = unSubpedido; - } - }); - } -}); - -/***/ }), - /***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/CategoriasContainer.vue?vue&type=script&lang=js&": /*!******************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/CategoriasContainer.vue?vue&type=script&lang=js& ***! @@ -2781,7 +2729,7 @@ __webpack_require__.r(__webpack_exports__); "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _BotonAdminSubpedidoRow__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BotonAdminSubpedidoRow */ "./resources/js/components/BotonAdminSubpedidoRow.vue"); +/* harmony import */ var _SubpedidoRowBotonAdmin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SubpedidoRowBotonAdmin */ "./resources/js/components/SubpedidoRowBotonAdmin.vue"); // // // @@ -2794,7 +2742,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony default export */ __webpack_exports__["default"] = ({ name: "SubpedidoRow", components: { - BotonAdminSubpedidoRow: _BotonAdminSubpedidoRow__WEBPACK_IMPORTED_MODULE_0__["default"] + BotonAdminSubpedidoRow: _SubpedidoRowBotonAdmin__WEBPACK_IMPORTED_MODULE_0__["default"] }, props: { subpedido: Object @@ -2819,6 +2767,58 @@ __webpack_require__.r(__webpack_exports__); /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js&": +/*!*********************************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js& ***! + \*********************************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// +// +// +// +// +// +// +// +// +/* harmony default export */ __webpack_exports__["default"] = ({ + name: "BotonAdminSubpedidoRow", + props: { + 'subpedido': Object + }, + data: function data() { + return { + pedido: this.subpedido + }; + }, + computed: { + mensaje: function mensaje() { + return this.pedido.aprobado ? "Desaprobar" : "Aprobar"; + } + }, + methods: { + toggleAprobacion: function toggleAprobacion() { + this.aprobado = !this.aprobado; + Event.$emit('aprobacion-subpedido', this.pedido.id, this.aprobado); + } + }, + mounted: function mounted() { + var _this = this; + + Event.$on('sync-aprobacion', function (unSubpedido) { + if (_this.pedido.id === unSubpedido.id) { + _this.pedido = unSubpedido; + } + }); + } +}); + +/***/ }), + /***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidoSelect.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/SubpedidoSelect.vue?vue&type=script&lang=js& ***! @@ -2964,6 +2964,16 @@ __webpack_require__.r(__webpack_exports__); // // // +// +// +// +// +// +// +// +// +// +// /* harmony default export */ __webpack_exports__["default"] = ({ name: "SubpedidosGdc", @@ -4566,47 +4576,6 @@ render._withStripped = true -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); -var render = function () { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c( - "button", - { - staticClass: "button", - class: _vm.pedido.aprobado ? "is-danger" : "is-success", - on: { click: _vm.toggleAprobacion }, - }, - [ - _c("span", { staticClass: "icon is-small" }, [ - _c("i", { - staticClass: "fas", - class: _vm.pedido.aprobado ? "fa-times" : "fa-check", - }), - ]), - _vm._v(" "), - _c("span", [_vm._v(_vm._s(_vm.mensaje))]), - ] - ) -} -var staticRenderFns = [] -render._withStripped = true - - - /***/ }), /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/CategoriasContainer.vue?vue&type=template&id=a958dfb4&": @@ -5735,6 +5704,47 @@ render._withStripped = true +/***/ }), + +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true&": +/*!*************************************************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true& ***! + \*************************************************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +var render = function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c( + "button", + { + staticClass: "button", + class: _vm.pedido.aprobado ? "is-danger" : "is-success", + on: { click: _vm.toggleAprobacion }, + }, + [ + _c("span", { staticClass: "icon is-small" }, [ + _c("i", { + staticClass: "fas", + class: _vm.pedido.aprobado ? "fa-times" : "fa-check", + }), + ]), + _vm._v(" "), + _c("span", [_vm._v(_vm._s(_vm.mensaje))]), + ] + ) +} +var staticRenderFns = [] +render._withStripped = true + + + /***/ }), /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidoSelect.vue?vue&type=template&id=bdbffa74&": @@ -5929,6 +5939,23 @@ var render = function () { class: _vm.animation, }, [ + _c("div", { staticClass: "buttons is-right" }, [ + _c( + "a", + { + staticClass: "button is-info", + attrs: { href: "/admin/exportar-planillas-a-pdf/" + _vm.gdc }, + }, + [ + _c("span", [ + _vm._v("\n Imprimir Planillas\n "), + ]), + _vm._v(" "), + _vm._m(0), + ] + ), + ]), + _vm._v(" "), _c( "table", { @@ -5943,7 +5970,7 @@ var render = function () { staticClass: "table is-fullwidth is-striped is-bordered", }, [ - _vm._m(0), + _vm._m(1), _vm._v(" "), _c("tfoot", [ _c("tr", [ @@ -5991,6 +6018,14 @@ var render = function () { ) } var staticRenderFns = [ + function () { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("span", { staticClass: "icon is-small" }, [ + _c("i", { staticClass: "fas fa-print" }), + ]) + }, function () { var _vm = this var _h = _vm.$createElement @@ -18208,7 +18243,6 @@ module.exports = g; var map = { "./components/BarrioSelect.vue": "./resources/js/components/BarrioSelect.vue", "./components/BotonAdminLogin.vue": "./resources/js/components/BotonAdminLogin.vue", - "./components/BotonAdminSubpedidoRow.vue": "./resources/js/components/BotonAdminSubpedidoRow.vue", "./components/CategoriasContainer.vue": "./resources/js/components/CategoriasContainer.vue", "./components/Chismosa.vue": "./resources/js/components/Chismosa.vue", "./components/Login.vue": "./resources/js/components/Login.vue", @@ -18220,6 +18254,7 @@ var map = { "./components/ProductosContainer.vue": "./resources/js/components/ProductosContainer.vue", "./components/RegionSelect.vue": "./resources/js/components/RegionSelect.vue", "./components/SubpedidoRow.vue": "./resources/js/components/SubpedidoRow.vue", + "./components/SubpedidoRowBotonAdmin.vue": "./resources/js/components/SubpedidoRowBotonAdmin.vue", "./components/SubpedidoSelect.vue": "./resources/js/components/SubpedidoSelect.vue", "./components/SubpedidosGdc.vue": "./resources/js/components/SubpedidosGdc.vue" }; @@ -18431,75 +18466,6 @@ __webpack_require__.r(__webpack_exports__); -/***/ }), - -/***/ "./resources/js/components/BotonAdminSubpedidoRow.vue": -/*!************************************************************!*\ - !*** ./resources/js/components/BotonAdminSubpedidoRow.vue ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _BotonAdminSubpedidoRow_vue_vue_type_template_id_048436e9_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true& */ "./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true&"); -/* harmony import */ var _BotonAdminSubpedidoRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BotonAdminSubpedidoRow.vue?vue&type=script&lang=js& */ "./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=script&lang=js&"); -/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); - - - - - -/* normalize component */ - -var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( - _BotonAdminSubpedidoRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], - _BotonAdminSubpedidoRow_vue_vue_type_template_id_048436e9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], - _BotonAdminSubpedidoRow_vue_vue_type_template_id_048436e9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], - false, - null, - "048436e9", - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "resources/js/components/BotonAdminSubpedidoRow.vue" -/* harmony default export */ __webpack_exports__["default"] = (component.exports); - -/***/ }), - -/***/ "./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=script&lang=js&": -/*!*************************************************************************************!*\ - !*** ./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=script&lang=js& ***! - \*************************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BotonAdminSubpedidoRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib??ref--4-0!../../../node_modules/vue-loader/lib??vue-loader-options!./BotonAdminSubpedidoRow.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=script&lang=js&"); -/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BotonAdminSubpedidoRow_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); - -/***/ }), - -/***/ "./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true&": -/*!*******************************************************************************************************!*\ - !*** ./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true& ***! - \*******************************************************************************************************/ -/*! exports provided: render, staticRenderFns */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_BotonAdminSubpedidoRow_vue_vue_type_template_id_048436e9_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/BotonAdminSubpedidoRow.vue?vue&type=template&id=048436e9&scoped=true&"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_BotonAdminSubpedidoRow_vue_vue_type_template_id_048436e9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); - -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_BotonAdminSubpedidoRow_vue_vue_type_template_id_048436e9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); - - - /***/ }), /***/ "./resources/js/components/CategoriasContainer.vue": @@ -19367,6 +19333,75 @@ __webpack_require__.r(__webpack_exports__); +/***/ }), + +/***/ "./resources/js/components/SubpedidoRowBotonAdmin.vue": +/*!************************************************************!*\ + !*** ./resources/js/components/SubpedidoRowBotonAdmin.vue ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _SubpedidoRowBotonAdmin_vue_vue_type_template_id_f9fce3ae_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true& */ "./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true&"); +/* harmony import */ var _SubpedidoRowBotonAdmin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js& */ "./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + + + +/* normalize component */ + +var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( + _SubpedidoRowBotonAdmin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _SubpedidoRowBotonAdmin_vue_vue_type_template_id_f9fce3ae_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], + _SubpedidoRowBotonAdmin_vue_vue_type_template_id_f9fce3ae_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + "f9fce3ae", + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "resources/js/components/SubpedidoRowBotonAdmin.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js&": +/*!*************************************************************************************!*\ + !*** ./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js& ***! + \*************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidoRowBotonAdmin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib??ref--4-0!../../../node_modules/vue-loader/lib??vue-loader-options!./SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidoRowBotonAdmin_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true&": +/*!*******************************************************************************************************!*\ + !*** ./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true& ***! + \*******************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidoRowBotonAdmin_vue_vue_type_template_id_f9fce3ae_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/SubpedidoRowBotonAdmin.vue?vue&type=template&id=f9fce3ae&scoped=true&"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidoRowBotonAdmin_vue_vue_type_template_id_f9fce3ae_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_SubpedidoRowBotonAdmin_vue_vue_type_template_id_f9fce3ae_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + + + /***/ }), /***/ "./resources/js/components/SubpedidoSelect.vue": @@ -19525,8 +19560,8 @@ __webpack_require__.r(__webpack_exports__); /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! /var/www/resources/js/app.js */"./resources/js/app.js"); -module.exports = __webpack_require__(/*! /var/www/resources/sass/app.scss */"./resources/sass/app.scss"); +__webpack_require__(/*! /home/ale/MPS/App/pedi2/resources/js/app.js */"./resources/js/app.js"); +module.exports = __webpack_require__(/*! /home/ale/MPS/App/pedi2/resources/sass/app.scss */"./resources/sass/app.scss"); /***/ }) diff --git a/resources/js/components/SubpedidoRow.vue b/resources/js/components/SubpedidoRow.vue index 0a858d7..e5a14c6 100644 --- a/resources/js/components/SubpedidoRow.vue +++ b/resources/js/components/SubpedidoRow.vue @@ -7,7 +7,7 @@