我是 laravel 和 vue 的新手。我目前在做一个销售软件。当我使用 axios 方法发出请求以在我的数据库中进行记录时,出现错误。
方法:
registrarTraslado(){
if (this.validarTraslado()) {
return;
}
let me = this;
var numcomp = "T-".concat(me.CodeDate,"-",me.num_comprobante);
axios.post("/trasladoher/registrar",{
tipo_comprobante: this.tipo_comprobante,
num_comprobante : numcomp,
nueva_ubicacion : this.nueva_ubicacion,
observacion : this.observacion_traslado,
file : this.file_traslado,
data: this.arrayDetalle
}).then(function(response) {
me.ocultarDetalle();
me.listarTraslados(1,'','num_comprobante','');
me.tipo_comprobante = "TRASLADO";
me.num_comprobante = 0;
me.idarticulo = 0;
me.cantidad = 0;
me.precio = 0;
me.stock = 0;
me.observacion = "";
me.file_traslado = "";
me.nueva_ubicacion = "";
me.arrayDetalle = [];
me.editTraslado = 0;
})
.catch(function(error) {
console.log(error);
});
},
validarTraslado(){
let me = this;
var art;
me.errorTraslado = 0;
me.errorMostrarMsjTraslado = [];
me.arrayDetalle.map(function(x){
if(x.cantidad > x.stock){
art ="La cantidad del articulo " + x.codigo + " supera las cantidades disponibles.";
me.errorMostrarMsjTraslado.push(art);
}
});
if (!me.num_comprobante) me.errorMostrarMsjTraslado.push("Ingrese el numero de comprobante");
if (!me.nueva_ubicacion) me.errorMostrarMsjTraslado.push("Seleccione la ubicación del traslado");
if (me.arrayDetalle.length<=0) me.errorMostrarMsjTraslado.push("Introdusca articulos para el traslado");
if (me.errorMostrarMsjTraslado.length) me.errorTraslado = 1;
return me.errorTraslado;
},
功能:
public function store(Request $request){
if(!$request->ajax()) return redirect('/');
$mytime = Carbon::now('America/Mexico_City');
try{
DB::beginTransaction();
$fileName =null;
if($request->file != ""){
//The name of the directory that we need to create.
$directoryName = 'images/traslados';
if(!is_dir($directoryName)){
//Directory does not exist, so lets create it.
mkdir($directoryName, 0777);
}
$exploded = explode(',', $request->file);
$decoded = base64_decode($exploded[1]);
if(str_contains($exploded[0],'jpeg'))
$extension = 'jpg';
else
$extension = 'png';
$fileName = str_random().'.'.$extension;
$path = public_path($directoryName).'/'.$fileName;
file_put_contents($path,$decoded);
}
$traslado = new TrasladosHe();
$traslado->idusuario = \Auth::user()->id;
$traslado->tipo_comprobante = $request->tipo_comprobante;
$traslado->num_comprobante = $request->num_comprobante;
$traslado->fecha_hora = $mytime;
$traslado->nueva_ubicacion = $request->nueva_ubicacion;
$traslado->estado = 'Registrado';
$traslado->entregado = 0;
$traslado->observacion = $request->observacion;
$traslado->file = $fileName;
$traslado->save();
$detalles = $request->data;//Array de detalles
//Recorro todos los elementos
foreach($detalles as $ep=>$det)
{
$detalle = new DetalleTrasladosHe();
$detalle->idtraslado = $traslado->id;
$detalle->idarticulo = $det['idarticulo'];
$detalle->cantidad = $det['cantidad'];
$detalle->ubicacion = $det['ubicacion'];
$detalle->save();
$articulo = Herramienta::findOrFail($det['idarticulo']);
$articulo->condicion = '4';
/* $articulo->ubicacion = $traslado->nueva_ubicacion; */
$articulo->save();
}
DB::commit();
}catch(Exception $e){
DB::rollBack();
}