Merge branch 'refs/heads/refactor/componentes-vue' into funcion/planilla-pedidos-total

# Conflicts:
#	resources/js/components/admin/Body.vue
#	resources/js/components/pedidos/ProductoModal.vue
This commit is contained in:
Alejandro Tasistro 2024-09-14 16:12:09 -03:00
commit 517b95f14f
31 changed files with 76 additions and 92 deletions

5
resources/js/app.js vendored
View File

@ -4,7 +4,6 @@
* building robust, powerful web applications using Vue and Laravel. * building robust, powerful web applications using Vue and Laravel.
*/ */
import axios from 'axios'; import axios from 'axios';
import animate from 'animate.css';
import Vue from 'vue'; import Vue from 'vue';
window.Vue = require('vue'); window.Vue = require('vue');
window.Event = new Vue(); window.Event = new Vue();
@ -18,8 +17,8 @@ window.bulmaToast = require('bulma-toast');
* *
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component> * Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
*/ */
const files = require.context('./', true, /\.vue$/i) import './components';
files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
/** /**
* Constants * Constants
*/ */

22
resources/js/components.js vendored Normal file
View File

@ -0,0 +1,22 @@
import Vue from 'vue';
const requireComponent = require.context('./components', true, /\.vue$/);
requireComponent.keys().forEach(fileName => {
// Get the component config
const componentConfig = requireComponent(fileName);
// Get the PascalCase name of the component
const componentName = fileName
.replace(/^\.\/(.*)\.\w+$/, '$1') // Remove "./" from the beginning and the file extension from the end
.replace(/\//g, '-') // Replace directories with hyphens
.replace(/([a-z])([A-Z])/g, '$1-$2') // Insert hyphen between camelCase words
.toLowerCase() // Convert to lowercase
// Globally register the component
Vue.component(
componentName,
// Look for the component options on `.default`, which will
// exist if the component was exported with `export default`,
// otherwise fall back to module's root.
componentConfig.default || componentConfig
);
});

View File

@ -1,15 +1,15 @@
<template> <template>
<div class="block ml-3 mr-3 is-max-widescreen is-max-desktop"> <div class="block ml-3 mr-3 is-max-widescreen is-max-desktop">
<pedidos-admin-tabs-secciones></pedidos-admin-tabs-secciones> <admin-tabs-secciones></admin-tabs-secciones>
<div class="block" id="pedidos-seccion" <div class="block" id="pedidos-seccion"
:class="seccionActiva === 'pedidos-seccion' ? 'is-active' : 'is-hidden'"> :class="seccionActiva === 'pedidos-seccion' ? 'is-active' : 'is-hidden'">
<div class="block pb-6" id="pedidos-tabla-y-dropdown" v-show="hayPedidos"> <div class="block pb-6" id="pedidos-tabla-y-dropdown" v-show="hayPedidos">
<pedidos-admin-dropdown-descargar <admin-dropdown-descargar
:gdc="gdc"> :gdc="gdc">
</pedidos-admin-dropdown-descargar> </admin-dropdown-descargar>
<pedidos-admin-tabla-pedidos <admin-tabla-pedidos
:pedidos="pedidos" :bonosDeTransporte="bonosDeTransporte" :totalBonosBarriales="totalBonosBarriales"> :pedidos="pedidos" :bonosDeTransporte="bonosDeTransporte" :totalBonosBarriales="totalBonosBarriales">
</pedidos-admin-tabla-pedidos> </admin-tabla-pedidos>
</div> </div>
<p class="has-text-centered" v-show="!hayPedidos"> <p class="has-text-centered" v-show="!hayPedidos">
Todavía no hay ningún pedido para administrar. Todavía no hay ningún pedido para administrar.
@ -17,35 +17,34 @@
</div> </div>
<div class="block pb-6" id="bonos-seccion" <div class="block pb-6" id="bonos-seccion"
:class="seccionActiva === 'bonos-seccion' ? 'is-active' : 'is-hidden'"> :class="seccionActiva === 'bonos-seccion' ? 'is-active' : 'is-hidden'">
<pedidos-admin-tabla-bonos v-show="hayAprobados" <admin-tabla-bonos v-show="hayAprobados"
:pedidos="pedidos"> :pedidos="pedidos">
</pedidos-admin-tabla-bonos> </admin-tabla-bonos>
<p class="has-text-centered" v-show="!hayAprobados"> <p class="has-text-centered" v-show="!hayAprobados">
Todavía no hay pedidos aprobados. Todavía no hay pedidos aprobados.
</p> </p>
</div> </div>
<div class="block pb-6" id="caracteristicas-seccion" <div class="block pb-6" id="caracteristicas-seccion"
:class="seccionActiva === 'caracteristicas-seccion' ? 'is-active' : 'is-hidden'"> :class="seccionActiva === 'caracteristicas-seccion' ? 'is-active' : 'is-hidden'">
<pedidos-admin-caracteristicas-opcionales> <admin-caracteristicas-opcionales>
</pedidos-admin-caracteristicas-opcionales> </admin-caracteristicas-opcionales>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import PedidosAdminTabsSecciones from './PedidosAdminTabsSecciones.vue'; import CaracteristicasOpcionales from "./CaracteristicasOpcionales.vue";
import PedidosAdminDropdownDescargar from "./PedidosAdminDropdownDescargar.vue"; import TabsSecciones from "./TabsSecciones.vue";
import PedidosAdminTablaBonos from './PedidosAdminTablaBonos.vue'; import DropdownDescargar from "./DropdownDescargar.vue";
import PedidosAdminTablaPedidos from "./PedidosAdminTablaPedidos.vue"; import TablaPedidos from "./TablaPedidos.vue";
import PedidosAdminCaracteristicasOpcionales from "./PedidosAdminCaracteristicasOpcionales.vue"; import TablaBonos from "./TablaBonos.vue";
export default { export default {
name: "PedidosAdminBody",
components: { components: {
PedidosAdminCaracteristicasOpcionales, CaracteristicasOpcionales,
PedidosAdminTabsSecciones, TabsSecciones,
PedidosAdminDropdownDescargar, DropdownDescargar,
PedidosAdminTablaPedidos, TablaPedidos,
PedidosAdminTablaBonos, TablaBonos,
}, },
data() { data() {
return { return {

View File

@ -10,13 +10,3 @@
</a> </a>
</div> </div>
</template> </template>
<script>
export default {
name: "BotonAdminLogin"
}
</script>
<style scoped>
</style>

View File

@ -1,10 +1,8 @@
<script> <script>
import axios from "axios"; import FilaCaracteristica from "./FilaCaracteristica.vue";
import PedidosAdminFilaCaracteristica from "./PedidosAdminFilaCaracteristica.vue";
export default { export default {
name: "PedidosAdminCaracteristicasOpcionales", components: { FilaCaracteristica },
components: {PedidosAdminFilaCaracteristica},
data() { data() {
return { return {
caracteristicas: [ caracteristicas: [
@ -21,7 +19,6 @@ export default {
<template> <template>
<div class="block"> <div class="block">
<table class="table is-fullwidth is-striped is-bordered"> <table class="table is-fullwidth is-striped is-bordered">
<thead> <thead>
<tr> <tr>
@ -30,11 +27,11 @@ export default {
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<pedidos-admin-fila-caracteristica <admin-fila-caracteristica
v-for="(c,i) in caracteristicas" v-for="(c,i) in caracteristicas"
:key="i" :key="i"
:caracteristica="c"> :caracteristica="c">
</pedidos-admin-fila-caracteristica> </admin-fila-caracteristica>
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@ -31,7 +31,6 @@
<script> <script>
export default { export default {
name: "PedidosAdminDropdownDescargar",
props: { props: {
gdc: { gdc: {
type: Number, type: Number,

View File

@ -2,7 +2,6 @@
import axios from "axios"; import axios from "axios";
export default { export default {
name: "PedidosAdminFilaCaracteristica",
props: { props: {
caracteristica: Object caracteristica: Object
}, },

View File

@ -13,11 +13,10 @@
</template> </template>
<script> <script>
import PedidosAdminSwitchAprobacion from './PedidosAdminSwitchAprobacion.vue'; import SwitchAprobacion from "./SwitchAprobacion.vue";
export default { export default {
name: "PedidosAdminFilaPedido",
components: { components: {
PedidosAdminSwitchAprobacion SwitchAprobacion
}, },
props: { props: {
pedido: Object pedido: Object

View File

@ -24,7 +24,6 @@
<script> <script>
export default { export default {
name: "LoginAdmin",
data() { data() {
return { return {
visible: false, visible: false,

View File

@ -12,7 +12,6 @@
<script> <script>
export default { export default {
name: "PedidosAdminSwitchAprobacion",
props: { props: {
pedido: Object pedido: Object
}, },

View File

@ -39,7 +39,6 @@
<script> <script>
export default { export default {
name: "PedidosAdminTablaBonos",
props: { props: {
pedidos: { pedidos: {
type: Array, type: Array,

View File

@ -46,11 +46,10 @@
</template> </template>
<script> <script>
import PedidosAdminFilaPedidoVue from './PedidosAdminFilaPedido.vue'; import FilaPedido from "./FilaPedido.vue";
export default { export default {
name: "PedidosAdminTablaPedidos",
components: { components: {
PedidosAdminFilaPedidoVue FilaPedido
}, },
props: { props: {
pedidos: { pedidos: {

View File

@ -19,7 +19,6 @@
<script> <script>
export default { export default {
name: "PedidosAdminTabsSecciones",
data() { data() {
return { return {
tabActiva: "pedidos", tabActiva: "pedidos",
@ -49,7 +48,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import 'bulma'; @import '../../../../node_modules/bulma';
hr { hr {
border: none; border: none;
height: 1px; height: 1px;

View File

@ -11,7 +11,7 @@
<p class="navbar-item"> <p class="navbar-item">
<slot name="subpedido"></slot> <slot name="subpedido"></slot>
</p> </p>
<chismosa-dropdown v-if="this.$root.pedido != null" class="hide-above-1023" id="mobile"></chismosa-dropdown> <pedidos-chismosa-dropdown v-if="this.$root.pedido != null" class="hide-above-1023" id="mobile"></pedidos-chismosa-dropdown>
<a role="button" class="navbar-burger" :class="{'is-active':burgerActiva}" aria-label="menu" aria-expanded="false" data-target="nav-bar" @click="toggleBurger"> <a role="button" class="navbar-burger" :class="{'is-active':burgerActiva}" aria-label="menu" aria-expanded="false" data-target="nav-bar" @click="toggleBurger">
<span aria-hidden="true"></span> <span aria-hidden="true"></span>
<span aria-hidden="true"></span> <span aria-hidden="true"></span>
@ -28,7 +28,7 @@
</a> </a>
<input class="input is-small" type="text" placeholder="Harina" v-model="searchString" @keyup.enter="buscar" > <input class="input is-small" type="text" placeholder="Harina" v-model="searchString" @keyup.enter="buscar" >
</div> </div>
<chismosa-dropdown v-if="this.$root.pedido != null" class="hide-below-1024" id="wide"></chismosa-dropdown> <pedidos-chismosa-dropdown v-if="this.$root.pedido != null" class="hide-below-1024" id="wide"></pedidos-chismosa-dropdown>
<div class="block navbar-item"> <div class="block navbar-item">
<a onclick="event.preventDefault(); document.getElementById('logout-form').submit();" class="text-a"> <a onclick="event.preventDefault(); document.getElementById('logout-form').submit();" class="text-a">
Cerrar sesión Cerrar sesión
@ -41,7 +41,7 @@
</template> </template>
<script> <script>
import ChismosaDropdown from './ChismosaDropdown.vue'; import ChismosaDropdown from '../pedidos/ChismosaDropdown.vue';
export default { export default {
components: { ChismosaDropdown }, components: { ChismosaDropdown },
data() { data() {

View File

@ -36,7 +36,7 @@
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<producto-row v-for="producto in productos" :producto="producto" :key="producto.id"></producto-row> <pedidos-producto-row v-for="producto in productos" :producto="producto" :key="producto.id"></pedidos-producto-row>
</tbody> </tbody>
</table> </table>
<p class="has-text-centered" v-show="productos.length == 0"> <p class="has-text-centered" v-show="productos.length == 0">

View File

@ -11,7 +11,7 @@
<div class="dropdown-menu chismosa-menu" :id="id" role="menu"> <div class="dropdown-menu chismosa-menu" :id="id" role="menu">
<div class="dropdown-content"> <div class="dropdown-content">
<div class="dropdown-item"> <div class="dropdown-item">
<chismosa></chismosa> <pedidos-chismosa></pedidos-chismosa>
</div> </div>
</div> </div>
</div> </div>

View File

@ -24,7 +24,6 @@
<script> <script>
export default { export default {
name: 'Login',
data() { data() {
return { return {
visible: false, visible: false,

View File

@ -21,11 +21,11 @@
Contraseña incorrecta, intentalo nuevamente. Contraseña incorrecta, intentalo nuevamente.
</div> </div>
@enderror @enderror
<region-select v-bind:admin="true"></region-select> <comunes-region-select v-bind:admin="true"></comunes-region-select>
<form method="post" action="login"> <form method="post" action="login">
@csrf @csrf
<barrio-select v-bind:admin="true"></barrio-select> <comunes-barrio-select v-bind:admin="true"></comunes-barrio-select>
<login-admin></login-admin> <admin-login></admin-login>
</form> </form>
</div> </div>
</section> </section>

View File

@ -1,13 +1,5 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<pedidos-admin-body></pedidos-admin-body> <admin-body></admin-body>
@endsection @endsection
<script>
import PedidosAdminBody from "../../js/components/PedidosAdminBody.vue";
export default {
components: {
PedidosAdminBody
}
}
</script>

View File

@ -11,7 +11,7 @@
<body> <body>
<section class="section"> <section class="section">
<div id="root" class="container"> <div id="root" class="container">
<boton-admin-login></boton-admin-login> <admin-boton-login></admin-boton-login>
<h1 class="title"> <h1 class="title">
Pedidos MPS Pedidos MPS
</h1> </h1>
@ -23,10 +23,10 @@
Contraseña incorrecta, intentalo nuevamente. Contraseña incorrecta, intentalo nuevamente.
</div> </div>
@enderror @enderror
<region-select></region-select> <comunes-region-select></comunes-region-select>
<form method="post" action="login"> <form method="post" action="login">
@csrf @csrf
<barrio-select></barrio-select> <comunes-barrio-select></comunes-barrio-select>
<login></login> <login></login>
</form> </form>
</div> </div>
@ -34,9 +34,3 @@
<script src="{{ mix('js/app.js') }}" defer></script> <script src="{{ mix('js/app.js') }}" defer></script>
</body> </body>
</html> </html>
<script>
import BotonAdminLogin from "../../js/components/BotonAdminLogin";
export default {
components: {BotonAdminLogin}
}
</script>

View File

@ -19,7 +19,7 @@
</head> </head>
<body class="has-navbar-fixed-top"> <body class="has-navbar-fixed-top">
<div id="root"> <div id="root">
<nav-bar> <comunes-nav-bar>
<template slot="subpedido">{{ session('subpedido_nombre') ? 'Pedido de '. session('subpedido_nombre') : Auth::user()->name }}</template> <template slot="subpedido">{{ session('subpedido_nombre') ? 'Pedido de '. session('subpedido_nombre') : Auth::user()->name }}</template>
<template slot="gdc">{{ session('subpedido_nombre') ? Auth::user()->name : "" }}</template> <template slot="gdc">{{ session('subpedido_nombre') ? Auth::user()->name : "" }}</template>
<template slot="logout-form"> <template slot="logout-form">
@ -27,11 +27,11 @@
@csrf @csrf
</form> </form>
</template> </template>
</nav-bar> </comunes-nav-bar>
<nav-migas></nav-migas> <pedidos-nav-migas></pedidos-nav-migas>
<main id="main" class="py-4 has-top-padding"> <main id="main" class="py-4 has-top-padding">
<cartel-pedido-aprobado></cartel-pedido-aprobado> <pedidos-cartel-pedido-aprobado></pedidos-cartel-pedido-aprobado>
@yield('content') @yield('content')
</main> </main>
</div> </div>

View File

@ -1,9 +1,9 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<chismosa></chismosa> <pedidos-chismosa></pedidos-chismosa>
<categorias-container></categorias-container> <pedidos-categorias-container></pedidos-categorias-container>
<productos-container></productos-container> <pedidos-productos-container></pedidos-productos-container>
<producto-modal></producto-modal> <pedidos-producto-modal></pedidos-producto-modal>
<devoluciones-modal></devoluciones-modal> <pedidos-devoluciones-modal></pedidos-devoluciones-modal>
@endsection @endsection