60 lines
2.0 KiB
JavaScript
60 lines
2.0 KiB
JavaScript
async function searchCompany() {
|
|||
|
|
const country = document.getElementById("country").value;
|
||
|
|
const vatNumber = document.getElementById("vat_number").value.trim();
|
||
|
|
const status = document.getElementById("status");
|
||
|
|
|
||
|
|
if (!country || !vatNumber) {
|
||
|
|
status.textContent = "Please enter a country and VAT number.";
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
status.textContent = "Searching...";
|
||
|
|
|
||
|
|
try {
|
||
|
|
const response = await fetch(
|
||
|
|
`/api/company_lookup?country=${encodeURIComponent(country)}&vat_number=${encodeURIComponent(vatNumber)}`
|
||
|
|
);
|
||
|
|
|
||
|
|
const data = await response.json();
|
||
|
|
|
||
|
|
if (!response.ok) {
|
||
|
|
status.textContent = data.error || "Lookup failed.";
|
||
|
|
return;
|
||
|
|
}
|
||
|
|
|
||
|
|
document.getElementById("company_name").value = data.name || "";
|
||
|
|
document.getElementById("street").value = data.street || "";
|
||
|
|
document.getElementById("zip").value = data.zip || "";
|
||
|
|
document.getElementById("city").value = data.city || "";
|
||
|
|
|
||
|
|
let message = data.found ? `Found via ${data.source}.` : "No company found.";
|
||
|
|
|
||
|
|
if (data.warning) {
|
||
|
|
message += `\nWarning: ${data.warning}`;
|
||
|
|
}
|
||
|
|
|
||
|
|
if (data.fallback_error) {
|
||
|
|
message += `\nFallback error: ${data.fallback_error}`;
|
||
|
|
}
|
||
|
|
|
||
|
|
status.textContent = message;
|
||
|
|
} catch (error) {
|
||
|
|
status.textContent = "Request failed: " + error;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
function saveData() {
|
||
|
|
const payload = {
|
||
|
|
country: document.getElementById("country").value,
|
||
|
|
vat_number: document.getElementById("vat_number").value.trim(),
|
||
|
|
company_name: document.getElementById("company_name").value.trim(),
|
||
|
|
street: document.getElementById("street").value.trim(),
|
||
|
|
zip: document.getElementById("zip").value.trim(),
|
||
|
|
city: document.getElementById("city").value.trim(),
|
||
|
|
email: document.getElementById("email").value.trim(),
|
||
|
|
phone: document.getElementById("phone").value.trim()
|
||
|
|
};
|
||
|
|
|
||
|
|
alert(JSON.stringify(payload, null, 2));
|
||
|
|
}
|