MEJORAS EN LA INTERFACE

This commit is contained in:
Pablinux
2025-05-19 01:27:26 -05:00
parent 09c5b0384d
commit f000d615d7
4 changed files with 315 additions and 242 deletions

View File

@@ -62,7 +62,7 @@ app.use(cloud_file({
limits: { fileSize: 50000 * 1024 * 1024 },
}));
//Documentacion API
//*** Documentacion API ****//
const swaggerUi = require('swagger-ui-express');
const swagger_config = require('./swager_config.js');
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swagger_config));

View File

@@ -23,18 +23,39 @@ rutas.post('/login_app', controlador_init.login_appTK);//login APP / dev
rutas.post('/auth-keygen', controlador_init.auth_keygen);//genera TOKENS / dev
rutas.post('/auth-token', controlador_init.auth_token);//Valida TOKENS / dev
/**
* @swagger
* /operaciones:
* post:
* summary: Recibe datos
* description: Endpoint para pruebas de recepción de datos JSON
* responses:
* 200:
* description: Datos recibidos exitosamente
*/
rutas.post('/operaciones/', controlador_init.recibe_datos);//testing json reccepcion server
/**
* @swagger
* /:
* /app-tv:
* get:
* description: Returns the App tv
* summary: App TV y video
* description: Muestra la aplicación de TV y video en formato JSON
* responses:
* 200:
* description: app de tv y video json
* description: Aplicación de TV y video
*/
rutas.get('/app-tv/', controlador_init.app_tv);//app de tv y video json
/**
* @swagger
* /tv-online:
* get:
* summary: App TV y video (alternativo)
* description: Muestra la aplicación de TV y video en formato JSON
* responses:
* 200:
* description: Aplicación de TV y video
*/
rutas.get('/tv-online/', controlador_init.app_tv);//app de tv y video json
rutas.get('/portal/', controlador_init.portal);//app portal cautivo

View File

