Commit 96789e00262bd0a11cef9fdcb0adeec65b3bf6af

Authored by Сергей П
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>