-->
// const firebaseConfig = {
// apiKey: "AIzaSyDKbqAbtyDRNEsZMWNaY_VOkUEHK7rv0gM",
// authDomain: "valencia-diesel-ingresos.firebaseapp.com",
// databaseURL: "https://valencia-diesel-ingresos-default-rtdb.firebaseio.com",
// projectId: "valencia-diesel-ingresos",
// storageBucket: "valencia-diesel-ingresos.firebasestorage.app",
// messagingSenderId: "638186883213",
// appId: "1:638186883213:web:af0260ecaf27f1cfc13ac4",
// measurementId: "G-VG2852HKW2"
// };
// const app = initializeApp(firebaseConfig);
// const analytics = getAnalytics(app);
// const db = firebase.database();
let datos = [];
let pagina = 1;
const porPagina = 10;
function generarFolio(num){
return "OT-" + String(num).padStart(6,"0");
}
function guardar(){
let id = Date.now();
let data = {
folio: generarFolio(id),
nombre: nombre.value,
rut: rut.value,
telefono: telefono.value,
inyector: inyector.value,
cantidad: cantidad.value,
bomba: bomba.value,
serie: serie.value,
estado: estado.value,
obs: obs.value
};
db.ref("registros/"+id).set(data);
limpiar();
}
function limpiar(){
document.querySelectorAll("input, textarea").forEach(e=>e.value="");
}
db.ref("registros").on("value", snap=>{
datos = [];
snap.forEach(d=>{
datos.push({id:d.key, ...d.val()});
});
datos.reverse();
render();
});
function render(){
let inicio = (pagina-1)*porPagina;
let lista = datos.slice(inicio, inicio+porPagina);
tabla.innerHTML="";
lista.forEach(d=>{
tabla.innerHTML+=`
${d.folio}
${d.nombre}
${d.rut}
${d.estado}
`;
});
paginar();
}
function colorEstado(e){
if(e=="Pendiente") return "pendiente";
if(e=="En proceso") return "proceso";
return "terminado";
}
function paginar(){
let total = Math.ceil(datos.length/porPagina);
paginacion.innerHTML="";
for(let i=1;i<=total;i++){
paginacion.innerHTML+=`
`;
}
}
function eliminar(id){
if(confirm("¿Eliminar registro?")){
db.ref("registros/"+id).remove();
}
}
function editar(id){
let d = datos.find(x=>x.id==id);
if(confirm("¿Editar registro?")){
nombre.value=d.nombre;
rut.value=d.rut;
telefono.value=d.telefono;
inyector.value=d.inyector;
cantidad.value=d.cantidad;
bomba.value=d.bomba;
serie.value=d.serie;
estado.value=d.estado;
obs.value=d.obs;
db.ref("registros/"+id).remove();
}
}
function filtrar(){
let t = buscar.value.toLowerCase();
let filtrados = datos.filter(d=>
d.nombre.toLowerCase().includes(t) ||
d.rut.includes(t) ||
d.folio.includes(t)
);
tabla.innerHTML="";
filtrados.slice(0,10).forEach(d=>{
tabla.innerHTML+=`
${d.folio}
${d.nombre}
${d.rut}
${d.estado}
-
`;
});
}
function backup(){
let dataStr = JSON.stringify(datos);
let blob = new Blob([dataStr], {type:"application/json"});
let url = URL.createObjectURL(blob);
let a = document.createElement("a");
a.href=url;
a.download="backup.json";
a.click();
}
function restaurar(e){
let file = e.target.files[0];
let reader = new FileReader();
reader.onload = function(){
let data = JSON.parse(reader.result);
data.forEach(d=>{
let id = Date.now()+Math.random();
db.ref("registros/"+id).set(d);
});
}
reader.readAsText(file);
}