280 lines
6.7 KiB
JavaScript
280 lines
6.7 KiB
JavaScript
var tabla;
|
|
|
|
//funcion que se ejecuta al inicio
|
|
function init(){
|
|
mostrarform(false);
|
|
listar();
|
|
|
|
$("#formulario").on("submit",function(e){
|
|
guardaryeditar(e);
|
|
});
|
|
|
|
//cargamos los items al select proveedor
|
|
$.post("../ajax/ingreso.php?op=selectProveedor", function(r){
|
|
$("#idproveedor").html(r);
|
|
$('#idproveedor').selectpicker('refresh');
|
|
});
|
|
|
|
}
|
|
|
|
//funcion limpiar
|
|
function limpiar(){
|
|
|
|
$("#idproveedor").val("");
|
|
$("#proveedor").val("");
|
|
$("#serie_comprobante").val("");
|
|
$("#num_comprobante").val("");
|
|
$("#impuesto").val("");
|
|
|
|
$("#total_compra").val("");
|
|
$(".filas").remove();
|
|
$("#total").html("0");
|
|
|
|
//obtenemos la fecha actual
|
|
var now = new Date();
|
|
var day =("0"+now.getDate()).slice(-2);
|
|
var month=("0"+(now.getMonth()+1)).slice(-2);
|
|
var today=now.getFullYear()+"-"+(month)+"-"+(day);
|
|
$("#fecha_hora").val(today);
|
|
|
|
//marcamos el primer tipo_documento
|
|
$("#tipo_comprobante").val("VALE");
|
|
$("#tipo_comprobante").selectpicker('refresh');
|
|
|
|
}
|
|
|
|
//funcion mostrar formulario
|
|
function mostrarform(flag){
|
|
limpiar();
|
|
if(flag){
|
|
$("#listadoregistros").hide();
|
|
$("#formularioregistros").show();
|
|
//$("#btnGuardar").prop("disabled",false);
|
|
$("#btnagregar").hide();
|
|
listarArticulos();
|
|
|
|
$("#btnGuardar").hide();
|
|
$("#btnCancelar").show();
|
|
detalles=0;
|
|
$("#btnAgregarArt").show();
|
|
|
|
|
|
}else{
|
|
$("#listadoregistros").show();
|
|
$("#formularioregistros").hide();
|
|
$("#btnagregar").show();
|
|
}
|
|
}
|
|
|
|
//cancelar form
|
|
function cancelarform(){
|
|
limpiar();
|
|
mostrarform(false);
|
|
}
|
|
|
|
//funcion listar
|
|
function listar(){
|
|
tabla=$('#tbllistado').dataTable({
|
|
"aProcessing": true,//activamos el procedimiento del datatable
|
|
"aServerSide": true,//paginacion y filrado realizados por el server
|
|
dom: 'Bfrtip',//definimos los elementos del control de la tabla
|
|
buttons: [
|
|
'copyHtml5',
|
|
'excelHtml5',
|
|
'csvHtml5',
|
|
'pdf'
|
|
],
|
|
"ajax":
|
|
{
|
|
url:'../ajax/ingreso.php?op=listar',
|
|
type: "get",
|
|
dataType : "json",
|
|
error:function(e){
|
|
console.log(e.responseText);
|
|
}
|
|
},
|
|
"bDestroy":true,
|
|
"iDisplayLength":10,//paginacion
|
|
"order":[[0,"desc"]]//ordenar (columna, orden)
|
|
}).DataTable();
|
|
}
|
|
|
|
function listarArticulos(){
|
|
tabla=$('#tblarticulos').dataTable({
|
|
"aProcessing": true,//activamos el procedimiento del datatable
|
|
"aServerSide": true,//paginacion y filrado realizados por el server
|
|
dom: 'Bfrtip',//definimos los elementos del control de la tabla
|
|
buttons: [
|
|
|
|
],
|
|
"ajax":
|
|
{
|
|
url:'../ajax/ingreso.php?op=listarArticulos',
|
|
type: "get",
|
|
dataType : "json",
|
|
error:function(e){
|
|
console.log(e.responseText);
|
|
}
|
|
},
|
|
"bDestroy":true,
|
|
"iDisplayLength":5,//paginacion
|
|
"order":[[0,"desc"]]//ordenar (columna, orden)
|
|
}).DataTable();
|
|
}
|
|
//funcion para guardaryeditar
|
|
function guardaryeditar(e){
|
|
e.preventDefault();//no se activara la accion predeterminada
|
|
//$("#btnGuardar").prop("disabled",true);
|
|
var formData=new FormData($("#formulario")[0]);
|
|
|
|
$.ajax({
|
|
url: "../ajax/ingreso.php?op=guardaryeditar",
|
|
type: "POST",
|
|
data: formData,
|
|
contentType: false,
|
|
processData: false,
|
|
|
|
success: function(datos){
|
|
bootbox.alert(datos);
|
|
mostrarform(false);
|
|
listar();
|
|
}
|
|
});
|
|
|
|
limpiar();
|
|
}
|
|
|
|
function mostrar(idingreso){
|
|
$.post("../ajax/ingreso.php?op=mostrar",{idingreso : idingreso},
|
|
function(data,status)
|
|
{
|
|
data=JSON.parse(data);
|
|
mostrarform(true);
|
|
|
|
$("#idproveedor").val(data.idproveedor);
|
|
$("#idproveedor").selectpicker('refresh');
|
|
$("#tipo_comprobante").val(data.tipo_comprobante);
|
|
$("#tipo_comprobante").selectpicker('refresh');
|
|
$("#serie_comprobante").val(data.serie_comprobante);
|
|
$("#num_comprobante").val(data.num_comprobante);
|
|
$("#fecha_hora").val(data.fecha);
|
|
$("#impuesto").val(data.impuesto);
|
|
$("#idingreso").val(data.idingreso);
|
|
|
|
//ocultar y mostrar los botones
|
|
$("#btnGuardar").hide();
|
|
$("#btnCancelar").show();
|
|
$("#btnAgregarArt").hide();
|
|
});
|
|
$.post("../ajax/ingreso.php?op=listarDetalle&id="+idingreso,function(r){
|
|
$("#detalles").html(r);
|
|
});
|
|
|
|
}
|
|
|
|
|
|
//funcion para desactivar
|
|
function anular(idingreso){
|
|
bootbox.confirm("¿Esta seguro de desactivar este dato?", function(result){
|
|
if (result) {
|
|
$.post("../ajax/ingreso.php?op=anular", {idingreso : idingreso}, function(e){
|
|
bootbox.alert(e);
|
|
tabla.ajax.reload();
|
|
});
|
|
}
|
|
})
|
|
}
|
|
|
|
//declaramos variables necesarias para trabajar con las compras y sus detalles
|
|
var impuesto=18;
|
|
var cont=0;
|
|
var detalles=0;
|
|
|
|
$("#btnGuardar").hide();
|
|
$("#tipo_comprobante").change(marcarImpuesto);
|
|
|
|
function marcarImpuesto(){
|
|
var tipo_comprobante=$("#tipo_comprobante option:selected").text();
|
|
if (tipo_comprobante=='Factura') {
|
|
$("#impuesto").val(impuesto);
|
|
}else{
|
|
$("#impuesto").val("0");
|
|
}
|
|
}
|
|
|
|
function agregarDetalle(idarticulo,articulo){
|
|
var cantidad=1;
|
|
var precio_compra=1;
|
|
var precio_venta=1;
|
|
|
|
if (idarticulo!="") {
|
|
var subtotal=cantidad*precio_compra;
|
|
var fila='<tr class="filas" id="fila'+cont+'">'+
|
|
'<td><button type="button" class="btn btn-danger" onclick="eliminarDetalle('+cont+')">X</button></td>'+
|
|
'<td><input type="hidden" name="idarticulo[]" value="'+idarticulo+'">'+articulo+'</td>'+
|
|
'<td><input type="number" name="cantidad[]" id="cantidad[]" value="'+cantidad+'"></td>'+
|
|
'<td><input type="number" name="precio_compra[]" id="precio_compra[]" value="'+precio_compra+'"></td>'+
|
|
'<td><input type="number" name="precio_venta[]" value="'+precio_venta+'"></td>'+
|
|
'<td><span id="subtotal'+cont+'" name="subtotal">'+subtotal+'</span></td>'+
|
|
'<td><button type="button" onclick="modificarSubtotales()" class="btn btn-info"><i class="fa fa-refresh"></i></button></td>'+
|
|
'</tr>';
|
|
cont++;
|
|
detalles++;
|
|
$('#detalles').append(fila);
|
|
modificarSubtotales();
|
|
|
|
}else{
|
|
alert("error al ingresar el detalle, revisar las datos del articulo ");
|
|
}
|
|
}
|
|
|
|
function modificarSubtotales(){
|
|
var cant=document.getElementsByName("cantidad[]");
|
|
var prec=document.getElementsByName("precio_compra[]");
|
|
var sub=document.getElementsByName("subtotal");
|
|
|
|
for (var i = 0; i < cant.length; i++) {
|
|
var inpC=cant[i];
|
|
var inpP=prec[i];
|
|
var inpS=sub[i];
|
|
|
|
inpS.value=inpC.value*inpP.value;
|
|
document.getElementsByName("subtotal")[i].innerHTML=inpS.value;
|
|
}
|
|
|
|
calcularTotales();
|
|
}
|
|
|
|
function calcularTotales(){
|
|
var sub = document.getElementsByName("subtotal");
|
|
var total=0.0;
|
|
|
|
for (var i = 0; i < sub.length; i++) {
|
|
total += document.getElementsByName("subtotal")[i].value;
|
|
}
|
|
$("#total").html("S/." + total);
|
|
$("#total_compra").val(total);
|
|
evaluar();
|
|
}
|
|
|
|
function evaluar(){
|
|
|
|
if (detalles>0)
|
|
{
|
|
$("#btnGuardar").show();
|
|
}
|
|
else
|
|
{
|
|
$("#btnGuardar").hide();
|
|
cont=0;
|
|
}
|
|
}
|
|
|
|
function eliminarDetalle(indice){
|
|
$("#fila"+indice).remove();
|
|
calcularTotales();
|
|
detalles=detalles-1;
|
|
|
|
}
|
|
|
|
init(); |