Files
new.rybstock.ru/views/pages/delivery.php
T
2026-06-04 19:19:35 +03:00

170 lines
9.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<section class="info-page">
<div class="info-hero">
<div>
<p class="eyebrow">Москва и Московская область</p>
<h1>Доставка и самовывоз</h1>
<p>Привозим заказы после подтверждения по телефону. В день заказа можно получить товар, если оформить заказ в будний день до 14:00.</p>
</div>
<div class="info-visual" aria-hidden="true">
<span></span>
<strong>18:00-24:00</strong>
<small>Пн.-Пт.</small>
</div>
</div>
<section class="delivery-calculator panel">
<div class="section-heading">
<div>
<p class="eyebrow">Калькулятор</p>
<h2>Рассчитать доставку</h2>
</div>
<span class="calculator-note">Расчет предварительный, финально подтвердит менеджер.</span>
</div>
<form class="calculator-form" id="delivery-calculator">
<label>
Адрес доставки
<input type="text" name="address" placeholder="Например: Москва, ул. Привольная, 13к1">
</label>
<label>
Сумма заказа, руб.
<input type="number" name="order_sum" min="0" step="100" value="5000">
</label>
<label>
Способ получения
<select name="zone">
<option value="inside">Доставка внутри МКАД</option>
<option value="outside">Доставка за МКАД</option>
<option value="pickup">Самовывоз</option>
</select>
</label>
<label class="km-field">
Км от МКАД
<input type="number" name="km" min="0" step="1" value="0">
</label>
<label class="checkbox-label">
<input type="checkbox" name="lift">
Нужен подъем до квартиры/офиса
</label>
</form>
<div class="calculator-result" id="delivery-result">
<strong>Доставка: 0 руб.</strong>
<span>Введите сумму заказа и условия доставки.</span>
</div>
</section>
<div class="info-grid">
<section class="info-card">
<div class="info-card-visual delivery-city"></div>
<h2>Доставка внутри МКАД</h2>
<ul class="clean-list">
<li>Заказы от 5000 руб. - бесплатно до подъезда.</li>
<li>В остальных случаях доставка 599 руб.</li>
<li>Минимальная сумма заказа на доставку внутри МКАД - 2000 руб.</li>
<li>Подъем до квартиры или офиса - 390 руб.</li>
</ul>
<p class="muted">Водитель может оставить заказ у консьержа, соседа и т. д. при полной оплате по QR-коду и оплате подъема.</p>
</section>
<section class="info-card">
<div class="info-card-visual delivery-region"></div>
<h2>Доставка за МКАД</h2>
<ul class="clean-list">
<li>До 10 км от МКАД бесплатная доставка от 10000 руб.</li>
<li>От 10 км и дальше: каждый километр от МКАД = 1000 руб. к сумме заказа для бесплатной доставки.</li>
<li>Если заказ не попадает под бесплатную доставку: 199 руб. + 60 руб./км.</li>
<li>Минимальная сумма заказа - 5000 руб.</li>
<li>Подъем до квартиры или офиса - 390 руб.</li>
</ul>
<p class="muted">Например, 15 км от МКАД - бесплатная доставка от 15000 руб.; 17 км - от 17000 руб.</p>
</section>
</div>
<div class="info-grid three">
<section class="info-card compact">
<h2>Как мы развозим</h2>
<p>Понедельник-пятница: 18:00-24:00 без ограничения по точному времени.</p>
<p>При построении маршрута учитываем комментарии к заказу, например: “буду дома после 19:00.</p>
</section>
<section class="info-card compact">
<h2>Самовывоз</h2>
<p>Понедельник-пятница: 18:00-21:00.</p>
<p>Минимальная сумма заказа на самовывоз - 1 руб. Самовывоз возможен только после подтверждения заказа.</p>
</section>
<section class="info-card compact">
<h2>Когда получить заказ</h2>
<p>Заказы до 14:00 в будние дни можно получить день в день.</p>
<p>Заказы после 14:00 - на следующий или другой удобный для вас день.</p>
</section>
</div>
<section class="info-card">
<h2>Оплата при получении</h2>
<p>На сайте ничего оплачивать не нужно. Вы оформляете заказ, чтобы мы его увидели, проверили наличие и собрали с учетом ваших пожеланий. Оплата товара производится только при получении.</p>
<p>При доставке и самовывозе можно оплатить наличными или QR-кодом. Безналичный расчет и “Меркурий” обсуждаются индивидуально для заказов от 30000 руб.</p>
</section>
</section>
<script>
(() => {
const form = document.getElementById('delivery-calculator');
const result = document.getElementById('delivery-result');
if (!form || !result) {
return;
}
const formatRub = (value) => new Intl.NumberFormat('ru-RU').format(Math.max(0, Math.round(value))) + ' руб.';
const calculate = () => {
const data = new FormData(form);
const orderSum = Number(data.get('order_sum') || 0);
const zone = String(data.get('zone') || 'inside');
const km = Math.max(0, Number(data.get('km') || 0));
const lift = data.get('lift') === 'on';
const liftPrice = lift ? 390 : 0;
let delivery = 0;
let title = '';
let note = '';
form.querySelector('.km-field').style.display = zone === 'outside' ? 'grid' : 'none';
if (zone === 'pickup') {
delivery = 0;
title = 'Самовывоз: бесплатно';
note = orderSum < 1
? 'Минимальная сумма заказа на самовывоз - 1 руб.'
: 'Самовывоз возможен после подтверждения заказа.';
} else if (zone === 'inside') {
delivery = orderSum >= 5000 ? 0 : 599;
title = delivery === 0 ? 'Доставка внутри МКАД: бесплатно' : 'Доставка внутри МКАД: ' + formatRub(delivery);
note = orderSum < 2000
? 'Минимальная сумма заказа на доставку внутри МКАД - 2000 руб.'
: 'Бесплатная доставка внутри МКАД от 5000 руб.';
} else {
const freeThreshold = km <= 10 ? 10000 : Math.ceil(km) * 1000;
delivery = orderSum >= freeThreshold ? 0 : 199 + km * 60;
title = delivery === 0 ? 'Доставка за МКАД: бесплатно' : 'Доставка за МКАД: ' + formatRub(delivery);
note = 'Порог бесплатной доставки для этого расстояния: ' + formatRub(freeThreshold) + '. Платная доставка: 199 руб. + 60 руб./км.';
if (orderSum < 5000) {
note += ' Минимальная сумма заказа за МКАД - 5000 руб.';
}
}
const total = delivery + liftPrice;
result.innerHTML = '<strong>' + title + '</strong><span>' + note + (lift ? ' Подъем: 390 руб. Итого с подъемом: ' + formatRub(total) + '.' : '') + '</span>';
};
form.addEventListener('input', calculate);
form.addEventListener('change', calculate);
calculate();
})();
</script>