-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclientes.js
160 lines (123 loc) · 4.37 KB
/
clientes.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
class CLIENTE{
constructor(cod,razonSocial,telefono,email){
this.cod = cod
this.razonSocial = razonSocial
this.telefono = telefono
this.email = email
}
}
//cargo algunos clientes al array a modo de prueba
const clientes = []
clientes.push(new CLIENTE(cod=clientes.length,razonSocial="Alejandro Eschoyez",telefono=3518351789,email="[email protected]"))
clientes.push(new CLIENTE(cod=clientes.length,razonSocial="Ruben Cerruria",telefono=3515123456,email="[email protected]"))
clientes.push(new CLIENTE(cod=clientes.length,razonSocial="Octavio Julio",telefono=3514789654,email="[email protected]"))
guardar_clientes()
function guardar_clientes(){
localStorage.setItem("clientes", JSON.stringify(clientes))
}
$("#nuevoCliente").on("click",()=>{
$("#contenedorCargarCliente").fadeIn()
$("#contenedorListadoClientes").css("display","none")
$("#contenedorFiltradoClientes").css("display","none")
})
//carga los clientes
$("#btnCargarCliente").on("click",function(){
if (validarFormCl()) {
clientes.push(new CLIENTE ((clientes.length),$("#clNombre").val(),parseInt($("#clTel").val()),$("#clMail").val()))
guardar_clientes()
resetCL()
}
})
//limpia el formulario de carga
function resetCL(){
$("#clNombre").val("")
$("#clTel").val("")
$("#clMail").val("")
}
//valida que no falten datos
function validarFormCl(){
if ($("#codigo").val()!=""&&$("#clNombre").val()!=""&&$("#clTel").val()!=""&&$("#clMail").val()) {
return true
}
else{
alert("faltan campos por completar")
return false
}
}
$("#listarClientes").on("click",listar)
function listar(){
$("#contenedorListadoClientes").fadeIn()
$("#contenedorFiltradoClientes").fadeIn()
$("#contenedorCargarCliente").css("display","none")
$("#contenedorFiltradoClientes").html(`<hr>
<input id="txtFiltrarCl" placeholder="Razon Social">
<button onclick="filtrarCl()">Buscar</button><br>
`)
listarCliente(clientes)
}
//funcion para filtrar clientes
function filtrarCl(){
let filtrado = clientes.filter(cl => {
return cl.razonSocial.toLowerCase().includes($("#txtFiltrarCl").val().toLowerCase())
})
listarCliente(filtrado)
$("#txtFiltrarCl").val("")
}
//muestra los clientes
function listarCliente(p){
$("#contenedorListadoClientes").html(
`<table id="tablaCl" border=1><tr>
<td>ID</td>
<td>Razon Social</td>
<td>Telefono</td>
<td>Email</td>
</tr><br>
</table>`
)
for (const elem of p) {
$("#tablaCl").append(`<tr>
<td>${elem.cod}</td>
<td>${elem.razonSocial}</td>
<td>${elem.telefono}</td>
<td>${elem.email}</td>
<td><button onclick="editarCliente(${elem.cod})">Editar</button></td>
</tr>`)
}
}
//funcion para editar clientes
function editarCliente(p){
let cliente = clientes.find(cl => cl.cod == p)
$("#contenedorFiltradoClientes").css("display","none")
$("#contenedorListadoClientes").html(`
Razon Social<br>
<input type="text" id="nombreEditCl" value="${cliente.razonSocial}" ><br>
Marca<br>
<input type="number" id="telefonoEditCl" value="${cliente.telefono}" ><br>
Costo<br>
<input min="0" type="email" id="emailEditCl" value="${cliente.email}" ><br>
<button onclick="guardarEditCl(${p})">Guardar</button>
<button onclick="eliminarEditCl(${p})" >Eliminar</button>
`)
}
function guardarEditCl(p){
let edit = new CLIENTE (
cod=p,
razonSocial=$("#nombreEditCl").val(),
telefono=$("#telefonoEditCl").val(),
email=$("#emailEditCl").val(),
)
let pos = clientes.findIndex(cl => cl.cod === p)
if (confirm("¿Desea Guardar los Cambios?")){
clientes.splice(pos,1,edit)
guardar_clientes()
}
listar()
}
function eliminarEditCl(p){
let pos = clientes.findIndex(cl => cl.cod === p)
if (confirm("¿Esta Seguro de Eliminar el Cliente?")){
clientes.splice(pos,1)
guardar_clientes()
}
listar()
}