Maks | wip: убедился в работе калькулятора и чуть покопался в нем

web_99
Andrei 2 months ago
parent 2bdfeef5d6
commit abd5ac332b
  1. 1
      local/components/era/calculator/class.php
  2. 2
      local/components/era/calculator/templates/.default/ajax.php
  3. 10
      local/components/era/calculator/templates/.default/template.php

@ -57,6 +57,7 @@ class EraCalculatorComponent extends CBitrixComponent
$this->arResult['GROUND_WATER'] = $this->getPropertyEnumValues(57);
if ($this->request->isPost() && ($this->request->getPost('calculate') === 'Y' || $this->isAjax)) {
$this->processCalculation();
}

@ -43,6 +43,8 @@ if (!empty($arResult['ITEMS'])):
</div>
<?php endforeach;
else: ?>
<p>Попробуйте поменять настройки калькулятора, либо же оставьте заявку в следующей форме:</p>
<div class="product__order">
<h3 class="product__order-title section-title">Нужен септик для бизнеса?</h3>
<div class="product__order-info">Наш менеджер свяжется с вами в ближайшее время</div>

@ -207,7 +207,7 @@
</form>
</section>
<section class="sale sale--calc section-inner container" id="calculator-container" style="display: none;">
<h2 class="section-title">Подходящие септики в нашем каталоге</h2>
<h2 class="section-title" style="display: none;">Подходящие септики в нашем каталоге</h2>
<div class="sale__wrap">
<div class="sale__products" id="calculator-results">
<?php if (!empty($arResult['ITEMS'])): ?>
@ -282,6 +282,7 @@ document.addEventListener('DOMContentLoaded', function() {
const form = document.getElementById('calculator-form');
const resultsContainer = document.getElementById('calculator-results');
const calculatorContainer = document.getElementById('calculator-container');
const calculatorTitle =document.querySelector('.section-title');
function validateForm() {
const selects = form.querySelectorAll('select');
@ -313,15 +314,17 @@ document.addEventListener('DOMContentLoaded', function() {
washer: 50,
dishwasher: 50
};
let totalVolume = 0;
var totalVolume = 0;
const devices = Object.keys(deviceVolumes);
devices.forEach(device => {
/* нужно добаваить множитель в radio-btn (1-3) */
const checkbox = document.getElementById(`calc-${device}`);
if (checkbox && checkbox.checked) {
totalVolume += deviceVolumes[device];
}
});
// Собираем только нужные поля
const formData = new FormData();
formData.append('ajax', 'Y');
@ -347,9 +350,12 @@ document.addEventListener('DOMContentLoaded', function() {
.then(response => response.json())
.then(data => {
if (data.items) {
console.log(data.items)
calculatorContainer.style.display = 'block';
calculatorTitle.style.display = 'block';
resultsContainer.innerHTML = data.items;
} else {
calculatorTitle.style.display = 'none';
calculatorContainer.style.display = 'none';
}

Loading…
Cancel
Save