Blame view

resources/views/list_vacancies.blade.php 15.3 KB
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
1
2
3
  @php
    use App\Classes\StatusUser;
  @endphp
5b68533bb   Андрей Ларионов   Работа над проект...
4
5
6
7
  @extends('layout.frontend', ['title' => 'Вакансии РекаМоре'])
  
  @section('scripts')
      <script>
d152a3a68   Андрей Ларионов   Создание основных...
8
          $(document).on('change', '#jobs', function() {
5b68533bb   Андрей Ларионов   Работа над проект...
9
              var val = $(this).val();
d152a3a68   Андрей Ларионов   Создание основных...
10
              var main_oskar = $('#main_ockar');
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
11
              var ti_head = $('#title_head');
465aace57   Fedor   task-132687 minor...
12
13
  
              console.log(val);
5b68533bb   Андрей Ларионов   Работа над проект...
14
15
              $.ajax({
                  type: "GET",
d152a3a68   Андрей Ларионов   Создание основных...
16
                  url: "{{ route('list-vacancies', ['categories' => $categories->id]) }}",
5b68533bb   Андрей Ларионов   Работа над проект...
17
18
                  data: "job="+val,
                  success: function (data) {
d152a3a68   Андрей Ларионов   Создание основных...
19
                      main_oskar.html(data);
ac606bc38   Андрей Ларионов   Работа на сервере.
20
                      history.pushState({}, '', "{{ route('list-vacancies', ['categories' => $categories->id]) }}?job="+val+"@if (isset($_GET['sort']))&sort={{ $_GET['sort'] }}@endif"+"@if (isset($_GET['page']))&page={{ $_GET['page'] }}@endif");
5b68533bb   Андрей Ларионов   Работа над проект...
21
22
23
24
25
26
27
28
29
                  },
                  headers: {
                      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                  },
                  error: function (data) {
                      data = JSON.stringify(data);
                      console.log('Error: ' + data);
                  }
              });
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
30
31
32
33
34
35
  
              if ((val == '') || (val == '0')) {
                  title_head.html('Все категории');
              } else {
                  $.ajax({
                      type: "GET",
ac606bc38   Андрей Ларионов   Работа на сервере.
36
                      url: "{{ route('list-vacancies', ['categories' => $categories->id]) }}?@if (isset($_GET['sort']))&sort={{ $_GET['sort'] }}@endif",
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
37
38
                      data: "job=" + val +"&title=1",
                      success: function (data) {
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
39
40
41
42
43
44
45
46
47
48
49
                      },
  
                      headers: {
                          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                      },
  
                      error: function (data) {
                          data = JSON.stringify(data);
                          console.log('Error: ' + data);
                      }
                  });
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
50
              }
5b68533bb   Андрей Ларионов   Работа над проект...
51
          });
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
52

465aace57   Fedor   task-132687 minor...
53
          $(document).on('click', '.ask_comment', function() {
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
54
               var this_ = $(this);
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
55

465aace57   Fedor   task-132687 minor...
56
57
58
              $('#modal_user_id').val(this_.attr('data-uid'));
              $('#modal_to_user_id').val(this_.attr('data-tuid'));
              $('#modal_vacancy').val(this_.attr('data-vacancy'));
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
59
          });
