diff --git a/README.md b/README.md index 9bd1c40..711fa9b 100644 --- a/README.md +++ b/README.md @@ -11,5 +11,7 @@ express-fileupload npm install -s //-s para guardar -npm install -s mysql express-myconnection express,morgan telegraf nodemon ejs express-fileupload +npm install -s mysql express-myconnection express morgan telegraf nodemon ejs express-fileupload axios + +use https://fontawesome.com/search buscar iconos diff --git a/src/config.js b/src/config.js index 551b213..a895a4e 100644 --- a/src/config.js +++ b/src/config.js @@ -1,11 +1,10 @@ const config = { db:{ - //host: '192.168.20.150', - host: '127.0.0.1', + host: '192.168.20.150', port: 3306, user: 'admin', pswd: 'Dx.1706%', - db_a: 'TELCOTRONICS', + db_a: 'zuba', //db_a: 'facturacion', debg: false, sock: '/' diff --git a/src/controladores/controlador_Apps.js b/src/controladores/controlador_Apps.js index aab6308..a0ae059 100644 --- a/src/controladores/controlador_Apps.js +++ b/src/controladores/controlador_Apps.js @@ -17,8 +17,8 @@ controlador.user = (req, res) => { res.json(err); next(err); } else { - var Origen = { usuarios: rows }; - res.json(Origen); + var usr = { usuarios: rows }; + res.json(usr); } }); }); diff --git a/src/controladores/controlador_Clientes.js b/src/controladores/controlador_Clientes.js index 32e335b..a6581f8 100644 --- a/src/controladores/controlador_Clientes.js +++ b/src/controladores/controlador_Clientes.js @@ -15,6 +15,7 @@ controlador.verClientesJsonApp = (req, res) => { res.json(client); //res.render('clientesV',{ data:rows }); }); + //conn.end(); }); }; diff --git a/src/controladores/controlador_General.js b/src/controladores/controlador_General.js index 1180d76..4a0f62e 100644 --- a/src/controladores/controlador_General.js +++ b/src/controladores/controlador_General.js @@ -27,7 +27,7 @@ controlador.app_login = (req, res) => { controlador.auth = (req, res) => { console.log(req.body); var pwd = stringTo_md5(req.body.password); - req.getConnection((err, conn) => { + req.getConnection((error, conn,next) => { conn.query(`SELECT * FROM usuarios WHERE n_sesion = ? and clave=?`, [req.body.usuario, pwd], (err, rows) => { if (err) { //res.json(err); @@ -46,6 +46,7 @@ controlador.auth = (req, res) => { } } }); + //conn.end(); }); //res.render(''); diff --git a/src/controladores/controlador_Items.js b/src/controladores/controlador_Items.js index cf8586d..aefa36d 100644 --- a/src/controladores/controlador_Items.js +++ b/src/controladores/controlador_Items.js @@ -4,8 +4,8 @@ const fs = require('fs'); controlador.verItemsJson = (req, res) => { req.getConnection((err, conn) => { conn.query('SELECT * FROM productos order by codigo_prdcto DESC LIMIT 100', (err, rows) => {//se obtiene error o consulta filas(rows) - //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) - if(err){ + //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) + if (err) { res.json(err); //next(err); } @@ -19,14 +19,14 @@ controlador.verItemsJson = (req, res) => { controlador.verItemsJsonApp = (req, res) => { req.getConnection((err, conn) => { conn.query('SELECT codigo_prdcto, detalle_prdcto, describe_prdcto FROM productos order by codigo_prdcto DESC', (err, rows) => {//se obtiene error o consulta filas(rows) - //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) - if(err){ + //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) + if (err) { res.json(err); //next(err); } //console.log(rows); //var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]}; - var itemsD = {Items:rows}; + var itemsD = { Items: rows }; res.json(itemsD); //res.render('clientesV',{ data:rows }); }); @@ -36,14 +36,14 @@ controlador.verItemsJsonApp = (req, res) => { controlador.verItemPanel = (req, res) => { req.getConnection((err, conn) => { conn.query('SELECT codigo_prdcto, detalle_prdcto, describe_prdcto FROM productos order by codigo_prdcto DESC', (err, rows) => {//se obtiene error o consulta filas(rows) - //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) - if(err){ + //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) + if (err) { res.json(err); //next(err); } //console.log(rows); //var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]}; - var itemsD = {Items:rows}; + var itemsD = { Items: rows }; res.json(itemsD); //res.render('clientesV',{ data:rows }); }); @@ -53,14 +53,14 @@ controlador.verItemPanel = (req, res) => { controlador.verInventarioJsonApp = (req, res) => { req.getConnection((err, conn) => { conn.query('SELECT codigo_prdcto, detalle_prdcto, describe_prdcto, idcostos_valores FROM ver_productosPrecios', (err, rows) => {//se obtiene error o consulta filas(rows) - //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) - if(err){ + //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) + if (err) { res.json(err); //next(err); } //console.log(rows); //var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]}; - var itemsD = {Items:rows}; + var itemsD = { Items: rows }; res.json(itemsD); //res.render('clientesV',{ data:rows }); }); @@ -68,30 +68,30 @@ controlador.verInventarioJsonApp = (req, res) => { }; //********* CONSULTA ITEMS modo like ********// -controlador.autocompletado_itemsJson = (req,res) => { +controlador.autocompletado_itemsJson = (req, res) => { console.log(req.params); const datBuscar = req.params.dat_busq; req.getConnection((err, conn) => { //console.log(datBuscar); - conn.query("SELECT detalle_prdcto,describe_prdcto FROM productos WHERE detalle_prdcto like '%"+datBuscar+"%'",(err,rows)=>{ + conn.query("SELECT detalle_prdcto,describe_prdcto FROM productos WHERE detalle_prdcto like '%" + datBuscar + "%'", (err, rows) => { res.json(rows); }); }); }; //********* CONSULTA ITEMS ********// -controlador.verItemJson = (req,res) => { +controlador.verItemJson = (req, res) => { console.log(req.params); const codItem = req.params.codigo_item; req.getConnection((err, conn) => { - conn.query('SELECT * FROM productos WHERE codigo_prdcto = ?',[codItem],(err,rows)=>{ + conn.query('SELECT * FROM productos WHERE codigo_prdcto = ?', [codItem], (err, rows) => { res.json(rows); //res.render('clientesV',{ data:rows }); }); }); }; -controlador.verItemJsonPost = (req,res) => { - const {codigo_prdcto} = req.params; +controlador.verItemJsonPost = (req, res) => { + const { codigo_prdcto } = req.params; const codigo_prdctoB = req.body; console.log(codigo_prdcto); res.send('working...'); @@ -109,7 +109,7 @@ controlador.guardaItem = (req, res) => { console.log(data.item); let json = JSON.parse(data.item); console.log(json.Items); - req.getConnection((err,conn)=>{ + req.getConnection((err, conn) => { /*conn.query('INSERT INTO productos set ?',[data],(err,rows)=>{ if(err){ res.json(err); @@ -120,7 +120,7 @@ controlador.guardaItem = (req, res) => { //res.send('working...'); res.redirect('/');//redireciona a la ruta inical de la app });*/ - //set ? => data + //set ? => data }); res.json("'resp':'ok'"); //res.send('working...'); @@ -133,29 +133,29 @@ controlador.guardarItems = (req, res) => { let json = JSON.parse(data.json_item); //let json = parse.Items; //console.log(json.length); - for(var i=0;i{ - conn.query('INSERT INTO productos_cloud set ?',[item],(err,rows)=>{ - console.log(item); - });//set ? => data + req.getConnection((err, conn) => { + conn.query('INSERT INTO productos_cloud set ?', [item], (err, rows) => { + console.log(item); + });//set ? => data }); } res.json("'resp':'ok'"); - }; +}; controlador.json = (req, res) => { - res.render('api_json',{ + res.render('api_json', { }) } //********* CONSULTA ITEMS APP-SIGMA********// -controlador.app_consultaItemsPrecios = (req,res) => { +controlador.app_consultaItemsPrecios = (req, res) => { const data = req.query; - const item = "%"+req.query.consulta+"%"; + const item = "%" + req.query.consulta + "%"; const grupo = req.query.gp_precio; //let data = req.stringify; console.log(req.body); @@ -173,29 +173,29 @@ controlador.app_consultaItemsPrecios = (req,res) => { img as imagen FROM ver_inventario_precios_app where grupo_precio = ? and (nombre like ? or descripcion like ?)` - ,[grupo,item,item],(err,rows)=>{ - //res.json(rows); - //if(err) return res.status(500).send("Error en Consulta de Items"); - rows.map( - dat => { - //console.log(blob_a_b64(dat.imagen)); - dat.imagen = blob_a_b64(dat.imagen); - //fs.writeFileSync(path.join(__dirname,"../img/db_img"+image.codigo_prdcto+".png"),image.imagen); - } - ) - res.json(rows); - console.log(err); - //res.render('clientesV',{ data:rows }); - }); + , [grupo, item, item], (err, rows) => { + //res.json(rows); + //if(err) return res.status(500).send("Error en Consulta de Items"); + rows.map( + dat => { + //console.log(blob_a_b64(dat.imagen)); + dat.imagen = blob_a_b64(dat.imagen); + //fs.writeFileSync(path.join(__dirname,"../img/db_img"+image.codigo_prdcto+".png"),image.imagen); + } + ) + res.json(rows); + console.log(err); + //res.render('clientesV',{ data:rows }); + }); }); }; function blob_a_b64(blob) { var b64; - if(blob!=null){ + if (blob != null) { b64 = blob.toString('base64'); - }else{ - b64=""; + } else { + b64 = ""; } return b64; } @@ -204,18 +204,41 @@ function blob_a_b64(blob) { controlador.cierresCaja = (req, res) => { req.getConnection((err, conn) => { conn.query('SELECT * FROM cont_cierreCaja', (err, rows) => {//se obtiene error o consulta filas(rows) - //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) - if(err){ + //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) + if (err) { res.json(err); //next(err); } //console.log(rows); //var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]}; - var itemsD = {CierreCaja:rows}; + var itemsD = { CierreCaja: rows }; res.json(itemsD); //res.render('clientesV',{ data:rows }); }); }); }; +//********* CONSULTA CATEGORIA DE ITEMS ****************// +controlador.cat_json = (req, res) => { + req.getConnection((err, conn) => { + try { + conn.query('SELECT * FROM product_categorias', (err, rows) => {//se obtiene error o consulta filas(rows) + //conn.query('SELECT * FROM clientes LIMIT 62668,15', (err, rows) => {//se obtiene error o consulta filas(rows) + if (err) { + res.json(err); + next(err); + } + //console.log(rows); + //var test = {"Items":[{"idt_prdcto":"1","codigo_prdcto":"CODIGOTEST","detalle_prdcto":"ITEM GENERADO","describe_prdcto":"DESCRIPCION DE ITEMS"}]}; + var itemsD = { Categorias: rows }; + res.json(itemsD); + //res.render('clientesV',{ data:rows }); + }); + } catch (err) { + res.json(err); + next(err); + } + //conn.end(); + }); +} module.exports = controlador; diff --git a/src/public/css/botones.css b/src/public/css/botones.css new file mode 100644 index 0000000..ce9e23e --- /dev/null +++ b/src/public/css/botones.css @@ -0,0 +1,60 @@ +.buble_add{ + width: 50px; + height: 50px; + background: #0791ec; + bottom: 10px; + border-radius: 50%; + padding-top: 7px; + padding-left: 17px; + z-index: 100; + position: fixed; + right: 30px; + bottom: 20px; +} + +.bt_float{ + background: #0791ec; + font-size: 24px; + text-align: center; + border-radius: 50%; +} + + +.tooltip { + padding: 18px 32px; + background: rgba(255, 255, 255, 0.8); + width: 220px; + border-radius: 5px; + text-align: center; + filter: drop-shadow(0 3px 5px #ccc); + line-height: 1.5; + display: none; + bottom: 80px; + right: 30px; + + z-index: 100; + position: fixed; + color: #000000; + font-weight: bold; + } + + .tooltip:after { + content: ""; + position: absolute; + bottom: -9px; + left: 85%; + margin-left: -9px; + width: 18px; + height: 18px; + background: rgba(255, 255, 255, 0.6); + transform: rotate(45deg); + } + + .tooltip-trigger:hover + .tooltip { + display: block; + } + + #observacion{ + margin-top: 5px; + } + diff --git a/src/public/css/dash_mesero.css b/src/public/css/dash_mesero.css new file mode 100644 index 0000000..47ac5bf --- /dev/null +++ b/src/public/css/dash_mesero.css @@ -0,0 +1,190 @@ +.dash_container { + position: relative; + width: 100%; + display: grid; + grid-gap: 2px; + grid-template-columns: 2fr 2fr; +} + +.dash_panelCategoria { + position: relative; + width: 100%; + padding: 5px; + display: grid; + background: #2b3c47; + /*grid-gap: 10px; + grid-template-columns: 1fr 12fr;*/ +} + +.dash_panelDetalle { + position: relative; + width: 100%; + padding: 5px; + display: grid; + background: #2b3c47; + /*grid-gap: 10px; + grid-template-columns: 1fr 12fr;*/ +} + +.dash_grupoCardBox { + position: relative; + display: grid; + grid-template-columns: repeat(3, 1fr); + grid-gap: 6px; +} + +.dash_info_grupoCardBox { + width: 100%; + margin: 10px; +} + +.dash_info_grupoCardBox a { + display: none; +} + +.dash_grupoCardBox .card_cat { + position: relative; + background: #1f497d; + padding: 5px; + display: flex; + justify-content: space-between; + cursor: pointer; +} + +.cardBoxDash .card_cat .card_nombre { + color: #999; +} + +.cardBoxDash .card_cat .iconBox { + font-size: 16px; + color: rgb(154, 223, 255); +} + +.dash_titulo { + padding-top: 5px; +} + +.dash_titulo a { + display: none; +} + +.dash_titulo input { + width: 100%; + color: #000; +} + +/*.dash_titulo input::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ + color: #000; + opacity: 1; + }*/ +/*********** DASH PANEL FOOTER ***********/ +.dash_panelDetalleTotales { + width: 100%; + height: 80px; + background: #2b3c47; + padding: 7px; + z-index: 100; + position: fixed; + bottom: 2px; + + display: grid; + grid-gap: 2px; + grid-template-columns: 15% 10% 10%; + padding: 10px; +} + +.footer_btn { + margin-bottom: 10px; + padding-top: 18px; + cursor: pointer; +} +.footer_btn:hover { + background: rgba(10, 120, 240, .5); +} + +.footer_total { + text-align: right; +} + +.footer_valores { + text-align: right; +} +/* +.dash_panelCategoria .dash_info_grupoCardBox a:hover + #ver_cat{ + display: none; +} +.dash_panelCategoria .dash_info_grupoCardBox a:hover + #ver_detalle{ + display: block; +} +.dash_panelDetalle .dash_titulo a:hover + #ver_detalle{ + display: none; +} +.dash_panelDetalle .dash_titulo a:hover + #ver_cat{ + display: block; +} +*/ +@media(max-width:992px) { + .dash_panelDetalle .dash_titulo a { + display: block; + display: inline-block; + position: absolute; + right: 1px; + } + + + .dash_panelCategoria .dash_info_grupoCardBox a { + display: block; + display: inline-block; + position: absolute; + right: 1px; + } + + .dash_info_grupoCardBox { + display: inline-block; + } + + .dash_panelDetalle { + position: absolute; + right: 1px; + display: none; + } + + .dash_container { + position: relative; + width: 100%; + display: grid; + grid-gap: 2px; + grid-template-columns: auto; + } + + .dash_panelDetalleTotales { + display: grid; + grid-gap: 2px; + grid-template-columns: 15% 70% 10%; + } + +} + +@media(max-width:768px) { + .dash_grupoCardBox { + position: relative; + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-gap: 6px; + } + + .dash_grupoCardBox .card_cat { + position: relative; + background: #1f497d; + padding: 3px; + display: flex; + justify-content: space-between; + cursor: pointer; + font-size: 11px; + } + .dash_panelDetalleTotales { + display: grid; + grid-gap: 2px; + grid-template-columns: 23% 40% 15%; + } +} \ No newline at end of file diff --git a/src/public/css/panel_control.css b/src/public/css/panel_control.css index b754371..28bdeb9 100644 --- a/src/public/css/panel_control.css +++ b/src/public/css/panel_control.css @@ -172,4 +172,4 @@ _:-ms-input-placeholder, :root .demo-graph { display: flex; box-sizing: border-box; align-items: center; -} +} \ No newline at end of file diff --git a/src/public/css/restaurant.css b/src/public/css/restaurant.css index 13b701f..4c58a43 100644 --- a/src/public/css/restaurant.css +++ b/src/public/css/restaurant.css @@ -212,6 +212,14 @@ body { font-size: 2.5em; color: rgb(154, 223, 255); } +.cardBox .card_cat{ + position: relative; + background: #1f497d; + padding: 5px; + display: flex; + justify-content: space-between; + cursor: pointer; +} /********* TABLAS *********/ diff --git a/src/public/js/app_restaurant.js b/src/public/js/app_restaurant.js index f6d1aab..b2df8d5 100644 --- a/src/public/js/app_restaurant.js +++ b/src/public/js/app_restaurant.js @@ -3,28 +3,45 @@ async function ver_usuarios(){ console.log(user); } -async function mostrar_form(form_aRender){ - console.log(form_aRender); - switch(form_aRender){ +async function mostrar_form(nombre_form_aRender){ + console.log(nombre_form_aRender); + switch(nombre_form_aRender){ case 'clientes': - let cli = await get_html("/verClientesJsonApp"); - await console.log(cli); + let cli = await get_json("/verClientesJsonApp"); + var tabla = await generaTab_clientes(cli.Clientes); + await render(tabla); break; case 'pedidos': let pedidos = await get_json("/consultaPedidos?origen=%"); var thead = "IDNombreFechaOrigenValorEstado"; - let tabla = await generaTab_html(pedidos.ConsultaPedidos,thead); + var tabla = await generaTab_pedidos(pedidos.ConsultaPedidos,thead); await render(tabla); //await console.log(pedidos.ConsultaPedidos); break; case 'usuarios': let user = await get_json("/users"); - console.log(user); + var tabla = await generaTab_usuarios(user.usuarios); + await render(tabla); break; case 'dashboard': let dash = await get_html("/dash_board"); console.log(dash); break; + case 'mesas': + let origen = await get_json("/origen_pedidos"); + var card = await generaCard_mesas(origen.origen_pedidos); + await render(card); + break; + case 'menu': + let menu = await get_json("/dash_board"); + var card = await generaCard_platosMenu(menu.usuarios); + await render(card); + break; + case 'dashboard_mesero': + let item_cat = await get_json("/categorias_json"); + var card = await dashboard_mesero(item_cat.Categorias); + await render(card); + break; } } @@ -66,31 +83,7 @@ async function render(dat_html) { contenedor.innerHTML = dat_html; } -async function generaTab_html(json,heder_tab){ - var tab = ` -
-
-

