ю
This commit is contained in:
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
.env
|
||||
node_modules
|
||||
git
|
||||
promt
|
||||
/node_modules/
|
||||
/node_modules*
|
||||
*.log
|
||||
package-lock.json
|
||||
data
|
||||
data
|
||||
promt
|
||||
LICENSE
|
||||
25.xlsx
|
||||
13
package.json
Normal file
13
package.json
Normal file
@@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "sts-auto-site",
|
||||
"version": "1.0.0",
|
||||
"description": "Сайт организации СТС-Авто",
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
"start": "node server.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"express": "^4.18.2",
|
||||
"dotenv": "^16.3.1"
|
||||
}
|
||||
}
|
||||
BIN
public/bg-header.jpeg
Normal file
BIN
public/bg-header.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 57 KiB |
67
public/certificates.html
Normal file
67
public/certificates.html
Normal file
@@ -0,0 +1,67 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Сертификаты ISO 9001, OHSAS 18001, ISO 14001 | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<div class="card animate-on-scroll">
|
||||
<h1>Сертификаты системы менеджмента</h1>
|
||||
<p>Мы имеем все необходимые документы для выполнения работ по демонтажу и капитальному ремонту трубопроводов, включая работу на особо опасных объектах. Наша система менеджмента соответствует международным и российским стандартам.</p>
|
||||
|
||||
<div class="certificates-grid">
|
||||
<div class="cert-card animate-left delay-1">
|
||||
<div class="cert-icon">📋</div>
|
||||
<h2>ГОСТ Р ИСО 9001:2015</h2>
|
||||
<p><strong>«Системы менеджмента качества. Требования»</strong></p>
|
||||
<p>Сертификат подтверждает, что процессы управления качеством в организации соответствуют международному стандарту. Мы гарантируем стабильное качество работ по демонтажу, рекультивации и ремонту трубопроводов.</p>
|
||||
<p class="cert-date">Дата выдачи: <strong>16.05.2018 г.</strong></p>
|
||||
</div>
|
||||
|
||||
<div class="cert-card animate-right delay-2">
|
||||
<div class="cert-icon">🛡️</div>
|
||||
<h2>OHSAS 18001:2007</h2>
|
||||
<p><strong>«Системы менеджмента профессионального здоровья и безопасности»</strong></p>
|
||||
<p>Сертификат удостоверяет, что в компании внедрена эффективная система охраны труда и промышленной безопасности. Наши сотрудники обеспечены средствами защиты, проходят регулярные инструктажи и медосмотры.</p>
|
||||
<p class="cert-date">Дата выдачи: <strong>27.04.2018 г.</strong></p>
|
||||
</div>
|
||||
|
||||
<div class="cert-card animate-left delay-3">
|
||||
<div class="cert-icon">🌿</div>
|
||||
<h2>ГОСТ Р ИСО 14001-2016</h2>
|
||||
<p><strong>«Системы экологического менеджмента»</strong></p>
|
||||
<p>Сертификат подтверждает, что наша деятельность по демонтажу и утилизации трубопроводов соответствует экологическим стандартам. Мы обеспечиваем рекультивацию земель и безопасное обращение с отходами I-IV класса.</p>
|
||||
<p class="cert-date">Дата выдачи: <strong>соответствует ГОСТ Р ИСО 14001-2016</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Все сертификаты действительны и поддерживаются в актуальном состоянии. Мы проходим ежегодные аудиты для подтверждения соответствия стандартам.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
64
public/common.js
Normal file
64
public/common.js
Normal file
@@ -0,0 +1,64 @@
|
||||
async function loadCompanyData() {
|
||||
try {
|
||||
const response = await fetch('/api/config');
|
||||
const data = await response.json();
|
||||
|
||||
// Заполняем контакты в шапке
|
||||
const headerContacts = document.querySelector('.contacts-header');
|
||||
if (headerContacts) {
|
||||
const phonesHtml = data.phones.map(phone => `<a href="tel:${phone.replace(/\D/g, '')}">${phone}</a>`).join(' | ');
|
||||
headerContacts.innerHTML = `
|
||||
<div>📞 ${phonesHtml}</div>
|
||||
<div>✉️ <a href="mailto:${data.email}">${data.email}</a></div>
|
||||
`;
|
||||
}
|
||||
|
||||
// Заполняем футер
|
||||
const footerAddress = document.getElementById('footer-address');
|
||||
if (footerAddress) footerAddress.innerText = data.address;
|
||||
|
||||
const footerEmail = document.getElementById('footer-email');
|
||||
if (footerEmail) footerEmail.innerHTML = `<a href="mailto:${data.email}">${data.email}</a>`;
|
||||
|
||||
const footerPhones = document.getElementById('footer-phones');
|
||||
if (footerPhones) {
|
||||
// Добавляем иконку 📞 перед каждым номером
|
||||
footerPhones.innerHTML = data.phones.map(p => `📞 <a href="tel:${p.replace(/\D/g, '')}">${p}</a>`).join('<br>');
|
||||
}
|
||||
|
||||
const disclaimerDiv = document.getElementById('disclaimer-text');
|
||||
if (disclaimerDiv) {
|
||||
disclaimerDiv.innerHTML = `<p>${data.disclaimer1}</p><p>${data.disclaimer2}</p>`;
|
||||
}
|
||||
} catch (err) {
|
||||
console.error('Ошибка загрузки конфигурации:', err);
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', loadCompanyData);
|
||||
|
||||
// Scroll Animations
|
||||
function initScrollAnimations() {
|
||||
const animateElements = document.querySelectorAll('.animate-on-scroll, .animate-left, .animate-right, .animate-scale');
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const delay = entry.target.dataset.delay || 0;
|
||||
setTimeout(() => {
|
||||
entry.target.classList.add('animated');
|
||||
}, parseInt(delay));
|
||||
observer.unobserve(entry.target);
|
||||
}
|
||||
});
|
||||
}, {
|
||||
threshold: 0.1,
|
||||
rootMargin: '0px 0px -50px 0px'
|
||||
});
|
||||
|
||||
animateElements.forEach(el => observer.observe(el));
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
initScrollAnimations();
|
||||
});
|
||||
100
public/demontazh.html
Normal file
100
public/demontazh.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Демонтаж и капремонт трубопроводов | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<!-- Герой-блок -->
|
||||
<div class="hero-section animate-on-scroll">
|
||||
<h1>Демонтаж и капитальный ремонт трубопроводов</h1>
|
||||
<p class="hero-subtitle">Недействующие и отработанные нефтегазопроводы, водоводы, системы мелиорации</p>
|
||||
</div>
|
||||
|
||||
<!-- Две колонки: парк техники + виды работ -->
|
||||
<div class="two-columns">
|
||||
<div class="col animate-left">
|
||||
<div class="icon-block">🚜</div>
|
||||
<h2>Собственный парк техники</h2>
|
||||
<p><strong>Вся техника не старше 5 лет</strong> – экскаваторы, трактора, краны, самосвалы, тралы. Работаем как на твёрдом грунте, так и на заболоченных участках с применением экскаватора-амфибии.</p>
|
||||
<p>Парк насчитывает <strong>40+ единиц</strong> современной спецтехники.</p>
|
||||
</div>
|
||||
<div class="col animate-right">
|
||||
<div class="icon-block">⚙️</div>
|
||||
<h2>Что входит в работы?</h2>
|
||||
<ul>
|
||||
<li>Извлечение трубы из грунта</li>
|
||||
<li>Резка на транспортные секции</li>
|
||||
<li>Погрузка в транспорт</li>
|
||||
<li>Доставка на площадку заказчика или переработку</li>
|
||||
<li>Техническая рекультивация земель</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Карточка "Экскаватор-амфибия" -->
|
||||
<div class="info-card amphibia-card animate-on-scroll">
|
||||
<div class="card-icon">🐊</div>
|
||||
<div class="card-content">
|
||||
<h3>Экскаватор-амфибия (болотоход)</h3>
|
||||
<p>Благодаря понтонной платформе работает на болотах, где не просматривается дно. Идеален для заболоченных участков, торфяников и обводнённых территорий.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Блок с документами и лицензиями (сетка) -->
|
||||
<h2 style="margin-top: 2rem;" class="animate-on-scroll">Необходимые документы и лицензии</h2>
|
||||
<div class="license-grid">
|
||||
<div class="license-item animate-left delay-1">
|
||||
<span class="license-icon">🏛️</span>
|
||||
<strong>Лицензия СРО</strong>
|
||||
<p>Особо опасные виды работ (кроме атомной энергии). Специалисты включены в реестр НОСТРОЙ.</p>
|
||||
</div>
|
||||
<div class="license-item animate-right delay-2">
|
||||
<span class="license-icon">♻️</span>
|
||||
<strong>Лицензия на отходы I–IV класса</strong>
|
||||
<p>Сбор, транспортировка, утилизация, обезвреживание. № 066№00783 от 13.09.2018г.</p>
|
||||
</div>
|
||||
<div class="license-item animate-left delay-3">
|
||||
<span class="license-icon">🔩</span>
|
||||
<strong>Лицензия на лом металлов</strong>
|
||||
<p>Заготовка, хранение, переработка, реализация лома чёрных и цветных металлов. № ЛМ 000092 от 31.10.2018г.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Сертификаты в виде бейджей -->
|
||||
<div class="cert-badge-row">
|
||||
<div class="badge-large animate-scale delay-1">📋 ГОСТ Р ИСО 9001:2015</div>
|
||||
<div class="badge-large animate-scale delay-2">🛡️ OHSAS 18001:2007</div>
|
||||
<div class="badge-large animate-scale delay-3">🌿 ГОСТ Р ИСО 14001-2016</div>
|
||||
</div>
|
||||
|
||||
<!-- Дополнительный блок об опыте -->
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Высококвалифицированные специалисты имеют опыт работ в районах Крайнего Севера. На условиях подряда возможен расчёт трубой за услуги демонтажа. Будем рады взаимовыгодному сотрудничеству!</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
85
public/feedback.js
Normal file
85
public/feedback.js
Normal file
@@ -0,0 +1,85 @@
|
||||
// Файл feedback.js – кнопка обратной связи и форма отправки заявки
|
||||
(function() {
|
||||
// Создаём плавающую кнопку
|
||||
const btn = document.createElement('button');
|
||||
btn.textContent = '✉️ Обратная связь';
|
||||
btn.className = 'feedback-btn';
|
||||
document.body.appendChild(btn);
|
||||
|
||||
// Создаём модальное окно (изначально скрыто)
|
||||
const modal = document.createElement('div');
|
||||
modal.className = 'feedback-modal';
|
||||
modal.style.display = 'none';
|
||||
modal.innerHTML = `
|
||||
<div class="feedback-modal-content">
|
||||
<span class="feedback-close">×</span>
|
||||
<h3>Оставить заявку</h3>
|
||||
<form id="feedback-form">
|
||||
<label>Фамилия <input type="text" name="lastname" placeholder="Иванов"></label>
|
||||
<label>Имя <input type="text" name="firstname" placeholder="Иван"></label>
|
||||
<label>Отчество <input type="text" name="middlename" placeholder="Иванович"></label>
|
||||
<label>ИНН компании <span class="required">*</span> <input type="text" name="inn" required></label>
|
||||
<label>Номер телефона <span class="required">*</span> <input type="tel" name="phone" required></label>
|
||||
<label>Email <input type="email" name="email" placeholder="mail@example.com"></label>
|
||||
<label>Запрос <textarea name="message" rows="4" placeholder="Опишите вашу задачу..."></textarea></label>
|
||||
<button type="submit">Отправить заявку</button>
|
||||
</form>
|
||||
</div>
|
||||
`;
|
||||
document.body.appendChild(modal);
|
||||
|
||||
// Элементы управления
|
||||
const closeSpan = modal.querySelector('.feedback-close');
|
||||
const form = document.getElementById('feedback-form');
|
||||
|
||||
// Открытие модального окна
|
||||
btn.onclick = () => {
|
||||
modal.style.display = 'flex';
|
||||
};
|
||||
|
||||
// Закрытие
|
||||
closeSpan.onclick = () => {
|
||||
modal.style.display = 'none';
|
||||
};
|
||||
window.onclick = (e) => {
|
||||
if (e.target === modal) modal.style.display = 'none';
|
||||
};
|
||||
|
||||
// Отправка формы
|
||||
form.onsubmit = async (e) => {
|
||||
e.preventDefault();
|
||||
const formData = new FormData(form);
|
||||
const data = {
|
||||
lastname: formData.get('lastname') || '',
|
||||
firstname: formData.get('firstname') || '',
|
||||
middlename: formData.get('middlename') || '',
|
||||
inn: formData.get('inn'),
|
||||
phone: formData.get('phone'),
|
||||
email: formData.get('email') || '',
|
||||
message: formData.get('message') || '',
|
||||
date: new Date().toISOString()
|
||||
};
|
||||
// Проверка обязательных полей
|
||||
if (!data.inn || !data.phone) {
|
||||
alert('Пожалуйста, заполните ИНН компании и номер телефона.');
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const response = await fetch('/api/request', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(data)
|
||||
});
|
||||
if (response.ok) {
|
||||
alert('Спасибо! Ваша заявка принята. Мы свяжемся с вами в ближайшее рабочее время.');
|
||||
form.reset();
|
||||
modal.style.display = 'none';
|
||||
} else {
|
||||
const err = await response.json();
|
||||
alert('Ошибка: ' + (err.error || 'не удалось отправить заявку'));
|
||||
}
|
||||
} catch (err) {
|
||||
alert('Ошибка соединения. Попробуйте позже.');
|
||||
}
|
||||
};
|
||||
})();
|
||||
BIN
public/fleet-all.png
Normal file
BIN
public/fleet-all.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 219 KiB |
98
public/fleet.html
Normal file
98
public/fleet.html
Normal file
@@ -0,0 +1,98 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Парк техники | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<div class="card animate-on-scroll">
|
||||
<h1>Парк техники</h1>
|
||||
<p>Компания имеет собственный парк современной строительной спецтехники. <strong>Вся техника не старше 5 лет</strong>, регулярно обновляется и обслуживается. Парк насчитывает порядка <strong>40 единиц</strong> специализированной техники.</p>
|
||||
|
||||
<div class="stats-row">
|
||||
<div class="stat-card animate-scale delay-1">40+ единиц техники</div>
|
||||
<div class="stat-card animate-scale delay-2">1000 км демонтажа ежегодно</div>
|
||||
<div class="stat-card animate-scale delay-3">≤5 лет возраст техники</div>
|
||||
</div>
|
||||
|
||||
<h2 class="animate-on-scroll">Виды техники</h2>
|
||||
<div class="equipment-grid">
|
||||
<div class="equip-item animate-left delay-1">
|
||||
<span class="equip-icon">🚜</span>
|
||||
<div class="equip-info">
|
||||
<strong>Экскаваторы</strong>
|
||||
<p>Колесные и гусеничные, различной мощности для работы в любых грунтах</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="equip-item animate-right delay-2">
|
||||
<span class="equip-icon">🚛</span>
|
||||
<div class="equip-info">
|
||||
<strong>Трактора</strong>
|
||||
<p>Бульдозеры, трубоукладчики, тракторы для подготовительных работ</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="equip-item animate-left delay-3">
|
||||
<span class="equip-icon">🏗️</span>
|
||||
<div class="equip-info">
|
||||
<strong>Краны</strong>
|
||||
<p>Автокраны для погрузки и монтажа секций труб</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="equip-item animate-right delay-4">
|
||||
<span class="equip-icon">🚚</span>
|
||||
<div class="equip-info">
|
||||
<strong>Самосвалы</strong>
|
||||
<p>Для вывоза демонтированных труб и грунта</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="equip-item animate-left delay-5">
|
||||
<span class="equip-icon">🚛</span>
|
||||
<div class="equip-info">
|
||||
<strong>Тралы</strong>
|
||||
<p>Низкорамные тралы для перевозки тяжелой техники между объектами</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="animate-on-scroll">Экскаватор-амфибия (болотоход)</h2>
|
||||
<div class="amphibian-card animate-on-scroll">
|
||||
<div class="amphibian-icon">🐊</div>
|
||||
<div class="amphibian-content">
|
||||
<p>Работы проводятся как на твердом грунте, так и на заболоченных участках с применением <strong>экскаватора-амфибии (болотохода)</strong>. Благодаря понтонной платформе техника работает на болотах, где не просматривается дно.</p>
|
||||
<p>Экскаватор-амфибия позволяет выполнять демонтаж трубопроводов в самых труднодоступных местах: торфяники, обводненные участки, поймы рек.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="animate-on-scroll">Рекультивация земель</h2>
|
||||
<p class="animate-on-scroll">По окончании работ по демонтажу участка нефтепровода выполняется техническая рекультивация нарушенных при производстве земель. Восстанавливаем плодородный слой, планируем территорию, обеспечиваем экологическую безопасность.</p>
|
||||
|
||||
<div class="note animate-on-scroll">
|
||||
<p><strong>Ежегодный объем демонтажа трубопроводов, выполняемый нашей организацией, составляет 1000 км.</strong> Собственная техника позволяет работать без простоев и привлечения субподрядчиков.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
79
public/footer.js
Normal file
79
public/footer.js
Normal file
@@ -0,0 +1,79 @@
|
||||
// Файл footer.js – динамическая генерация подвала сайта и добавление изображения техники в шапку
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
// ----- 1. Вставка изображения техники в шапку (на всех страницах) -----
|
||||
function addFleetImageToHeader() {
|
||||
const headerInner = document.querySelector('.header-inner');
|
||||
if (!headerInner) return;
|
||||
if (document.querySelector('.header-fleet-image')) return;
|
||||
|
||||
const logo = headerInner.querySelector('.logo');
|
||||
if (!logo) return;
|
||||
|
||||
const fleetDiv = document.createElement('div');
|
||||
fleetDiv.className = 'header-fleet-image';
|
||||
fleetDiv.style.width = '20%';
|
||||
fleetDiv.style.maxWidth = 'none';
|
||||
fleetDiv.style.margin = '0 20px';
|
||||
|
||||
fleetDiv.innerHTML = `
|
||||
<img src="/fleet-all"
|
||||
alt="Весь парк техники СТС-Авто: экскаваторы, тракторы, краны, самосвалы, тралы, экскаватор-амфибия"
|
||||
title="Наша техника для демонтажа трубопроводов"
|
||||
style="width: 100%; height: auto; border-radius: 16px; box-shadow: 0 4px 12px rgba(0,0,0,0.1);">
|
||||
`;
|
||||
logo.insertAdjacentElement('afterend', fleetDiv);
|
||||
}
|
||||
|
||||
addFleetImageToHeader();
|
||||
|
||||
// ----- 2. Генерация футера с улучшенной структурой -----
|
||||
if (document.getElementById('dynamic-footer')) return;
|
||||
|
||||
const footer = document.createElement('footer');
|
||||
footer.id = 'dynamic-footer';
|
||||
footer.innerHTML = `
|
||||
<div class="container">
|
||||
<div class="footer-grid">
|
||||
<div>
|
||||
<h4>Контакты</h4>
|
||||
<p>📍 <span id="footer-address"></span></p>
|
||||
<p><span id="footer-phones"></span></p>
|
||||
<p>✉️ <span id="footer-email"></span></p>
|
||||
</div>
|
||||
<div>
|
||||
<h4>Деятельность</h4>
|
||||
<p>Демонтаж нефтегазопроводов по России</p>
|
||||
<p>Рекультивация земель, вывоз труб</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="disclaimer-text" class="disclaimer"></div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// Добавляем стили для ссылок в футере (чтобы они были красивыми и кликабельными)
|
||||
const footerStyles = document.createElement('style');
|
||||
footerStyles.textContent = `
|
||||
footer a {
|
||||
color: #a0c4e2;
|
||||
text-decoration: none;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
footer a:hover {
|
||||
color: #e67e22;
|
||||
text-decoration: underline;
|
||||
}
|
||||
#footer-phones a {
|
||||
display: inline-block;
|
||||
margin-bottom: 6px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(footerStyles);
|
||||
|
||||
const main = document.querySelector('main');
|
||||
if (main) {
|
||||
main.insertAdjacentElement('afterend', footer);
|
||||
} else {
|
||||
document.body.appendChild(footer);
|
||||
}
|
||||
});
|
||||
114
public/index.html
Normal file
114
public/index.html
Normal file
@@ -0,0 +1,114 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>СТС-Авто – Демонтаж и капремонт нефтегазопроводов по России</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<!-- Герой-блок -->
|
||||
<div class="hero-main animate-on-scroll">
|
||||
<h1>Профессиональный демонтаж и капремонт трубопроводов</h1>
|
||||
<p class="hero-subtitle">Нефтегазопроводы, водоводы, системы мелиорации – любой сложности и в любых условиях</p>
|
||||
<div class="hero-stats">
|
||||
<div class="hero-stat animate-scale delay-1">40+ единиц техники</div>
|
||||
<div class="hero-stat animate-scale delay-2">1000 км демонтажа в год</div>
|
||||
<div class="hero-stat animate-scale delay-3">≤5 лет возраст техники</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Услуги (карточки-ссылки) -->
|
||||
<h2 style="text-align: center;" class="animate-on-scroll">Наши ключевые услуги</h2>
|
||||
<div class="services-grid">
|
||||
<a href="/demontazh" class="service-card animate-left delay-1">
|
||||
<div class="service-icon">🔧</div>
|
||||
<h3>Демонтаж и капремонт трубопроводов</h3>
|
||||
<p>Извлечение трубы, резка, погрузка, доставка. Работаем на твёрдых и заболоченных грунтах.</p>
|
||||
</a>
|
||||
<a href="/ustranenie" class="service-card animate-on-scroll delay-2">
|
||||
<div class="service-icon">🛠️</div>
|
||||
<h3>Устранение дефектов (КМТ)</h3>
|
||||
<p>Композитно-муфтовая технология ремонта магистральных нефтепроводов без остановки перекачки.</p>
|
||||
</a>
|
||||
<a href="/fleet" class="service-card animate-right delay-3">
|
||||
<div class="service-icon">🚜</div>
|
||||
<h3>Парк современной техники</h3>
|
||||
<p>Экскаваторы, тракторы, краны, самосвалы, тралы, экскаватор-амфибия. Вся техника до 5 лет.</p>
|
||||
</a>
|
||||
<a href="/personnel" class="service-card animate-left delay-4">
|
||||
<div class="service-icon">👷</div>
|
||||
<h3>Аттестованный персонал</h3>
|
||||
<p>Опыт работы в районах Крайнего Севера. Допуски к особо опасным объектам, реестр НОСТРОЙ.</p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Лицензии и сертификаты (кратко) -->
|
||||
<div class="card animate-on-scroll">
|
||||
<h2>Лицензии и сертификаты</h2>
|
||||
<div class="licenses-short">
|
||||
<div class="license-short animate-scale delay-1">🏛️ Лицензия СРО (особо опасные виды)</div>
|
||||
<div class="license-short animate-scale delay-2">♻️ Лицензия на отходы I–IV класса</div>
|
||||
<div class="license-short animate-scale delay-3">🔩 Лицензия на лом чёрных и цветных металлов</div>
|
||||
<div class="license-short animate-scale delay-4">📋 Сертификат ISO 9001:2015</div>
|
||||
<div class="license-short animate-scale delay-5">🛡️ OHSAS 18001:2007</div>
|
||||
<div class="license-short animate-scale delay-1">🌿 ISO 14001:2016</div>
|
||||
</div>
|
||||
<div style="text-align: center; margin-top: 1rem;">
|
||||
<a href="/certificates" class="btn-outline">Подробнее о сертификатах →</a>
|
||||
<a href="/license" class="btn-outline">Лицензия СРО →</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- О компании -->
|
||||
<div class="card animate-on-scroll">
|
||||
<h2>О компании</h2>
|
||||
<p>Наша организация выполнит работы по демонтажу и капремонту трубопровода, недействующие и отработанные нефтегазопроводы, водоводы, системы мелиорации. Компания имеет собственный парк современной (вся техника не старше 5 лет) строительной спецтехники.</p>
|
||||
<p>Работы проводятся как на твердом грунте, так и на заболоченных участках с применением экскаватора-амфибии (болотоход). Высококвалифицированные специалисты имеют опыт работ в районах Крайнего Севера.</p>
|
||||
<p><strong>На условиях подряда возможен расчёт трубой за услуги демонтажа.</strong> Будем рады взаимовыгодному сотрудничеству!</p>
|
||||
</div>
|
||||
|
||||
<!-- Рекультивация земель -->
|
||||
<div class="card animate-on-scroll">
|
||||
<h2>Рекультивация земель</h2>
|
||||
<p>Нефтезагрязненных и/или засоленных земель. Устройство лежневого настила, рекультивация земельных участков, расчистка от мелколесья, строительство вдольтрассового проезда, работы по расчистке охранной зоны от древесно-кустарниковой растительности.</p>
|
||||
</div>
|
||||
|
||||
<!-- CTA блок -->
|
||||
<div class="cta-block animate-on-scroll">
|
||||
<h3>Нужен демонтаж или ремонт трубопровода?</h3>
|
||||
<p>Оставьте заявку – наши специалисты свяжутся с вами в ближайшее рабочее время</p>
|
||||
<button class="cta-button" id="cta-feedback-btn">✉️ Оставить заявку</button>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script>
|
||||
// Привязка кнопки CTA к открытию модального окна обратной связи
|
||||
document.getElementById('cta-feedback-btn')?.addEventListener('click', () => {
|
||||
const modal = document.querySelector('.feedback-modal');
|
||||
if (modal) modal.style.display = 'flex';
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
90
public/license.html
Normal file
90
public/license.html
Normal file
@@ -0,0 +1,90 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Лицензия СРО особо опасные виды работ | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<!-- Герой-блок -->
|
||||
<div class="hero-section animate-on-scroll">
|
||||
<h1>Лицензия СРО</h1>
|
||||
<p class="hero-subtitle">Особо опасные виды работ (кроме объектов использования атомной энергии)</p>
|
||||
</div>
|
||||
|
||||
<!-- Введение -->
|
||||
<div class="card animate-on-scroll">
|
||||
<p>Специалисты обучены и имеют допуски к особо опасным видам работ, сведения о которых включены в <strong>национальный реестр специалистов в области строительства НОСТРОЙ</strong>.</p>
|
||||
<p>Мы имеем все необходимые документы для выполнения работ на следующих типах объектов.</p>
|
||||
</div>
|
||||
|
||||
<!-- Сетка категорий объектов (1-10) -->
|
||||
<h2 class="animate-on-scroll">К особо опасным и технически сложным объектам относятся:</h2>
|
||||
<div class="objects-grid">
|
||||
<div class="object-card animate-left delay-1">⚛️ Объекты использования атомной энергии</div>
|
||||
<div class="object-card animate-right delay-2">💧 Гидротехнические сооружения I и II классов</div>
|
||||
<div class="object-card animate-left delay-3">📡 Линейно-кабельные сооружения связи</div>
|
||||
<div class="object-card animate-right delay-4">⚡ ЛЭП 330 кВ и более</div>
|
||||
<div class="object-card animate-left delay-1">🛰️ Объекты космической инфраструктуры</div>
|
||||
<div class="object-card animate-right delay-2">✈️ Аэропорты и объекты авиаинфраструктуры</div>
|
||||
<div class="object-card animate-left delay-3">🚆 Объекты инфраструктуры ж/д транспорта общего пользования</div>
|
||||
<div class="object-card animate-right delay-4">🚇 Метрополитены</div>
|
||||
<div class="object-card animate-left delay-5">⚓ Морские порты (кроме спортивных и прогулочных)</div>
|
||||
<div class="object-card animate-right delay-1">🔥 Тепловые электростанции мощностью ≥150 МВт</div>
|
||||
</div>
|
||||
|
||||
<!-- Блок "Опасные производственные объекты" с подпунктами -->
|
||||
<div class="hazardous-block animate-on-scroll">
|
||||
<div class="hazardous-header">
|
||||
<span class="hazardous-icon">⚠️</span>
|
||||
<h3>Опасные производственные объекты, на которых:</h3>
|
||||
</div>
|
||||
<div class="hazardous-list">
|
||||
<div class="hazard-item animate-left delay-1">
|
||||
<span class="hazard-letter">а)</span>
|
||||
<span>получаются, используются, перерабатываются, образуются, хранятся, транспортируются, уничтожаются опасные вещества в количествах, превышающих предельные. Такие вещества и их предельные количества указаны в приложениях 1 и 2 к Федеральному закону от 21 июля 1997 года № 116-ФЗ «О промышленной безопасности опасных производственных объектов». При этом не относятся к особо опасным и технически сложным объектам газораспределительные системы, на которых используется, хранится или транспортируется природный газ под давлением до 1,2 мегапаскаля включительно или сжиженный углеводородный газ под давлением до 1,6 мегапаскаля включительно;</span>
|
||||
</div>
|
||||
<div class="hazard-item animate-right delay-2">
|
||||
<span class="hazard-letter">б)</span>
|
||||
<span>получаются расплавы черных и цветных металлов и сплавы на основе этих расплавов;</span>
|
||||
</div>
|
||||
<div class="hazard-item animate-left delay-3">
|
||||
<span class="hazard-letter">в)</span>
|
||||
<span>ведутся горные работы, работы по обогащению полезных ископаемых, а также работы в подземных условиях;</span>
|
||||
</div>
|
||||
<div class="hazard-item animate-right delay-4">
|
||||
<span class="hazard-letter">г)</span>
|
||||
<span>используются стационарно установленные канатные дороги и фуникулеры.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Блок с итоговой нотой -->
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Наличие лицензии СРО и допусков НОСТРОЙ позволяет нам выполнять полный комплекс работ по демонтажу и капитальному ремонту трубопроводов, включая объекты нефтегазовой отрасли, магистральные нефтепроводы, подводные переходы и другие особо опасные объекты.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
BIN
public/logo.png
Normal file
BIN
public/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
109
public/nav.js
Normal file
109
public/nav.js
Normal file
@@ -0,0 +1,109 @@
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const navContainer = document.getElementById('nav-container');
|
||||
if (!navContainer) return;
|
||||
|
||||
// ----- 1. Создание структуры меню (как было) -----
|
||||
const mainMenu = [
|
||||
{ href: '/demontazh', title: 'Демонтаж и капремонт трубопроводов' },
|
||||
{ href: '/ustranenie', title: 'Устранение дефектов (КМТ)' }
|
||||
];
|
||||
|
||||
const extraMenu = [
|
||||
{ href: '/personnel', title: 'Аттестованный персонал' },
|
||||
{ href: '/fleet', title: 'Парк техники (не старше 5 лет)' },
|
||||
{ href: '/certificates', title: 'ИСО 9001, OHSAS 18001, ИСО 14001' },
|
||||
{ href: '/license', title: 'Лицензия СРО' },
|
||||
{ href: '/waste-license', title: 'Лицензия на отходы I–IV класса' },
|
||||
{ href: '/scrap-license', title: 'Лицензия на лом чёрных и цветных металлов' }
|
||||
];
|
||||
|
||||
const currentPath = window.location.pathname;
|
||||
const isActive = (href) => {
|
||||
if (href === '/' && currentPath === '/') return true;
|
||||
if (href !== '/' && currentPath.startsWith(href)) return true;
|
||||
return false;
|
||||
};
|
||||
|
||||
const nav = document.createElement('nav');
|
||||
nav.className = 'main-nav';
|
||||
|
||||
const ul = document.createElement('ul');
|
||||
ul.className = 'nav-buttons';
|
||||
mainMenu.forEach(item => {
|
||||
const li = document.createElement('li');
|
||||
const a = document.createElement('a');
|
||||
a.href = item.href;
|
||||
a.textContent = item.title;
|
||||
if (isActive(item.href)) a.classList.add('active');
|
||||
li.appendChild(a);
|
||||
ul.appendChild(li);
|
||||
});
|
||||
nav.appendChild(ul);
|
||||
|
||||
const extraDiv = document.createElement('div');
|
||||
extraDiv.className = 'extra-nav';
|
||||
const extraTitle = document.createElement('div');
|
||||
extraTitle.className = 'extra-title';
|
||||
extraTitle.textContent = 'Наши преимущества, сертификаты и лицензии:';
|
||||
extraDiv.appendChild(extraTitle);
|
||||
const extraButtons = document.createElement('div');
|
||||
extraButtons.className = 'extra-buttons';
|
||||
extraMenu.forEach(item => {
|
||||
const a = document.createElement('a');
|
||||
a.href = item.href;
|
||||
a.textContent = item.title;
|
||||
a.className = 'extra-btn';
|
||||
extraButtons.appendChild(a);
|
||||
});
|
||||
extraDiv.appendChild(extraButtons);
|
||||
nav.appendChild(extraDiv);
|
||||
navContainer.appendChild(nav);
|
||||
|
||||
// ----- 2. Стили для плавного скрытия всего контейнера -----
|
||||
const style = document.createElement('style');
|
||||
style.textContent = `
|
||||
#nav-container {
|
||||
transition: opacity 0.3s ease, visibility 0.3s ease, padding 0.3s ease, margin 0.3s ease;
|
||||
opacity: 1;
|
||||
visibility: visible;
|
||||
}
|
||||
#nav-container.hidden-nav {
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
height: 0 !important;
|
||||
overflow: hidden;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
|
||||
// ----- 3. Логика: скрываем при скролле вниз, показываем только в самом верху -----
|
||||
let lastScrollY = window.scrollY;
|
||||
let ticking = false;
|
||||
|
||||
const handleScroll = () => {
|
||||
const currentScrollY = window.scrollY;
|
||||
const direction = currentScrollY > lastScrollY ? 'down' : 'up';
|
||||
|
||||
if (direction === 'down') {
|
||||
// При движении вниз — скрываем навигацию
|
||||
navContainer.classList.add('hidden-nav');
|
||||
} else if (direction === 'up') {
|
||||
// При движении вверх — показываем только если мы в самом верху
|
||||
if (currentScrollY === 0) {
|
||||
navContainer.classList.remove('hidden-nav');
|
||||
}
|
||||
}
|
||||
|
||||
lastScrollY = currentScrollY;
|
||||
ticking = false;
|
||||
};
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
if (!ticking) {
|
||||
requestAnimationFrame(handleScroll);
|
||||
ticking = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
70
public/personnel.html
Normal file
70
public/personnel.html
Normal file
@@ -0,0 +1,70 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Аттестованный персонал | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<div class="card animate-on-scroll">
|
||||
<h1>Аттестованный персонал</h1>
|
||||
<p>Высококвалифицированные специалисты нашей фирмы имеют все необходимые допуски и специализацию для того, чтобы работать на месторождениях нефти и газа. Значительный опыт работ по демонтажу нефтегазопроводов в районах крайнего севера.</p>
|
||||
|
||||
<div class="personnel-grid">
|
||||
<div class="personnel-item animate-left delay-1">
|
||||
<div class="personnel-icon">👷♂️</div>
|
||||
<h3>Инженерно-технический состав</h3>
|
||||
<p>Специалисты с высшим профильным образованием, аттестованные в области промышленной безопасности. Руководители работ имеют стаж от 10 лет на объектах нефтегазового комплекса.</p>
|
||||
</div>
|
||||
<div class="personnel-item animate-right delay-2">
|
||||
<div class="personnel-icon">🛠️</div>
|
||||
<h3>Рабочий персонал</h3>
|
||||
<p>Машинисты экскаваторов, крановщики, сварщики, резчики труб – все имеют действующие удостоверения, допуски к работе на опасных объектах, прошли обучение по охране труда.</p>
|
||||
</div>
|
||||
<div class="personnel-item animate-left delay-3">
|
||||
<div class="personnel-icon">❄️</div>
|
||||
<h3>Опыт работы в условиях Крайнего Севера</h3>
|
||||
<p>Наши бригады работали на месторождениях Ямала, Таймыра, в условиях вечной мерзлоты, при низких температурах и в заболоченной местности.</p>
|
||||
</div>
|
||||
<div class="personnel-item animate-right delay-4">
|
||||
<div class="personnel-icon">📋</div>
|
||||
<h3>Допуски и аттестация</h3>
|
||||
<p>Все специалисты включены в национальный реестр специалистов НОСТРОЙ. Имеются допуски к особо опасным видам работ, удостоверения по промышленной безопасности.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="safety-cert animate-on-scroll">
|
||||
<h2>Система менеджмента безопасности труда и охраны здоровья</h2>
|
||||
<p>Мы имеем сертификат <strong>OHSAS 18001:2007</strong> – «Системы менеджмента профессионального здоровья и безопасности». Это гарантирует, что наши сотрудники работают в безопасных условиях, регулярно проходят медосмотры, инструктажи, обеспечены средствами индивидуальной защиты.</p>
|
||||
<p>Все работы по демонтажу и капремонту трубопроводов выполняются с соблюдением строгих норм охраны труда, что особенно важно при работе на удалённых и опасных объектах.</p>
|
||||
</div>
|
||||
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Мы гордимся своим коллективом – это команда профессионалов, способная решать задачи любой сложности в любых климатических условиях. Наши сотрудники регулярно повышают квалификацию и проходят независимую аттестацию.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
66
public/scrap-license.html
Normal file
66
public/scrap-license.html
Normal file
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Лицензия на лом черных и цветных металлов | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<div class="card animate-on-scroll">
|
||||
<h1>Лицензия на лом черных и цветных металлов</h1>
|
||||
<p>Наша организация имеет лицензию на осуществление деятельности по <strong>заготовке, хранению, переработке и реализации лома черных и цветных металлов</strong>.</p>
|
||||
|
||||
<div class="license-details animate-on-scroll">
|
||||
<div class="license-number">
|
||||
<strong>Номер лицензии:</strong> № ЛМ 000092
|
||||
</div>
|
||||
<div class="license-date">
|
||||
<strong>Дата выдачи:</strong> 31 октября 2018 г.
|
||||
</div>
|
||||
<div class="license-org">
|
||||
<strong>Выдана:</strong> Министерство промышленности и торговли РФ
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="license-image-container animate-img">
|
||||
<img src="https://sts-avto.com/ЛОМ1.jpg" alt="Лицензия на лом черных и цветных металлов СТС-Авто" class="license-img">
|
||||
<p class="image-caption">Оригинал лицензии на заготовку, хранение, переработку и реализацию лома черных и цветных металлов</p>
|
||||
</div>
|
||||
|
||||
<h2 class="animate-on-scroll">Что даёт нам эта лицензия?</h2>
|
||||
<ul class="animate-on-scroll">
|
||||
<li>Законное право на сбор и заготовку лома черных и цветных металлов, образующегося при демонтаже трубопроводов.</li>
|
||||
<li>Возможность переработки и подготовки лома к реализации.</li>
|
||||
<li>Хранение металлолома на специализированных площадках.</li>
|
||||
<li>Реализацию лома металлов на законных основаниях.</li>
|
||||
</ul>
|
||||
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Благодаря данной лицензии мы можем предлагать заказчикам услуги демонтажа с возможностью <strong>расчёта трубой</strong> или частичной оплаты за счёт стоимости полученного лома. Это взаимовыгодное сотрудничество при демонтаже отработанных нефтегазопроводов.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
72
public/seo.js
Normal file
72
public/seo.js
Normal file
@@ -0,0 +1,72 @@
|
||||
(function() {
|
||||
const path = window.location.pathname;
|
||||
let title = 'СТС-Авто';
|
||||
let description = 'Демонтаж и капремонт нефтегазопроводов по России. Собственный парк техники, лицензии СРО, работа в любых условиях.';
|
||||
let keywords = 'демонтаж трубопроводов, капремонт, нефтегазопроводы, СРО, рекультивация';
|
||||
|
||||
if (path === '/' || path === '/index.html') {
|
||||
title = 'СТС-Авто – Демонтаж и капремонт нефтегазопроводов';
|
||||
description = 'Профессиональный демонтаж нефтегазопроводов, рекультивация земель, вывоз труб. Лицензии СРО, собственная спецтехника.';
|
||||
} else if (path === '/demontazh') {
|
||||
title = 'Демонтаж и капремонт трубопроводов | СТС-Авто';
|
||||
description = 'Работы по демонтажу и капитальному ремонту трубопроводов любой сложности. Извлечение, резка, вывоз. Лицензии и сертификаты.';
|
||||
keywords = 'демонтаж труб, капремонт трубопроводов, извлечение трубы';
|
||||
} else if (path === '/ustranenie') {
|
||||
title = 'Устранение дефектов на нефтепроводах (КМТ) | СТС-Авто';
|
||||
description = 'Композитно-муфтовая технология ремонта магистральных нефтепроводов. Устранение коррозии, потеря металла. Сертификат ИСО 9001.';
|
||||
keywords = 'КМТ, композитная муфта, ремонт нефтепроводов, дефекты труб';
|
||||
} else if (path === '/license') {
|
||||
title = 'Лицензия СРО на особо опасные виды работ | СТС-Авто';
|
||||
description = 'Лицензия СРО для работы на особо опасных объектах: гидротехнические сооружения, ЛЭП 330 кВ, аэропорты, тепловые электростанции, опасные производственные объекты. Допуски НОСТРОЙ.';
|
||||
keywords = 'лицензия СРО, особо опасные виды работ, допуски НОСТРОЙ, гидротехнические сооружения, опасные производственные объекты';
|
||||
}else if (path === '/certificates') {
|
||||
title = 'Сертификаты ISO 9001, OHSAS 18001, ISO 14001 | СТС-Авто';
|
||||
description = 'Сертификаты системы менеджмента качества, охраны труда и экологического менеджмента. ГОСТ Р ИСО 9001:2015, OHSAS 18001:2007, ГОСТ Р ИСО 14001-2016.';
|
||||
keywords = 'сертификаты ISO 9001, OHSAS 18001, ISO 14001, менеджмент качества, экологический менеджмент, безопасность труда';
|
||||
}else if (path === '/personnel') {
|
||||
title = 'Аттестованный персонал для работ на нефтегазопроводах | СТС-Авто';
|
||||
description = 'Высококвалифицированные специалисты с допусками для работы на месторождениях, в условиях Крайнего Севера. Сертификат OHSAS 18001:2007.';
|
||||
keywords = 'аттестованный персонал, допуски, крайний север, нефтегазопроводы, OHSAS 18001, безопасность труда';
|
||||
}else if (path === '/fleet') {
|
||||
title = 'Парк техники – экскаваторы, краны, болотоходы | СТС-Авто';
|
||||
description = 'Собственный парк спецтехники не старше 5 лет: экскаваторы, трактора, краны, самосвалы, тралы. Экскаватор-амфибия для работы на болотах. 1000 км демонтажа в год.';
|
||||
keywords = 'парк техники, экскаватор амфибия, болотоход, демонтаж трубопроводов, спецтехника, рекультивация';
|
||||
}else if (path === '/waste-license') {
|
||||
title = 'Лицензия на отходы I-IV класса опасности | СТС-Авто';
|
||||
description = 'Лицензия на сбор, транспортирование, утилизацию и обезвреживание отходов I-IV класса опасности. Номер 066№00783 от 13.09.2018. Экологическая безопасность при демонтаже трубопроводов.';
|
||||
keywords = 'лицензия на отходы, отходы I-IV класса, утилизация отходов, обращение с отходами, Росприроднадзор';
|
||||
}else if (path === '/scrap-license') {
|
||||
title = 'Лицензия на лом черных и цветных металлов | СТС-Авто';
|
||||
description = 'Лицензия на заготовку, хранение, переработку и реализацию лома черных и цветных металлов № ЛМ 000092 от 31.10.2018. Законная работа с металлоломом при демонтаже трубопроводов.';
|
||||
keywords = 'лицензия на лом, черные металлы, цветные металлы, заготовка лома, переработка лома, реализация лома';
|
||||
}
|
||||
|
||||
|
||||
document.title = title;
|
||||
|
||||
// Мета-теги
|
||||
let metaDesc = document.querySelector('meta[name="description"]');
|
||||
if (!metaDesc) {
|
||||
metaDesc = document.createElement('meta');
|
||||
metaDesc.name = 'description';
|
||||
document.head.appendChild(metaDesc);
|
||||
}
|
||||
metaDesc.content = description;
|
||||
|
||||
let metaKeys = document.querySelector('meta[name="keywords"]');
|
||||
if (!metaKeys) {
|
||||
metaKeys = document.createElement('meta');
|
||||
metaKeys.name = 'keywords';
|
||||
document.head.appendChild(metaKeys);
|
||||
}
|
||||
metaKeys.content = keywords;
|
||||
|
||||
// Для адаптивного вьюпорта (уже может быть в HTML, но добавим на всякий)
|
||||
let viewport = document.querySelector('meta[name="viewport"]');
|
||||
if (!viewport) {
|
||||
viewport = document.createElement('meta');
|
||||
viewport.name = 'viewport';
|
||||
viewport.content = 'width=device-width, initial-scale=1.0';
|
||||
document.head.appendChild(viewport);
|
||||
}
|
||||
})();
|
||||
1343
public/style.css
Normal file
1343
public/style.css
Normal file
File diff suppressed because it is too large
Load Diff
97
public/ustranenie.html
Normal file
97
public/ustranenie.html
Normal file
@@ -0,0 +1,97 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Устранение дефектов на нефтепроводах (КМТ) | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<!-- Герой-блок с заголовком -->
|
||||
<div class="hero-section animate-on-scroll">
|
||||
<h1>Устранение дефектов на секциях магистральных нефтепроводов</h1>
|
||||
<p class="hero-subtitle">Метод выборочного ремонта – <strong>Композитно-муфтовая технология (КМТ)</strong></p>
|
||||
</div>
|
||||
|
||||
<!-- Две колонки: технология + преимущества -->
|
||||
<div class="two-columns">
|
||||
<div class="col animate-left">
|
||||
<div class="icon-block">🔧</div>
|
||||
<h2>Как работает КМТ?</h2>
|
||||
<p><strong>Стальная оболочка</strong>, не приваренная к стенке трубопровода, заполняется <strong>композитным составом</strong>. Устанавливается по специальной композитно-муфтовой технологии без остановки перекачки нефти.</p>
|
||||
<p>Технология позволяет восстановить проектную прочность трубы при локальных дефектах.</p>
|
||||
</div>
|
||||
<div class="col animate-right">
|
||||
<div class="icon-block">✅</div>
|
||||
<h2>Преимущества КМТ</h2>
|
||||
<ul>
|
||||
<li>Безогневой метод – безопасен для взрывопожароопасных объектов</li>
|
||||
<li>Не требует вывода трубопровода из эксплуатации</li>
|
||||
<li>Высокая коррозионная стойкость</li>
|
||||
<li>Срок службы муфты – не менее 30 лет</li>
|
||||
<li>Сертифицировано для магистральных нефтепроводов</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Блок "Потеря металла (коррозионная)" -->
|
||||
<div class="info-card warning-card animate-on-scroll">
|
||||
<div class="card-icon">⚠️</div>
|
||||
<div class="card-content">
|
||||
<h3>Потеря металла (коррозионная)</h3>
|
||||
<p>Локальное уменьшение толщины стенки трубы в результате коррозионного повреждения. КМТ эффективно восстанавливает целостность даже при значительной потере металла.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Блок "Дефекты, подлежащие устранению" -->
|
||||
<div class="info-card animate-on-scroll">
|
||||
<div class="card-icon">📋</div>
|
||||
<div class="card-content">
|
||||
<h3>Какие дефекты устраняются?</h3>
|
||||
<ul>
|
||||
<li>Дефекты на трубопроводах линейной части и подводных переходах МН – должны быть устранены до окончания предельного срока эксплуатации дефекта, указанного в отчетах по диагностике.</li>
|
||||
<li>Дефекты, ограничивающие проектное рабочее давление, снижающие пропускную способность нефтепровода, должны быть устранены в первоочередном порядке.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Блок с сертификатами и лицензией -->
|
||||
<div class="cert-badge-row">
|
||||
<div class="badge-large animate-scale delay-1">
|
||||
<span class="badge-icon">📜</span>
|
||||
<span>Сертификат <strong>ИСО 9001:2015</strong></span>
|
||||
</div>
|
||||
<div class="badge-large animate-scale delay-2">
|
||||
<span class="badge-icon">🏅</span>
|
||||
<span>Лицензия <strong>СРО</strong> на особо опасные виды работ</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Дополнительная нота -->
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Наши специалисты прошли обучение по композитно-муфтовой технологии и имеют опыт установки КМТ на объектах ПАО «Транснефть» и других крупных нефтяных компаний.</p>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
66
public/waste-license.html
Normal file
66
public/waste-license.html
Normal file
@@ -0,0 +1,66 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Лицензия на отходы I-IV класса опасности | СТС-Авто</title>
|
||||
<link rel="stylesheet" href="/style.css">
|
||||
<script src="/seo.js" defer></script>
|
||||
<script src="/nav.js" defer></script>
|
||||
<script src="/footer.js" defer></script>
|
||||
<script src="/feedback.js" defer></script>
|
||||
<script src="/common.js" defer></script>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="container header-inner">
|
||||
<div class="logo">
|
||||
<a href="/">
|
||||
<h1>СТС-Авто</h1>
|
||||
<p>демонтаж нефтегазопроводов по России</p>
|
||||
</a>
|
||||
</div>
|
||||
<div class="contacts-header"></div>
|
||||
</div>
|
||||
<div id="nav-container" class="container"></div>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<div class="container">
|
||||
<div class="card animate-on-scroll">
|
||||
<h1>Лицензия на отходы I–IV класса опасности</h1>
|
||||
<p>Наша организация имеет лицензию на осуществление деятельности по сбору, транспортированию, обработке, утилизации, обезвреживанию, размещению отходов <strong>I–IV класса опасности</strong>.</p>
|
||||
|
||||
<div class="license-details animate-on-scroll">
|
||||
<div class="license-number">
|
||||
<strong>Номер лицензии:</strong> 066№ 00783
|
||||
</div>
|
||||
<div class="license-date">
|
||||
<strong>Дата выдачи:</strong> 13 сентября 2018 г.
|
||||
</div>
|
||||
<div class="license-org">
|
||||
<strong>Выдана:</strong> Федеральная служба по надзору в сфере природопользования (Росприроднадзор)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="license-image-container animate-img">
|
||||
<img src="https://sts-avto.com/ОТХОДЫ1.jpg" alt="Лицензия на отходы I-IV класса опасности СТС-Авто" class="license-img">
|
||||
<p class="image-caption">Оригинал лицензии на деятельность по обращению с отходами I–IV класса опасности</p>
|
||||
</div>
|
||||
|
||||
<h2 class="animate-on-scroll">Что даёт нам эта лицензия?</h2>
|
||||
<ul class="animate-on-scroll">
|
||||
<li>Законное право на сбор и транспортировку отходов, образующихся при демонтаже трубопроводов.</li>
|
||||
<li>Возможность выполнять полный цикл утилизации и обезвреживания опасных отходов.</li>
|
||||
<li>Гарантию экологической безопасности для заказчика.</li>
|
||||
<li>Соответствие требованиям законодательства при работе на объектах нефтегазового комплекса.</li>
|
||||
</ul>
|
||||
|
||||
<div class="note animate-on-scroll">
|
||||
<p>Наличие данной лицензии подтверждает нашу ответственность при обращении с отходами демонтажа, включая нефтезагрязнённый грунт, остатки трубной изоляции, лом металлов и другие отходы I–IV классов.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</body>
|
||||
</html>
|
||||
95
server.js
Normal file
95
server.js
Normal file
@@ -0,0 +1,95 @@
|
||||
require('dotenv').config();
|
||||
const express = require('express');
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
|
||||
// Middleware
|
||||
app.use(express.json());
|
||||
app.use(express.static(path.join(__dirname, 'public')));
|
||||
|
||||
// API: получение данных из .env
|
||||
app.get('/api/config', (req, res) => {
|
||||
res.json({
|
||||
address: process.env.ADDRESS,
|
||||
email: process.env.EMAIL,
|
||||
phones: process.env.PHONES ? process.env.PHONES.split(',').map(p => p.trim()) : [],
|
||||
activity: process.env.ACTIVITY,
|
||||
disclaimer1: process.env.DISCLAIMER1,
|
||||
disclaimer2: process.env.DISCLAIMER2
|
||||
});
|
||||
});
|
||||
|
||||
// API: сохранение заявки в JSON-файл
|
||||
const dataDir = path.join(__dirname, 'data');
|
||||
const requestsFile = path.join(dataDir, 'requests.json');
|
||||
|
||||
// Убедимся, что папка data существует
|
||||
if (!fs.existsSync(dataDir)) {
|
||||
fs.mkdirSync(dataDir);
|
||||
}
|
||||
// Инициализируем файл, если его нет
|
||||
if (!fs.existsSync(requestsFile)) {
|
||||
fs.writeFileSync(requestsFile, JSON.stringify([], null, 2));
|
||||
}
|
||||
|
||||
app.post('/api/request', (req, res) => {
|
||||
const newRequest = req.body;
|
||||
// Проверка обязательных полей на сервере
|
||||
if (!newRequest.inn || !newRequest.phone) {
|
||||
return res.status(400).json({ error: 'ИНН и телефон обязательны' });
|
||||
}
|
||||
try {
|
||||
const data = fs.readFileSync(requestsFile, 'utf8');
|
||||
const requests = JSON.parse(data);
|
||||
// Назначаем новый ID (максимальный + 1)
|
||||
const lastId = requests.length > 0 ? Math.max(...requests.map(r => r.id || 0)) : 0;
|
||||
newRequest.id = lastId + 1;
|
||||
newRequest.createdAt = new Date().toISOString();
|
||||
requests.push(newRequest);
|
||||
fs.writeFileSync(requestsFile, JSON.stringify(requests, null, 2));
|
||||
res.status(201).json({ message: 'Заявка принята', id: newRequest.id });
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
res.status(500).json({ error: 'Ошибка сервера' });
|
||||
}
|
||||
});
|
||||
|
||||
// Маршруты страниц (без расширения .html)
|
||||
app.get('/', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'index.html'));
|
||||
});
|
||||
app.get('/demontazh', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'demontazh.html'));
|
||||
});
|
||||
app.get('/ustranenie', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'ustranenie.html'));
|
||||
});
|
||||
app.get('/license', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'license.html'));
|
||||
});
|
||||
app.get('/certificates', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'certificates.html'));
|
||||
});
|
||||
app.get('/personnel', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'personnel.html'));
|
||||
});
|
||||
app.get('/fleet', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'fleet.html'));
|
||||
});
|
||||
app.get('/waste-license', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'waste-license.html'));
|
||||
});
|
||||
app.get('/scrap-license', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'scrap-license.html'));
|
||||
});
|
||||
app.get('/fleet-all', (req, res) => {
|
||||
res.sendFile(path.join(__dirname, 'public', 'fleet-all.png'));
|
||||
});
|
||||
|
||||
// Запуск сервера
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Сервер запущен на http://localhost:${PORT}`);
|
||||
});
|
||||
Reference in New Issue
Block a user