465aace57   Fedor   task-132687 minor...
60
61
62
63
          $(document).on('click', '.ask_percent', function() {
              $('#modal_vacancy')
                  .val($(this).attr('data-vacancy'))
                  .trigger('change');
f8a3cafe5   Андрей Ларионов   диалоговые пробле...
64
          });
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
65
66
67
          $(document).on('change', '#sort_ajax', function() {
              var this_ = $(this);
              var val_ = this_.val();
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
68
69
70
71
72
73
  
              $.ajax({
                  type: "GET",
                  url: "{{ route('list-vacancies', ['categories' => $categories->id]) }}",
                  data: "sort="+val_+"&block=1",
                  success: function (data) {
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
74
                      $('#main_ockar').html(data);
ac606bc38   Андрей Ларионов   Работа на сервере.
75
                      history.pushState({}, '', "{{ route('list-vacancies', ['categories' => $categories->id]) }}?sort="+val_+"@if (isset($_GET['job']))&job={{ $_GET['job'] }}@endif"+"@if (isset($_GET['page']))&page={{ $_GET['page'] }}@endif");
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
76
77
78
79
80
81
82
83
84
85
                  },
                  headers: {
                      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                  },
                  error: function (data) {
                      data = JSON.stringify(data);
                      console.log('Error: ' + data);
                  }
              });
          });
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
86
87
88
          $(document).ready(function(){
              var sel = $('#select2-sort_ajax-container');
              var key = getUrlParameter('sort');
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
89
90
  
              if (key !=='') {
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
91
92
93
94
95
96
97
98
99
100
                  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;
                  }
  
              }
          });
5b68533bb   Андрей Ларионов   Работа над проект...
101
      </script>
5725a3636   Андрей Ларионов   Обновление понеде...
102
      @include('js.favorite-vacancy-45')
5b68533bb   Андрей Ларионов   Работа над проект...
103
  @endsection
5b68533bb   Андрей Ларионов   Работа над проект...
104
105
106
  @section('content')
      <section class="thing">
          <div class="container">
ac606bc38   Андрей Ларионов   Работа на сервере.
107
              <form class="thing__body" action="{{ route('list-vacancies', ['categories' => (!empty($Name_categori)) ? $Name_categori[0]->id : '0']) }}" method="POST">
5b68533bb   Андрей Ларионов   Работа над проект...
108
109
110
                  <ul class="breadcrumbs thing__breadcrumbs">
                      <li><a href="{{ route('index') }}">Главная</a></li>
                      <li><a href="{{ route('vacancies') }}">Вакансии</a></li>
d152a3a68   Андрей Ларионов   Создание основных...
111
                      <li><b>{{ isset($Name_categori[0]) ? $Name_categori[0]->name : 'Все категории' }}</b></li>
5b68533bb   Андрей Ларионов   Работа над проект...
112
113
                  </ul>
                  <h1 class="thing__title">Вакансии</h1>
465aace57   Fedor   task-132687 minor...
114
115
116
                  <p class="thing__text">
                      Для удобного и быстрого поиска по определенной должности воспользуйтесь фильтром. В выпадающем списке выберите должность.
                  </p>
5b68533bb   Андрей Ларионов   Работа над проект...
117
118
119
                  <div class="select select_search thing__select">
                      <div class="select__icon">
                          <svg>
d152a3a68   Андрей Ларионов   Создание основных...
120
                              <use xlink:href="{{ asset('images/sprite.svg#search') }}"></use>
5b68533bb   Андрей Ларионов   Работа над проект...
121
122
123
                          </svg>
                      </div>
                      <select class="js-select2" id="jobs" name="jobs">
a9dfa8c95   Андрей Ларионов   Обновление на 7 м...
124
                          <option value="0" selected>Выберите должность</option>
5b68533bb   Андрей Ларионов   Работа над проект...
125
126
                          @if ($Job_title->count())
                              @foreach($Job_title as $JT)
2be890eea   Андрей Ларионов   коммит по изменен...
127
                                  <option value="{{ $JT->id }}" @if(isset($_GET['job']) && ($_GET['job'] == $JT->id)) selected @endif>{{ $JT->name }}</option>
5b68533bb   Андрей Ларионов   Работа над проект...
128
129
130
131
132
133
134
135
136
                              @endforeach
                          @endif
                      </select>
                  </div>
              </form>
          </div>
      </section>
      <main class="main">
          <div class="container">
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
137
              <div class="main__vacancies" >
465aace57   Fedor   task-132687 minor...
138
139
                  @if (isset($Name_categori) && ($Name_categori !== ''))
                      <h2 class="main__vacancies-title">Категория вакансий {{ $Name_categori }}</h2>
d152a3a68   Андрей Ларионов   Создание основных...
140
                  @else
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
141
                      <h2 class="main__vacancies-title" id="title_head" name="title_head">Все категории</h2>
d152a3a68   Андрей Ларионов   Создание основных...
142
                  @endif
5b68533bb   Андрей Ларионов   Работа над проект...
143
                  <div class="filters main__vacancies-filters">
465aace57   Fedor   task-132687 minor...
144
145
146
147
148
149
                      <div class="filters__label"
                           id="col-vo"
                           name="col-vo"
                      >
                          Показано <span id="firstItem">{{ $Query->firstItem() }}</span> – <span id="lastItem">{{ $Query->lastItem() }}</span> из <span id="Query_count">@isset($Query_count) {{ $Query_count }} @else 0 @endisset</span> результатов поиска
                      </div>
5b68533bb   Андрей Ларионов   Работа над проект...
150
                  </div>
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
151
                  <div class="main__vacancies" style="width:100%;" id="main_ockar" name="main_oskar">
465aace57   Fedor   task-132687 minor...
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
                      @php $i = ($Query->currentPage() * $Query->perPage() - $Query->count() - 1) @endphp
                      @foreach ($Query as $Q)
                          @foreach ($Reclama as $Rec)
                              @if ($Rec->position == $i)
                                  <div class="main__vacancies-thing">
                                      @if (!empty($Rec->image))
                                          <img src="{{ asset(Storage::url($Rec->image)) }}" alt="{{ $Rec->title }}" class="main__vacancies-thing-pic">
                                      @else
                                          <img src="{{ asset('images/default_ship.jpg') }}" alt="{{ $Rec->title }}" class="main__vacancies-thing-pic">
                                      @endif
                                      <div class="main__vacancies-thing-body">
                                          <h2>{{ $Rec->title }}</h2>
                                          <div class="main__vacancies-thing-scroll">
                                              {!! $Rec->text !!}
                                          </div>
                                          <a href="{{ $Rec->link }}" class="button">Узнать больше</a>
                                      </div>
                                  </div>
                              @endif
                          @endforeach
                          <div class="main__vacancies-item main__employer-page-two-item" data-id="{{ $Q->id }}">
                              <a href="{{ route('list-vacancies', ['categories' => $categories->id]) }}"
                                 class="back main__employer-page-two-item-back">
                                  <svg>
                                      <use xlink:href="{{ asset('images/sprite.svg#back') }}"></use>
                                  </svg>
                                  <span>
                                          Вернуться к списку вакансий
                                  </span>
                              </a>
                              <div class="main__employer-page-two-item-toper">
                                  @if (!empty($Q->employer->logo))
                                      <img src="{{ asset(Storage::url($Q->employer->logo)) }}" alt="{{ $Q->employer->name }}">
365e6ad01   Андрей Ларионов   Реализация проекта
185
186
187
                                  @else
                                      <img src="{{ asset('images/default_ship.jpg') }}" alt="{{ $Rec->title }}" class="main__vacancies-thing-pic">
                                  @endif
465aace57   Fedor   task-132687 minor...
188
                                  <span>@if (isset($Q->employer->name_company)) {{ $Q->employer->name_company }} @else Не определена @endif</span>
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
189
                              </div>
465aace57   Fedor   task-132687 minor...
190
191
192
193
                              <div class="main__employer-page-two-item-text">
                                  <div class="main__employer-page-two-item-text-name">
                                      <h3>@if (!empty($Q->name)) {{ $Q->name }}@else Не указано @endif </h3>
                                  </div>
ad0b69c97   Fedor   task-132687 tasks...
194
                              </div>
465aace57   Fedor   task-132687 minor...
195
196
197
198
199
                              <div class="main__employer-page-two-item-text">
                                  <div class="main__employer-page-two-item-text-name">Мы предлагаем:</div>
                                  <div class="main__employer-page-two-item-text-body">
                                      {!! $Q->text !!}
                                  </div>
ad0b69c97   Fedor   task-132687 tasks...
200
                              </div>
465aace57   Fedor   task-132687 minor...
201
202
203
                              <div class="main__employer-page-two-item-tags">
                                  @if (!empty($Q->jobs_code[0]->position_ship))
                                      <span class="main__employer-page-two-item-tag"> #{{ $Q->jobs_code[0]->position_ship }}</span>
ad0b69c97   Fedor   task-132687 tasks...
204
                                  @else
465aace57   Fedor   task-132687 minor...
205
206
207
208
                                      @if (isset($Q->jobs))
                                          @foreach ($Q->jobs as $key => $j)
                                              <span class="main__employer-page-two-item-tag"> #{{ $j->name }}</span>
                                          @endforeach
ad0b69c97   Fedor   task-132687 tasks...
209
210
                                      @endif
                                  @endif
465aace57   Fedor   task-132687 minor...
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
                              </div>
                              <div class="main__employer-page-two-item-buttons">
                                  @guest
                                      <button type="button"
                                              data-fancybox
                                              data-src="#question"
                                              data-options='{"touch":false,"autoFocus":false}'
                                              class="button main__employer-page-two-item-button">
                                          Откликнуться
                                      </button>
                                  @else
                                      @if (App\Classes\StatusUser::Status() == 1)
                                          <?php
                                              if (\App\Classes\Tools::getWorkerProfilePercent(Auth()->user()->workers[0]) > 50) {
                                                  $buttonId = 'ask_comment';
                                              } else {
                                                  $buttonId = 'ask_percent';
                                              }
                                          ?>
                                          <button type="button"
                                                  data-fancybox
                                                  data-src="#{{$buttonId}}"
                                                  data-vacancy="{{ $Q->id }}"
                                                  data-uid="{{ $uid }}"
                                                  data-tuid="{{ $Q->employer->user_id }}"
                                                  data-options='{"touch":false,"autoFocus":false}'
                                                  class="button main__employer-page-two-item-button {{ $buttonId }}">
                                              Откликнуться
                                          </button>
                                      @endif
                                  @endguest
                                  <a href="{{ route('vacancie', ['vacancy' => $Q->id]) }}"
                                     class="button button_light main__employer-page-two-item-button">
                                      Подробнее
                                  </a>
                              </div>
                              <div class="main__employer-page-two-item-bottom">
                                  <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y', strtotime($Q->updated_at)) }}</div>
                                  @guest
                                      <button type="button"
                                              data-fancybox
                                              data-src="#favorite_noauth"
                                              data-options='{"touch":false,"autoFocus":false}'
                                              class="like main__employer-page-two-item-bottom-like">
                                          <svg>
                                              <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use>
                                          </svg>
                                      </button>
                                  @else
                                      <button type="button" id="like{{ $Q->id }}" data-val="{{ $Q->id }}" class="like main__employer-page-two-item-bottom-like js-toggle js_vac_favorite {{ \App\Classes\LikesClass::get_status_vacancy($Q) }}">
                                          <svg>
                                              <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use>
                                          </svg>
                                      </button>
                                  @endguest
                              </div>
ad0b69c97   Fedor   task-132687 tasks...
267
                          </div>
465aace57   Fedor   task-132687 minor...
268
269
270
                          @php $i++ @endphp
                      @endforeach
                      <div style="margin-top: 20px">
b950f3956   Андрей Ларионов   Обновление по про...
271
                          {{ $Query->onEachSide(0)->appends($_GET)->links('paginate') }}
ad0b69c97   Fedor   task-132687 tasks...
272
                      </div>
7571b20fd   Андрей Ларионов   Коммит 13 марта 2024
273
                  </div>
5b68533bb   Андрей Ларионов   Работа над проект...
274
275
276
277
              </div>
          </div>
      </main>
  @endsection