111 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			111 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			HTML
		
	
	
	
{% extends "base.html" %}
 | 
						||
 | 
						||
{% block title %}Главная{% endblock %}
 | 
						||
 | 
						||
{% block content %}
 | 
						||
 <style>
 | 
						||
    .select2-container {
 | 
						||
      width: 100% !important;
 | 
						||
    }
 | 
						||
  </style>
 | 
						||
  <style>
 | 
						||
  .filter-link {
 | 
						||
    font-size: 18px; /* Увеличиваем размер шрифта */
 | 
						||
    font-weight: bold; /* Делаем текст жирным */
 | 
						||
    padding: 10px 20px; /* Добавляем отступы для лучшего кликабельности */
 | 
						||
    background-color: #7a61fe; /* Добавляем зелёный фон */
 | 
						||
    color: white; /* Текст белый */
 | 
						||
    border-radius: 5px; /* Слегка скругляем углы */
 | 
						||
    text-align: center; /* Выравнивание по центру */
 | 
						||
    cursor: pointer; /* Курсор в виде указателя при наведении */
 | 
						||
    transition: background-color 0.3s ease, transform 0.2s ease; /* Плавные анимации */
 | 
						||
  }
 | 
						||
 | 
						||
  .filter-link:hover {
 | 
						||
    background-color: #7a61fe; /* Темнее при наведении */
 | 
						||
    transform: scale(1.002); /* Немного увеличиваем размер при наведении */
 | 
						||
  }
 | 
						||
</style>
 | 
						||
 
 | 
						||
                
 | 
						||
                
 | 
						||
                
 | 
						||
                
 | 
						||
 | 
						||
   
 | 
						||
        <!-- Другие поля формы -->
 | 
						||
        
 | 
						||
 | 
						||
    
 | 
						||
    {% include "filtr.html" %}
 | 
						||
    
 | 
						||
 | 
						||
    {% include "tabl.html" %}   
 | 
						||
     
 | 
						||
 | 
						||
                
 | 
						||
<!-- Включаем модалку -->
 | 
						||
<!-- Модальное окно -->
 | 
						||
{% include "modal.html" %}
 | 
						||
<script src="/static/dist/js/prod.js"></script>
 | 
						||
 | 
						||
<script>
 | 
						||
document.addEventListener('DOMContentLoaded', function() {
 | 
						||
    // Инициализация Select2
 | 
						||
    $('#clients-multiselect').select2();
 | 
						||
    
 | 
						||
    // Получение выбранных ID при изменении
 | 
						||
    $('#clients-multiselect').on('change', function() {
 | 
						||
        const selectedIds = $(this).val(); // Массив выбранных ID
 | 
						||
        console.log("Selected Client IDs:", selectedIds);
 | 
						||
        
 | 
						||
        // Отправка на сервер (пример)
 | 
						||
        fetch('/update-selected-clients', {
 | 
						||
            method: 'POST',
 | 
						||
            headers: {
 | 
						||
                'Content-Type': 'application/json',
 | 
						||
                'X-CSRFToken': '{{ csrf_token }}'
 | 
						||
            },
 | 
						||
            body: JSON.stringify({client_ids: selectedIds})
 | 
						||
        })
 | 
						||
        .then(response => response.json())
 | 
						||
        .then(data => console.log(data));
 | 
						||
    });
 | 
						||
});
 | 
						||
</script>
 | 
						||
 | 
						||
<script>
 | 
						||
document.addEventListener('DOMContentLoaded', function() {
 | 
						||
    // Инициализация всех select2
 | 
						||
    $('.select2').select2();
 | 
						||
    
 | 
						||
    // Обработчик кнопки Search
 | 
						||
    $('.button.bg-theme-1').on('click', function() {
 | 
						||
        // Собираем все данные фильтров
 | 
						||
        const filters = {
 | 
						||
            clients: $('#clients-multiselect').val() || [],
 | 
						||
            assignees: $('select[name="assignee"]').val() || [],
 | 
						||
            statuses: $('select[placeholder="Select categories"]').val() || [],
 | 
						||
            requested: $('#applied-select:eq(0)').val(),
 | 
						||
            posted: $('#applied-select:eq(1)').val(),
 | 
						||
            applied: $('#applied-select:eq(2)').val(),
 | 
						||
            date_range: $('#date-range-input').val()
 | 
						||
        };
 | 
						||
        
 | 
						||
        // Переходим на /productf с параметрами
 | 
						||
        const queryString = new URLSearchParams();
 | 
						||
        
 | 
						||
        if (filters.clients.length) queryString.append('clients', filters.clients.join(','));
 | 
						||
        if (filters.assignees.length) queryString.append('assignees', filters.assignees.join(','));
 | 
						||
        if (filters.statuses.length) queryString.append('statuses', filters.statuses.join(','));
 | 
						||
        if (filters.requested) queryString.append('requested', filters.requested);
 | 
						||
        if (filters.posted) queryString.append('posted', filters.posted);
 | 
						||
        if (filters.applied) queryString.append('applied', filters.applied);
 | 
						||
        if (filters.date_range) queryString.append('date_range', filters.date_range);
 | 
						||
        
 | 
						||
        window.location.href = `/productf?${queryString.toString()}`;
 | 
						||
    });
 | 
						||
});
 | 
						||
</script>
 | 
						||
 | 
						||
{% endblock %} |