This commit is contained in:
nathalie 2022-09-07 08:15:47 -03:00
commit cdb8522f65
16 changed files with 708 additions and 174 deletions

BIN
.docker-compose.yml.swp Normal file

Binary file not shown.

1
.gitignore vendored
View File

@ -10,3 +10,4 @@ Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
.idea

View File

@ -78,6 +78,11 @@
<excludeFolder url="file://$MODULE_DIR$/vendor/dragonmantank/cron-expression" />
<excludeFolder url="file://$MODULE_DIR$/vendor/psr/http-message" />
<excludeFolder url="file://$MODULE_DIR$/vendor/symfony/polyfill-php80" />
<excludeFolder url="file://$MODULE_DIR$/vendor/setasign/fpdi" />
<excludeFolder url="file://$MODULE_DIR$/vendor/paragonie/random_compat" />
<excludeFolder url="file://$MODULE_DIR$/vendor/mpdf/mpdf" />
<excludeFolder url="file://$MODULE_DIR$/vendor/php-http/message-factory" />
<excludeFolder url="file://$MODULE_DIR$/vendor/myclabs/deep-copy" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />

View File

@ -75,6 +75,13 @@
<path value="$PROJECT_DIR$/vendor/dragonmantank/cron-expression" />
<path value="$PROJECT_DIR$/vendor/psr/http-message" />
<path value="$PROJECT_DIR$/vendor/symfony/polyfill-php80" />
<path value="$PROJECT_DIR$/vendor/rmccue/requests" />
<path value="$PROJECT_DIR$/vendor/prexview/prexview" />
<path value="$PROJECT_DIR$/vendor/setasign/fpdi" />
<path value="$PROJECT_DIR$/vendor/paragonie/random_compat" />
<path value="$PROJECT_DIR$/vendor/mpdf/mpdf" />
<path value="$PROJECT_DIR$/vendor/php-http/message-factory" />
<path value="$PROJECT_DIR$/vendor/myclabs/deep-copy" />
</include_path>
</component>
<component name="PhpProjectSharedConfiguration" php_language_level="7.2">

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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",

408
composer.lock generated
View File

@ -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",

1
public/css/app.css vendored
View File

@ -27,3 +27,4 @@ main.chisma-abierta {
.container {
max-height: 100% !important;
}

371
public/js/app.js vendored
View File

@ -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");
/***/ })

View File

@ -7,7 +7,7 @@
</template>
<script>
import BotonAdminSubpedidoRow from "./BotonAdminSubpedidoRow";
import BotonAdminSubpedidoRow from "./SubpedidoRowBotonAdmin";
export default {
name: "SubpedidoRow",
components: {BotonAdminSubpedidoRow},

View File

@ -1,5 +1,15 @@
<template>
<div class="container is-max-widescreen is-max-desktop animate__animated" :class="animation" v-show="!init">
<div class="buttons is-right">
<a class="button is-info" :href="'/admin/exportar-planillas-a-pdf/'+gdc">
<span>
Imprimir Planillas
</span>
<span class="icon is-small">
<i class="fas fa-print"></i>
</span>
</a>
</div>
<table v-show="this.subpedidos.length !== 0" class="table is-fullwidth is-striped is-bordered">
<thead>
<tr>

View File

@ -0,0 +1,40 @@
<!doctype html>
<style>
tr:nth-child(even) {
background: #CCC
}
</style>
<h3>{{$subpedido->nombre}}</h3>
<table style="width: 100%">
<tr>
<th>
Producto
</th>
<th>
Cantidad
</th>
<th>
Control 1
</th>
<th>
Control 2
</th>
<th>
Control 3
</th>
</tr>
@foreach($subpedido->productos as $producto)
@if(!$producto->bono)
<tr>
<td>
{{ $producto->nombre }}
</td>
<td style="text-align: center">
{{ $producto->pivot->cantidad }}
</td>
</tr>
@endif
@endforeach
</table>

View File

@ -34,8 +34,10 @@ Route::get('/admin/obtener_sesion', function() {
return $sesion;
})->name('admin_obtener_sesion');
Route::middleware(['auth', 'admin'])->group( function () {
Route::get('/admin/exportar-planillas-a-pdf/{gdc}', 'AdminController@exportarPlanillasAPdf');
Route::middleware(['auth', 'admin'])->group( function () {
//Route::get('/admin/exportar-planillas-a-pdf/{gdc}', 'AdminController@exportarPlanillasAPdf');
});
Route::middleware('auth')->group( function() {