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); $this->arResult['GROUND_WATER'] = $this->getPropertyEnumValues(57);
if ($this->request->isPost() && ($this->request->getPost('calculate') === 'Y' || $this->isAjax)) { if ($this->request->isPost() && ($this->request->getPost('calculate') === 'Y' || $this->isAjax)) {
$this->processCalculation(); $this->processCalculation();
} }

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

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

Loading…
Cancel
Save