function AddProduct(){ var prodItemId = jQ("#idProdItem").val(); var cantidad = jQ("#cantidad").val(); var tipoProd = jQ("#tipoProd").val(); var disponible = jQ("#disponible").val(); if(prodItemId == ""){ alert("Ningún producto seleccionado."); jQ('#codigoBarra').focus(); return; }else if(parseInt(cantidad) > parseInt(disponible)){ alert("La cantidad es mayor que el disponible. Por favor, verifique."); jQ('#codigoBarra').focus(); return; }else if(parseInt(cantidad) <= 0 || isNaN(cantidad)){ alert("Por favor, ingrese una cantidad valida."); jQ('#cantidad').focus(); return; } jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=addProduct&prodItemId="+prodItemId+"&cantidad="+cantidad+"&tipoProd="+tipoProd, beforeSend: function(){ //jQ("#tblConceptos").html(LOADER); }, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#tblConceptos').html(splitResponse[1]); //Actualizamos los Totales jQ('#txtSubtotal').html(splitResponse[2]); jQ('#txtIva').html(splitResponse[3]); jQ('#txtTotal').html(splitResponse[4]); //Reseteamos jQ('#txtPrecioUni').html('0.00'); jQ('#txtDisp').html('0'); jQ('#txtProducto').html(' '); jQ('#idProdItem').val(''); jQ('#cantidad').val('1'); jQ('#tipoProd').val("producto"); jQ('#codigoBarra').val(''); jQ('#codigoBarra').focus(); ChecarPromo(); //Actualizamos los Datos para obtener los roductos disponibles //UpdateInfoProd(prodItemId); } } }); } function DeleteProduct(k){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=deleteProduct&k="+k, beforeSend: function(){ //jQ("#tblConceptos").html(LOADER); }, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#tblConceptos').html(splitResponse[1]); //Actualizamos los Totales jQ('#txtSubtotal').html(splitResponse[2]); jQ('#txtIva').html(splitResponse[3]); jQ('#txtTotal').html(splitResponse[4]); ChecarPromo(); //Actualizamos los Datos para obtener los roductos disponibles //UpdateInfoProd(splitResponse[5]); } } }); } function SaveVenta(){ var abonarCodigo = jQ("#abonarCodigo").val(); var vendedorId = jQ("#vendedorId").val(); jQ("#action").val("saveVenta"); jQ("#codigoAbonar").val(abonarCodigo); jQ("#idVendedor").val(vendedorId); jQ("#btnSave").prop('disabled', true); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: jQ("#frmPagos").serialize(), success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ LimpiarFormulario(); PrintTicket(splitResponse[1]); /* var message = "Se imprimió correctamente el ticket?"; if(!confirm(message)){ PrintTicket(splitResponse[1]); } */ HideFviewCobro(); }else if(splitResponse[0] == "addPago"){ jQ("#btnSave").prop('disabled', false); AddPago(); }else if(splitResponse[0] == "fail"){ jQ("#btnSave").prop('disabled', false); alert(splitResponse[1]); } }//success }); } function ProdSelected(event, ui){ var producto = ui.item.value; var prodItemId = producto.prodItemId; jQ("#codigoBarra").val(producto.codigoBarra); jQ("#txtProducto").html(producto.descripcion); event.preventDefault(); jQ("#cantidad").focus(); if(producto.tipo == "Tarjeta") UpdateInfoTarjeta(prodItemId); else UpdateInfoProd(prodItemId); }//ProdSelected function UpdateInfoProd(prodItemId){ //Recuperamos el Precio y la cantidad Disponible jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=getProdInfoVta&prodItemId="+prodItemId, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#txtPrecioUni').html(splitResponse[1]); jQ('#txtDisp').html(splitResponse[2]); jQ('#disponible').val(splitResponse[2]); jQ('#idProdItem').val(prodItemId); jQ('#tipoProd').val("producto"); } } }); } function UpdateInfoProdByCode(){ //Recuperamos el Precio y la cantidad Disponible var codigoBarra = jQ("#codigoBarra").val(); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=getProdInfoVtaByCode&codigoBarra="+codigoBarra, beforeSend: function(){ jQ('#txtProducto').html(LOADER); }, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#txtPrecioUni').html(splitResponse[1]); jQ('#txtDisp').html(splitResponse[2]); jQ('#disponible').val(splitResponse[2]); jQ('#txtProducto').html(splitResponse[3]); jQ('#idProdItem').val(splitResponse[4]); jQ('#tipoProd').val("producto"); document.getElementById('cantidad').focus(); } } }); } function UpdateInfoTarjeta(monederoId){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=getMonInfoVta&monederoId="+monederoId, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#txtPrecioUni').html(splitResponse[1]); jQ('#txtDisp').html(1); jQ('#disponible').val(1); jQ('#idProdItem').val(monederoId); jQ('#tipoProd').val("tarjeta"); } } }); } function UpdateInfoProdB(productoId){ //Recuperamos el Precio y la cantidad Disponible jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=getProdInfoVta&productoId="+productoId, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#txtPrecioUni').html(splitResponse[1]); jQ('#txtDisp').html(splitResponse[2]); jQ('#disponible').val(splitResponse[2]); jQ("#txtProducto").html(splitResponse[3]); jQ('#idProdItem').val(splitResponse[4]); HideFviewCobro(); } } }); } function ProdFocus(event, ui){ event.preventDefault(); }//ProdFocus //Venta function CobrarVentaDiv(){ var idVendedor = jQ("#vendedorId").val(); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: 'type=cobrarVta&vendedorId='+idVendedor, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ FViewOffSetCobro(splitResponse[1]); jQ('#fviewCobro').show(); jQ("#frmPagos").submit(function(){ return false; }); jQ("#btnCobVta").prop('disabled', true); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } } }); }//CobrarVentaDiv function CerrarVta(){ window.parent.HideFviewVta(); window.parent.location.reload() } //Pagos function SavePagos(){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: jQ("#frmPagos").serialize(), success: function(data) { } }); } function AddPago(){ jQ("#action").val("addPago"); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: jQ("#frmPagos").serialize(), success: function(data) { jQ("#listPagos").html(data); } }); }//AddPago function DeletePago(k){ jQ("#action").val("deletePago"); jQ("#k").val(k); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: jQ("#frmPagos").serialize(), success: function(data) { jQ("#listPagos").html(data); UpdateCambio(); } }); }//DeletePago function UpdateCambio(){ jQ("#action").val("updateCambio"); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: jQ("#frmPagos").serialize(), success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok") jQ("#txtTotalPagado").html(splitResponse[1]); jQ("#txtPorPagar").html(splitResponse[2]); jQ("#txtCambio").html(splitResponse[3]); } }); }//UpdateCambio function CancelarVenta(){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "action=cancelarVenta", success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok") jQ("#tblConceptos").html(splitResponse[1]); LimpiarFormulario(); } }); }//CancelarVenta function LimpiarFormulario(){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "action=limpiarForm", success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok") jQ("#txtNoFolio").html(splitResponse[1]); jQ("#tblConceptos").html(splitResponse[2]); jQ("#txtProducto").html(' '); jQ("#txtPrecioUni").html('0.00'); jQ("#txtDisp").html('0'); jQ("#cantidad").val(1); jQ("#codigoBarra").val(''); jQ("#disponible").val(''); jQ("#idProdItem").val(''); jQ("#vendedorId option:eq(0)").prop('selected', true); jQ("#btnPromo").hide(); //Actualizamos los Totales jQ('#txtSubtotal').html('0.00'); jQ('#txtIva').html('0.00'); jQ('#txtTotal').html('0.00'); } }); } function BuscarProducto(){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: 'type=buscarProducto', success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ FViewOffSetCobro(splitResponse[1]); jQ('#fviewCobro').show(); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } } }); } function LoadSubcats(){ var catId = $("prodCatId2").value; new Ajax.Request(WEB_ROOT+'/ajax/ventas.php',{ method:'post', parameters: {type:"loadSubcats", prodCatId:catId}, onLoading: function(){ $("enumSubcats").innerHTML = LOADER; }, onSuccess: function(transport){ var response = transport.responseText || "no response text"; var splitResponse = response.split("[#]"); if(splitResponse[0] == "ok") $("enumSubcats").innerHTML = splitResponse[1]; }, onFailure: function(){ alert('Something went wrong...') } }); }//LoadSubcats function LoadProductos(){ var idProveedor = $("proveedorId2").value; var idProdCat = $("prodCatId2").value; var idProdSubcat = $("prodSubcatId2").value; var vDisponible = 0; if($("disponible2").checked) vDisponible = 1; new Ajax.Request(WEB_ROOT+'/ajax/ventas.php',{ method:'post', parameters: {type:"loadProductos", prodCatId:idProdCat, prodSubcatId:idProdSubcat, proveedorId:idProveedor, disponible:vDisponible}, onLoading: function(){ $("enumProductos").innerHTML = LOADER; }, onSuccess: function(transport){ var response = transport.responseText || "no response text"; var splitResponse = response.split("[#]"); if(splitResponse[0] == "ok") $("enumProductos").innerHTML = splitResponse[1]; }, onFailure: function(){ alert('Something went wrong...') } }); }//LoadProductos function AplicarDescuentos(){ var vendedorId = jQ("#vendedorId").val(); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=saveVenta&tipo=descuento&idVendedor="+vendedorId, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ LimpiarFormulario(); alert("La venta se ha enviado para aplicar descuentos."); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } }//success }); } function AplicarPromo(){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: 'type=aplicarPromo', success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ FViewOffSetCobro(splitResponse[1]); jQ('#fviewCobro').show(); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } } }); } function AsignarPromo(){ var idPromo = $("promocionId").value; jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: 'type=asignarPromo&promocionId='+idPromo, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#tblConceptos').html(splitResponse[1]); //Actualizamos los Totales jQ('#txtSubtotal').html(splitResponse[2]); jQ('#txtIva').html(splitResponse[3]); jQ('#txtTotal').html(splitResponse[4]); HideFviewCobro(); alert("La promocion fue aplicada correctamente."); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } } }); } function EliminarPromo(idPromo){ var resp = confirm("Esta seguro de eliminar esta promocion?"); if(!resp){ return; } jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: 'type=eliminarPromo&promocionId='+idPromo, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ('#tblConceptos').html(splitResponse[1]); //Actualizamos los Totales jQ('#txtSubtotal').html(splitResponse[2]); jQ('#txtIva').html(splitResponse[3]); jQ('#txtTotal').html(splitResponse[4]); HideFviewCobro(); alert("La promocion fue eliminada correctamente."); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } } }); } function SaveEspera(){ var idVendedor = jQ("#vendedorId").val(); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=saveEspera&vendedorId="+idVendedor, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ LimpiarFormulario(); alert("La venta se ha puesto en espera."); }else if(splitResponse[0] == "fail"){ alert(splitResponse[1]); } }//success }); } function CheckDesctos(){ var text = ""; jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=checkDesctos", success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ window.parent.ShowMsgD(splitResponse[1]); setTimeout("CerrarMsgD()", 8000); } }//success }); } function CheckVtasEspera(){ var text = ""; jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=checkVtasEspera", success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ window.parent.ShowMsgD(splitResponse[1]); setTimeout("CerrarMsgD()", 8000); } }//success }); } function CheckMetodoPago(k){ var metodoPagoId = jQ("#idMetodoPago_"+k).val(); /* if(metodoPagoId == 5){ jQ("#codigoMon_"+k).show(); jQ("#saldoMon_"+k).show(); } */ } /* function GetSaldoMonedero(k){ var codigo = jQ("#monCodigo_"+k).val(); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=checkMonedero&codigo="+codigo, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ("#txtSaldo_"+k).html(splitResponse[1]); }else{ alert(splitResponse[1]); } }//success }); } */ function GetSaldoFavor(k){ var idVenta = jQ("#idVta_"+k).val(); jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=checkSaldo&ventaId=" + idVenta, success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ jQ("#txtSaldoFav_"+k).html(splitResponse[1]); }else{ alert(splitResponse[1]); } }//success }); } function ChecarPromo(){ jQ.ajax({ type: "POST", url: 'ajax/ventas.php', data: "type=aplicarPromo", success: function(data) { var splitResponse = data.split("[#]"); if(splitResponse[0] == "ok"){ if(splitResponse[2] == 0) jQ("#btnPromo").hide(); else jQ("#btnPromo").show(); } }//success }); } function CheckKey(e){ if(window.event) keyCode = window.event.keyCode; else if(e) keyCode=e.which; if(keyCode == 13) UpdateInfoProdByCode(); //document.getElementById('cantidad').focus(); }//CheckKey function CheckKeyPago(e){ if(window.event) keyCode = window.event.keyCode; else if(e) keyCode=e.which; if(keyCode == 13) SaveVenta(); else UpdateCambio(); }//CheckKeyPago function CheckKeyAdd(e){ if(window.event) keyCode = window.event.keyCode; else if(e) keyCode=e.which; if(keyCode == 13) AddProduct(); }//CheckKey function CerrarMsgD(){ window.parent.CloseMsgD(); } function PrintTicket(id){ window.open(WEB_ROOT + "/ventas-ticket/id/" + id , "Ticket" , "width=350,height=300,scrollbars=YES") }//PrintTicket window.setInterval("CheckDesctos()",60000); window.setInterval("CheckVtasEspera()",60000);