ii-agent-dogovory-arendy-ots/script.js

25 lines
1.1 KiB
JavaScript

document.getElementById('reqForm').addEventListener('submit', async e => {
e.preventDefault();
const form = e.target;
const data = {};
new FormData(form).forEach((v,k)=>{ if(v) data[k]=v; });
// convert numbers
if(data.area) data.area = Number(data.area);
if(data.termMonths) data.termMonths = Number(data.termMonths);
if(data.price) data.price = Number(data.price);
const out = document.getElementById('out');
out.textContent = 'Отправка...';
try {
const resp = await fetch('/api/contract', {method:'POST', headers:{'Content-Type':'application/json'}, body:JSON.stringify(data)});
const json = await resp.json();
if(json.ok) {
const r = json.record;
out.textContent = `Договор готов.\n\n${r.contract}\n\nФлаги: ${r.flags.length? r.flags.map(f=>f.message).join('; ') : 'нет'}\nОтклонения: ${r.deviations.length? r.deviations.map(d=>d.clause+': '+d.diff).join('\n') : 'нет'}`;
} else {
out.textContent = 'Ошибка: '+ JSON.stringify(json);
}
} catch(err) {
out.textContent = 'Ошибка сети: '+ err;
}
});