function show_error(message){ $('#error_alert').slideDown(500); $('#success_alert').hide(); $('#error_alert').delay(5000).slideUp(); $('#alert_error_text').empty(); if (message) $('#alert_error_text').append(message) } function show_success(message){ $('#success_alert').slideDown(500); $('#success_alert').delay(5000).slideUp(); $('#alert_success_text').empty(); if (message) $('#alert_success_text').append(message); } function validate_length(val, dest_len){ if(val.length < dest_len){ return false; } return true; } $(document).ready(function(){ $("#select-all").on("click", function() { $("input[name='god_zapros']").prop("checked", true); }); $("#select-all2").on("click", function() { $("input[name='god_zapros2']").prop("checked", true); }); $("#postal_code").change(function(){ $('#passport_issued_by').empty(); $('#passport_issued_by').append('') for(i in UFMS_list[$(this).val()]) { item = UFMS_list[$(this).val()][i]; $('#passport_issued_by').append(''); } // $('#passport_issued_by').select2("change"); }); $("#postal_codenal").change(function(){ $('#passport_issued_bynal').empty(); $('#passport_issued_bynal').append('') for(i in UFMS_list[$(this).val()]) { item = UFMS_list[$(this).val()][i]; $('#passport_issued_bynal').append(''); } // $('#passport_issued_by').select2("change"); }); $("#postal_code1").change(function(){ $('#passport_issued_by1').empty(); $('#passport_issued_by1').append('') for(i in UFMS_list[$(this).val()]) { item = UFMS_list[$(this).val()][i]; $('#passport_issued_by1').append(''); } // $('#passport_issued_by').select2("change"); }); const statusesMain = ["Я являюсь налогоплательщиком", "Мать", "Отец", "Сын", "Дочь", "Муж", "Жена", "Опекун"]; const selectMain = document.getElementById("taxpayer_status"); statusesMain.forEach(status => { selectMain.innerHTML += ``; }); const statusesZapros = ["Мать", "Отец", "Сын", "Дочь", "Муж", "Жена", "Опекун"]; const selectZapros = document.getElementById("taxpayer_status_zapros"); statusesZapros.forEach(status => { selectZapros.innerHTML += ``; }); $('#passportBtn').on('click', function() { $('#passportFields').removeClass('d-none'); $('#INNpacientFields').addClass('d-none'); $('#SvidetelstvoFields').addClass('d-none'); }); // При нажатии на кнопку "ИНН пациента" $('#INNpacientBtn').on('click', function() { $('#INNpacientFields').removeClass('d-none'); $('#passportFields').addClass('d-none'); $('#SvidetelstvoFields').addClass('d-none'); }); $('#SvidetelstvoBth').on('click', function() { $('#SvidetelstvoFields').removeClass('d-none'); $('#passportFields').addClass('d-none'); $('#INNpacientFields').addClass('d-none'); }); const validateEmail = (email) => { return email.match( /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ ); }; const validate = (selector) => { const email = $(selector).val(); if (validateEmail(email)) { $(selector).parent().removeClass('errors-field').addClass('success-field'); } else { $(selector).parent().removeClass('success-field').addClass('errors-field'); } }; const sanitizeEmailInput = (selector) => { $(selector).on('input', function () { let input = $(this).val(); // Разрешаем только буквы, цифры, точки, дефисы и подчеркивания input = input.replace(/[^a-zA-Z0-9._@-]/g, ''); // Обновляем поле ввода $(this).val(input); validate(selector); }); }; // Вызов валидации для каждого поля email sanitizeEmailInput('#email'); sanitizeEmailInput('#email1'); $('body').append(''); $('body').append(''); $('#fio').on('input', function () { let input = $(this).val(); // Убираем все лишние символы, кроме букв и пробелов input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, ''); // Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы let formattedInput = input.split(' ').map(word => { if (word.length > 0) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } return ''; // Пустые слова не трогаем }).join(' '); // Объединяем обратно с пробелами // Обновляем поле ввода с отформатированным текстом $(this).val(formattedInput); // Проверяем количество слов let words = formattedInput.trim().split(/\s+/); // Убираем лишние пробелы if (words.length < 3 || words.some(word => word.length < 2)) { $(this).parent().removeClass('success-field').addClass('errors-field'); // Подсветить поле } else { $(this).parent().removeClass('errors-field').addClass('success-field'); // Убрать подсветку } }); $('#fio1').on('input', function () { let input = $(this).val(); // Убираем все лишние символы, кроме букв и пробелов input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, ''); // Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы let formattedInput = input.split(' ').map(word => { if (word.length > 0) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } return ''; // Пустые слова не трогаем }).join(' '); // Объединяем обратно с пробелами // Обновляем поле ввода с отформатированным текстом $(this).val(formattedInput); // Проверяем количество слов let words = formattedInput.trim().split(/\s+/); // Убираем лишние пробелы if (words.length < 3 || words.some(word => word.length < 2)) { $(this).parent().removeClass('success-field').addClass('errors-field'); // Подсветить поле } else { $(this).parent().removeClass('errors-field').addClass('success-field'); // Убрать подсветку } }); $('#fional').on('input', function () { let input = $(this).val(); // Убираем все лишние символы, кроме букв и пробелов input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, ''); // Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы let formattedInput = input.split(' ').map(word => { if (word.length > 0) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } return ''; // Пустые слова не трогаем }).join(' '); // Объединяем обратно с пробелами // Обновляем поле ввода с отформатированным текстом $(this).val(formattedInput); // Проверяем количество слов let words = formattedInput.trim().split(/\s+/); // Убираем лишние пробелы if (words.length < 3 || words.some(word => word.length < 2)) { $(this).parent().removeClass('success-field').addClass('errors-field'); // Подсветить поле } else { $(this).parent().removeClass('errors-field').addClass('success-field'); // Убрать подсветку } }); $('#patient_fio').on('input', function () { let input = $(this).val(); // Убираем все лишние символы, кроме букв и пробелов input = input.replace(/[^a-zA-Zа-яА-ЯёЁ ]/g, ''); // Преобразуем каждое слово, чтобы оно начиналось с заглавной буквы let formattedInput = input.split(' ').map(word => { if (word.length > 0) { return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase(); } return ''; // Пустые слова не трогаем }).join(' '); // Объединяем обратно с пробелами // Обновляем поле ввода с отформатированным текстом $(this).val(formattedInput); // Проверяем количество слов let words = formattedInput.trim().split(/\s+/); // Убираем лишние пробелы if (words.length < 3 || words.some(word => word.length < 2)) { $(this).parent().removeClass('success-field').addClass('errors-field'); // Подсветить поле } else { $(this).parent().removeClass('errors-field').addClass('success-field'); // Убрать подсветку } }); $('#tel').on('change', function() { if($(this).val().length != 16){ $(this).parent().removeClass('success-field').addClass('errors-field'); } else{ $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#svedetelstvo').on('input', function() { let value = $(this).val(); // Оставляем только первый найденный пробел, если он есть const parts = value.split(' '); if (parts.length > 2) { value = parts[0] + ' ' + parts.slice(1).join(''); } $(this).val(value); }); // Проверка на дату рождения (не старше 80 лет) $('#dob').on('change', function() { const dob = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dob.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dob.getMonth() || (currentDate.getMonth() === dob.getMonth() && currentDate.getDate() < dob.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#dob1').on('change', function() { const dob1 = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dob1.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dob1.getMonth() || (currentDate.getMonth() === dob1.getMonth() && currentDate.getDate() < dob1.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#dobnal').on('change', function() { const dobnal = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dobnal.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dobnal.getMonth() || (currentDate.getMonth() === dobnal.getMonth() && currentDate.getDate() < dobnal.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#postal_code').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Форматируем ввод в "000-000" только при наличии 4 и более цифр if (input.length > 3) { input = input.replace(/(\d{3})(\d{0,3})/, '$1-$2'); } // Ограничиваем длину до "000-000" if (input.length > 7) { input = input.slice(0, 7); } // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 7) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#postal_code1').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Форматируем ввод в "000-000" только при наличии 4 и более цифр if (input.length > 3) { input = input.replace(/(\d{3})(\d{0,3})/, '$1-$2'); } // Ограничиваем длину до "000-000" if (input.length > 7) { input = input.slice(0, 7); } // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 7) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#postal_codenal').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Форматируем ввод в "000-000" только при наличии 4 и более цифр if (input.length > 3) { input = input.replace(/(\d{3})(\d{0,3})/, '$1-$2'); } // Ограничиваем длину до "000-000" if (input.length > 7) { input = input.slice(0, 7); } // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 7) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#passport').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Форматируем ввод в "000-000" только при наличии 4 и более цифр if (input.length > 4) { input = input.replace(/(\d{4})(\d{0,4})/, '$1 $2'); } // Ограничиваем длину до "000-000" if (input.length > 11) { input = input.slice(0, 11); } // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 11) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#passport1').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Форматируем ввод в "000-000" только при наличии 4 и более цифр if (input.length > 4) { input = input.replace(/(\d{4})(\d{0,4})/, '$1 $2'); } // Ограничиваем длину до "000-000" if (input.length > 11) { input = input.slice(0, 11); } // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 11) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#passportnal').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Форматируем ввод в "000-000" только при наличии 4 и более цифр if (input.length > 4) { input = input.replace(/(\d{4})(\d{0,4})/, '$1 $2'); } // Ограничиваем длину до "000-000" if (input.length > 11) { input = input.slice(0, 11); } // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 11) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $("#inn").attr('maxlength','12'); $('#inn').on('input', function() { let input = $(this).val(); // Убираем все символы, кроме цифр input = input.replace(/\D/g, ''); // Ограничиваем длину до 12 символов if (input.length > 12) { input = input.slice(0, 12); } // Обновляем значение в поле ввода $(this).val(input); if (input.length < 12) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $("#inn1").attr('maxlength','12'); $('#inn1').on('input', function() { let input = $(this).val(); // Убираем все символы, кроме цифр input = input.replace(/\D/g, ''); // Ограничиваем длину до 12 символов if (input.length > 12) { input = input.slice(0, 12); } // Обновляем значение в поле ввода $(this).val(input); if (input.length < 12) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $("#innnal").attr('maxlength','12'); $('#innnal').on('input', function() { let input = $(this).val(); // Убираем все символы, кроме цифр input = input.replace(/\D/g, ''); // Ограничиваем длину до 12 символов if (input.length > 12) { input = input.slice(0, 12); } // Обновляем значение в поле ввода $(this).val(input); if (input.length < 12) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#passport_date').on('change', function() { const dob = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dob.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dob.getMonth() || (currentDate.getMonth() === dob.getMonth() && currentDate.getDate() < dob.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#passport_datenal').on('change', function() { const dob = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dob.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dob.getMonth() || (currentDate.getMonth() === dob.getMonth() && currentDate.getDate() < dob.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $('#passport_date1').on('change', function() { const dob = new Date($(this).val()); const currentDate = new Date(); const age = currentDate.getFullYear() - dob.getFullYear(); // Проверка на возраст (не старше 80 лет) if (age > 100 || (age === 100 && (currentDate.getMonth() < dob.getMonth() || (currentDate.getMonth() === dob.getMonth() && currentDate.getDate() < dob.getDate())))) { // Если возраст больше 80 лет, подсвечиваем ячейку как ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если возраст нормален, подсвечиваем ячейку как успешную $(this).parent().removeClass('errors-field').addClass('success-field'); } }); $("#kod").attr('maxlength','4'); $('#kod').on('input', function() { let input = $(this).val(); // Удаляем все символы, кроме цифр input = input.replace(/\D/g, ''); // Обновляем поле ввода $(this).val(input); // Проверка на минимальную длину (не менее 11 символов) if (input.length < 4) { // Если введено меньше цифр, показываем ошибку $(this).parent().removeClass('success-field').addClass('errors-field'); } else { // Если введено достаточно цифр, показываем успех $(this).parent().removeClass('errors-field').addClass('success-field'); } }); // function verification(){ // $("#form_submit").children(".spinner-border").removeClass('d-none'); // $("#form_submit").attr("disabled", true); // message = {} // if(!(validate_length($('#fio').val(), 3))) // { // show_error('Введите ФИО', false); // $("#form_submit").children(".spinner-border").addClass('d-none'); // $("#form_submit").removeAttr("disabled"); // return; // } // // if(!(validate_length($('#tel').val(), 16))) // { // show_error('Введите Телефон', false); // $("#form_submit").children(".spinner-border").addClass('d-none'); // $("#form_submit").removeAttr("disabled"); // return; // } // // if ($('#dob').val().length !== 10 || new Date().getFullYear() - new Date($('#dob').val()).getFullYear() > 100) { // show_error('Дата рождения должна быть корректной и возраст не более 80 лет', false); // $("#form_submit").children(".spinner-border").addClass('d-none'); // $("#form_submit").removeAttr("disabled"); // return; // } // // if ($('#dob').val().length !== 10 || new Date().getFullYear() < new Date($('#dob').val()).getFullYear()) { // show_error('Проверьте дату ввода, вы указали дату больше чем сегодняшняя дата', false); // $("#form_submit").children(".spinner-border").addClass('d-none'); // $("#form_submit").removeAttr("disabled"); // return; // } function verificationpacient(){ $("#form_submit").children(".spinner-border").removeClass('d-none'); $("#form_submit").attr("disabled", true); let message = {}; $('.tg_input').each(function() { message[$(this).attr("id")] = $(this).val(); }); show_success("Ваши данные отправлены на проверку."); $.ajax({ type: "POST", url: "/request_patient2", contentType: "application/json", // <-- Указываем JSON data: JSON.stringify(message), // <-- Преобразуем объект в JSON success: function(data) { console.log(data); if (data.success) { $('.primary-field').hide(); $('.verification').hide(); $('.verificationpacient').show(); $('#fio1').val(data.fio); $('#fio1').prop('readonly', true); $('#dob1').val(data.js_formatted_birthdate); $('#dob1').prop('readonly', true); if (data.pct_doc_ind == 2) { // Заполняем данные свидетельства $('#svedetelstvo').val(data.pct_doc_ser + ' ' + data.pct_doc_nom); $('#svedetelstvo_date').val(data.js_formatted_passport_date); $('#svedetelstvo_issued_by').val(data.pct_doc_org_name); } else if (data.pct_doc_ind == 1) { // Заполняем данные паспорта $('#passport1').val(data.pct_doc_ser + ' ' + data.pct_doc_nom); $('#passport_date1').val(data.js_formatted_passport_date); $('#postal_code1').val(data.pct_doc_org_kod); // Обрабатываем код подразделения for(i in UFMS_list[data.pct_doc_org_kod]) { item = UFMS_list[data.pct_doc_org_kod][i]; console.log(item.toLowerCase()) console.log(data.pct_doc_org_name.toLowerCase()) console.log(item.toLowerCase()==data.pct_doc_org_name.toLowerCase()) if(item.toLowerCase()==data.pct_doc_org_name.toLowerCase()) { $('#passport_issued_by1').append(''); } else{ $('#passport_issued_by1').append(''); } } } // $('#passport1').val(data.pct_doc_ser + ' ' + data.pct_doc_nom); // // $('#passport_date1').val(data.js_formatted_passport_date); // // $('#postal_code1').val(data.pct_doc_org_kod); // // for(i in UFMS_list[data.pct_doc_org_kod]) // { // item = UFMS_list[data.pct_doc_org_kod][i]; // console.log(item.toLowerCase()) // console.log(data.pct_doc_org_name.toLowerCase()) // console.log(item.toLowerCase()==data.pct_doc_org_name.toLowerCase()) // if(item.toLowerCase()==data.pct_doc_org_name.toLowerCase()) // { // $('#passport_issued_by1').append(''); // } // else{ // $('#passport_issued_by1').append(''); // } // } $('#inn1').val(data.pct_inn); $('#taxpayer_status_zapros').val(data.taxpayer_status_zapros); $('#email1').val(data.pct_email); // $('#svedetelstvo').val(data.pct_doc_ser + ' ' + data.pct_doc_nom); // $('#svedetelstvo_date').val(data.js_formatted_passport_date); // $('#svedetelstvo_issued_by').val(data.pct_doc_org_name); $('#fional').val(data.plc_fio); $('#dobnal').val(data.js_formatted_birthdate_plc); $('#innnal').val(data.plc_inn); $('#passportnal').val(data.plc_doc_ser + ' ' + data.plc_doc_nom); $('#passport_datenal').val(data.js_formatted_passport_date_plc); $('#postal_codenal').val(data.plc_doc_org_kod); for(i in UFMS_list[data.plc_doc_org_kod]) { item = UFMS_list[data.plc_doc_org_kod][i]; console.log(item.toLowerCase()) console.log(data.plc_doc_org_kod.toLowerCase()) console.log(item.toLowerCase()==data.plc_doc_org_kod.toLowerCase()) if(item.toLowerCase()==data.plc_doc_org_kod.toLowerCase()) { $('#passport_issued_bynal').append(''); } else{ $('#passport_issued_bynal').append(''); } } } else { show_error(data.error); } $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); }, error: function(jqXHR) { show_error('Что-то пошло не так'); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); } }); } function verificationnalogoplat(){ $("#form_submit").children(".spinner-border").removeClass('d-none'); $("#form_submit").attr("disabled", true); let message = {}; $('.tg_input').each(function() { message[$(this).attr("id")] = $(this).val(); }); show_success("Ваши данные отправлены на проверку."); $.ajax({ type: "POST", url: "/request_patient", contentType: "application/json", // <-- Указываем JSON data: JSON.stringify(message), // <-- Преобразуем объект в JSON success: function(data) { console.log(data); if (data.success) { $('.primary-field').hide(); $('.verification').show(); $('.verificationpacient').hide(); $('#fio').val(data.fio); $('#fio').prop('readonly', true); $('#dob').val(data.js_formatted_birthdate); $('#dob').prop('readonly', true); $('#passport').val(data.pct_doc_ser + ' ' + data.pct_doc_nom); $('#passport_date').val(data.js_formatted_passport_date); $('#postal_code').val(data.pct_doc_org_kod); for(i in UFMS_list[data.pct_doc_org_kod]) { item = UFMS_list[data.pct_doc_org_kod][i]; console.log(item.toLowerCase()) console.log(data.pct_doc_org_name.toLowerCase()) console.log(item.toLowerCase()==data.pct_doc_org_name.toLowerCase()) if(item.toLowerCase()==data.pct_doc_org_name.toLowerCase()) { $('#passport_issued_by').append(''); } else{ $('#passport_issued_by').append(''); } } $('#inn').val(data.pct_inn); $('#email').val(data.pct_email); } else { show_error(data.error); } $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); }, error: function(jqXHR) { show_error('Что-то пошло не так'); $("#form_submit").children(".spinner-border").addClass('d-none'); $("#form_submit").removeAttr("disabled"); } }); } $("#form_submit").click(function() { let selectedValue = $("#taxpayer_status").val(); // Получаем выбранное значение if (selectedValue === "Я являюсь налогоплательщиком") { verificationnalogoplat(); } else { console.log("Выбрано другое значение:", selectedValue); verificationpacient(); // Тут можно добавить вызов других функций, если нужно } }); $("#code_submit").click(function(){ $(this).children(".spinner-border").removeClass('d-none'); $(this).attr("disabled", true); message = {} if(!(validate_length($('#fio').val(), 3))) { show_error('Введите ФИО', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($('#dob').val().length !== 10 || new Date().getFullYear() - new Date($('#dob').val()).getFullYear() > 100) { show_error('Дата рождения должна быть корректной и возраст не более 80 лет', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#passport').val(), 11))) { show_error('Введите серию и номер паспорта', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($('#passport_date').val().length !== 10 || (new Date($('#passport_date').val()).getFullYear() - new Date($('#dob').val()).getFullYear()) < 13) { show_error('Проверьте дату выдачи паспорта, паспорт РФ может быть выдан с 14 лет', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#postal_code').val(), 7))) { show_error('Введите код подразделения', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if($('#passport_issued_by').val() == null){ show_error("Выберите кем выдан паспорт"); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#inn').val(), 12))) { show_error('Введите ИНН', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($("input[name='god_zapros']:checked").length === 0) { show_error("Выберите хотя бы один год запроса"); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } // Добавление значений с чекбоксов (годы) let selectedYears = []; $("input[name='god_zapros']:checked").each(function() { selectedYears.push($(this).val()); }); if (selectedYears.length > 0) { message['selected_years'] = selectedYears; } $.each($('.tg_input'), function(e) { message[$(this).prop("id")] = $(this).val(); }); $.ajax({ type: "post", url: "/sending_patient", processData: false, // tell jQuery not to process the data contentType: false, // tell jQuery not to set contentType async: true, data: JSON.stringify(message), success: (data) => { if(data.success==true){ $('.primary-field').hide(); $('.verification').hide(); $('.success_window').show(); } else{ show_error(data.error); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); } }, error:function (jqXHR, exception) { $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); show_error('Что-то пошло не так', false) } }); }); $("#code_submit2").click(function(){ $(this).children(".spinner-border").removeClass('d-none'); $(this).attr("disabled", true); message = {} if(!(validate_length($('#fio1').val(), 3))) { show_error('Введите ФИО пациента', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($('#dob1').val().length !== 10 || new Date().getFullYear() - new Date($('#dob1').val()).getFullYear() > 100) { show_error('Дата рождения пациента должна быть корректной и возраст не более 100 лет', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#fional').val(), 3))) { show_error('Введите ФИО налогоплательщика', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($('#dobnal').val().length !== 10 || new Date().getFullYear() - new Date($('#dobnal').val()).getFullYear() > 100) { show_error('Дата рождения налогоплательщика должна быть корректной и возраст не более 100 лет', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#innnal').val(), 12))) { show_error('Введите ИНН налогоплательщика', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#passportnal').val(), 11))) { show_error('Введите серию и номер паспорта налогоплательщика', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($('#passport_datenal').val().length !== 10 || (new Date($('#passport_datenal').val()).getFullYear() - new Date($('#dobnal').val()).getFullYear()) < 13) { show_error('Проверьте дату выдачи паспорта, паспорт РФ может быть выдан с 14 лет', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if(!(validate_length($('#postal_codenal').val(), 7))) { show_error('Введите код подразделения налогоплательщика', false); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if($('#passport_issued_bynal').val() == null){ show_error("Выберите кем выдан паспорт налогоплательщика"); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } if ($("input[name='god_zapros2']:checked").length === 0) { show_error("Выберите хотя бы один год запроса"); $(this).children(".spinner-border").addClass('d-none'); $(this).removeAttr("disabled"); return; } let selectedYears = []; $("input[name='god_zapros2']:checked").each(function() { selectedYears.push($(this).val()); }); if (selectedYears.length > 0) { message['selected_years'] = selectedYears; } $.each($('.tg_input'), function(e) { message[$(this).prop("id")] = $(this).val(); }); $.each($('.tg_input'), function(e) { message[$(this).prop("id")] = $(this).val(); }); $.ajax({ type: "POST", url: "/sending_patient2", contentType: "application/json", data: JSON.stringify(message), success: (data) => { if (data.success) { $('.primary-field').hide(); $('.verification').hide(); $('.verificationpacient').hide(); $('.success_window').show(); } else { show_error(data.error); $("#code_submit2").children(".spinner-border").addClass('d-none'); $("#code_submit2").removeAttr("disabled"); } }, error: function (jqXHR) { $("#code_submit2").children(".spinner-border").addClass('d-none'); $("#code_submit2").removeAttr("disabled"); // Попробуем получить сообщение об ошибке из ответа сервера let errorMessage = 'Что-то пошло не так'; if (jqXHR.responseJSON && jqXHR.responseJSON.error) { errorMessage = jqXHR.responseJSON.error; } show_error(errorMessage, false); } }); }); // $('.alert-placeholder').mouseenter(function(){ // var popOverSettings = { // placement: 'bottom', // content: $(this).data('content'), // trigger: 'hover', // container: this, // offset: '0' // } // $(this).popover(popOverSettings); // $(this).popover('show'); // $('.popover').addClass('alert-popover'); // }); // $('.alert-placeholder').mouseleave(function(){ // $('.alert-popover').remove() // }); let phoneStr = ''; let formattedStr = ''; let deleteMode = false; const phoneInput = document.querySelector('#tel'); const defaultFormat = '+7({0}{1}{2}){3}{4}{5}-{6}{7}-{8}{9}'; // phoneInput.value = formatPhoneString(); // phoneInput.addEventListener('keydown', (e) => { // if (e.key === 'Backspace') // deleteMode = true; // else // deleteMode = false; // }); // // phoneInput.addEventListener('input', (e) => { // if (deleteMode) { // phoneInput.value = phoneInput.value; // phoneStr = parsePhoneString(phoneInput.value.replace("+7", "").replace("-", "")); // } else { // if (e.inputType == 'insertText' && !isNaN(parseInt(e.data))) { // if (phoneStr.length <= 9) // phoneStr += e.data; // } // phoneInput.value = formatPhoneString(); // } // }); function formatPhoneString() { let strArr = phoneStr.split(''); formattedStr = defaultFormat; for (let i = 0; i < strArr.length; i++) { formattedStr = formattedStr.replace(`{${i}}`, strArr[i]); } if (formattedStr.indexOf('{') === -1) { return formattedStr; } else { return formattedStr.substring(0, formattedStr.indexOf('{')); } } function parsePhoneString(str) { return str.replace(' ', '').replace('(', '').replace(')', '').replace('-', ''); } });