resume.blade.php 10.9 KB
@extends('layout.frontend', ['title' => 'База резюме - РекаМоре'])

@section('scripts')
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
    <script>
        console.log('Test system');
        $(document).on('change', '#jobs', function() {
            var val = $(this).val();
            var main_oskar = $('#main_ockar');

            console.log('Code='+val);
            console.log('Click change...');
            $.ajax({
                type: "GET",
                url: "",
                data: "job="+val,
                success: function (data) {
                    console.log('Выбор сделан!');
                    console.log(data);
                    main_oskar.html(data);
                },
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                error: function (data) {
                    data = JSON.stringify(data);
                    console.log('Error: ' + data);
                }
            });
        });
    </script>

    <script>
        $(document).ready(function() {
            $(document).on('click', '.js_box_favorites', function () {
                var _this = $(this);
                var id_worker = _this.attr('data-val');

                if (_this.hasClass('active')) {
                    add_in_array(id_worker);
                    console.log('Добавлено в избранное id=' + id_worker);
                } else {
                    delete_in_array(id_worker);
                    console.log('Удалено из избранных id='+id_worker)
                }
                var str = $.cookie('favorite_worker');
                console.log("Вывод куков "+str);

            });
        });

        //помеченный элемент
        function selected_item(obj) {
            var arr = read_array();
            var index = arr.indexOf(obj);

            if (index > 0)
                return "active";
            else
                return "";
        }

        // запись элемента массива в cookie
        function add_in_array(obj){
            var arr = read_array();//получаем текущее состояние массива
            arr[arr.length]=obj; //добавляем элемент в конец
            //var str = JSON.stringify(arr);//конвертируем в строку
            //$.cookie('arr',str);//записываем массив в куки
            $.cookie('favorite_worker', JSON.stringify(arr));

        }

        // удаление элемента из массива в cookie
        function delete_in_array(obj) {
            var arr = read_array();
            var unique = [...new Set(arr)]
            var index = unique.indexOf(obj);

            unique.splice(index, 1);

            //var str = JSON.stringify(arr);//конвертируем в строку
            //$.cookie('arr',str);//записываем массив в куки
            $.cookie('favorite_worker', JSON.stringify(unique));

        }

        function read_array(){
            var dataArr=$.cookie('favorite_worker');//считываем данные из куков

            //если массив  не был обнаружен, иницилизируем его
            if(dataArr===null){
                dataArr = init_array(); //возвращаем инициализированный пустой маасив
            }
            //возвращаем полученный массив
            //return JSON.parse(dataArr);
            return JSON.parse(dataArr);
        }

        //другими словами создаем пустой массив
        function init_array(){
            //var str = JSON.stringify(new Array());//конвертируем в строку
            var str = JSON.stringify(new Array());
            $.cookie('favorite_worker',str);//записываем массив в куки

            return str;
        }
    </script>
    <script>
        $(document).on('click', '.js_it_button', function() {
            var this_ = $(this);
            var code_user_id = this_.attr('data-uid');
            var code_to_user_id = this_.attr('data-tuid');
            var code_vacancy = this_.attr('data-vacancy');
            var user_id = $('#_user_id');
            var to_user_id = $('#_to_user_id');
            var vacancy = $('#_vacancy');

            console.log('code_to_user_id='+code_to_user_id);
            console.log('code_user_id='+code_user_id);
            console.log('code_vacancy='+code_vacancy);
            console.log('Клик на кнопке...');

            user_id.val(code_user_id);
            to_user_id.val(code_to_user_id);
            vacancy.val(code_vacancy);
        });
    </script>
    <script>
        $(document).on('change', '#sort_ajax', function() {
            var this_ = $(this);
            var val_ = this_.val();
            console.log('sort items '+val_);

            $.ajax({
                type: "GET",
                url: "{{ route('bd_resume') }}",
                data: "sort="+val_+"&block=1",
                success: function (data) {
                    console.log('Выбор сортировки');
                    console.log(data);
                    $('#block1').html(data);
                    history.pushState({}, '', "{{ route('bd_resume') }}?sort="+val_+"@if (isset($_GET['page']))&page={{ $_GET['page'] }}@endif");
                },
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                error: function (data) {
                    data = JSON.stringify(data);
                    console.log('Error: ' + data);
                }
            });
        });

        $(document).ready(function(){
            var sel = $('#select2-sort_ajax-container');
            var key = getUrlParameter('sort');
            console.log(sel);
            console.log(key);

            if (key !=='') {
                console.log(key);
                switch (key) {
                    case "default": sel.html('Сортировка (по умолчанию)'); break;
                    case "name_up": sel.html('По имени (возрастание)'); break;
                    case "name_down": sel.html('По дате (убывание)'); break;
                    case "created_at_up": sel.html('По дате (возрастание)'); break;
                    case "created_at_down": sel.html('По дате (убывание)'); break;
                }

            }
        });
    </script>

    <script>
        console.log('Test system');
        $(document).on('change', '.jobs', function() {
            var val = $(this).val();

            console.log('Click filter вакансии...');
            $.ajax({
                type: "GET",
                url: "{{ route('bd_resume') }}",
                data: "job="+val+'&block=1',
                success: function (data) {
                    console.log('Выбор должности');
                    console.log(data);
                    $('#block1').html(data);
                    history.pushState({}, '', "{{ route('bd_resume') }}?job="+val+"@if (isset($_GET['sort']))&sort={{ $_GET['sort'] }}@endif"+"@if (isset($_GET['page']))&page={{ $_GET['page'] }}@endif");
                },
                headers: {
                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                },
                error: function (data) {
                    data = JSON.stringify(data);
                    console.log('Error: ' + data);
                }
            });
        });
    </script>
    @include('js.favorite-worker')