@@ -1,23 +1,51 @@
//Generando Documentacion
global.config = require('./config.js');
var puerto = global.config.server.port;
// Archivo swagger_config.js corregido
// Documentación API
const swaggerJsdoc = require('swagger-jsdoc');
const options = {
const swaggerJsDoc = require('swagger-jsdoc');
// Definir las opciones de Swagger
const swaggerOptions = {
definition: {
swagger: '2.0', // Usando Swagger 2.0
openapi: '3.0.0',
info: {
title: 'APP-SIGMA-WEB',
version: '1.0.0',
description: 'Documentación de la API para la aplicación APP-SIGMA-WEB',
contact: {
name: 'pablinux',
email: 'pablinux@hotmail.es'
}
},
host: 'localhost:' + puerto,
basePath: '/',
schemes: ['http'],
servers: [{
url: 'http://localhost:' + (process.env.PORT || require('./config.js').server.port),
description: 'Servidor de desarrollo'
}],
components: {
securitySchemes: {
bearerAuth: {
type: 'http',
scheme: 'bearer',
bearerFormat: 'JWT'
},
apis: [`${__dirname}/rutas/*.js`],
sessionAuth: {
type: 'apiKey',
in: 'cookie',
name: 'connect.sid'
}
}
}
},
// Rutas a los archivos que contienen anotaciones de Swagger
apis: [
'./rutas/rt_clientes.js',
'./rutas/rt_items.js',
'./rutas/rt_Generales.js',
'./rutas/rt_cloud.js',
'./rutas/rt_apps.js',
'./rutas/rt_arduino.js'
]
};
const swagger_config = swaggerJsdoc(options);
module.exports = { swagger_config };
// Inicializar Swagger
const swaggerDocs = swaggerJsDoc(swaggerOptions);
module.exports = swaggerDocs;

View File

@@ -1,4 +1,3 @@
<!DOCTYPE html>
<html lang="en">
@@ -17,15 +16,15 @@
<link rel="icon" sizes="192x192" href="./img/favicon-32x32.png">
<link rel="icon" sizes="64x64" href="./img/favicon-64x64.png">
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.0.min.js" ></script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.0.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.3/js/materialize.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" />
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/5.4.55/css/materialdesignicons.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"type="text/css">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" type="text/css">
<link href="https://siax-system.net/app/css/app_sigma_pedidosStilos.css" rel="stylesheet" type="text/css">
<link href="https://siax-system.net/app/css/app_sigma_pedidosDetalle.css" rel="stylesheet" type="text/css">
<link href="./css/tipografias.css" rel="stylesheet" type="text/css"/>
<link href="./css/tipografias.css" rel="stylesheet" type="text/css" />
<link href="https://siax-system.net/app/css/animate.css" rel="stylesheet" />
</head>
@@ -112,7 +111,8 @@
<div class="row">
<div class="col s12" id="caja_busqueda">
<div class="input-field inline col s8 m9 l10">
<input id="txt_busq" placeholder="Escribe aqui tu busqueda" type="text" class="validate" onkeyup="busqueda(event)">
<input id="txt_busq" placeholder="Escribe aqui tu busqueda" type="text" class="validate"
onkeyup="busqueda(event)">
</div>
<div class="col s4 m3 l2" id="bt_busq" onclick="consulta()">
<a class="waves-effect waves-light bt_busq btn right">
@@ -150,8 +150,15 @@
<br>
<button class="btn btn-cli" id="bt_guardaCliente"> <i class="material-icons left">save</i>Guardar</button>
<button class="btn btn-cli" id="bt_cancelaCliente"> <i class="material-icons left">cancel</i>Cancelar</button>
<button class="btn btn-cli right" id="bt_cosulta_cloud"> <i class="material-icons left">cloud</i>Consultar</button>
</div><div class="row" id="panel_origen_pedidos"></div><div id="detalles_pedidos"><ul class="collapsible" data-collapsible="accordion">
<button class="btn btn-cli right" id="bt_cosulta_cloud"> <i
class="material-icons left">cloud</i>Consultar</button>
</div>
<div class="row" id="panel_origen_pedidos"></div>
<!---********** Contenido del SPRING/ACORDEON ********--->
<div id="detalles_pedidos">
<ul class="collapsible" data-collapsible="accordion">
<li>
<div class="collapsible-header">
<i class="material-icons">room</i><strong>Origen:</strong>
@@ -169,9 +176,20 @@
</div>
<div class="collapsible-body">
<div id="conten_pedidoCliente">
<strong>RUC/CI:</strong><span id="pedidClient_ruc"></span><br/>
<strong>Telef:</strong><span id="pedidClient_tel"></span><br/>
<strong>Email:</strong><span id="pedidClient_mail"></span><br/>
<strong>RUC/CI:</strong>
<div class="input-field" style="display: flex; align-items: center; gap: 10px;">
<input type="text" id="pedidClient_ruc" class="validate" placeholder="Ingrese RUC o CI">
<a class="waves-effect waves-light bt_busq btn right" onclick="cosultaCliente(2)">
<i class="material-icons left">youtube_searched_for</i>Buscar
</a>
<button class="btn waves-effect waves-light full-width" type="button" id="btn_cloud">
<i class="material-icons left">autorenew</i>
</button>
</div>
<div class="mostrar_busqCLientes"></div>
<strong>Telef:</strong><span id="pedidClient_tel"></span><br />
<strong>Email:</strong><span id="pedidClient_mail"></span><br />
<strong>Direccion:</strong><span id="pedidClient_dir"></span><br>
<strong>Ciudad:</strong><br>
<strong>Tipo Cliente:</strong>
@@ -185,25 +203,26 @@
<strong>Detalle Pedido:</strong>
<span id="carrito_detallePedido" class="detPed_subtitulos">10</span>
</div>
<div class="collapsible-body"><div id="contenido_detellePedidClient"></div></div>
<div class="collapsible-body">
<div id="contenido_detellePedidClient"></div>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">attach_money</i
><strong>Importe y Valores</strong>
<i class="material-icons">attach_money</i><strong>Importe y Valores</strong>
<span id="total_pedido" class="detPed_subtitulos">$100.00</span>
</div>
<div class="collapsible-body row">
<div id="DetPed_ImporteSubtitulo" class="col s8 m8 l8">
<strong>Sub Total Ventas 12%:</strong><br/>
<strong>Sub Total Ventas 0%:</strong><br/>
<strong>Sub Total:</strong><br/>
<strong>Descuento:</strong><br/>
<strong>Sub Total Neto:</strong><br/>
<strong>Sub Total IVA 12%:</strong><br/>
<strong>Sub Total IVA 0%:</strong><br/>
<strong>Sub Total IVA:</strong><br/>
<strong>Sub Total Ventas 12%:</strong><br />
<strong>Sub Total Ventas 0%:</strong><br />
<strong>Sub Total:</strong><br />
<strong>Descuento:</strong><br />
<strong>Sub Total Neto:</strong><br />
<strong>Sub Total IVA 12%:</strong><br />
<strong>Sub Total IVA 0%:</strong><br />
<strong>Sub Total IVA:</strong><br />
<strong class="total">TOTAL:</strong>
</div>
<div id="DetPed_ImporteValores" class="col s4 m4 l4">
@@ -212,29 +231,34 @@
$<span id="DetPed_subTotal">0.00</span><br />
$<span id="DetPed_descueto">0.00</span><br />
$<span id="DetPed_subTotalNeto">0.00</span><br />
$<span id="DetPed_totalIva12">0.00</span><br/>
$<span id="DetPed_totalIva0">0.00</span><br/>
<span id="DetPed_totalIva">0.00</span><br/>
$<span id="DetPed_totalIva12">0.00</span><br />
$<span id="DetPed_totalIva0">0.00</span><br />
<span id="DetPed_totalIva">0.00</span><br />
<span id="DetPed_total" class="total"></span>
</div>
</div>
</li>
<li>
<div class="collapsible-header row">
<button class="btn col s6" onClick="limpiaPanel()"><i class="material-icons">control_point</i>Nuevo Pedido</button>
<button class="btn col s6" onClick="envioPedidos()"><i class="material-icons">cloud_upload</i>Enviar Pedido</button>
<button class="btn col s6" onClick="limpiaPanel()"><i class="material-icons">control_point</i>Nuevo
Pedido</button>
<button class="btn col s6" onClick="envioPedidos()"><i class="material-icons">cloud_upload</i>Enviar
Pedido</button>
</div>
<div class="collapsible-body">
<div id="mensaje_btns"></div>
</div>
</li>
</ul> </div>
</ul>
</div>
</main>
</div>
<div class="blue lighten-5" id="footerPrecios"> <div id="clinteBox">
<div class="blue lighten-5" id="footerPrecios">
<div id="clinteBox">
<div id="clinteTitulo"><strong>Selecione Cliente</strong></div>
<div id="clinteNom"></div></div>
<div id="clinteNom"></div>
</div>
<div id="ValorTotal"><strong>Total</strong> $0.00</div>
</div>
<!--footer class="page-footer">