Files
ventas_php/javascript/ventas-nueva.js

819 lines
16 KiB
JavaScript
Executable File

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('&nbsp;');
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('&nbsp;');
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);