| Código del Vertedero | |
| Guarda / Agente de la Inspección |
| Fecha | Concejo | ||
| Coordenadas |
COORDENADAS ETRS89 / UTM
También puedes escribir o corregir X e Y manualmente. | ||
| Polígono | Parcela | ||
| Monte / Paraje | |
| Consejería competente en materia ambiental | |
| Confederación Hidrográfica | |
| Otras competencias | |
| Carretera / P.K. |
| Pendiente del Terreno | |
| ¿Dentro de arbolada? | |
| ¿Colindante con masa arbolada relevante? | |
| Densidad Matorral | |
| Altura Matorral | |
| ¿Causó incendios anteriores? | |
| Evaluación Riesgo Incendio |
', bloque+'\n');
}
const nombreSugerido=
'Ficha_Vertedero_'+
new Date().toISOString().slice(0,10)+'_'+
new Date().toTimeString().slice(0,5).replace(':','-')+
'.html';
const blob=new Blob(['\n'+copia],{type:'text/html;charset=utf-8'});
const url=URL.createObjectURL(blob);
const a=document.createElement('a');
a.href=url;
a.download=nombreSugerido;
document.body.appendChild(a);
a.click();
a.remove();
setTimeout(()=>URL.revokeObjectURL(url),5000);
if(estado){
estado.textContent='🟢 Ficha completa guardada';
estado.className='autosave-status';
}
alert('Ficha de Vertedero guardada correctamente.\n\nLa copia generada se puede enviar o abrir en cualquier ordenador o teléfono.');
}catch(e){
console.error(e);
alert('No se pudo guardar la ficha: '+e.message);
}
}
function aplicarDatosPortatiles(){
const bloque=document.getElementById('portableData');
if(!bloque) return;
try{
const datos=JSON.parse(bloque.textContent || '{}');
const elementos=document.querySelectorAll('input, textarea, select');
(datos.campos || []).forEach(item=>{
const el=elementos[item.i];
if(!el || el.type==='file') return;
if(el.type==='checkbox' || el.type==='radio'){
el.checked=!!item.checked;
}else{
el.value=item.value ?? '';
}
});
const fotos=datos.fotos || {};
Object.keys(fotos).forEach(id=>{
const img=document.getElementById(id);
if(!img || !fotos[id]) return;
img.src=fotos[id];
img.style.display='block';
if(id==='mapInlinePreview'){
const mapaPlaceholder=document.getElementById('mapInlinePlaceholder');
if(mapaPlaceholder) mapaPlaceholder.style.display='none';
}
});
if(typeof pdfAdjuntos !== 'undefined'){
(datos.pdfs || []).forEach(p=>{
if(!p.data) return;
try{
const byteString=atob(p.data.split(',')[1]);
const mime=p.data.split(',')[0].match(/:(.*?);/)[1];
const ab=new ArrayBuffer(byteString.length);
const ia=new Uint8Array(ab);
for(let i=0;i