This commit is contained in:
Marcos Lopez
2024-01-25 13:45:32 +01:00
parent af55650a42
commit a32d41503d
7 changed files with 401 additions and 1 deletions

View File

@@ -0,0 +1,88 @@
function calculaAlquiler() {
const IVA = 1.21;
const resultado = document.getElementById("resultado");
const diasAlquiler = parseInt(document.getElementById("diasAlquiler").value);
const fechaInicio = new Date(document.getElementById("fechaInicio").value);
const diasHastaRecojer = diasDiferencia(fechaInicio);
//prettier-ignore
const eurXVehiculo = parseInt(eurXTipo(document.getElementById("tipoVehiculo").value));
//prettier-ignore
const sillaInfantil = document.getElementById("sillaInfantil").checked ? 15 : 0;
const gps = document.getElementById("gps").checked ? 5 : 0;
let seguro = parseInt(
document.querySelector('input[name="seguro"]:checked').value
);
if (seguro === 0) {
seguro = parseInt(
eurXSeguro(document.getElementById("tipoVehiculo").value)
);
}
const menor30 = document.getElementById("menor30").checked;
let pvpSinIva =
eurXVehiculo * diasAlquiler +
sillaInfantil * diasAlquiler +
gps * diasAlquiler +
seguro * diasAlquiler;
let pvpConIva = 0;
if (menor30 === true) {
pvpConIva = pvpSinIva * IVA * 1.3;
} else {
pvpConIva = pvpSinIva * IVA;
}
resultado.textContent = `El total final es: ${pvpConIva.toFixed(2)}`;
alert(
`Faltan ${diasHastaRecojer} dias para tu alquiler! \n Tu fecha de entrega del vehículo es el ${formatFecha(
fechaInicio
)} `
);
}
function eurXTipo(tipoVehiculo) {
let valor = 0;
switch (tipoVehiculo) {
case "basico":
valor = 45;
break;
case "gama_media":
valor = 65;
break;
case "lujo":
valor = 85;
break;
}
return valor;
}
function eurXSeguro(tipoVehiculo) {
let valor = 0;
switch (tipoVehiculo) {
case "basico":
valor = 15;
break;
case "gama_media":
valor = 25;
break;
case "lujo":
valor = 35;
break;
}
return valor;
}
function diasDiferencia(fechaFinal) {
const fechaActual = new Date();
return Math.ceil((fechaFinal - fechaActual) / (1000 * 60 * 60 * 24));
}
function formatFecha(fecha) {
var dia = fecha.getDate();
var mes = fecha.getMonth() + 1;
var ano = fecha.getFullYear();
return `${dia}/${mes}/${ano}`;
}