Professional Documents
Culture Documents
function get(idcontrol) {
return document.getElementById(idcontrol).value;
}
function getI(idcontrol) {
return document.getElementById(idcontrol).innerHTML;
}
function validarKeyPress(idformulario) {
//Recorrimos todos los controles
var elementosNames = document.querySelectorAll("#" + idformulario + "
[name]");
var control, nombreclases, clases, cantidad;
var resultado;
for (var i = 0; i < elementosNames.length; i++) {
control = elementosNames[i];
control.onkeypress = function (e) {
//form-control ob (Sacamos su clase completa)
nombreclases = e.target.className;
//["form-control","ob"]
clases = nombreclases.split(" ");
//Solo letras
resultado = clases.filter(p => p == "sl")
if (resultado.length > 0) {
var cadena = e.target.value +
String.fromCharCode(e.keyCode)
//alert(cadena)
if (!/^[a-zA-Z]+$/.test(cadena)) {
e.preventDefault();
}
}
//Letras con espacio en blanco
resultado = clases.filter(p => p == "slcenb")
if (resultado.length > 0) {
var cadena = e.target.value +
String.fromCharCode(e.keyCode)
if (!/^[a-zA-Z ]+$/.test(cadena)) {
e.preventDefault();
}
}
//Solo numeros
resultado = clases.filter(p => p == "sn")
if (resultado.length > 0) {
var cadena = e.target.value +
String.fromCharCode(e.keyCode)
if (!/^[0-9]+$/.test(cadena)) {
e.preventDefault();
}
}
//Solo numeros , letras y espacios en blanco
resultado = clases.filter(p => p == "snslcenb")
if (resultado.length > 0) {
var cadena = e.target.value +
String.fromCharCode(e.keyCode)
if (!/^[a-zA-Z0-9(),;: ]+$/.test(cadena)) {
e.preventDefault();
}
}
resultado = clases.filter(p => p.includes("max-"))
if (resultado.length > 0) {
//max-100
var nombreClaseConMax = resultado[0]
var valorMaximo = nombreClaseConMax.replace("max-",
"") * 1
var cadena = e.target.value +
String.fromCharCode(e.keyCode)
// var longitudTexto = control.value.length
var longitudTexto = cadena.length;
if (longitudTexto > valorMaximo) {
e.preventDefault();
}
}
}
}
}
function ValidarDatos(idformulario) {
var error = "";
//Buscar las validaciones(ob-) ->type radio
var contenedorchecks = document.querySelectorAll("#" + idformulario +
" [class*='ob-']")
var contenedor;
for (var i = 0; i < contenedorchecks.length; i++) {
contenedor = contenedorchecks[i];
var numero = contenedor.className.replace("ob-", "") * 1;
var marcados = 0;
var hijos = contenedor.children;
var hijo;
for (var j = 0; j < hijos.length; j++) {
hijo = hijos[j];
if (hijo.type == "radio" && hijo.checked == true) marcados++;
}
if (marcados == 0) {
error = "Debe seleccionar un valor";
return error;
}
}
//Recorrimos todos los controles
var elementosNames = document.querySelectorAll("#" + idformulario + "
[name]");
var control, nombreclases, clases, cantidad;
var resultado;
for (var i = 0; i < elementosNames.length; i++) {
control = elementosNames[i];
//form-control ob (Sacamos su clase completa)
if (control.parentNode.style.display != "none") {
nombreclases = control.className;
//["form-control","ob"]
clases = nombreclases.split(" ");
//Obligatorios
resultado = clases.filter(p => p == "ob")
if (resultado.length > 0) {
if (control.tagName.toUpperCase() == "INPUT" ||
control.tagName.toUpperCase() == "TEXTAREA") {
if (control.value.trim() == "") {
error = "Debe ingresar el campo " + control.name;
return error;
}
} else if (control.tagName.toUpperCase() == "SELECT") {
if (control.selectedIndex == 0) {
error = "Debe ingresar el campo " + control.name;
return error;
}
} else if (control.tagName.toUpperCase() == "IMG") {
if (control.src == "" || control.src ==
window.location.href) {
error = "Debe ingresar la imagen ";
return error;
}
}
}
//Maximo
resultado = clases.filter(p => p.includes("max-"))
if (resultado.length > 0) {
//max-100
var nombreClaseConMax = resultado[0]
//"100"
var valorMaximo = nombreClaseConMax.replace("max-", "") *
1
var longitudTexto = control.value.length
if (longitudTexto > valorMaximo) {
error = "El campo " + control.name + " su longitud
maxima es " + valorMaximo +
" y usted a escrito una cadena con longitud " +
longitudTexto;
return error;
}
}
//Minimo
resultado = clases.filter(p => p.includes("min-"))
if (resultado.length > 0) {
//max-100
var nombreClaseConMin = resultado[0]
//"100"
var valorMinimo = nombreClaseConMin.replace("min-", "") *
1
var longitudTexto = control.value.length
if (longitudTexto < valorMinimo) {
error = "El campo " + control.name + " su longitud
minima es " + valorMinimo +
" y usted a escrito una cadena con longitud " +
longitudTexto;
return error;
}
}
//Solo letras
resultado = clases.filter(p => p == "sl")
if (resultado.length > 0) {
if (!/^[a-zA-ZÀ-ÿ]+$/.test(control.value)) {
error = "El campo " + control.name + " solo debe
tener letras minusculas o mayusculas ";
return error
}
}
//Solo letras con espacio
resultado = clases.filter(p => p == "slcenb")
if (resultado.length > 0) {
if (!/^[a-zA-ZÀ-ÿ,; ]+$/.test(control.value)) {
error = "El campo " + control.name + " solo debe
tener letras minusculas , mayusculas o espacio en blanco ";
return error
}
}
//Solo numeros
resultado = clases.filter(p => p == "sn")
if (resultado.length > 0) {
if (!/^[0-9]+$/.test(control.value)) {
error = "El campo " + control.name + " solo debe
tener numeros del 0 al 9 ";
return error
}
}
//Solo numeros , letras y espacios en blanco
resultado = clases.filter(p => p == "snslcenb")
if (resultado.length > 0) {
if (!/^[a-zA-Z0-9À-ÿ,;(): ]+$/.test(control.value)) {
error = "El campo " + control.name + " solo debe
tener numeros , letras o espacios en blanco ";
return error
}
}
}
}
return error;
}
function getN(namecontrol) {
return document.getElementsByName(namecontrol)[0].value
}
function Error(titulo = "Error", texto = "Ocurrio un error") {
if (titulo != "No transport could be initialized successfully. Try
specifying a different transport or none at all for auto
initialization.")
Swal.fire({
icon: 'error',
title: titulo,
text: texto
})
}
function LimpiarDatos(idformulario) {
var elementosName = document.querySelectorAll("#" + idformulario + "
[name]");
var elementoActual;
var elementoName;
for (var i = 0; i < elementosName.length; i++) {
elementoActual = elementosName[i]
elementoName = elementoActual.name;
//Combo
if (elementoActual.tagName.toUpperCase() == "SELECT") {
document.getElementById(elementoActual.id).selectedIndex = 0;
}
else if (elementoActual.tagName.toUpperCase() == "IMG") {
setSRC(elementoName, "", idformulario)
}
else if ((elementoActual.tagName.toUpperCase() == "INPUT" &&
elementoActual.type.toUpperCase() != "RADIO")
|| (elementoActual.tagName.toUpperCase() == "TEXTAREA")) {
//INPUE
setN(elementoName, "", idformulario);
}
}
//Radio Button (Selector CSS)
var radios = document.querySelectorAll("#" + idformulario + "
[type*='radio']");
for (var i = 0; i < radios.length; i++) {
radios[i].checked = false;
}
//CheckBox
var checboks = document.querySelectorAll("#" + idformulario + "
[type*='checkbox']");
for (var i = 0; i < checboks.length; i++) {
checboks[i].checked = false;
}
for (var i = 0; i < idradios.length; i++) {
if (document.getElementById(idradios[i]))
document.getElementById(idradios[i]).checked = true;
}
}
function setURL(url) {
var raiz = document.getElementById("hdfOculto").value;
//http://localhost........
var urlCompleta = window.location.protocol + "//" +
window.location.host + "/" + raiz
+ url
return urlCompleta;
}
document.getElementById("divLoading").style.display = "none";
if (retorno == false || retorno == null)
callback(res)
else
return res;
} catch (e) {
alert("Ocurrion un error");
console.log(e)
document.getElementById("divLoading").style.display = "none";
}
}
//[{"iidlaboratorio":1,"nombre":"SynLab","direccion":null,"personacontact
o":null}
//, { "iidlaboratorio": 2, "nombre": "Multilab", "direccion": null,
"personacontacto": null }, { "iidlaboratorio": 3, "nombre": "Suiza Lab",
"direccion": null, "personacontacto": null }]
function llenarCombo(data, idcontrol, propiedadId, propiedadNombre,
textoprimeraopcion = "--Seleccione--", valueprimeraopcion = "") {
var contenido = "";
var objActual;
contenido += "<option value='" + valueprimeraopcion + "'>" +
textoprimeraopcion + "</option>"
for (var i = 0; i < data.length; i++) {
objActual = data[i];
contenido += "<option value='" + objActual[propiedadId] + "'>" +
objActual[propiedadNombre] + "</option>"
}
if (typeof (idcontrol) == "string")
setI(idcontrol, contenido)
else {
for (var j = 0; j < idcontrol.length; j++) {
setI(idcontrol[j], contenido);
}
}
//document.getElementById(idcontrol).innerHTML = contenido;
}
function EliminarFila(btn) {
var fila = btn.parentNode.parentNode;
var tbody = fila.parentNode;
tbody.removeChild(fila)
}
function AgregarFila(tabla) {
//Array
var propiedadesTabla = objConfiguracionGlobal.propiedades;
//Obj
var elementotabla = document.getElementById(tabla);
var columnaReadOnly = objConfiguracionGlobal.columnreadonly;
var objtbody = document.getElementById("tbody" + tabla);
var propiedadActual;
var contenido = "<tr>";
for (var i = 0; i < propiedadesTabla.length; i++) {
propiedadActual = propiedadesTabla[i];
contenido += "<td ondblclick='clickcelda(this)'>";
contenido += `<input ${columnaReadOnly.includes(propiedadActual)
? 'readonly' : ''} class='form-control' type='text' />`
contenido += "</td>";
}
contenido += `<td>
<button class='btn btn-danger'
onclick='EliminarFila(this)'>Eliminar</button>
<button class='btn btn-success'
onclick="GuardarElementos(this)">Guardar</button>
</td>`
contenido += "</tr>";
objtbody.insertAdjacentHTML("beforeend", contenido);
}
//{url:"",columnas:[],propiedades:[]}
var objConfiguracionGlobal;
var objBusquedaGlobal;
var objFormularioGlobal;
function pintar(objConfiguracion, objBusqueda, objFormulario) {
var contenido = "";
if (objConfiguracion != null) {
if (objConfiguracion.divContenedorTabla == undefined)
objConfiguracion.divContenedorTabla = "divContenedorTabla"
if (objConfiguracion.divPintado == undefined)
objConfiguracion.divPintado = "divTabla"
if (objConfiguracion.editar == undefined)
objConfiguracion.editar = false
if (objConfiguracion.eliminar == undefined)
objConfiguracion.eliminar = false
if (objConfiguracion.propiedadId == undefined)
objConfiguracion.propiedadId = ""
if (objConfiguracion.popup == undefined)
objConfiguracion.popup = false
if (objConfiguracion.type == undefined)
objConfiguracion.type = ""
if (objConfiguracion.columnreadonly == undefined)
objConfiguracion.columnreadonly = []
if (objConfiguracion.agregar == undefined)
objConfiguracion.agregar = false
if (objConfiguracion.idtabla == undefined)
objConfiguracion.idtabla = "tabla"
}
if (objFormulario != undefined && objFormulario.type == undefined)
objFormulario.type = "fieldset"
if (objFormulario != undefined && objFormulario.type == "popup") {
contenido += `<button onclick="EditarGenerico(0)" type="button"
class="btn btn-primary"
data-bs-toggle="modal" data-bs-
target="#${objConfiguracion.popupId}">
Nuevo</button>`
contenido += `
<div class="modal fade" id="${objConfiguracion.popupId}"
data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1"
aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="lbltitulo"></h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close"></button>
</div>
<div class="modal-body">`;
contenido += ConstruirFormulario(objFormulario)
contenido += `
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary"
id="btnCerrarModal" data-bs-dismiss="modal">Cerrar</button>
<button type="button" class="btn btn-primary"
onclick="GuardarGenericoFormulario('${objFormulario.idformulario}','popup
')">Guardar</button>
</div>
</div>
</div>
</div>
`
}
//Este es su lugar
//agregar
objConfiguracionGlobal = objConfiguracion;
objBusquedaGlobal = objBusqueda;
objFormularioGlobal = objFormulario;
//Configuraciòn
if (objConfiguracion != null && objConfiguracion.agregar == true) {
contenido += `<button
onclick="AgregarFila('${objConfiguracion.idtabla}')" type="button"
class="btn btn-primary" >
Agregar
</button>`
}
if (objConfiguracion != null && objConfiguracion.nuevo == true &&
objConfiguracion.popup == true) {
contenido += `<button onclick="CallbackEditar(0)" type="button"
class="btn btn-primary" data-bs-toggle="modal"
data-bs-target="#${objConfiguracion.popupId}">
Nuevo
</button>`
}
if (objConfiguracion.paginar == true) {
$("#" + objConfiguracion.idtabla).DataTable();
}
//Pintado
var objeto;
for (var j = 0; j < objBusquedaCombos.length; j++) {
objeto = objBusquedaCombos[j]
llenarCombo(objeto.data, objeto.id, objeto.valuemostrar,
objeto.propiedadmostrar, "-------Todos--------", "0")
}
if (objFormulario!=null)
validarKeyPress(objFormulario.idformulario)
/////////
// document.getElementById(objConfiguracion.divPintado).inne
rHTML = contenido;
})
} else {
if (objFormulario.divPintado == undefined)
objFormulario.divPintado = "divTabla";
setI(objFormulario.divPintado, contenido)
var objeto;
for (var j = 0; j < objBusquedaCombos.length; j++) {
objeto = objBusquedaCombos[j]
llenarCombo(objeto.data, objeto.id, objeto.valuemostrar,
objeto.propiedadmostrar, "-------Todos--------", "0")
}
}
configurarMostrarOcultar()
}
function configurarMostrarOcultar() {
//data-visible
var elementos = document.querySelectorAll("[data-visible]");
var elemento;
for (var i = 0; i < elementos.length; i++) {
//objeto
elemento = elementos[i];
var objAtributoCadena = elemento.getAttribute("data-visible");
var objAtributoObjeto = JSON.parse(objAtributoCadena)
var elementosobjeto;
if
(document.getElementsByName(objAtributoObjeto.proppropiedadName).length>0
)
elementosobjeto = document.querySelectorAll("#" +
objAtributoObjeto.propidformulario +
" [name='" + objAtributoObjeto.proppropiedadName + "']")
else
elementosobjeto = document.querySelectorAll("#" +
objAtributoObjeto.propidformulario +
" [name='" + objAtributoObjeto.proppropiedadName + "[]" +
"']")
}
var valorOperador = objAtributoObjeto.propoperador;
if (valorOperador == "==") operadorBoolIniciar = (valor ==
objAtributoObjeto.propvalor)
else if (valorOperador == ">") operadorBoolIniciar = (valor >
objAtributoObjeto.propvalor)
else if (valorOperador == ">=") operadorBoolIniciar = (valor >=
objAtributoObjeto.propvalor)
else if (valorOperador == "<") operadorBoolIniciar = (valor <
objAtributoObjeto.propvalor)
else if (valorOperador == "<=") operadorBoolIniciar = (valor <=
objAtributoObjeto.propvalor)
else operadorBoolIniciar = (valor ==
objAtributoObjeto.propvalor)
if (operadorBoolIniciar == false) break;
}
if (operadorBoolIniciar) {
document.querySelector("#" +
objAtributoObjeto.propidformulario +
" [name='" + objAtributoObjeto.propname +
"']").parentNode.style.display = "block"
}
else {
document.querySelector("#" +
objAtributoObjeto.propidformulario +
" [name='" + objAtributoObjeto.propname +
"']").parentNode.style.display = "none"
}
var elementoObjeto;
for (var j = 0; j < elementosobjeto.length; j++) {
elementoObjeto = elementosobjeto[j];
elementoObjeto.setAttribute("data-valorcamporar",
objAtributoObjeto.propvalor)
elementoObjeto.setAttribute("data-controlocultar",
objAtributoObjeto.propname)
elementoObjeto.setAttribute("data-idformulario",
objAtributoObjeto.propidformulario)
elementoObjeto.setAttribute("data-operador",
objAtributoObjeto.propoperador)
console.log(elementoObjeto)
var evento = "";
if (elementoObjeto.type == "radio") evento = "change"
else if (elementoObjeto.type == "select-one") evento =
"change"
else if (elementoObjeto.type == "text") evento = "keyup"
else if (elementoObjeto.type == "checkbox") evento = "change"
else evento = "keyup"
//Evento
elementoObjeto.addEventListener(evento, function () {
var operadorBoolIniciar;
//for (var g = 0; g < longitud; g++) {
var propiedadAfecta = elemento.getAttribute(z ==
0 ? "data-ocultarmultiple" : "data-ocultarmultiple" + z).replace(" ",
"");
var valor;
if
(document.getElementsByName(propiedadAfecta).length > 0) {
var tipo =
document.getElementsByName(propiedadAfecta)[0].type;
//true o false
if (tipo == "checkbox") valor =
document.getElementsByName(propiedadAfecta)[0].checked.toString();
//radio
else if (tipo == "radio") valor =
[...document.getElementsByName(propiedadAfecta)].filter(p => p.checked ==
true)[0].value;
else if (tipo == "text") valor =
document.getElementsByName(propiedadAfecta)[0].value;
} else {
var tipo =
document.getElementsByName(propiedadAfecta + "[]")[0].type;
//true o false
if (tipo == "checkbox") valor =
document.getElementsByName(propiedadAfecta + "[]")[0].checked.toString();
//radio
else if (tipo == "radio")
valor =
[...document.getElementsByName(propiedadAfecta + "[]")].filter(p =>
p.checked == true)[0].value;
else if (tipo == "text") valor =
document.getElementsByName(propiedadAfecta + "[]")[0].value;
}
var valorOperador =
objAtributoObjeto.propoperador;
if (valorOperador == "==") operadorBoolIniciar =
(valor == objAtributoObjeto.propvalor.replace(" ", ""))
else if (valorOperador == ">")
operadorBoolIniciar = (valor > objAtributoObjeto.propvalor.replace(" ",
""))
else if (valorOperador == ">=")
operadorBoolIniciar = (valor >= objAtributoObjeto.propvalor.replace(" ",
""))
else if (valorOperador == "<")
operadorBoolIniciar = (valor < objAtributoObjeto.propvalor.replace(" ",
""))
else if (valorOperador == "<=")
operadorBoolIniciar = (valor <= objAtributoObjeto.propvalor.replace(" ",
""))
else operadorBoolIniciar = (valor ==
objAtributoObjeto.propvalor)
if (operadorBoolIniciar == false) break;
}
if (operadorBoolIniciar) {
document.querySelector("#" +
objAtributoObjeto.propidformulario +
" [name='" + objAtributoObjeto.propname +
"']").parentNode.style.display = "block"
}
//none
else {
document.querySelector("#" +
objAtributoObjeto.propidformulario +
" [name='" + objAtributoObjeto.propname +
"']").parentNode.style.display = "none"
}
}
})
}
}
}
function clickcelda(td) {
var valor = td.getAttribute("data-valor");
td.innerHTML = "";
td.insertAdjacentHTML("beforeend", `
<input class='form-control' value='${valor}' />
`)
var trfila = td.parentNode;
var tdultimo = trfila.lastChild;
tdultimo.setAttribute("data-botones", tdultimo.innerHTML);
tdultimo.innerHTML = "";
// if (tdultimo.children.length == 0) {
tdultimo.insertAdjacentHTML("beforeend", `
<button class='btn btn-success'
onclick='GuardarElementos(this)' >Guardar</button>
<button onclick='Cancelar(this)' class='btn btn-
danger' >Cancelar</button>
`);
}
function GuardarElementos(btn) {
var trActual = btn.parentNode.parentNode;
var nhijos = trActual.children.length;
var valores = [];
var elementoActual;
for (var i = 0; i < nhijos - 1; i++) {
elementoActual = trActual.children[i];
//Hay un input
if (elementoActual.children.length > 0 &&
elementoActual.children[0].nodeName.toUpperCase() == "INPUT") {
valores.push(elementoActual.children[0].value)
}
//else
else {
valores.push(elementoActual.getAttribute("data-valor"));
}
}
//Valores[] valores
var urlGuardar = objConfiguracionGlobal.urlguardar;
//Propiedades
var propiedades = objConfiguracionGlobal.propiedades;
function Cancelar(btn) {
var tdActual = btn.parentNode;
var trActual = tdActual.parentNode;
var nhijos = trActual.children.length;
var obj;
for (var i = 0; i < nhijos; i++) {
obj = trActual.children[i];
obj.innerHTML = obj.getAttribute("data-valor");
}
var tdUltimo = trActual.lastChild
var botones = tdUltimo.getAttribute("data-botones");
tdUltimo.innerHTML = botones;
tdUltimo.setAttribute("data-botones", "");
}
function rowClickEvent(cadena) {
objConfiguracionGlobal.rowClick(cadena);
}
function EditarGenerico(id) {
LimpiarDatos(objFormularioGlobal.idformulario);
//Nuevo
if (id == 0) {
if (objFormularioGlobal.type == "popup")
setI("lbltitulo", "Agregar " +
objConfiguracionGlobal.titlePopup)
}
//Editar
else {
if (objFormularioGlobal.type == "popup")
setI("lbltitulo", "Editar " +
objConfiguracionGlobal.titlePopup)
recuperarGenerico("" + objFormularioGlobal.urlrecuperar +
"/?" + objFormularioGlobal.parametrorecuperar + "=" + id,
objFormularioGlobal.idformulario)
}
}
function CallbackEliminar(id) {
if (objConfiguracionGlobal.urleliminar == undefined) {
Eliminar(id)
}
else {
if (objConfiguracionGlobal.nombreparametroeliminar == undefined)
{
objConfiguracionGlobal.nombreparametroeliminar = "id";
}
if (objConfiguracionGlobal.confirmacioneliminar == undefined) {
objConfiguracionGlobal.confirmacioneliminar = "Desea eliminar
el registro?"
}
Confirmacion(undefined,
objConfiguracionGlobal.confirmacioneliminar, function () {
fetchGet(objConfiguracionGlobal.urleliminar +
"/?" + objConfiguracionGlobal.nombreparametroeliminar +
"=" + id,
"text", function (data) {
if (data == "1") {
Exito("Se elimino correctamente");
fetchGet(objConfiguracionGlobal.url, "json",
function (rpta) {
document.getElementById(objConfiguracionGloba
l
.divContenedorTabla).innerHTML =
generarTabla(rpta);
if (objConfiguracionGlobal.paginar == true) {
$("#" +
objConfiguracionGlobal.idtabla).DataTable();
}
})
//listarTipoAdministracion();
} else Error();
})
});
}
}
function CallbackEditar(id) {
function LimpiarGenericoBusqueda(idformulario) {
LimpiarDatos(idformulario);
var frBusqueda = document.getElementById(idformulario);
var frm = new FormData(frBusqueda)
fetchPost(objConfiguracionGlobal.url, "json", frm, function (res) {
document.getElementById(objConfiguracionGlobal.divContenedorTabla
).innerHTML = generarTabla(res);
if (objConfiguracionGlobal.paginar == true) {
$("#" + objConfiguracionGlobal.idtabla).DataTable();
}
})
}
function BuscarDatosGenericoBusqueda(id) {
var formu = document.getElementById(id);
var frm = new FormData(formu);
fetchPost(objBusquedaGlobal.url, "json", frm, function (res) {
document.getElementById(objConfiguracionGlobal.divContenedorTabla
).innerHTML = generarTabla(res);
if (objConfiguracionGlobal.paginar == true) {
$("#" + objConfiguracionGlobal.idtabla).DataTable();
}
})
}
window.onload = function () {
listarPagina();
}
var listarPagina;
var objGlobalPagina;
var objFormularioGlobalPagina;
function listarPagina() {
objGlobalPagina = {
url: "Pagina/listarPagina",
cabeceras: ["Id Pagina", "Nombre Pagina", "Controller",
"Accion"],
propiedades: ["iidpagina", "mensaje", "controlador", "accion"],
editar: true,
eliminar: true,
propiedadId: "iidpagina"
}
pintar(objGlobalPagina)
}
function Regresar() {
document.getElementById("btnBotonNuevo").style.display = "block";
pintar(objGlobalPagina)
}
document.getElementById("btnBotonNuevo").style.display = "none";
objFormularioGlobalPagina = {
type: "fieldset",
legend: "Datos Pagina",
idformulario: "frmGuardarPagina",
urlguardar: "Pagina/guardarPagina",
regresar: true,
formulario: [
[
{
class: "col-md-6",
label: "Id Pagina",
name: "iidpagina",
readonly: true
},
{
class: "col-md-6",
label: "Mensaje",
name: "mensaje",
classControl: "ob"
}
],
[
{
class: "col-md-6",
label: "Controlador",
name: "controlador",
classControl: "ob"
},
{
class: "col-md-6",
label: "Accion",
name: "accion",
classControl: "ob"
}
],
]
}
pintar(null, null, objFormularioGlobalPagina);
}
window.onload = function () {
listarPersonas();
}
var objGlobalPersona;
var objGlobalBusquedaPersona;
function listarPersonas() {
objGlobalBusquedaPersona = {
legend: "Filtrado Persona",
idformulario: "frmBusqueda",
url: "Persona/filtrarPersona",
formulario: [
//Fila
[
{
//div
class: "col-md-6",
label: "Nombre Completo",
name: "nombrecompleto"
},
{
class: "col-md-6",
label: "Nombre Sexo",
type: "radio",
//nuevas
labels: ["Masculino", "Femenino"],
values: ["1", "2"],
ids: ["rbMasculino", "rbFemenino"],
checked:"rbFemenino",
//
name:"iidsexo"
}
]
]
}
objGlobalPersona = {
url: "Persona/listarPersona",
cabeceras: ["Id persona", "Nombre Completo", "Nombre
Sexo","Telefono"],
propiedades: ["iidpersona", "nombrecompleto",
"nombresexo","numerotelefonico"],
editar: true,
eliminar: true,
propiedadId: "iidpersona"
}
pintar(objGlobalPersona, objGlobalBusquedaPersona)
}
function Regresar() {
document.getElementById("btnBotonNuevo").style.display = "block";
pintar(objGlobalPersona, objGlobalBusquedaPersona)
}
var objFormularioPersonaGlobal;
var rpta;
var tipousuarios;
async function NuevaPersona() {
rpta = await fetchGet("Sucursal/listarSucursal", "json", null, true)
tipousuarios = await fetchGet("TipoUsuario/listarTipoUsuario",
"json", null, true)
document.getElementById("btnBotonNuevo").style.display = "none";
objFormularioPersonaGlobal = {
type: "fieldset",
legend: "Datos tipo medicamento",
idformulario: "frmGuardarPersona",
urlguardar: "Persona/guardarPersona",
regresar:true,
formulario: [
[
{
class: "col-md-6",
label: "Id Persona",
name: "iidpersona",
readonly: true
},
{
class: "col-md-6",
label: "Nombre",
name: "nombre",
classControl:"ob"
}
],
[
{
class: "col-md-6",
label: "Apellido Paterno",
name: "appaterno",
classControl: "ob"
},
{
class: "col-md-6",
label: "Apellido Materno",
name: "apmaterno",
classControl: "ob"
}
],
[
{
class: "col-md-6",
label: "Correo",
name: "correo",
classControl: "ob"
},
{
class: "col-md-6",
label: "Direccion",
type:"textarea",
name: "direccion",
classControl: "ob"
}
],
[
{
class: "col-md-6",
label: "Nombre Sexo",
type: "radio",
//nuevas
labels: ["Masculino", "Femenino"],
values: ["1", "2"],
ids: ["rbMasculinoFormulario",
"rbFemeninoFormulario"],
classControl: "ob-1",
//checked: "rbMasculinoFormulario",
//
name: "iidsexo"
},
{
class: "col-md-6",
label: "Numero Telefonico",
name: "numerotelefonico",
classControl: "ob"
}
],
[
{
class: "col-md-6",
label: "Empleado",
type: "radio",
//nuevas
labels: ["Si", "No"],
values: ["1", "0"],
ids: ["rbEmpleado", "rbNoEmpleado"],
checked: "rbNoEmpleado",
//
name: "bempleado"
},
{
class: "col-md-6",
label: "Sucursal",
name: "iidsucursal",
type: "combobox",
data: rpta,
id: "cboPersonaSucursal",
propiedadmostrar: "nombre",
valuemostrar: "iidsucursal",
visible: "bempleado==1",
classControl: "ob"
}
],
[
{
class: "col-md-6",
type: "checkbox",
labels: ["Tiene Usuario"],
values: ["1"],
ids: ["chkTieneUsuarioHabilitado"],
name: "btieneusuario"
},
{
class: "col-md-6",
label: "Nombre Usuario",
name: "nombreusuario",
classControl: "ob",
visible: "btieneusuario==true",
ocultar:true
}
],
[
{
class: "col-md-6",
type: "password",
label: "Contraseña",
name: "contra",
classControl: "ob",
visible: "iidusuario==0 && btieneusuario==true",
ocultar: true
},
{
//div
class: "col-md-6",
label: "Tipo Usuario",
name: "iidtipousuario",
type: "combobox",
data: tipousuarios,
id: "cboPersonaTipoUsuario",
propiedadmostrar: "nombre",
valuemostrar: "iidtipousuario",
visible: "btieneusuario==true",
classControl: "ob"
}
],
[
{
class: "col-md-6",
type: "text",
label: "Usuario",
name: "iidusuario",
value: "0",
ocultar: true
}
],
]
}
pintar(null, null, objFormularioPersonaGlobal);
}
window.onload = function () {
listarSucursal();
}
var objSucursal;
var objFormularioSucursal;
function listarSucursal() {
objSucursal = {
url: "Sucursal/listarSucursal",
cabeceras: ["Id Sucursal", "Nombre", "Direccion"],
propiedades: ["iidsucursal", "nombre", "direccion"],
editar: true,
eliminar: true,
propiedadId: "iidsucursal",
urleliminar: "Sucursal/eliminarSucursal",
nombreparametroeliminar: "id",
}
objFormularioSucursal = {
legend: "Datos Sucursal",
idformulario: "frmSucursal",
urlguardar: "Sucursal/GuardarDatos",
urlrecuperar: "Sucursal/recuperarSucursal",
parametrorecuperar: "iidsucursal",
pos: "bottom",
posid: "divSucursalBusqueda",
formulario: [
[
{
//div
class: "col-md-6",
label: "Id Sucursal",
name: "iidsucursal",
type: "number",
readonly:true
},
{
class: "col-md-6",
label: "Nombre",
name: "nombre",
classControl:"ob max-100 min-3 sl"
}
],
[
{
class: "col-md-6",
label: "Direcciòn",
name: "direccion",
type: "textarea",
classControl:"ob max-200 min-5 slcenb"
},
{
class: "col-md-6",
type: "file",
label: "Suba una Foto",
name: "fotoEnviar",
preview: true,
imgwidth: 100,
imgheight: 100,
namefoto: "base64"
}
]
]
}
pintar(objSucursal, null, objFormularioSucursal)
}
function BuscarSucursal() {
var nombresucursal = get("txtnombrebusqueda")
var urlBuscar = "Sucursal/filtrarSucursal/?nombresucursal=" +
nombresucursal
fetchGet(urlBuscar, "json", function (res) {
document.getElementById(objSucursal.divContenedorTabla).innerHTML
= generarTabla(res);
})
}
function LimpiarListaSucursal() {
listarSucursal();
set("txtnombrebusqueda","")
}
window.onload = function () {
listarTipoAdministracion();
}
var objTipoAdministracion;
var objTipoAdministracionBusqueda;
function listarTipoAdministracion() {
objTipoAdministracionBusqueda = {
legend: "Filtrado Tipo Administracion",
idformulario: "frmBusqueda",
url: "TipoAdministracion/filtrarTipoAdministracion",
formulario: [
//Fila
[
{
class: "col-md-6",
label: "Nombre",
name: "nombre"
},
{
class: "col-md-6",
label: "Estado",
type: "checkbox",
//nuevas
labels: ["Habilitado", "Deshabilitado"],
values: ["1", "0"],
ids: ["chkHabilitado", "chkDeshabilitado"],
checked: ["chkHabilitado","chkDeshabilitado"],
//
name: "estado"
}
]
]
}
objTipoAdministracion = {
type: "edit",
agregar:true,
urlguardar: "TipoAdministracion/guardarTipoAdministracion",
urleliminar: "TipoAdministracion/eliminarTipoAdministracion",
confirmacioneliminar:"Desea eliminar el tipo administracion?",
nombreparametroeliminar:"id",
columnreadonly: ["iidtipoadministracion"],
url: "TipoAdministracion/listarTipoAdministracion",
cabeceras: ["Id Tipo Administracion", "Nombre", "Descripcion"],
propiedades: ["iidtipoadministracion", "nombre", "descripcion"],
eliminar: true,
propiedadId:"iidtipoadministracion"
}
pintar(objTipoAdministracion, objTipoAdministracionBusqueda)
}
window.onload = function () {
listarTipoMedicamento();
}
function filtrarTipoMedicamento() {
var nombre = get("txtnombrebusqueda")
if (nombre == "") {
listarTipoMedicamento();
} else {
var urlBuscar =
"TipoMedicamento/filtrarTipoMedicamento/?nombretipo=" + nombre
fetchGet(urlBuscar, "json", function (res) {
document.getElementById(objGlobalTipoMedicamento.divContenedo
rTabla).innerHTML = generarTabla(res);
$("#" + objGlobalTipoMedicamento.idtabla).DataTable();
})
}
}
//outerHTML
var objGlobalTipoMedicamento;
var objFormularioTipoMedicamento;
function listarTipoMedicamento() {
objGlobalTipoMedicamento = {
url: "TipoMedicamento/listarTipoMedicamento",
cabeceras: ["Id tipo medicamento", "Descripcion", "Nombre"],
propiedades: ["idtipomedicamento", "descripcion", "nombre"],
editar: true,
eliminar: true,
propiedadId: "idtipomedicamento",
urleliminar: "TipoMedicamento/eliminarTipoMedicamento",
nombreparametroeliminar: "id",
paginar:true
}
objFormularioTipoMedicamento = {
type: "fieldset",
legend: "Datos tipo medicamento",
idformulario:"frmGuardarTipoMedicamento",
urlguardar: "TipoMedicamento/GuardarDatos",
urlrecuperar: "TipoMedicamento/recuperarTipomedicamento",
parametrorecuperar: "iidtipomedicamento",
pos: "bottom",
posid:"divBusquedaForm",
formulario: [
[
{
class: "col-md-6",
label: "Id tipo medicamento",
name: "idtipomedicamento",
readonly: true
},
{
class: "col-md-6",
label: "Nombre",
name: "nombre",
classControl:"ob max-100 min-3 sl"
}
],
[
{
class: "col-md-12",
type:"textarea",
label: "Descripciòn",
name: "descripcion",
classControl:"ob max-200 min-5 slcenb"
}
]
]
}
pintar(objGlobalTipoMedicamento, null, objFormularioTipoMedicamento)
window.onload = function () {
listarTipoUsuario();
}
var objTipoUsuario;
var objBusqueda;
function listarTipoUsuario() {
document.getElementById("btnBotonNuevo").style.display = "block";
objBusqueda = {
legend: "Busqueda de Tipo Usuario",
idformulario: "frmBusqueda",
url: "TipoUsuario/filtrarTipoUsuario",
formulario: [
[
{
//div
class: "col-md-6",
label: "Nombre Tipo usuario",
name: "nombre",
type: "text"
},
{
//div
class: "col-md-6",
label: "Descripcion Tipo usuario",
name: "descripcion",
type: "text"
}
]
]
}
objTipoUsuario = {
url: "TipoUsuario/listarTipoUsuario",
cabeceras: ["Id Tipo usuario", "Nombre", "Descripcion"],
propiedades: ["iidtipousuario", "nombre", "descripcion"],
editar: true,
eliminar: true,
propiedadId: "iidtipousuario"
}
pintar(objTipoUsuario, objBusqueda)
}
function Regresar() {
document.getElementById("btnBotonNuevo").style.display = "block";
pintar(objTipoUsuario, objBusqueda)
}
var objFormularioTipo;
var rpta;
async function NuevoTipoUsuario() {
rpta = await fetchGet("Pagina/listarPagina", "json", null, true)
document.getElementById("btnBotonNuevo").style.display = "none";
objFormularioTipo = {
type: "fieldset",
legend: "Datos tipo usuario",
idformulario: "frmGuardarTipoUsuario",
regresar: true,
urlguardar: "TipoUsuario/guardarTipoUsuario",
formulario: [
[
{
//div
class: "col-md-6",
label: "Id Tipo usuario",
name: "iidtipousuario",
type: "text",
readonly: true,
value: "0",
visible:"iidtipousuario==0"
},
{
//div
class: "col-md-6",
label: "Nombre Tipo usuario",
name: "nombre",
type: "text"
}
],
[
{
//div
class: "col-md-6",
label: "Descripcion Tipo usuario",
name: "descripcion",
type: "text"
}
],
[
{
type: "list",
cabeceras: ["Id Pagina","Mensaje"],
propiedades: ["iidpagina","mensaje"],
propiedadId: "iidpagina",
data: rpta,
check:true,
//checks
name:"iidpaginas"
}
]
]
}
pintar(null, null, objFormularioTipo)
}
function Agregar() {
var tbody = document.getElementById("tbDatos");
var contenido =`
<tr>
<td><div class='input-group'><input class='form-
control' />
<button class='btn btn-primary' data-bs-
toggle="modal" onclick='AbrirModalMedicamento(this)'
data-bs-
target="#staticBackdrop" >...</button></div></td>
<td><input class='form-control' readonly /></td>
<td><input class='form-control' readonly /></td>
<td><input type='number' class='form-control'
/></td>
<td><input class='form-control' readonly /></td>
<td><button class='btn btn-outline-danger'
onclick='EliminarFilaDatos(this)' > Eliminar</button></td>
</tr>
`
tbody.insertAdjacentHTML("beforeend", contenido);
}
function EliminarFilaDatos(btn) {
var tbody = document.getElementById("tbDatos");
var tr = btn.parentNode.parentNode;
tbody.removeChild(tr);
}
function AbrirModalMedicamento(btn) {
var objMedicamento = {
url: "Medicamento/listarMedicamento",
divPintado: "divContenedor",
cabeceras: ["Id Medicamento", "Medicamento", "Laboratorio", "Tipo
medicamento"],
propiedades: ["iidmedicamento", "nombremedicamento",
"nombrelaboratorio", "nombretipomedicamento"],
editar: false,
eliminar: false,
//nuevo:true,
propiedadId: "iidmedicamento",
cursor: true,
rowClick: function (data) {
var { iidmedicamento, nombremedicamento } = data;
var tr = btn.parentElement.parentElement.parentElement;
tr.children[1].children[0].value = nombremedicamento;
document.getElementById("btnCerrarModal").click();
console.log(tr);
}
}
pintar(objMedicamento);
}