// Действия const Actions = { submitReading: function(event) { event.preventDefault(); var formData = new FormData(event.target); var service = formData.get('service'); var value = parseFloat(formData.get('value')); var newReading = { id: AppState.readings.length + 1, date: Utils.getCurrentDate(), service: service, value: value, status: 'Принято' }; AppState.readings.unshift(newReading); alert('✅ Показания успешно переданы!'); event.target.reset(); Router.render(); }, makePayment: function(event) { event.preventDefault(); var formData = new FormData(event.target); var accountId = parseInt(formData.get('service')); var amount = parseFloat(formData.get('amount')); if (!accountId || !amount) { alert('❌ Заполните все поля'); return; } var account = AppState.accounts.find(function(acc) { return acc.id === accountId; }); var newPayment = { id: AppState.payments.length + 1, date: Utils.getCurrentDate(), service: account.service, amount: amount, status: 'Выполнен' }; AppState.payments.unshift(newPayment); account.balance += amount; account.lastPayment = Utils.getCurrentDate(); alert('✅ Платеж успешно выполнен!'); event.target.reset(); Router.render(); }, updateApplicationForm: function(select) { var serviceField = document.getElementById('service-field'); var visitFields = document.getElementById('visit-fields'); if (select.value === 'connection') { serviceField.classList.remove('hidden'); visitFields.classList.add('hidden'); } else if (select.value === 'visit') { serviceField.classList.add('hidden'); visitFields.classList.remove('hidden'); } else { serviceField.classList.add('hidden'); visitFields.classList.add('hidden'); } }, submitApplication: function(event) { event.preventDefault(); var formData = new FormData(event.target); var newApplication = { id: AppState.applications.length + 1, date: Utils.getCurrentDate(), type: formData.get('type'), service: formData.get('service') || 'Общие вопросы', status: 'В обработке', description: formData.get('description'), address: formData.get('address'), phone: formData.get('phone') }; AppState.applications.unshift(newApplication); alert('✅ Заявка успешно подана! Номер заявки: #' + newApplication.id.toString().padStart(6, '0')); event.target.reset(); Router.render(); }, viewApplication: function(id) { var app = AppState.applications.find(function(a) { return a.id === id; }); if (app) { var applicationTypes = { 'connection': 'Подключение новой услуги', 'disconnection': 'Отключение услуги', 'repair': 'Заявка на ремонт', 'complaint': 'Жалоба', 'consultation': 'Консультация', 'visit': 'Запись на прием в ЕКЦ' }; var details = 'Заявка #' + app.id.toString().padStart(6, '0') + '\n\n'; details += 'Тип: ' + (applicationTypes[app.type] || app.type) + '\n'; details += 'Услуга: ' + app.service + '\n'; details += 'Статус: ' + app.status + '\n'; details += 'Дата подачи: ' + app.date + '\n'; if (app.address) details += 'Адрес: ' + app.address + '\n'; if (app.phone) details += 'Телефон: ' + app.phone + '\n'; if (app.description) details += 'Описание: ' + app.description + '\n'; alert(details); } }, cancelApplication: function(id) { if (confirm('❓ Вы уверены, что хотите отменить заявку?')) { var app = AppState.applications.find(function(a) { return a.id === id; ЛКФ - Личный кабинет физического лица
Загрузка...