Улучшен поиск клиента по телефону

Исправления:
- Поиск по телефону теперь работает независимо от формата ввода (иконки, пробелы, +/-)
- Добавлена поддержка поиска по цифрам телефона (например, введение '291234' найдет +375291234567)
- Оптимизирована задержка AJAX запроса (300ms вместо 250ms)
- Добавлена обработка ошибок AJAX с логированием
- Улучшена обработка пустых результатов

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-10 22:24:36 +03:00
parent 74ece6dd66
commit 000b791702
2 changed files with 42 additions and 11 deletions

View File

@@ -406,29 +406,41 @@ document.addEventListener('DOMContentLoaded', function() {
language: 'ru',
placeholder: 'Начните вводить имя, телефон или email',
minimumInputLength: 1,
allowClear: true,
ajax: {
url: '{% url "customers:api-search-customers" %}',
dataType: 'json',
delay: 250,
delay: 300,
quietMillis: 250,
data: function(params) {
return {
q: params.term,
q: params.term || '',
page: params.page || 1
};
},
processResults: function(data) {
return {
results: data.results,
results: data.results || [],
pagination: {
more: data.pagination.more
more: data.pagination ? data.pagination.more : false
}
};
},
cache: true
cache: true,
error: function() {
console.log('Ошибка при поиске клиента');
}
},
templateResult: formatCustomerOption,
templateSelection: formatCustomerSelection,
escapeMarkup: function(markup) { return markup; }
escapeMarkup: function(markup) { return markup; },
matcher: function(params, data) {
// Позволяем все результаты, фильтрация на сервере
if ($.trim(params.term) === '') {
return null;
}
return data;
}
});
// Форматирование опции в списке