@endsection


@section('content')
    <section class="thing">
        <div class="container">
            <form class="thing__body" action="{{ url()->current() }}">
                <ul class="breadcrumbs thing__breadcrumbs">
                    <li><a href="{{ route('index') }}">Главная</a></li>
                    <li><b>База резюме</b></li>
                </ul>
                <h1 class="thing__title">База резюме</h1>
                <p class="thing__text">С другой стороны, социально-экономическое развитие не оставляет шанса для
                    существующих финансовых и административных условий.</p>

                <div class="select select_search thing__select">
                    <div class="select__icon">
                        <svg>
                            <use xlink:href="{{ asset('images/sprite.svg#search') }}"></use>
                        </svg>
                    </div>
                    <select class="js-select2 jobs" name="search" id="search">
                        <option value="0">Выберите должность</option>
                        @if($Job_title->count())
                            @foreach($Job_title as $JT)
                                <option value="{{ $JT->id }}" @if (isset($_GET['job'])) @if($_GET['job'] == $JT->id) selected @endif @endif>{{ $JT->name }}</option>
                            @endforeach
                        @endif
                    </select>
                </div>
            </form>
        </div>
    </section>
    <main class="main">
        <div class="container">
            <div class="main__resume-base">
                <h2>Резюме работников</h2>
                <div class="filters">
                    <div class="filters__label">Показано {{ $resumes->firstItem() }} – {{ $resumes->lastItem() }} из {{ $res_count }} результатов поиска</div>
                    <div class="filters__body">
                        <div class="select filters__select">
                            <select class="js-select2" id="sort_ajax" name="sort_ajax">
                                <option value="default">Сортировка (по умолчанию)</option>
                                <option value="name_up">По имени (возрастание)</option>
                                <option value="name_down">По имени (убывание)</option>
                                <option value="created_at_up">По дате (возрастание)</option>
                                <option value="created_at_down">По дате (убывание)</option>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="main__resume-base-body showed" data-body="1">
                    <div class="main__resume-base-body-one" id="block1" name="block1">
                        @include('resume.resume_blocks')
                    </div>
                </div>
            </div>
        </div>
    </main>
    </div>
</div>
@endsection