Compare commits

..

No commits in common. "502aefd7a8f37b082e57100c5792de84b5b89615" and "98120f1ce903cfb51fc3a0dee42e4557472befab" have entirely different histories.

16 changed files with 23838 additions and 2715 deletions

View file

@ -12,6 +12,7 @@ use TypeError;
class Filtro extends Model
{
protected Request $request;
protected $builder;
protected array $MENSAJES_ERROR = [
'ARGUMENTO' => 'Argumento inválido para el parámetro %s. Revise la documentación.'
];

View file

@ -1,4 +1,4 @@
version: '3.2'
version: '3.2'
services:
app:
@ -18,22 +18,6 @@ services:
networks:
- app-network
vite:
build:
args:
user: www
uid: ${USERID}
context: ./
container_name: vite
working_dir: /var/www
command: npm run dev
volumes:
- ./:/var/www
ports:
- "5173:5173"
networks:
- app-network
db:
image: mysql:5.7
container_name: pedi2-db

View file

@ -13,22 +13,6 @@ server {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ^~ /@vite/ {
proxy_pass http://vite:5173;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location ^~ /resources/ {
proxy_pass http://vite:5173;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
gzip_static on;

26378
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,7 @@
{
"private": true,
"scripts": {
"dev": "vite",
"build": "vite build",
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
@ -11,15 +10,14 @@
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js"
},
"devDependencies": {
"@vitejs/plugin-vue2": "^2.3.3",
"axios": "^0.27.2",
"axios": "^0.19.2",
"cross-env": "^7.0.3",
"laravel-vite-plugin": "^1.3.0",
"laravel-mix": "^5.0.1",
"resolve-url-loader": "^2.3.1",
"sass": "^1.20.1",
"sass-loader": "^8.0.0",
"vite": "^6.3.5",
"vue": "^2.7.16",
"vue-template-compiler": "^2.7.16"
"vue": "^2.5.17",
"vue-template-compiler": "^2.6.10"
},
"dependencies": {
"animate.css": "^4.1.1",

50
resources/js/app.js vendored
View file

@ -1,25 +1,45 @@
import * as bulmaToast from 'bulma-toast';
import Vue from '../../node_modules/vue/dist/vue.esm.js';
/**
* First we will load all of this project's JavaScript dependencies which
* includes Vue and other libraries. It is a great starting point when
* building robust, powerful web applications using Vue and Laravel.
*/
import axios from 'axios';
import store from "./store";
import Vue from 'vue';
window.Vue = Vue;
window.Vue = require('vue');
window.Event = new Vue();
window.axios = axios;
window.bulmaToast = bulmaToast;
window.bulmaToast = require('bulma-toast');
const components = import.meta.glob('./components/**/*.vue', { eager: true });
Object.entries(components).forEach(([path, module]) => {
let name = path
.replace(/^\.\/components\//, '') // Remove leading folder
.replace(/\.vue$/, '') // Remove file extension
.replace(/\//g, '-') // Replace subfolders with hyphens
.replace(/([a-z])([A-Z])/g, '$1-$2') // camelCase to kebab-case
.toLowerCase(); // Enforce kebab-case for HTML
Vue.component(name, module.default);
});
/**
* The following block of code may be used to automatically register your
* Vue components. It will recursively scan this directory for the Vue
* components and automatically register them with their "basename".
*
* Eg. ./components/ExampleComponent.vue -> <example-component></example-component>
*/
import './components';
import store from "./store";
/**
* Global methods
*/
Vue.prototype.$toast = function (mensaje, duration = 2000) {
return window.bulmaToast.toast({
message: mensaje,
duration: duration,
type: 'is-danger',
position: 'bottom-center',
});
}
/**
* Next, we will create a fresh Vue application instance and attach it to
* the page. Then, you may begin adding components to this application
* or customize the JavaScript scaffolding to fit your unique needs.
*/
new Vue({
el: '#root',
store,
});

25
resources/js/components.js vendored Normal file
View file

@ -0,0 +1,25 @@
import Vue from 'vue';
const requireComponent = require.context('./components', true, /\.vue$/);
// Registro automático de componentes:
// e.g. components/foo/bar/UnComponente.vue
// se registra como 'foo-bar-un-componente'
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,12 +1,12 @@
<script>
import LoginInput from "./login/LoginInput.vue";
import LoginTitulos from "./login/LoginTitulos.vue";
import LoginLoginTitulos from "./login/LoginTitulos.vue";
import { mapGetters } from "vuex";
import LoginDropdown from "./login/LoginDropdown.vue";
export default {
name: 'AppLogin',
components: { LoginDropdown, LoginTitulos, LoginInput },
name: 'LoginForm',
components: { LoginDropdown, LoginTitulos: LoginLoginTitulos, LoginInput },
computed: {
...mapGetters("login", ["estilos"])
}
@ -17,7 +17,7 @@ export default {
<div id="login-form" :class="estilos.fondo">
<section class="section">
<div class="columns is-centered">
<div class="column is-three-quarters">
<div class="column is-half">
<login-dropdown class="is-hidden-tablet"/>
<login-titulos/>
<login-input/>

View file

@ -38,6 +38,7 @@ export default {
</script>
<style lang="scss" scoped>
@import '../../../../node_modules/bulma';
hr {
border: none;
height: 1px;

View file

@ -1,4 +1,4 @@
import Vue from '../../../node_modules/vue/dist/vue.esm.js';
import Vue from 'vue';
import Vuex from 'vuex';
import admin from "./modules/admin";
import comisiones from "./modules/comisiones";

View file

@ -4,8 +4,8 @@
// Variables
@import 'variables';
@import '../../node_modules/bulma/bulma.sass';
@import '../../node_modules/bulma-switch/src/sass/index.sass';
@import 'bulma';
@import '~bulma-switch';
html, body {
overflow-x: hidden;

View file

@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ config('app.name', 'Pedidos del MPS') }}</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.3/css/bulma.min.css">
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
<script src="https://kit.fontawesome.com/9235d1c676.js" crossorigin="anonymous"></script>
</head>
<body>
@ -15,5 +15,6 @@
<app-login></app-login>
</form>
</div>
<script src="{{ mix('js/app.js') }}" defer></script>
</body>
</html>

View file

@ -12,7 +12,7 @@
<!-- Fonts -->
<script src="https://kit.fontawesome.com/9235d1c676.js" crossorigin="anonymous"></script>
@vite(['resources/sass/app.scss', 'resources/js/app.js'])
<link rel="stylesheet" href="{{ mix('css/app.css') }}">
@yield('stylesheets')
</head>
<body class="has-navbar-fixed-top">
@ -28,6 +28,8 @@
@yield('content')
</main>
</div>
<!-- Scripts -->
<script src="{{ mix('js/app.js') }}" defer></script>
@yield('scripts')
</body>
</html>

View file

@ -50,7 +50,7 @@ Route::get('/comisiones/login', 'ComisionesController@show')->name('comisiones.l
Route::middleware(['auth', 'role:comision'])->group( function() {
Route::get('/comisiones', 'RouteController@main')->name('comisiones');
Route::get('/comisiones/pedidos/descargar', 'ComisionesController@descargarPedidos')->name('comisiones.pedidos.descargar');
Route::get('/comisiones/pedidos/notas', 'ComisionesController@descargarNotas')->name('comisiones.pedidos.notas');
Route::get('/comisiones/pedidos/notas', 'ComisionesController@descargarNotas')->name('comisiones.pedidos.descargar');
Route::get('/comisiones/pedidos/pdf', 'ComisionesController@pdf')->name('comisiones.pedidos.pdf');
Route::get('/comisiones/canasta/ejemplo', 'ComisionesController@descargarCanastaEjemplo')->name('comisiones.canasta.ejemplo');
Route::post('/comisiones/canasta', 'ComisionesController@cargarCanasta')->name('comisiones.canasta');

View file

@ -1,23 +0,0 @@
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue2';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
server: {
host: '0.0.0.0',
port: 5173,
},
plugins: [
laravel({
input: ['resources/js/app.js', 'resources/sass/app.scss'],
refresh: true,
}),
vue(),
],
resolve: {
alias: {
'@': '/resources/js',
'vue$': 'vue/dist/vue.esm.js',
},
},
});

4
webpack.mix.js vendored
View file

@ -1,3 +1,4 @@
const mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
@ -10,9 +11,6 @@
|
*/
const mix = require('laravel-mix');
mix.js('resources/js/app.js', 'public/js')
.vue()
.sass('resources/sass/app.scss', 'public/css')
.version();