Pedidos Recientes

- -
- ${heder_tab}`; - for (let key in json) { - let valor = json[key].PedUsoPrdct_valor; - let fecha = json[key].PedUsoPrdct_reg; - let fila = ` - - - - - - - `; - tab = tab+fila; - } - tab = tab+"
${json[key].PedUsoPrdct_id}${json[key].client_nombre}${fecha.substr(0, 10)}${json[key].PedUsoPrdct_origen} ${valor.toFixed(2)}${json[key].PedUsoPrdct_estado}
"; - //console.log(json); - return tab; -} + async function generaCardUser(json,heder_tab){ var tab = `
diff --git a/src/public/js/app_restaurant_tabGen.js b/src/public/js/app_restaurant_tabGen.js new file mode 100644 index 0000000..7780d22 --- /dev/null +++ b/src/public/js/app_restaurant_tabGen.js @@ -0,0 +1,220 @@ +let num_mesa,mesa_nom; + +async function generaTab_pedidos(json, heder_tab) { + var tab = ` +
+
+

Pedidos Recientes

+ +
+ ${heder_tab}`; + for (let key in json) { + let valor = json[key].PedUsoPrdct_valor; + let fecha = json[key].PedUsoPrdct_reg; + let fila = ` + + + + + + + `; + tab = tab + fila; + } + tab = tab + "
${json[key].PedUsoPrdct_id}${json[key].client_nombre}${fecha.substr(0, 10)}${json[key].PedUsoPrdct_origen} ${valor.toFixed(2)}${json[key].PedUsoPrdct_estado}
" + bt_add("add_pedido", "Nuevo Pedido"); + //console.log(json); + return tab; +} + +async function generaTab_clientes(json) { + var thead = "ID ClienteNombreemailTelefonoDireccion"; + var tab = ` +
+
+

Clientes

+ +
+ ${thead}`; + for (let key in json) { + let fila = ` + + + + + + `; + tab = tab + fila; + } + tab = tab + "
${json[key].client_rucCed}${json[key].client_nombre}${json[key].client_email}${json[key].client_celular}${json[key].client_direccion}
"; + //console.log(json); + return tab; +} +async function generaTab_usuarios(json) { + var std = "ACTIVO"; + var thead = "CODUsuarioNombreROLEstado"; + var tab = ` +
+
+

Usuarios

+ +
+ ${thead}`; + for (let key in json) { + let fila = ` + + + + + + `; + tab = tab + fila; + } + tab = tab + "
${json[key].cod_usr}${json[key].n_sesion}${json[key].nombre}${json[key].rol}${std}
"; + //console.log(json); + return tab; +} +async function generaCard_mesas(json) { + var td,std; + var thead = "IDMESASOBSERVACIONEstado"; + var tab = ` +
+
+

Usuarios

+
+ ${thead}`; + for (let key in json) { + console.log(json[key].Estado); + if (json[key].Estado == 1) { + std = "LIBRE"; + td = ''; + } else if (json[key].Estado == 0) { + std = "OCUPADA"; + td = ''; + } + let fila = ` + + + + ${td} + `; + tab = tab + fila; + } + tab = tab + "
LIBREOCUPADA
${json[key].id}${json[key].Nombre}${json[key].Observacion}
" + bt_add("generar_menu", "Nueva Mesa/Orige"); + //console.log(json); + return tab; +} +function comprovar_mesa(id,nombre,std){ + num_mesa = id; + mesa_nom = nombre; + if(std=='LIBRE'){ + mostrar_form('dashboard_mesero'); + }else if(std=='OCUPADA'){ + alert("Mesa Ocupada"); + } + +} +async function generaCard_platosMenu(json) { + var std = "ACTIVO"; + var thead = "CODUsuarioNombreROLEstado"; + var tab = ` +
+
+

Usuarios

+ +
+ + ${thead}`; + for (let key in json) { + let fila = ` + + + + + + `; + tab = tab + fila; + } + tab = tab + "
${json[key].cod_usr}${json[key].n_sesion}${json[key].nombre}${json[key].rol}${std}
"; + //console.log(json); + return tab; +} + +async function dashboard_mesero(json_cat) { + var thead = "CantidadArticuloPrecio + IVA"; + var card_cat = `
+
+ Categoria Items +
+
`; + console.log("menu creado"); + for (let key in json_cat) { + let fila = `
+
+
${json_cat[key].nom_categoria}
+
+
+ +
+
`; + card_cat = card_cat + fila; + } + var panel_pedido = ` +
+
+ Mesa: ${mesa_nom} Pedidos N# + + +
+
+ + + + +
+
+ ${thead}
+
+
+ + + +
+
`; + return `
${card_cat}
${panel_pedido}
`; +} + +//funcion para crear boton tipo burbuja flotante +function bt_add(accion, msg) { + var toltip = `
Crear un ${msg}
`; + var btn = `
`; + return btn + toltip; +} +function ir_a(ruta) { + switch (ruta) { + case "generar_menu": genera_menu(); + break; + case "generar_menu": + break; + } + console.log(ruta); +} +function verDetalle(std){ + console.log(std); + if(std){ + document.getElementById('ver_cat').style.display='none'; + document.getElementById('ver_detalle').style.display='block'; + console.log(std); + }else{ + document.getElementById('ver_cat').style.display='block'; + document.getElementById('ver_detalle').style.display='none'; + } + +} \ No newline at end of file diff --git a/src/rutas/rt_items.js b/src/rutas/rt_items.js index cd7253c..f605314 100644 --- a/src/rutas/rt_items.js +++ b/src/rutas/rt_items.js @@ -22,6 +22,8 @@ rutas.post('/addItems/', controladorItems.guardarItems);//ver productos en modo rutas.get('/cierresCaja/', controladorItems.cierresCaja);//ver productos en modo json/get rutas.post('/json', controladorItems.json);//ver menu en modo json +//APP_SIGMA consultas categorias +rutas.get('/categorias_json', controladorItems.cat_json);//ver categorias items en modo json //APP_SIGMA consultas rutas.get('/consultaItemsPrecios/', controladorItems.app_consultaItemsPrecios);//ver productos en modo json/post diff --git a/src/views/app_restaurant.ejs b/src/views/app_restaurant.ejs index 0058a6d..1cee23c 100644 --- a/src/views/app_restaurant.ejs +++ b/src/views/app_restaurant.ejs @@ -11,6 +11,8 @@ integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"> + + @@ -56,14 +58,14 @@
  • - + Mesas
  • - + Menu @@ -127,6 +129,7 @@ + \ No newline at end of file