Agregada ruta y logica para cargar canastas
This commit is contained in:
parent
5a4b933f11
commit
131bf33a73
|
@ -12,6 +12,7 @@ npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
.idea
|
.idea
|
||||||
/resources/csv/exports/*.csv
|
/resources/csv/exports/*.csv
|
||||||
|
/resources/csv/canastas/*.csv
|
||||||
/public/css/
|
/public/css/
|
||||||
/public/js/
|
/public/js/
|
||||||
/public/mix-manifest.json
|
/public/mix-manifest.json
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Http\Controllers;
|
||||||
|
|
||||||
use App\GrupoDeCompra;
|
use App\GrupoDeCompra;
|
||||||
use App\Producto;
|
use App\Producto;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
class ComprasController
|
class ComprasController
|
||||||
{
|
{
|
||||||
|
@ -33,4 +34,19 @@ class ComprasController
|
||||||
{
|
{
|
||||||
return view('auth/compras_login');
|
return view('auth/compras_login');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function cargarCanasta(Request $request)
|
||||||
|
{
|
||||||
|
$request->validate([
|
||||||
|
'data' => 'required|file|mimes:csv,txt|max:2048',
|
||||||
|
]);
|
||||||
|
|
||||||
|
$archivo = $request->file('data');
|
||||||
|
$path = resource_path('/csv/canastas/');
|
||||||
|
$archivo->move($path, $archivo->getClientOriginalName());
|
||||||
|
|
||||||
|
return response()->json([
|
||||||
|
'message' => 'Canasta cargada exitosamente',
|
||||||
|
], 200);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
class="file-input"
|
class="file-input"
|
||||||
type="file"
|
type="file"
|
||||||
name="canasta"
|
name="canasta"
|
||||||
@change="onFileChange"
|
@change="archivoSubido"
|
||||||
/>
|
/>
|
||||||
<span class="file-cta">
|
<span class="file-cta">
|
||||||
<span class="file-icon">
|
<span class="file-icon">
|
||||||
|
@ -34,21 +34,21 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async onFileChange(event) {
|
async archivoSubido(event) {
|
||||||
const archivo = event.target.files[0];
|
const archivo = event.target.files[0];
|
||||||
if (archivo && archivo.type === "text/csv") {
|
if (archivo && archivo.type === "text/csv") {
|
||||||
this.archivo = { file: archivo, nombre: archivo.name };
|
this.archivo = {data: archivo, nombre: archivo.name};
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append("file", this.archivo.file);
|
formData.append("data", this.archivo.data);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
this.cargando = true;
|
this.cargando = true;
|
||||||
const response = await axios.post("/cargar-canasta", formData, {
|
const response = await axios.post("/compras/canasta", formData, {
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "multipart/form-data",
|
"Content-Type": "multipart/form-data",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
this.$root.$toast(response.data.message || "Canasta cargada!");
|
this.$root.$toast(response.data.message || "Canasta cargada exitosamente");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$root.$toast(error.response?.data?.message || "Hubo errores.");
|
this.$root.$toast(error.response?.data?.message || "Hubo errores.");
|
||||||
} finally {
|
} finally {
|
||||||
|
|
|
@ -83,4 +83,5 @@ Route::middleware(['compras'])->group( function() {
|
||||||
Route::get('/compras/pedidos/descargar', 'ComprasController@descargarPedidos')->name('compras.pedidos.descargar');
|
Route::get('/compras/pedidos/descargar', 'ComprasController@descargarPedidos')->name('compras.pedidos.descargar');
|
||||||
Route::get('/compras/pedidos/notas', 'ComprasController@descargarNotas')->name('compras.pedidos.descargar');
|
Route::get('/compras/pedidos/notas', 'ComprasController@descargarNotas')->name('compras.pedidos.descargar');
|
||||||
Route::get('/compras/pedidos/transporte', 'ComprasController@descargarTransporte')->name('compras.pedidos.descargar');
|
Route::get('/compras/pedidos/transporte', 'ComprasController@descargarTransporte')->name('compras.pedidos.descargar');
|
||||||
|
Route::post('/compras/canasta', 'ComprasController@cargarCanasta')->name('compras.canasta');
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue