Commit 96789e00262bd0a11cef9fdcb0adeec65b3bf6af
1 parent
03e95a0b59
Exists in
master
задаи 16,17,18 + частично 20
Showing 7 changed files with 167 additions and 91 deletions Side-by-side Diff
app/Http/Controllers/EmployerController.php
... | ... | @@ -258,20 +258,19 @@ class EmployerController extends Controller |
258 | 258 | $params = $request->all(); |
259 | 259 | $params_job["job_title_id"] = $params['job_title_id']; |
260 | 260 | |
261 | - //$jobs['flot'] = $params['flot']; | |
262 | - //$jobs['job_title_id'] = $params['job_title_id']; | |
263 | - //$titles['position_id'] = $params['position_id']; | |
264 | - //unset($params['job_title_id']); | |
265 | - //dd($params); | |
266 | 261 | $ad_employer->update($params); |
267 | 262 | $ad_employer->jobs()->sync($request->get('job_title_id')); |
268 | 263 | |
269 | - //$job_ = Ad_jobs::query()->where('job_title_id', $jobs['job_title_id'])-> | |
270 | - // where('ad_employer_id', $ad_employer->id)->first(); | |
271 | - //$data = Ad_jobs::find($job_->id); | |
272 | - //$ad_jobs = $data->update($jobs); | |
264 | + $id = Auth()->user()->id; | |
265 | + $Positions = Category::query()->where('is_remove', '=', '0')->get(); | |
266 | + $jobs = Job_title::query()->orderByDesc('sort')->OrderBy('name') | |
267 | + ->where('is_remove', '=', '0') | |
268 | + ->where('is_bd', '=', '0') | |
269 | + ->get(); | |
273 | 270 | |
274 | - return redirect()->route('employer.vacancy_list'); | |
271 | + $Employer = Employer::query() | |
272 | + ->with('users')->with('ads')->with('flots')->where('user_id', $id)->first(); | |
273 | + return view('employers.edit_vacancy', compact('ad_employer', 'Positions','Employer', 'jobs')); | |
275 | 274 | } |
276 | 275 | |
277 | 276 | // Сохранение карточки вакансии |
public/css/style_may2024.css
... | ... | @@ -4028,26 +4028,36 @@ h1 { |
4028 | 4028 | } |
4029 | 4029 | } |
4030 | 4030 | .main__resume-base-body-item-buttons { |
4031 | - display: -webkit-box; | |
4032 | - display: -ms-flexbox; | |
4033 | - display: flex; | |
4034 | - -webkit-box-orient: vertical; | |
4035 | - -webkit-box-direction: normal; | |
4036 | - -ms-flex-direction: column; | |
4037 | - flex-direction: column; | |
4038 | - -webkit-box-align: start; | |
4039 | - -ms-flex-align: start; | |
4040 | - align-items: flex-start; | |
4041 | - gap: 10px; | |
4042 | - position: absolute; | |
4043 | - top: 10px; | |
4044 | - right: 10px; | |
4031 | + margin-top: 10px; | |
4045 | 4032 | } |
4046 | -@media (min-width: 768px) { | |
4047 | - .main__resume-base-body-item-buttons { | |
4048 | - top: 20px; | |
4049 | - right: 20px; | |
4050 | - } | |
4033 | +.main__resume-base-body-item-buttons button, a.main__resume-base-body-item-link{ | |
4034 | + width: 100%; | |
4035 | + margin-bottom: 10px; | |
4036 | +} | |
4037 | +.main__resume-base-body-item-buttons a.main__resume-base-body-item-link{ | |
4038 | + background: #377d87; | |
4039 | + color: #fff; | |
4040 | +} | |
4041 | +.main__resume-base-body-item-buttons .chat.active{ | |
4042 | + background: #fff; | |
4043 | + color: #377d87; | |
4044 | +} | |
4045 | +.main__resume-base-body-item-buttons button.like.active{ | |
4046 | + background-color: #ffffff; | |
4047 | + color: #eb5757; | |
4048 | +} | |
4049 | +.main__resume-base-body-item-buttons button span{ | |
4050 | + margin-left: 10px; | |
4051 | +} | |
4052 | +.main__resume-base-body-item-buttons .like .in-favorites{ | |
4053 | + display: none; | |
4054 | +} | |
4055 | +.main__resume-base-body-item-buttons .like.active .in-favorites{ | |
4056 | + display: block; | |
4057 | + color: #eb5757; | |
4058 | +} | |
4059 | +.main__resume-base-body-item-buttons .like.active .to-favorites{ | |
4060 | + display: none; | |
4051 | 4061 | } |
4052 | 4062 | .main__resume-base-body-item-wrapper { |
4053 | 4063 | display: -webkit-box; |
... | ... | @@ -4093,6 +4103,29 @@ h1 { |
4093 | 4103 | flex-direction: column; |
4094 | 4104 | gap: 10px; |
4095 | 4105 | width: 100%; |
4106 | + row-gap: 10px; | |
4107 | +} | |
4108 | +.main__resume-base-body-item-inner .horizontal{ | |
4109 | + -webkit-box-orient: horizontal; | |
4110 | + -ms-flex-direction: unset; | |
4111 | + flex-direction: row; | |
4112 | + align-items: start; | |
4113 | +} | |
4114 | +.main__resume-base-item-status{ | |
4115 | + width: fit-content; | |
4116 | + background-color: #e6e6e6; | |
4117 | + font-weight: bold; | |
4118 | + padding: 5px 10px; | |
4119 | + border-radius: 8px; | |
4120 | +} | |
4121 | +.main__resume-base-item-status.looking-for-job{ | |
4122 | + background-color: #eb5757; | |
4123 | + color: #fff; | |
4124 | +} | |
4125 | +.main__resume-base-item-updated-at{ | |
4126 | + padding: 5px 10px; | |
4127 | + border-radius: 8px; | |
4128 | + border: 1px #e6e6e6 solid; | |
4096 | 4129 | } |
4097 | 4130 | @media (min-width: 768px) { |
4098 | 4131 | .main__resume-base-body-item-inner { |
... | ... | @@ -4105,6 +4138,7 @@ h1 { |
4105 | 4138 | display: grid; |
4106 | 4139 | grid-template-columns: repeat(2, 1fr); |
4107 | 4140 | gap: 30px; |
4141 | + row-gap: 10px; | |
4108 | 4142 | } |
4109 | 4143 | } |
4110 | 4144 | .main__resume-base-body-item-inner div { |
resources/views/ajax/list_vacancies.blade.php
... | ... | @@ -109,7 +109,7 @@ |
109 | 109 | <a href="{{ route('vacancie', ['vacancy' => $Q->id]) }}" class="button button_light main__employer-page-two-item-button">Подробнее</a> |
110 | 110 | </div> |
111 | 111 | <div class="main__employer-page-two-item-bottom"> |
112 | - <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y H:i:s', strtotime($Q->created_at)) }}</div> | |
112 | + <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y', strtotime($Q->updated_at)) }}</div> | |
113 | 113 | <button type="button" data-val="{{ $Q->id }}" class="like main__employer-page-two-item-bottom-like js-toggle js_vacancy_favorites <?=App\Classes\Cookies_vacancy::selected_vacancy($Q->id);?>"> |
114 | 114 | <svg> |
115 | 115 | <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use> |
resources/views/list_vacancies.blade.php
... | ... | @@ -304,7 +304,7 @@ |
304 | 304 | <a href="{{ route('vacancie', ['vacancy' => $Q->id]) }}" class="button button_light main__employer-page-two-item-button">Подробнее</a> |
305 | 305 | </div> |
306 | 306 | <div class="main__employer-page-two-item-bottom"> |
307 | - <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y H:i:s', strtotime($Q->created_at)) }}</div> | |
307 | + <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y', strtotime($Q->updated_at)) }}</div> | |
308 | 308 | <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) }}"> |
309 | 309 | <svg> |
310 | 310 | <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use> |
resources/views/modals/send_employer.blade.php
... | ... | @@ -15,13 +15,13 @@ |
15 | 15 | <div class="modal__text">Если у вас есть предложение, вы можете сделать конретное предложение</div> |
16 | 16 | <form class="modal__form" id="form_from_emp" name="form_from_emp" enctype="multipart/form-data" action="{{ route('employer.new_message') }}" method="POST"> |
17 | 17 | @csrf |
18 | - <div class="modal__form-item" style="display:block"> | |
19 | - Отправитель сообщения: | |
20 | - <input type="text" id="_user_id" name="_user_id" class="input" placeholder="user_id" value=""> | |
21 | - Получатель сообщения: | |
22 | - <input type="text" id="_to_user_id" name="_to_user_id" class="input" placeholder="to_user_id" value=""> | |
23 | - Вакансия: | |
24 | - <input type="text" id="_vacancy" name="_vacancy" class="input" placeholder="vacancy" value=""> | |
18 | + <div class="modal__form-item" style="display:none"> | |
19 | + <!-- Отправитель сообщения: --> | |
20 | + <input type="hidden" id="_user_id" name="_user_id" class="input" placeholder="user_id" value=""> | |
21 | + <!-- Получатель сообщения: --> | |
22 | + <input type="hidden" id="_to_user_id" name="_to_user_id" class="input" placeholder="to_user_id" value=""> | |
23 | + <!-- Вакансия: --> | |
24 | + <input type="hidden" id="_vacancy" name="_vacancy" class="input" placeholder="vacancy" value=""> | |
25 | 25 | </div> |
26 | 26 | <div class="modal__form-item"> |
27 | 27 | <input id="i1" type="text" name="title" class="input" placeholder="Тема" required> |
resources/views/resume.blade.php
... | ... | @@ -324,78 +324,121 @@ |
324 | 324 | <div class="main__resume-base-body-one" id="block1" name="block1"> |
325 | 325 | @if ($resumes->count()) |
326 | 326 | @foreach ($resumes as $res) |
327 | - <div class="main__resume-base-body-item"> | |
328 | - <div class="main__resume-base-body-item-buttons"> | |
329 | - <button type="button" data-id="{{ $res->id }}" id="elem{{ $res->id }}" class="like js-toggle js_box_favorit {{ \App\Classes\LikesClass::get_status_worker($res) }}" data-val="{{ $res->id }}"> | |
330 | - <svg> | |
331 | - <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use> | |
332 | - </svg> | |
333 | - </button> | |
334 | - @guest | |
335 | - <button type="button" data-fancybox data-src="#question" data-options='{"touch":false,"autoFocus":false}' | |
336 | - class="chat js-toggle js_it_button"> | |
337 | - <svg> | |
338 | - <use xlink:href="{{ asset('images/sprite.svg#chat') }}"></use> | |
339 | - </svg> | |
340 | - </button> | |
341 | - @else | |
342 | - @if (App\Classes\StatusUser::Status()==0) | |
343 | - @if ((!Auth()->user()->is_worker) && (Auth()->user()->is_message)) | |
344 | - <button type="button" class="chat js-toggle js_it_button" data-fancybox data-src="#send2" data-vacancy="0" data-uid="{{ $idiot}}" data-tuid="{{ $res->users->id }}" data-options='{"touch":false,"autoFocus":false}'> | |
345 | - <svg> | |
346 | - <use xlink:href="{{ asset('images/sprite.svg#chat') }}"></use> | |
347 | - </svg> | |
348 | - </button> | |
349 | - @endif | |
350 | - @else | |
351 | - <button type="button" data-fancybox data-src="#question2" data-options='{"touch":false,"autoFocus":false}' | |
352 | - class="chat js-toggle js_it_button"> | |
353 | - <svg> | |
354 | - <use xlink:href="{{ asset('images/sprite.svg#chat') }}"></use> | |
355 | - </svg> | |
356 | - </button> | |
357 | - @endif | |
358 | - @endif | |
359 | - </div> | |
327 | + <div class="main__resume-base-body-item"> | |
360 | 328 | <div class="main__resume-base-body-item-wrapper"> |
361 | - <img src="@isset ($res->photo) {{ asset(Storage::url($res->photo)) }} @else {{ asset('images/default_man.jpg')}} @endif" alt="" class="main__resume-base-body-item-photo"> | |
329 | + <div> | |
330 | + <img src="@isset ($res->photo) {{ asset(Storage::url($res->photo)) }} @else {{ asset('images/default_man.jpg')}} @endif" alt="" class="main__resume-base-body-item-photo"> | |
331 | + <div> | |
332 | + <div class="main__resume-base-body-item-buttons"> | |
333 | + <button type="button" data-id="{{ $res->id }}" id="elem{{ $res->id }}" class="like js-toggle js_box_favorit {{ \App\Classes\LikesClass::get_status_worker($res) }}" data-val="{{ $res->id }}"> | |
334 | + <svg> | |
335 | + <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use> | |
336 | + </svg> | |
337 | + <span class="to-favorites">В избранное</span> | |
338 | + <span class="in-favorites">В избранном</span> | |
339 | + </button> | |
340 | + | |
341 | + @guest | |
342 | + <button type="button" data-fancybox data-src="#question" data-options='{"touch":false,"autoFocus":false}' | |
343 | + class="chat js-toggle js_it_button"> | |
344 | + <svg> | |
345 | + <use xlink:href="{{ asset('images/sprite.svg#chat') }}"></use> | |
346 | + </svg> | |
347 | + <span>Написать</span> | |
348 | + </button> | |
349 | + @else | |
350 | + @if (App\Classes\StatusUser::Status()==0) | |
351 | + @if ((!Auth()->user()->is_worker) && (Auth()->user()->is_message)) | |
352 | + <button type="button" class="chat js-toggle js_it_button" data-fancybox data-src="#send2" data-vacancy="0" data-uid="{{ $idiot}}" data-tuid="{{ $res->users->id }}" data-options='{"touch":false,"autoFocus":false}'> | |
353 | + <svg> | |
354 | + <use xlink:href="{{ asset('images/sprite.svg#chat') }}"></use> | |
355 | + </svg> | |
356 | + <span>Написать</span> | |
357 | + </button> | |
358 | + @endif | |
359 | + @else | |
360 | + <button type="button" data-fancybox data-src="#question2" data-options='{"touch":false,"autoFocus":false}' | |
361 | + class="chat js-toggle js_it_button"> | |
362 | + <svg> | |
363 | + <use xlink:href="{{ asset('images/sprite.svg#chat') }}"></use> | |
364 | + </svg> | |
365 | + <span>Написать</span> | |
366 | + </button> | |
367 | + @endif | |
368 | + @endif | |
369 | + | |
370 | + <a href="{{ route('resume_profile', ['worker' => $res->id]) }}" class="button button_light main__resume-base-body-item-link">Подробнее</a> | |
371 | + </div> | |
372 | + </div> | |
373 | + </div> | |
362 | 374 | <div class="main__resume-base-body-item-inner"> |
375 | + <div class="horizontal"> | |
376 | + <div class="main__resume-base-item-status @if ($res->status_work == 0) looking-for-job @endif"> | |
377 | + {{ $status_work[$res->status_work] }} | |
378 | + </div> | |
379 | + <div class="main__resume-base-item-updated-at"> | |
380 | + Обновлено: {{ date('d.m.Y', strtotime($res->updated_at)) }} | |
381 | + </div> | |
382 | + </div> | |
363 | 383 | <div> |
364 | - <b>Статус</b> | |
365 | - <span>{{ $status_work[$res->status_work] }}</span> | |
384 | + <b>Предпочтение по типу судна:</b> | |
385 | + <span></span> | |
366 | 386 | </div> |
367 | 387 | <div> |
368 | - <b>Имя работника</b> | |
388 | + <b>ФИО:</b> | |
369 | 389 | <span>@if (isset($res->users)){{ $res->users->surname." ".$res->users->name_man." ".$res->users->surname2 }} @endif</span> |
370 | 390 | </div> |
371 | 391 | <div> |
372 | - <b>Номер телефона</b> | |
373 | - <span><a href="tel:{{ $res->telephone }}">{{ $res->telephone }}</a></span> | |
392 | + <b>Наличие визы:</b> | |
374 | 393 | </div> |
375 | 394 | <div> |
376 | - <b>Электронный адрес</b> | |
377 | - <span><a href="mailto:{{ $res->email }}">{{ $res->email }}</a></span> | |
395 | + <b>Возраст:</b> | |
396 | + <span>@if (isset($res->old_year)) {{ $res->old_year }} @else - @endif</span> | |
397 | + </div> | |
398 | + <div> | |
399 | + <b>Наличие танкерных документов:</b> | |
400 | + </div> | |
401 | + <div> | |
402 | + <b>Желаемые вакансии:</b> | |
403 | + <span> | |
404 | + @if ($res->job_titles->count()) | |
405 | + @foreach ($res->job_titles as $job_title) | |
406 | + {{ $job_title->name }} | |
407 | + @if (!$loop->last) / @endif | |
408 | + @endforeach | |
409 | + @endif | |
410 | + </span> | |
411 | + </div> | |
412 | + <div> | |
413 | + <b>Наличие подтверждения для работы на ВВП:</b> | |
414 | + </div> | |
415 | + <div> | |
416 | + <b>Пожелание к З/П:</b> | |
378 | 417 | </div> |
379 | 418 | <div> |
380 | 419 | <b>Город проживания</b> |
381 | 420 | <span>{{ $res->city }}</span> |
382 | 421 | </div> |
383 | 422 | <div> |
384 | - <b>Опыт работы</b> | |
423 | + <b>Уровень английского:</b> | |
424 | + </div> | |
425 | + <div> | |
426 | + <b>Номер телефона</b> | |
427 | + <span><a href="tel:{{ $res->telephone }}">{{ $res->telephone }}</a></span> | |
428 | + </div> | |
429 | + <div> | |
430 | + <b>Дата готовности к посадке:</b> | |
431 | + </div> | |
432 | + <div> | |
433 | + <b>E-mail:</b> | |
434 | + <span><a href="mailto:{{ $res->email }}">{{ $res->email }}</a></span> | |
435 | + </div> | |
436 | + <div> | |
437 | + <b>Опыт работы:</b> | |
385 | 438 | <span>{{ $res->experience }}</span> |
386 | 439 | </div> |
387 | 440 | </div> |
388 | 441 | </div> |
389 | - <div class="main__employer-page-two-item-tags"> | |
390 | - @if ($res->job_titles->count()) | |
391 | - @if (isset($res->job_titles)) | |
392 | - @foreach ($res->job_titles as $key => $j) | |
393 | - <span class="main__employer-page-two-item-tag">#{{ $j->name }}</span> | |
394 | - @endforeach | |
395 | - @endif | |
396 | - @endif | |
397 | - </div> | |
398 | - <a href="{{ route('resume_profile', ['worker' => $res->id]) }}" class="button button_light main__resume-base-body-item-link">Перейти в резюме</a> | |
399 | 442 | </div> |
400 | 443 | @endforeach |
401 | 444 |
resources/views/vacance-item.blade.php
... | ... | @@ -174,7 +174,7 @@ |
174 | 174 | @endguest |
175 | 175 | </div> |
176 | 176 | <div class="main__employer-page-two-item-bottom"> |
177 | - <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y H:i:s', strtotime($Q->created_at)) }}</div> | |
177 | + <div class="main__employer-page-two-item-bottom-date">{{ date('d.m.Y', strtotime($Q->updated_at)) }}</div> | |
178 | 178 | <button type="button" id="like{{ $Q->id }}" data-val="{{ $Q->id }}" class="like main__employer-page-two-item-bottom-like js_vac_favorite js-toggle {{ \App\Classes\LikesClass::get_status_vacancy($Q) }}"> |
179 | 179 | <svg> |
180 | 180 | <use xlink:href="{{ asset('images/sprite.svg#heart') }}"></use> |