Commit d4632b7a2f54a0e0e150259965625d1089576c1b
1 parent
2de26f97a8
Exists in
master
Анкета работника
Showing 18 changed files with 1902 additions and 808 deletions Side-by-side Diff
- app/Http/Controllers/WorkerController.php
- app/Models/User.php
- app/Models/Worker.php
- database/migrations/2024_06_26_152119_alert_workers_table.php
- database/migrations/2024_06_27_124222_alert_sertifications_table.php
- public/css/helpers.css
- public/css/style_may2024.css
- resources/views/layout/frontend.blade.php
- resources/views/workers/cabinet.blade.php
- resources/views/workers/cabinet_layout.blade.php
- resources/views/workers/docs-edit.blade.php
- resources/views/workers/form_additional_documents.blade.php
- resources/views/workers/form_basic_information.blade.php
- resources/views/workers/prev_company_edit_form.blade.php
- resources/views/workers/prev_company_form.blade.php
- resources/views/workers/sertificate_add.blade.php
- resources/views/workers/sertificate_edit.blade.php
- routes/web.php
app/Http/Controllers/WorkerController.php
... | ... | @@ -3,23 +3,18 @@ |
3 | 3 | namespace App\Http\Controllers; |
4 | 4 | |
5 | 5 | use App\Classes\RusDate; |
6 | -use App\Http\Requests\BaseUserRequest; | |
7 | 6 | use App\Http\Requests\DocumentsRequest; |
8 | 7 | use App\Http\Requests\PrevCompanyRequest; |
9 | 8 | use App\Http\Requests\SertificationRequest; |
10 | 9 | use App\Models\Ad_employer; |
11 | 10 | use App\Models\ad_response; |
12 | -use App\Models\Category; | |
13 | 11 | use App\Models\Dop_info; |
14 | -use App\Models\Employer; | |
15 | 12 | use App\Models\infobloks; |
16 | 13 | use App\Models\Job_title; |
17 | 14 | use App\Models\Like_vacancy; |
18 | -use App\Models\Like_worker; | |
19 | 15 | use App\Models\Message; |
20 | 16 | use App\Models\place_works; |
21 | 17 | use App\Models\PrevCompany; |
22 | -use App\Models\reclame; | |
23 | 18 | use App\Models\ResponseWork; |
24 | 19 | use App\Models\sertification; |
25 | 20 | use App\Models\Static_worker; |
... | ... | @@ -31,8 +26,6 @@ use Barryvdh\DomPDF\Facade\Pdf; |
31 | 26 | use Carbon\Carbon; |
32 | 27 | use Illuminate\Auth\Events\Registered; |
33 | 28 | use Illuminate\Database\Eloquent\Builder; |
34 | -use Illuminate\Database\Eloquent\Model; | |
35 | -use Illuminate\Http\JsonResponse; | |
36 | 29 | use Illuminate\Http\Request; |
37 | 30 | use Illuminate\Support\Facades\Auth; |
38 | 31 | use Illuminate\Support\Facades\Hash; |
... | ... | @@ -42,6 +35,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet; |
42 | 35 | use PhpOffice\PhpSpreadsheet\Writer\Xlsx; |
43 | 36 | use Symfony\Component\HttpFoundation\StreamedResponse; |
44 | 37 | use App\Enums\DbExportColumns; |
38 | +use DateTime; | |
45 | 39 | |
46 | 40 | class WorkerController extends Controller |
47 | 41 | { |
... | ... | @@ -154,6 +148,51 @@ class WorkerController extends Controller |
154 | 148 | } |
155 | 149 | } |
156 | 150 | |
151 | + public function basic_information(){ | |
152 | + if (!isset(Auth()->user()->id)) { | |
153 | + abort(404); | |
154 | + } | |
155 | + | |
156 | + $user_id = Auth()->user()->id; | |
157 | + | |
158 | + $user = User::query() | |
159 | + ->with('workers') | |
160 | + ->with(['jobtitles' => function ($query) { | |
161 | + $query->select('job_titles.id'); | |
162 | + }]) | |
163 | + ->where('id', '=', $user_id) | |
164 | + ->first(); | |
165 | + $user->workers[0]->job_titles = $user->workers[0]->job_titles->pluck('id')->toArray(); | |
166 | + | |
167 | + $job_titles = Job_title::all()->sortBy('name'); | |
168 | + | |
169 | + return view('workers.form_basic_information', compact('user', 'job_titles')); | |
170 | + } | |
171 | + | |
172 | + public function additional_documents(){ | |
173 | + if (!isset(Auth()->user()->id)) { | |
174 | + abort(404); | |
175 | + } | |
176 | + | |
177 | + $user_id = Auth()->user()->id; | |
178 | + | |
179 | + $info_blocks = infobloks::query()->OrderBy('name')->get(); | |
180 | + $additional_document_statuses = [0 => 'Не указано', 1 => 'В наличии', 2 => 'Отсутствует']; | |
181 | + | |
182 | + $worker = Worker::query() | |
183 | + ->with('users') | |
184 | + ->with('infobloks') | |
185 | + ->WhereHas('users', function (Builder $query) use ($user_id) { | |
186 | + $query->Where('id', $user_id); | |
187 | + }) | |
188 | + ->first(); | |
189 | + if ($worker->dop_info->count()){ | |
190 | + $worker->dop_info = $worker->dop_info->keyBy('infoblok_id')->toArray(); | |
191 | + } | |
192 | + | |
193 | + return view('workers.form_additional_documents', compact('worker', 'info_blocks', 'additional_document_statuses')); | |
194 | + } | |
195 | + | |
157 | 196 | //Лайк резюме |
158 | 197 | public function like_controller() { |
159 | 198 | |
... | ... | @@ -293,7 +332,7 @@ class WorkerController extends Controller |
293 | 332 | $Job_titles = Job_title::query()->where('is_remove', '=', '0')-> |
294 | 333 | where('is_bd', '=' , '1')-> |
295 | 334 | OrderByDesc('sort')->OrderBy('name')->get(); |
296 | - $Infoblocks = infobloks::query()->OrderBy('name')->get(); | |
335 | + | |
297 | 336 | |
298 | 337 | $stat = Static_worker::query()->where('year_month', '=', $get_date) |
299 | 338 | ->where('user_id', '=', $id) |
... | ... | @@ -342,10 +381,34 @@ class WorkerController extends Controller |
342 | 381 | $persent = $persent + 5; |
343 | 382 | $persent5 = 5; |
344 | 383 | } |
384 | + | |
385 | + $status_work = $this->status_work; | |
386 | + $additional_document_statuses = [0 => 'Не указано', 1 => 'В наличии', 2 => 'Отсутствует']; | |
387 | + $info_blocks = infobloks::query()->OrderBy('name')->get(); | |
388 | + | |
389 | + $worker = Worker::query() | |
390 | + ->with('users') | |
391 | + ->with('sertificate') | |
392 | + ->with('prev_company') | |
393 | + ->with('infobloks') | |
394 | + ->with('place_worker') | |
395 | + ->with('job_titles') | |
396 | + ->WhereHas('users', function (Builder $query) use ($id) { | |
397 | + $query->Where('id', $id); | |
398 | + }) | |
399 | + ->first(); | |
400 | + if ($worker->dop_info->count()){ | |
401 | + $worker->dop_info = $worker->dop_info->keyBy('infoblok_id')->toArray(); | |
402 | + } | |
403 | + | |
404 | + //dd($worker->dop_info); | |
405 | + | |
345 | 406 | if ($request->has('print')) { |
346 | 407 | dd($Worker); |
347 | 408 | } else { |
348 | - return view('workers.cabinet', compact('Worker', 'Infobloks', 'persent', 'Job_titles', 'Infoblocks', 'stat')); | |
409 | + return view('workers.cabinet', compact( 'persent', 'Job_titles', 'stat', | |
410 | + 'worker', 'info_blocks', 'status_work', 'additional_document_statuses' | |
411 | + )); | |
349 | 412 | } |
350 | 413 | } |
351 | 414 | |
... | ... | @@ -354,20 +417,8 @@ class WorkerController extends Controller |
354 | 417 | { |
355 | 418 | $id = $worker->id; |
356 | 419 | $params = $request->all(); |
357 | - | |
358 | 420 | $job_title_id = $request->get('job_title_id'); |
359 | 421 | |
360 | - unset($params['new_diplom']); | |
361 | - unset($params['new_data_begin']); | |
362 | - unset($params['new_data_end']); | |
363 | - unset($params['new_job_title']); | |
364 | - unset($params['new_teplohod']); | |
365 | - unset($params['new_GWT']); | |
366 | - unset($params['new_KBT']); | |
367 | - unset($params['new_Begin_work']); | |
368 | - unset($params['new_End_work']); | |
369 | - unset($params['new_name_company']); | |
370 | - | |
371 | 422 | $rules = [ |
372 | 423 | 'surname' => ['required', 'string', 'max:255'], |
373 | 424 | 'name_man' => ['required', 'string', 'max:255'], |
... | ... | @@ -396,20 +447,20 @@ class WorkerController extends Controller |
396 | 447 | } else { |
397 | 448 | |
398 | 449 | if ($request->has('photo')) { |
399 | - if (!empty($Worker->photo)) { | |
400 | - Storage::delete($Worker->photo); | |
450 | + if (!empty($worker->photo)) { | |
451 | + Storage::delete($worker->photo); | |
401 | 452 | } |
402 | 453 | $params['photo'] = $request->file('photo')->store("worker/$id", 'public'); |
403 | 454 | } |
404 | 455 | |
405 | 456 | if ($request->has('file')) { |
406 | - if (!empty($Worker->file)) { | |
407 | - Storage::delete($Worker->file); | |
457 | + if (!empty($worker->file)) { | |
458 | + Storage::delete($worker->file); | |
408 | 459 | } |
409 | 460 | $params['file'] = $request->file('file')->store("worker/$id", 'public'); |
410 | 461 | } |
411 | 462 | |
412 | - $id_wor = $worker->update($params); | |
463 | + $worker->update($params); | |
413 | 464 | $use = User::find($worker->user_id); |
414 | 465 | $use->surname = $request->get('surname'); |
415 | 466 | $use->name_man = $request->get('name_man'); |
... | ... | @@ -418,7 +469,7 @@ class WorkerController extends Controller |
418 | 469 | $use->save(); |
419 | 470 | $worker->job_titles()->sync($job_title_id); |
420 | 471 | |
421 | - return redirect()->route('worker.cabinet')->with('success', 'Данные были успешно сохранены'); | |
472 | + return redirect()->route('worker.basic_information')->with('success', 'Данные были успешно сохранены'); | |
422 | 473 | } |
423 | 474 | } |
424 | 475 | |
... | ... | @@ -822,8 +873,20 @@ class WorkerController extends Controller |
822 | 873 | |
823 | 874 | // Добавление сертификата |
824 | 875 | public function add_serificate(SertificationRequest $request) { |
876 | + $request->validate([ | |
877 | + 'name' => 'required|string|max:255', | |
878 | + 'end_begin' => 'required|date|date_format:d.m.Y' | |
879 | + ], | |
880 | + [ | |
881 | + 'name' => 'Навание сертификата обязательно для заполнения.', | |
882 | + 'end_begin' => 'Формат даты должен соответствовать дд.мм.гггг' | |
883 | + ]); | |
884 | + | |
825 | 885 | $params = $request->all(); |
826 | 886 | |
887 | + $end_begin = DateTime::createFromFormat('d.m.Y', $params['end_begin']); | |
888 | + $params['end_begin'] = $end_begin->format('Y-m-d'); | |
889 | + | |
827 | 890 | $Sertificate = new sertification(); |
828 | 891 | $Sertificate->create($params); |
829 | 892 | $Docs = sertification::query()->where('worker_id', $request->get('worker_id'))->get(); |
... | ... | @@ -845,7 +908,20 @@ class WorkerController extends Controller |
845 | 908 | |
846 | 909 | // Редактирование обновление сертификата |
847 | 910 | public function update_serificate(SertificationRequest $request, sertification $doc) { |
911 | + $request->validate([ | |
912 | + 'name' => 'required|string|max:255', | |
913 | + 'end_begin' => 'required|date|date_format:d.m.Y' | |
914 | + ], | |
915 | + [ | |
916 | + 'name' => 'Навание сертификата обязательно для заполнения.', | |
917 | + 'end_begin' => 'Формат даты должен соответствовать дд.мм.гггг' | |
918 | + ]); | |
919 | + | |
848 | 920 | $all = $request->all(); |
921 | + | |
922 | + $end_begin = DateTime::createFromFormat('d.m.Y', $all['end_begin']); | |
923 | + $all['end_begin'] = $end_begin->format('Y-m-d'); | |
924 | + | |
849 | 925 | $doc->worker_id = $all['worker_id']; |
850 | 926 | $doc->name = $all['name']; |
851 | 927 | $doc->end_begin = $all['end_begin']; |
app/Models/User.php
... | ... | @@ -129,7 +129,7 @@ class User extends Authenticatable |
129 | 129 | многие-ко-многим |
130 | 130 | */ |
131 | 131 | public function jobtitles() { |
132 | - return $this->belongsToMany(Job_title::class, 'Workers', 'user_id', 'position_work'); | |
132 | + return $this->belongsToMany(Job_title::class, 'workers', 'user_id', 'position_work'); | |
133 | 133 | } |
134 | 134 | |
135 | 135 | public function scopeActive($query) { |
app/Models/Worker.php
... | ... | @@ -45,7 +45,15 @@ class Worker extends Model |
45 | 45 | 'file', |
46 | 46 | 'is_remove', |
47 | 47 | 'favorite_user', |
48 | - 'sroch_user' | |
48 | + 'sroch_user', | |
49 | + 'salary_expectations', | |
50 | + 'english_level', | |
51 | + 'ready_boart_date', | |
52 | + 'boart_type_preference', | |
53 | + 'visa_available', | |
54 | + 'tanker_documents_available', | |
55 | + 'confirmation_work_for_vvp', | |
56 | + 'military_id_available' | |
49 | 57 | ]; |
50 | 58 | |
51 | 59 | /* |
database/migrations/2024_06_26_152119_alert_workers_table.php
... | ... | @@ -0,0 +1,46 @@ |
1 | +<?php | |
2 | + | |
3 | +use Illuminate\Database\Migrations\Migration; | |
4 | +use Illuminate\Database\Schema\Blueprint; | |
5 | +use Illuminate\Support\Facades\Schema; | |
6 | + | |
7 | +return new class extends Migration | |
8 | +{ | |
9 | + /** | |
10 | + * Run the migrations. | |
11 | + * | |
12 | + * @return void | |
13 | + */ | |
14 | + public function up() | |
15 | + { | |
16 | + Schema::table('workers', function (Blueprint $table) { | |
17 | + $table->string('salary_expectations', 255)->nullable(); | |
18 | + $table->string('english_level', 255)->nullable(); | |
19 | + $table->string('ready_boart_date', 255)->nullable(); | |
20 | + $table->string('boart_type_preference', 255)->nullable(); | |
21 | + $table->string('visa_available', 255)->nullable(); | |
22 | + $table->string('tanker_documents_available', 255)->nullable(); | |
23 | + $table->string('confirmation_work_for_vvp', 255)->nullable(); | |
24 | + $table->string('military_id_available', 255)->nullable(); | |
25 | + }); | |
26 | + } | |
27 | + | |
28 | + /** | |
29 | + * Reverse the migrations. | |
30 | + * | |
31 | + * @return void | |
32 | + */ | |
33 | + public function down() | |
34 | + { | |
35 | + Schema::table('workers', function (Blueprint $table) { | |
36 | + $table->dropColumn('salary_expectations'); | |
37 | + $table->dropColumn('english_level'); | |
38 | + $table->dropColumn('ready_boart_date'); | |
39 | + $table->dropColumn('boart_type_preference'); | |
40 | + $table->dropColumn('visa_available'); | |
41 | + $table->dropColumn('tanker_documents_available'); | |
42 | + $table->dropColumn('confirmation_work_for_vvp'); | |
43 | + $table->dropColumn('military_id_available'); | |
44 | + }); | |
45 | + } | |
46 | +}; |
database/migrations/2024_06_27_124222_alert_sertifications_table.php
... | ... | @@ -0,0 +1,32 @@ |
1 | +<?php | |
2 | + | |
3 | +use Illuminate\Database\Migrations\Migration; | |
4 | +use Illuminate\Database\Schema\Blueprint; | |
5 | +use Illuminate\Support\Facades\Schema; | |
6 | + | |
7 | +return new class extends Migration | |
8 | +{ | |
9 | + /** | |
10 | + * Run the migrations. | |
11 | + * | |
12 | + * @return void | |
13 | + */ | |
14 | + public function up() | |
15 | + { | |
16 | + Schema::table('sertifications', function (Blueprint $table) { | |
17 | + $table->string('education', 255)->nullable()->change(); | |
18 | + }); | |
19 | + } | |
20 | + | |
21 | + /** | |
22 | + * Reverse the migrations. | |
23 | + * | |
24 | + * @return void | |
25 | + */ | |
26 | + public function down() | |
27 | + { | |
28 | + Schema::table('sertifications', function (Blueprint $table) { | |
29 | + $table->string('education', 255)->nullable(false)->change(); | |
30 | + }); | |
31 | + } | |
32 | +}; |
public/css/helpers.css
... | ... | @@ -0,0 +1,899 @@ |
1 | +.ma-0 { | |
2 | + margin: 0px !important; | |
3 | +} | |
4 | + | |
5 | +.mb-0 { | |
6 | + margin-bottom: 0px !important; | |
7 | +} | |
8 | + | |
9 | +.mt-0 { | |
10 | + margin-top: 0px !important; | |
11 | +} | |
12 | + | |
13 | +.mr-0 { | |
14 | + margin-right: 0px !important; | |
15 | +} | |
16 | + | |
17 | +.ml-0 { | |
18 | + margin-left: 0px !important; | |
19 | +} | |
20 | + | |
21 | +.mt-1 { | |
22 | + margin-top: 1px !important; | |
23 | +} | |
24 | + | |
25 | +.mt-2 { | |
26 | + margin-top: 2px !important; | |
27 | +} | |
28 | + | |
29 | +.mt-3 { | |
30 | + margin-top: 3px !important; | |
31 | +} | |
32 | + | |
33 | +.mt-4 { | |
34 | + margin-top: 4px !important; | |
35 | +} | |
36 | + | |
37 | +.mt-5 { | |
38 | + margin-top: 5px !important; | |
39 | +} | |
40 | + | |
41 | +.mt-6 { | |
42 | + margin-top: 6px !important; | |
43 | +} | |
44 | + | |
45 | +.mt-7 { | |
46 | + margin-top: 7px !important; | |
47 | +} | |
48 | + | |
49 | +.mt-8 { | |
50 | + margin-top: 8px !important; | |
51 | +} | |
52 | + | |
53 | +.mt-9 { | |
54 | + margin-top: 9px !important; | |
55 | +} | |
56 | + | |
57 | +.mt-10 { | |
58 | + margin-top: 10px !important; | |
59 | +} | |
60 | + | |
61 | +.mt-11 { | |
62 | + margin-top: 11px !important; | |
63 | +} | |
64 | + | |
65 | +.mt-12 { | |
66 | + margin-top: 12px !important; | |
67 | +} | |
68 | + | |
69 | +.mt-13 { | |
70 | + margin-top: 13px !important; | |
71 | +} | |
72 | + | |
73 | +.mt-14 { | |
74 | + margin-top: 14px !important; | |
75 | +} | |
76 | + | |
77 | +.mt-15 { | |
78 | + margin-top: 15px !important; | |
79 | +} | |
80 | + | |
81 | +.mt-16 { | |
82 | + margin-top: 16px !important; | |
83 | +} | |
84 | + | |
85 | +.mt-17 { | |
86 | + margin-top: 17px !important; | |
87 | +} | |
88 | + | |
89 | +.mt-18 { | |
90 | + margin-top: 18px !important; | |
91 | +} | |
92 | + | |
93 | +.mt-19 { | |
94 | + margin-top: 19px !important; | |
95 | +} | |
96 | + | |
97 | +.mt-20 { | |
98 | + margin-top: 20px !important; | |
99 | +} | |
100 | + | |
101 | +.mt-25 { | |
102 | + margin-top: 25px !important; | |
103 | +} | |
104 | + | |
105 | +.mt-30 { | |
106 | + margin-top: 30px !important; | |
107 | +} | |
108 | + | |
109 | +.mt-35 { | |
110 | + margin-top: 35px !important; | |
111 | +} | |
112 | + | |
113 | +.mt-40 { | |
114 | + margin-top: 40px !important; | |
115 | +} | |
116 | + | |
117 | +.mt-50 { | |
118 | + margin-top: 50px !important; | |
119 | +} | |
120 | + | |
121 | +.mt-60 { | |
122 | + margin-top: 60px !important; | |
123 | +} | |
124 | + | |
125 | +.mb-1 { | |
126 | + margin-bottom: 1px !important; | |
127 | +} | |
128 | + | |
129 | +.mb-2 { | |
130 | + margin-bottom: 2px !important; | |
131 | +} | |
132 | + | |
133 | +.mb-3 { | |
134 | + margin-bottom: 3px !important; | |
135 | +} | |
136 | + | |
137 | +.mb-4 { | |
138 | + margin-bottom: 4px !important; | |
139 | +} | |
140 | + | |
141 | +.mb-5 { | |
142 | + margin-bottom: 5px !important; | |
143 | +} | |
144 | + | |
145 | +.mb-6 { | |
146 | + margin-bottom: 6px !important; | |
147 | +} | |
148 | + | |
149 | +.mb-7 { | |
150 | + margin-bottom: 7px !important; | |
151 | +} | |
152 | + | |
153 | +.mb-10 { | |
154 | + margin-bottom: 10px !important; | |
155 | +} | |
156 | + | |
157 | +.mb-12 { | |
158 | + margin-bottom: 12px !important; | |
159 | +} | |
160 | + | |
161 | +.mb-15 { | |
162 | + margin-bottom: 15px !important; | |
163 | +} | |
164 | + | |
165 | +.mb-20 { | |
166 | + margin-bottom: 20px !important; | |
167 | +} | |
168 | + | |
169 | +.mb-25 { | |
170 | + margin-bottom: 25px !important; | |
171 | +} | |
172 | + | |
173 | +.mb-30 { | |
174 | + margin-bottom: 30px !important; | |
175 | +} | |
176 | + | |
177 | +.mb-35 { | |
178 | + margin-bottom: 35px !important; | |
179 | +} | |
180 | + | |
181 | +.mb-40 { | |
182 | + margin-bottom: 40px !important; | |
183 | +} | |
184 | + | |
185 | +.mb-50 { | |
186 | + margin-bottom: 50px !important; | |
187 | +} | |
188 | + | |
189 | +.mb-60 { | |
190 | + margin-bottom: 60px !important; | |
191 | +} | |
192 | + | |
193 | +.mr-4 { | |
194 | + margin-right: 4px !important; | |
195 | +} | |
196 | + | |
197 | +.mr-5 { | |
198 | + margin-right: 5px !important; | |
199 | +} | |
200 | + | |
201 | +.mr-6 { | |
202 | + margin-right: 6px !important; | |
203 | +} | |
204 | + | |
205 | +.mr-7 { | |
206 | + margin-right: 7px !important; | |
207 | +} | |
208 | + | |
209 | +.mr-8 { | |
210 | + margin-right: 8px !important; | |
211 | +} | |
212 | + | |
213 | +.mr-9 { | |
214 | + margin-right: 9px !important; | |
215 | +} | |
216 | + | |
217 | +.mr-10 { | |
218 | + margin-right: 10px !important; | |
219 | +} | |
220 | + | |
221 | +.mr-15 { | |
222 | + margin-right: 15px !important; | |
223 | +} | |
224 | + | |
225 | +.mr-20 { | |
226 | + margin-right: 20px !important; | |
227 | +} | |
228 | + | |
229 | +.mr-25 { | |
230 | + margin-right: 25px !important; | |
231 | +} | |
232 | + | |
233 | +.mr-30 { | |
234 | + margin-right: 30px !important; | |
235 | +} | |
236 | + | |
237 | +.mr-35 { | |
238 | + margin-right: 35px !important; | |
239 | +} | |
240 | + | |
241 | +.mr-40 { | |
242 | + margin-right: 40px !important; | |
243 | +} | |
244 | + | |
245 | +.mr-45 { | |
246 | + margin-right: 45px !important; | |
247 | +} | |
248 | + | |
249 | +.mr-50 { | |
250 | + margin-right: 50px !important; | |
251 | +} | |
252 | + | |
253 | +.ml-3 { | |
254 | + margin-left: 3px !important; | |
255 | +} | |
256 | + | |
257 | +.ml-5 { | |
258 | + margin-left: 5px !important; | |
259 | +} | |
260 | + | |
261 | +.ml-4 { | |
262 | + margin-left: 4px !important; | |
263 | +} | |
264 | + | |
265 | +.ml-7 { | |
266 | + margin-left: 7px !important; | |
267 | +} | |
268 | + | |
269 | +.ml-10 { | |
270 | + margin-left: 10px !important; | |
271 | +} | |
272 | + | |
273 | +.ml-15 { | |
274 | + margin-left: 15px !important; | |
275 | +} | |
276 | + | |
277 | +.ml-20 { | |
278 | + margin-left: 20px !important; | |
279 | +} | |
280 | + | |
281 | +.ml-25 { | |
282 | + margin-left: 25px !important; | |
283 | +} | |
284 | + | |
285 | +.ml-30 { | |
286 | + margin-left: 30px !important; | |
287 | +} | |
288 | + | |
289 | +.ml-35 { | |
290 | + margin-left: 35px !important; | |
291 | +} | |
292 | + | |
293 | +.ml-40 { | |
294 | + margin-left: 40px !important; | |
295 | +} | |
296 | + | |
297 | +.ml-50 { | |
298 | + margin-left: 50px !important; | |
299 | +} | |
300 | + | |
301 | +.pa-0 { | |
302 | + padding: 0px !important; | |
303 | +} | |
304 | + | |
305 | +.pa-10 { | |
306 | + padding: 10px !important; | |
307 | +} | |
308 | + | |
309 | +.pa-20 { | |
310 | + padding: 20px !important; | |
311 | +} | |
312 | + | |
313 | +.pl-0 { | |
314 | + padding-left: 0px !important; | |
315 | +} | |
316 | + | |
317 | +.pr-0 { | |
318 | + padding-right: 0px !important; | |
319 | +} | |
320 | + | |
321 | +.pb-0 { | |
322 | + padding-bottom: 0px !important; | |
323 | +} | |
324 | + | |
325 | +.pt-0 { | |
326 | + padding-top: 0px !important; | |
327 | +} | |
328 | + | |
329 | +.pt-1 { | |
330 | + padding-top: 1px !important; | |
331 | +} | |
332 | + | |
333 | +.pt-3 { | |
334 | + padding-top: 3px !important; | |
335 | +} | |
336 | + | |
337 | +.pt-4 { | |
338 | + padding-top: 4px !important; | |
339 | +} | |
340 | + | |
341 | +.pt-5 { | |
342 | + padding-top: 5px !important; | |
343 | +} | |
344 | + | |
345 | +.pt-6 { | |
346 | + padding-top: 6px !important; | |
347 | +} | |
348 | + | |
349 | +.pt-7 { | |
350 | + padding-top: 7px !important; | |
351 | +} | |
352 | + | |
353 | +.pt-8 { | |
354 | + padding-top: 8px !important; | |
355 | +} | |
356 | + | |
357 | +.pt-10 { | |
358 | + padding-top: 10px !important; | |
359 | +} | |
360 | + | |
361 | +.pt-15 { | |
362 | + padding-top: 15px !important; | |
363 | +} | |
364 | + | |
365 | +.pt-20 { | |
366 | + padding-top: 20px !important; | |
367 | +} | |
368 | + | |
369 | +.pb-1 { | |
370 | + padding-bottom: 1px !important; | |
371 | +} | |
372 | + | |
373 | +.pb-4 { | |
374 | + padding-bottom: 4px !important; | |
375 | +} | |
376 | + | |
377 | +.pb-5 { | |
378 | + padding-bottom: 5px !important; | |
379 | +} | |
380 | + | |
381 | +.pb-7 { | |
382 | + padding-bottom: 7px !important; | |
383 | +} | |
384 | + | |
385 | +.pb-10 { | |
386 | + padding-bottom: 10px !important; | |
387 | +} | |
388 | + | |
389 | +.pb-15 { | |
390 | + padding-bottom: 15px !important; | |
391 | +} | |
392 | + | |
393 | +.pb-20 { | |
394 | + padding-bottom: 20px !important; | |
395 | +} | |
396 | + | |
397 | +.pb-30 { | |
398 | + padding-bottom: 30px !important; | |
399 | +} | |
400 | + | |
401 | +.pr-5 { | |
402 | + padding-right: 5px !important; | |
403 | +} | |
404 | + | |
405 | +.pr-10 { | |
406 | + padding-right: 10px !important; | |
407 | +} | |
408 | + | |
409 | +.pr-12 { | |
410 | + padding-right: 12px !important; | |
411 | +} | |
412 | + | |
413 | +.pr-15 { | |
414 | + padding-right: 15px !important; | |
415 | +} | |
416 | + | |
417 | +.pr-20 { | |
418 | + padding-right: 20px !important; | |
419 | +} | |
420 | + | |
421 | +.pl-5 { | |
422 | + padding-left: 5px !important; | |
423 | +} | |
424 | + | |
425 | +.pl-10 { | |
426 | + padding-left: 10px !important; | |
427 | +} | |
428 | + | |
429 | +.pl-12 { | |
430 | + padding-left: 12px !important; | |
431 | +} | |
432 | + | |
433 | +.pl-15 { | |
434 | + padding-left: 15px !important; | |
435 | +} | |
436 | + | |
437 | +.pl-20 { | |
438 | + padding-left: 20px !important; | |
439 | +} | |
440 | + | |
441 | +.pl-25 { | |
442 | + padding-left: 25px !important; | |
443 | +} | |
444 | + | |
445 | +.pl-30 { | |
446 | + padding-left: 30px !important; | |
447 | +} | |
448 | + | |
449 | +.lh-1 { | |
450 | + line-height: 1 !important; | |
451 | +} | |
452 | + | |
453 | +.lh-11 { | |
454 | + line-height: 1.1 !important; | |
455 | +} | |
456 | + | |
457 | +.lh-12 { | |
458 | + line-height: 1.2 !important; | |
459 | +} | |
460 | + | |
461 | +.lh-13 { | |
462 | + line-height: 1.3 !important; | |
463 | +} | |
464 | + | |
465 | +.lh-14 { | |
466 | + line-height: 1.4 !important; | |
467 | +} | |
468 | + | |
469 | +.lh-15 { | |
470 | + line-height: 1.5 !important; | |
471 | +} | |
472 | + | |
473 | +.lh-16 { | |
474 | + line-height: 1.6 !important; | |
475 | +} | |
476 | + | |
477 | +.font10 { | |
478 | + font-size: 10px !important; | |
479 | +} | |
480 | + | |
481 | +.font11 { | |
482 | + font-size: 11px !important; | |
483 | +} | |
484 | + | |
485 | +.font12 { | |
486 | + font-size: 12px !important; | |
487 | +} | |
488 | + | |
489 | +.font13 { | |
490 | + font-size: 13px !important; | |
491 | +} | |
492 | + | |
493 | +.font14 { | |
494 | + font-size: 14px !important; | |
495 | +} | |
496 | + | |
497 | +.font15 { | |
498 | + font-size: 15px !important; | |
499 | +} | |
500 | + | |
501 | +.font16 { | |
502 | + font-size: 16px !important; | |
503 | +} | |
504 | + | |
505 | +.font17 { | |
506 | + font-size: 17px !important; | |
507 | +} | |
508 | + | |
509 | +.font18 { | |
510 | + font-size: 18px !important; | |
511 | +} | |
512 | + | |
513 | +.font19 { | |
514 | + font-size: 19px !important; | |
515 | +} | |
516 | + | |
517 | +.font20 { | |
518 | + font-size: 20px !important; | |
519 | +} | |
520 | + | |
521 | +.font21 { | |
522 | + font-size: 21px !important; | |
523 | +} | |
524 | + | |
525 | +.font22 { | |
526 | + font-size: 22px !important; | |
527 | +} | |
528 | + | |
529 | +.font23 { | |
530 | + font-size: 23px !important; | |
531 | +} | |
532 | + | |
533 | +.font24 { | |
534 | + font-size: 24px !important; | |
535 | +} | |
536 | + | |
537 | +.font25 { | |
538 | + font-size: 25px !important; | |
539 | +} | |
540 | + | |
541 | +.font30 { | |
542 | + font-size: 30px !important; | |
543 | +} | |
544 | + | |
545 | +.fw100 { | |
546 | + font-weight: 100; | |
547 | +} | |
548 | + | |
549 | +.fw200 { | |
550 | + font-weight: 200; | |
551 | +} | |
552 | + | |
553 | +.fw300 { | |
554 | + font-weight: 300; | |
555 | +} | |
556 | + | |
557 | +.fw400 { | |
558 | + font-weight: 400; | |
559 | +} | |
560 | + | |
561 | +.fw500 { | |
562 | + font-weight: 500; | |
563 | +} | |
564 | + | |
565 | +.fw600 { | |
566 | + font-weight: 600; | |
567 | +} | |
568 | + | |
569 | +.fw700 { | |
570 | + font-weight: 700; | |
571 | +} | |
572 | + | |
573 | +.fw800 { | |
574 | + font-weight: 800; | |
575 | +} | |
576 | + | |
577 | +.fw900 { | |
578 | + font-weight: 900; | |
579 | +} | |
580 | + | |
581 | +.fw-bold { | |
582 | + font-weight: bold; | |
583 | +} | |
584 | + | |
585 | +.ta-justify { | |
586 | + text-align: justify !important; | |
587 | +} | |
588 | + | |
589 | +.ta-center { | |
590 | + text-align: center !important; | |
591 | +} | |
592 | + | |
593 | +.ta-end { | |
594 | + text-align: end !important; | |
595 | +} | |
596 | + | |
597 | +.ta-left { | |
598 | + text-align: left !important; | |
599 | +} | |
600 | + | |
601 | +.ta-right { | |
602 | + text-align: right !important; | |
603 | +} | |
604 | + | |
605 | +.green { | |
606 | + color: #36A000; | |
607 | +} | |
608 | + | |
609 | +.gray-light { | |
610 | + color: #9096A4; | |
611 | +} | |
612 | + | |
613 | +.gray-dark { | |
614 | + color: #676B75; | |
615 | +} | |
616 | + | |
617 | +.blue { | |
618 | + color: #2FB9F8; | |
619 | +} | |
620 | + | |
621 | +.clients-blue { | |
622 | + color: #2FB9F8; | |
623 | +} | |
624 | + | |
625 | +.black { | |
626 | + color: #282B31; | |
627 | +} | |
628 | + | |
629 | +.red-bf { | |
630 | + color: #d01a2f; | |
631 | +} | |
632 | + | |
633 | +.hide { | |
634 | + display: none; | |
635 | +} | |
636 | + | |
637 | +.forcehide { | |
638 | + display: none !important; | |
639 | +} | |
640 | + | |
641 | +.left { | |
642 | + float: left; | |
643 | +} | |
644 | + | |
645 | +.left-f { | |
646 | + float: left !important; | |
647 | +} | |
648 | + | |
649 | +.right { | |
650 | + float: right; | |
651 | +} | |
652 | + | |
653 | +.right-f { | |
654 | + float: right !important; | |
655 | +} | |
656 | + | |
657 | +.clear { | |
658 | + clear: both; | |
659 | +} | |
660 | + | |
661 | +.relative { | |
662 | + position: relative; | |
663 | +} | |
664 | + | |
665 | +.absolute { | |
666 | + position: absolute; | |
667 | +} | |
668 | + | |
669 | +.block { | |
670 | + display: block; | |
671 | +} | |
672 | + | |
673 | +.inline-block { | |
674 | + display: inline-block !important; | |
675 | +} | |
676 | + | |
677 | +.display-grid { | |
678 | + display: grid; | |
679 | +} | |
680 | + | |
681 | +.flex { | |
682 | + display: flex; | |
683 | +} | |
684 | + | |
685 | +.flex-align-items-center { | |
686 | + align-items: center; | |
687 | +} | |
688 | + | |
689 | +.pointer, .hand { | |
690 | + cursor: pointer; | |
691 | +} | |
692 | + | |
693 | +.cursor-default { | |
694 | + cursor: default !important; | |
695 | +} | |
696 | + | |
697 | +.bold { | |
698 | + font-weight: bold; | |
699 | +} | |
700 | + | |
701 | +.italic { | |
702 | + font-style: italic; | |
703 | +} | |
704 | + | |
705 | +.uppercase { | |
706 | + text-transform: uppercase; | |
707 | +} | |
708 | + | |
709 | +.width100 { | |
710 | + width: 100%; | |
711 | +} | |
712 | + | |
713 | +.fit-content { | |
714 | + width: -moz-fit-content; | |
715 | + width: -webkit-fit-content; | |
716 | + width: fit-content; | |
717 | +} | |
718 | + | |
719 | +.max-content { | |
720 | + width: intrinsic; /* Safari/WebKit uses a non-standard name */ | |
721 | + width: -moz-max-content; /* Firefox/Gecko */ | |
722 | + width: -webkit-max-content; /* Chrome */ | |
723 | + width: max-content; | |
724 | +} | |
725 | + | |
726 | +.fill-available { | |
727 | + width: -moz-available; | |
728 | + width: -webkit-fill-available; | |
729 | + width: fill-available; | |
730 | +} | |
731 | + | |
732 | +.pointer-none { | |
733 | + pointer-events: none; | |
734 | +} | |
735 | + | |
736 | +.disable-block, .disabled-block { | |
737 | + pointer-events: none; | |
738 | + opacity: 0.4; | |
739 | +} | |
740 | + | |
741 | +.show-spaces { | |
742 | + word-wrap: break-word !important; | |
743 | + white-space: pre-wrap !important; | |
744 | +} | |
745 | + | |
746 | +.overflow-hidden { | |
747 | + overflow: hidden !important; | |
748 | +} | |
749 | + | |
750 | +.overflow-auto { | |
751 | + overflow: auto !important; | |
752 | +} | |
753 | + | |
754 | +.force-hide { | |
755 | + display: none !important; | |
756 | +} | |
757 | + | |
758 | +.center-block { | |
759 | + display: block; | |
760 | + margin-right: auto; | |
761 | + margin-left: auto; | |
762 | +} | |
763 | + | |
764 | +.expand-all-plus { | |
765 | + background: url(/images/add.png) 0 0 no-repeat; | |
766 | + cursor: pointer; | |
767 | + width: 16px; | |
768 | + height: 16px; | |
769 | +} | |
770 | + | |
771 | +.expand-plus { | |
772 | + background: url(/images/plus.png) 0 0 no-repeat; | |
773 | + cursor: pointer; | |
774 | + width: 16px; | |
775 | + height: 16px; | |
776 | +} | |
777 | + | |
778 | +.reduce-minus { | |
779 | + background: url(/images/minus.png) 0 0 no-repeat; | |
780 | + cursor: pointer; | |
781 | + width: 16px; | |
782 | + height: 16px; | |
783 | +} | |
784 | + | |
785 | +.grey-line { | |
786 | + width: 100%; | |
787 | + height: 1px; | |
788 | + border-bottom: 1px solid #e7ecf1; | |
789 | +} | |
790 | + | |
791 | +.triangle-top-to-bottom { | |
792 | + border: 6px solid transparent; | |
793 | + border-bottom: 14px solid; | |
794 | + position: absolute; | |
795 | + top: -19px; | |
796 | + color: #fff; | |
797 | +} | |
798 | + | |
799 | +.primary-color { | |
800 | + color: #2FB9F8; | |
801 | +} | |
802 | + | |
803 | +.primary-bg-color { | |
804 | + background-color: #2FB9F8; | |
805 | +} | |
806 | + | |
807 | +.before-triangle-top:before { | |
808 | + position: absolute; | |
809 | + top: -8px; | |
810 | + right: 20px; | |
811 | + left: auto; | |
812 | + display: inline-block !important; | |
813 | + border-right: 8px solid transparent; | |
814 | + border-bottom: 8px solid #e0e0e0; | |
815 | + border-left: 8px solid transparent; | |
816 | + content: ""; | |
817 | +} | |
818 | +.before-triangle-top:after { | |
819 | + position: absolute; | |
820 | + top: -7px; | |
821 | + right: 21px; | |
822 | + left: auto; | |
823 | + display: inline-block !important; | |
824 | + border-right: 7px solid transparent; | |
825 | + border-bottom: 7px solid #fff; | |
826 | + border-left: 7px solid transparent; | |
827 | + content: ""; | |
828 | +} | |
829 | + | |
830 | +.before-triangle-right:before { | |
831 | + position: absolute; | |
832 | + top: calc(50% - 8px); | |
833 | + right: -8px; | |
834 | + left: auto; | |
835 | + display: inline-block !important; | |
836 | + border-top: 8px solid transparent; | |
837 | + border-bottom: 8px solid transparent; | |
838 | + border-left: 8px solid #e0e0e0; | |
839 | + content: ""; | |
840 | +} | |
841 | +.before-triangle-right:after { | |
842 | + position: absolute; | |
843 | + top: calc(50% - 7px); | |
844 | + right: -7px; | |
845 | + left: auto; | |
846 | + display: inline-block !important; | |
847 | + border-top: 7px solid transparent; | |
848 | + border-bottom: 7px solid transparent; | |
849 | + border-left: 7px solid #fff; | |
850 | + content: ""; | |
851 | +} | |
852 | + | |
853 | +.icon-download-detail-booked-before-triangle-right:before { | |
854 | + position: absolute; | |
855 | + top: calc(50% - 39px) !important; | |
856 | + right: -8px; | |
857 | + left: auto; | |
858 | + display: inline-block !important; | |
859 | + border-top: 8px solid transparent; | |
860 | + border-bottom: 8px solid transparent; | |
861 | + border-left: 8px solid #e0e0e0; | |
862 | + content: ""; | |
863 | +} | |
864 | +.icon-download-detail-booked-before-triangle-right:after { | |
865 | + top: calc(50% - 39px) !important; | |
866 | + position: absolute; | |
867 | + right: -7px; | |
868 | + left: auto; | |
869 | + display: inline-block !important; | |
870 | + border-top: 7px solid transparent; | |
871 | + border-bottom: 7px solid transparent; | |
872 | + border-left: 7px solid #fff; | |
873 | + content: ""; | |
874 | +} | |
875 | + | |
876 | +.noselect { | |
877 | + -webkit-touch-callout: none; /* iOS Safari */ | |
878 | + -webkit-user-select: none; /* Safari */ | |
879 | + -khtml-user-select: none; /* Konqueror HTML */ | |
880 | + -moz-user-select: none; /* Old versions of Firefox */ | |
881 | + -ms-user-select: none; /* Internet Explorer/Edge */ | |
882 | + user-select: none; /* Non-prefixed version, currently | |
883 | + supported by Chrome, Opera and Firefox */ | |
884 | +} | |
885 | + | |
886 | +.nodrag { | |
887 | + user-drag: none; | |
888 | + user-select: none; | |
889 | + -moz-user-select: none; | |
890 | + -webkit-user-drag: none; | |
891 | + -webkit-user-select: none; | |
892 | + -ms-user-select: none; | |
893 | +} | |
894 | + | |
895 | +.border0 { | |
896 | + border: 0; | |
897 | +} | |
898 | + | |
899 | +/*# sourceMappingURL=helpers.css.map */ |
public/css/style_may2024.css
... | ... | @@ -5294,6 +5294,7 @@ h1 { |
5294 | 5294 | flex-direction: column; |
5295 | 5295 | gap: 15px; |
5296 | 5296 | margin-top: 15px; |
5297 | + margin-bottom: 30px; | |
5297 | 5298 | } |
5298 | 5299 | @media (min-width: 768px) { |
5299 | 5300 | .vacancies__list-col { |
... | ... | @@ -8069,6 +8070,7 @@ main + .news { |
8069 | 8070 | } |
8070 | 8071 | .cabinet__title { |
8071 | 8072 | font-size: 24px; |
8073 | + margin-bottom: 20px; | |
8072 | 8074 | } |
8073 | 8075 | @media (min-width: 768px) { |
8074 | 8076 | .cabinet__title { |
... | ... | @@ -8080,11 +8082,6 @@ main + .news { |
8080 | 8082 | font-size: 40px; |
8081 | 8083 | } |
8082 | 8084 | } |
8083 | -@media (min-width: 1280px) { | |
8084 | - .cabinet__title { | |
8085 | - font-size: 48px; | |
8086 | - } | |
8087 | -} | |
8088 | 8085 | .cabinet__subtitle { |
8089 | 8086 | font-size: 22px; |
8090 | 8087 | margin: 0; |
... | ... | @@ -8331,9 +8328,9 @@ main + .news { |
8331 | 8328 | -webkit-box-direction: normal; |
8332 | 8329 | -ms-flex-direction: row; |
8333 | 8330 | flex-direction: row; |
8334 | - -webkit-box-align: start; | |
8335 | - -ms-flex-align: start; | |
8336 | - align-items: flex-start; | |
8331 | + -webkit-box-align: end; | |
8332 | + -ms-flex-align: end; | |
8333 | + align-items: end; | |
8337 | 8334 | -webkit-box-pack: justify; |
8338 | 8335 | -ms-flex-pack: justify; |
8339 | 8336 | justify-content: space-between; |
... | ... | @@ -8368,11 +8365,20 @@ main + .news { |
8368 | 8365 | padding: 0; |
8369 | 8366 | } |
8370 | 8367 | } |
8368 | +.cabinet__inputs-item.column-count-3{ | |
8369 | + width: calc(32% - 10px); | |
8370 | +} | |
8371 | +.cabinet__inputs-item-full-row { | |
8372 | + width: 100%; | |
8373 | +} | |
8371 | 8374 | .cabinet__inputs-item .buttons { |
8372 | 8375 | display: grid; |
8373 | 8376 | grid-template-columns: 1fr 1fr; |
8374 | 8377 | gap: 10px; |
8375 | 8378 | } |
8379 | +.cabinet__inputs-item .form-group__label{ | |
8380 | + font-weight: bold; | |
8381 | +} | |
8376 | 8382 | @media (min-width: 768px) { |
8377 | 8383 | .cabinet__inputs-item .buttons { |
8378 | 8384 | gap: 20px; |
... | ... | @@ -8960,16 +8966,8 @@ main + .news { |
8960 | 8966 | } |
8961 | 8967 | } |
8962 | 8968 | .cabinet__works-item { |
8963 | - -webkit-box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2); | |
8964 | - box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2); | |
8965 | - padding: 10px; | |
8966 | - border-radius: 4px; | |
8967 | -} | |
8968 | -@media (min-width: 768px) { | |
8969 | - .cabinet__works-item { | |
8970 | - padding: 20px; | |
8971 | - border-radius: 8px; | |
8972 | - } | |
8969 | + border-bottom: 1px #cccccc solid; | |
8970 | + padding-bottom: 35px; | |
8973 | 8971 | } |
8974 | 8972 | .cabinet__works-spoiler { |
8975 | 8973 | display: -webkit-box; |
... | ... | @@ -9052,7 +9050,6 @@ main + .news { |
9052 | 9050 | } |
9053 | 9051 | .cabinet__works-spoiler-text { |
9054 | 9052 | width: calc(100% - 60px); |
9055 | - padding-left: 20px; | |
9056 | 9053 | font-size: 17px; |
9057 | 9054 | font-weight: 700; |
9058 | 9055 | color: #000; |
... | ... | @@ -9060,21 +9057,10 @@ main + .news { |
9060 | 9057 | @media (min-width: 768px) { |
9061 | 9058 | .cabinet__works-spoiler-text { |
9062 | 9059 | width: calc(100% - 74px); |
9063 | - font-size: 20px; | |
9060 | + font-size: 22px; | |
9064 | 9061 | } |
9065 | 9062 | } |
9066 | -.cabinet__works-body { | |
9067 | - opacity: 0; | |
9068 | - height: 0; | |
9069 | - overflow: hidden; | |
9070 | -} | |
9071 | -.active + .cabinet__works-body { | |
9072 | - -webkit-transition: 0.3s; | |
9073 | - transition: 0.3s; | |
9074 | - opacity: 1; | |
9075 | - height: auto; | |
9076 | - padding-top: 20px; | |
9077 | -} | |
9063 | + | |
9078 | 9064 | .cabinet__works-add { |
9079 | 9065 | padding: 0; |
9080 | 9066 | width: 100%; |
... | ... | @@ -9127,6 +9113,12 @@ main + .news { |
9127 | 9113 | max-width: 400px; |
9128 | 9114 | } |
9129 | 9115 | } |
9116 | +.cabinet__buttons_flex{ | |
9117 | + display: flex; | |
9118 | +} | |
9119 | +.cabinet__buttons_flex > *{ | |
9120 | + margin-right: 10px; | |
9121 | +} | |
9130 | 9122 | .cabinet__vacs { |
9131 | 9123 | display: -webkit-box; |
9132 | 9124 | display: -ms-flexbox; |
... | ... | @@ -9186,3 +9178,46 @@ main + .news { |
9186 | 9178 | .main__vacancies-item .main__employer-page-two-item-text-body p{ |
9187 | 9179 | margin: 0 0 20px; |
9188 | 9180 | } |
9181 | +#sertificate .one-sertificate{ | |
9182 | + display: flex; | |
9183 | + justify-content: space-between; | |
9184 | + margin-bottom: 15px; | |
9185 | + border-bottom: 1px #ccc solid; | |
9186 | + padding-bottom: 15px; | |
9187 | +} | |
9188 | +#sertificate .one-sertificate .sertificate-field{ | |
9189 | + display: block; | |
9190 | +} | |
9191 | +#sertificate .one-sertificate .sertificate-field.sertificate-name{ | |
9192 | + width: 50%; | |
9193 | + max-width: 50%; | |
9194 | +} | |
9195 | +#sertificate .one-sertificate .sertificate-field.sertificate-buttons{ | |
9196 | + display: flex; | |
9197 | + justify-content: space-between; | |
9198 | +} | |
9199 | +#sertificate .one-sertificate .sertificate-field.sertificate-buttons a{ | |
9200 | + width: 30px; | |
9201 | + height: 30px; | |
9202 | + padding: 5px; | |
9203 | +} | |
9204 | +#prev_worker .cabinet__inputs-item-buttons a{ | |
9205 | + width: 30px; | |
9206 | + height: 30px; | |
9207 | + padding: 5px; | |
9208 | +} | |
9209 | +#prev_worker .cabinet__inputs-item-buttons{ | |
9210 | + width: 100px; | |
9211 | +} | |
9212 | +#prev_worker .cabinet__inputs{ | |
9213 | + -webkit-box-align: start; | |
9214 | + -ms-flex-align: start; | |
9215 | + align-items: start; | |
9216 | +} | |
9217 | +#prev_worker .cabinet__inputs-item-buttons flex{ | |
9218 | + justify-content: end; | |
9219 | +} | |
9220 | +#prev_worker .cabinet__body-item{ | |
9221 | + border-bottom: 1px #cccccc solid; | |
9222 | + padding-bottom: 25px; | |
9223 | +} |
resources/views/layout/frontend.blade.php
... | ... | @@ -14,6 +14,7 @@ |
14 | 14 | <link rel="stylesheet" href="{{ asset('css/telegram.css') }}"> |
15 | 15 | <link rel="stylesheet" href="{{ asset('css/star-rating.min.css') }}"> |
16 | 16 | <link rel="stylesheet" href="{{ asset('css/style_may2024.css') }}"> |
17 | + <link rel="stylesheet" href="{{ asset('css/helpers.css') }}"> | |
17 | 18 | <style> |
18 | 19 | .err_red { |
19 | 20 | border: red 2px solid; |
resources/views/workers/cabinet.blade.php
... | ... | @@ -137,43 +137,13 @@ |
137 | 137 | |
138 | 138 | console.log('Возраст не может выполнить такую операцию'); |
139 | 139 | }); |
140 | - | |
141 | - $(document).on('change', '.sertificates_js', function() { | |
142 | - var this_ = $(this); | |
143 | - var infoblock_id = this_.attr('data-info'); | |
144 | - var val = this_.val(); | |
145 | - var block = $('#block_sertificate'); | |
146 | - | |
147 | - console.log('infoblok='+infoblock_id); | |
148 | - console.log('val='+val); | |
149 | - | |
150 | - $.ajax({ | |
151 | - type: "GET", | |
152 | - url: "{{ route('worker.delete_add_diplom', ['worker' => $Worker[0]->id]) }}", | |
153 | - data: "&infoblok_id=" + infoblock_id+"&val="+val, | |
154 | - success: function (data) { | |
155 | - location.url = data; | |
156 | - console.log('Удаление левых документов + добавление реальных документов'); | |
157 | - | |
158 | - console.log('Info 100% +'+ data); | |
159 | - //window.location.href = data; | |
160 | - //block.html(data); | |
161 | - }, | |
162 | - headers: { | |
163 | - 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') | |
164 | - }, | |
165 | - error: function (data) { | |
166 | - data = JSON.stringify(data); | |
167 | - console.log('Error: ' + data); | |
168 | - } | |
169 | - }); | |
170 | - | |
171 | - }); | |
172 | - | |
173 | 140 | </script> |
174 | 141 | @endsection |
175 | 142 | |
176 | 143 | @section('content') |
144 | +@php | |
145 | + $user = $worker->users | |
146 | +@endphp | |
177 | 147 | <section class="cabinet"> |
178 | 148 | <div class="container"> |
179 | 149 | <ul class="breadcrumbs cabinet__breadcrumbs"> |
... | ... | @@ -189,15 +159,15 @@ |
189 | 159 | |
190 | 160 | @include('workers.menu', ['item' => 1]) |
191 | 161 | </div> |
192 | - <form class="cabinet__body" action="{{ route('worker.cabinet_save', ['worker' => $Worker[0]->id]) }}" enctype="multipart/form-data" method="POST"> | |
162 | + <form class="cabinet__body" action="{{ route('worker.cabinet_save', ['worker' => $worker->id]) }}" enctype="multipart/form-data" method="POST"> | |
193 | 163 | @csrf |
194 | 164 | @include('messages_error') |
195 | 165 | <div class="cabinet__body-item"> |
196 | 166 | <div class="cabinet__anketa"> |
197 | 167 | <h2 class="title cabinet__title">Моя анкета</h2> |
198 | 168 | <div class="cabinet__anketa-buttons"> |
199 | - <a href="{{ route('worker.up', ['worker' => $Worker[0]->id]) }}" class="button">Поднять резюме</a> | |
200 | - <a href="{{ route('resume_download', ['worker' => $Worker[0]->id]) }}" target="_blank" class="button"> | |
169 | + <a href="{{ route('worker.up', ['worker' => $worker->id]) }}" class="button">Поднять резюме</a> | |
170 | + <a href="{{ route('resume_download', ['worker' => $worker->id]) }}" target="_blank" class="button"> | |
201 | 171 | <svg> |
202 | 172 | <use xlink:href="{{ asset('images/sprite.svg#share') }}"></use> |
203 | 173 | </svg> |
... | ... | @@ -222,7 +192,7 @@ |
222 | 192 | <use xlink:href="{{ asset('images/sprite.svg#warning') }}"></use> |
223 | 193 | </svg> |
224 | 194 | <span>Отзывов:</span> |
225 | - <b>@if(isset($Worker[0]->response)) {{ $Worker[0]->response->count() }} @else 0 @endif</b> | |
195 | + <b>@if(isset($worker->response)) {{ $worker->response->count() }} @else 0 @endif</b> | |
226 | 196 | </div> |
227 | 197 | </div> |
228 | 198 | <div class="cabinet__stats-subtitle">Анкета заполнена на {{ $persent }}%</div> |
... | ... | @@ -237,8 +207,8 @@ |
237 | 207 | <div class="cabinet__avatar"> |
238 | 208 | <div class="cabinet__avatar-pic"> |
239 | 209 | |
240 | - @if (!empty($Worker[0]->photo)) | |
241 | - <img src="{{ asset(Storage::url($Worker[0]->photo)) }}"/> | |
210 | + @if (!empty($worker->photo)) | |
211 | + <img src="{{ asset(Storage::url($worker->photo)) }}"/> | |
242 | 212 | @else |
243 | 213 | <svg> |
244 | 214 | <use xlink:href="{{ asset('images/sprite.svg#pic') }}"></use> |
... | ... | @@ -262,419 +232,358 @@ |
262 | 232 | </div> |
263 | 233 | </div> |
264 | 234 | </div> |
265 | - <div class="cabinet__body-item"> | |
235 | + | |
236 | + | |
237 | + <div class="cabinet__body-item mb-40"> | |
238 | + <h3 class="cabinet__subtitle font30">Основная информация</h3> | |
239 | + | |
266 | 240 | <div class="cabinet__inputs"> |
267 | 241 | <div class="cabinet__inputs-item form-group"> |
268 | - <label class="form-group__label">Электронная почта *</label> | |
242 | + <label class="form-group__label">Фамилия:</label> | |
269 | 243 | <div class="form-group__item"> |
270 | - <input type="email" name="email" id="email" value="{{ $Worker[0]->email }}" class="input" placeholder="info@rekamore.su" required> | |
244 | + {{ $user->surname }} | |
271 | 245 | </div> |
272 | 246 | </div> |
273 | 247 | <div class="cabinet__inputs-item form-group"> |
274 | - <label class="form-group__label">Статус</label> | |
248 | + <label class="form-group__label">Наличие визы:</label> | |
275 | 249 | <div class="form-group__item"> |
276 | - <div class="select"> | |
277 | - <select class="js-select2" name="status_work" id="status_work"> | |
278 | - <option value="1" @if ($Worker[0]->status_work == 1) selected @endif>Не указано</option> | |
279 | - <option value="2" @if ($Worker[0]->status_work == 2) selected @endif>Не ищу работу</option> | |
280 | - <option value="0" @if ($Worker[0]->status_work == 0) selected @endif>Ищу работу</option> | |
281 | - </select> | |
282 | - </div> | |
250 | + {{ $worker->visa_available }} | |
283 | 251 | </div> |
284 | 252 | </div> |
285 | - <!--<div class="cabinet__inputs-item form-group"> | |
286 | - <label class="form-group__label">Статус *</label> | |
253 | + | |
254 | + <div class="cabinet__inputs-item form-group"> | |
255 | + <label class="form-group__label">Имя:</label> | |
287 | 256 | <div class="form-group__item"> |
288 | - <input type="text" class="input" required> | |
257 | + {{ $user->name_man }} | |
289 | 258 | </div> |
290 | - </div>--> | |
291 | - @if (isset($Worker[0]->users)) | |
292 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
293 | - <label class="form-group__label">Фамилия *</label> | |
259 | + </div> | |
260 | + <div class="cabinet__inputs-item form-group"> | |
261 | + <label class="form-group__label">Наличие танкерных документов:</label> | |
294 | 262 | <div class="form-group__item"> |
295 | - <input type="text" name="surname" id="surmane" class="input" value="{{ $Worker[0]->users->surname }}" placeholder="Филиппов" required> | |
263 | + {{ $worker->tanker_documents_available ?? '-' }} | |
296 | 264 | </div> |
297 | 265 | </div> |
298 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
299 | - <label class="form-group__label">Имя *</label> | |
266 | + | |
267 | + <div class="cabinet__inputs-item form-group"> | |
268 | + <label class="form-group__label">Отчество:</label> | |
300 | 269 | <div class="form-group__item"> |
301 | - <input type="text" name="name_man" id="name_man" class="input" value="{{ $Worker[0]->users->name_man }}" placeholder="Егор" required> | |
270 | + {{ $user->surname2 }} | |
302 | 271 | </div> |
303 | 272 | </div> |
304 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
305 | - <label class="form-group__label">Отчество *</label> | |
273 | + <div class="cabinet__inputs-item form-group"> | |
274 | + <label class="form-group__label">Наличие подтверждения для работы на ВВП:</label> | |
306 | 275 | <div class="form-group__item"> |
307 | - <input type="text" class="input" name="surname2" id="surmane2" value="{{ $Worker[0]->users->surname2 }}" placeholder="Алексеевич"> | |
276 | + {{ $worker->confirmation_work_for_vvp ?? '-' }} | |
308 | 277 | </div> |
309 | 278 | </div> |
310 | - @endif | |
311 | - </div> | |
312 | - </div> | |
313 | - <div class="cabinet__body-item"> | |
314 | - <h3 class="cabinet__subtitle">Основная информация</h3> | |
315 | - <div class="cabinet__inputs"> | |
316 | - <div class="cabinet__inputs-item cabinet__inputs-item_min form-group"> | |
317 | - <label class="form-group__label">Возраст</label> | |
279 | + | |
280 | + <div class="cabinet__inputs-item form-group"> | |
281 | + <label class="form-group__label">Возраст:</label> | |
318 | 282 | <div class="form-group__item"> |
319 | - <input type="number" name="old_year" id="old_year" value="{{ $Worker[0]->old_year }}" class="input" placeholder="0" required> | |
283 | + {{ $worker->old_year ?? '-' }} | |
320 | 284 | </div> |
321 | 285 | </div> |
322 | - <div class="cabinet__inputs-item cabinet__inputs-item_max form-group"> | |
323 | - <label class="form-group__label">Желаемые вакансии</label> | |
286 | + <div class="cabinet__inputs-item form-group"> | |
287 | + <label class="form-group__label">Наличие военного билета / приписного свидетельства:</label> | |
324 | 288 | <div class="form-group__item"> |
325 | - <div class="select"> | |
326 | - <select class="js-select2" name="job_title_id[]" id="job_title_id[]" multiple="multiple"> | |
327 | - @if ($Job_titles->count()) | |
328 | - @foreach($Job_titles as $it) | |
329 | - @php $selected = false; @endphp | |
330 | - @if (isset($Worker[0]->job_titles)) | |
331 | - @if ($Worker[0]->job_titles->count()) | |
332 | - @foreach($Worker[0]->job_titles as $select) | |
333 | - @if ($it->id == $select->id) | |
334 | - @php $selected = true; @endphp | |
335 | - @endif | |
336 | - @endforeach | |
337 | - @endif | |
338 | - @endif | |
339 | - <option value="{{ $it->id }}" @if ($selected) selected @endif>{{ $it->name }}</option> | |
340 | - @endforeach | |
341 | - @endif | |
342 | - </select> | |
343 | - </div> | |
289 | + {{ $worker->military_id_available ?? '-' }} | |
344 | 290 | </div> |
345 | 291 | </div> |
346 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
347 | - <label class="form-group__label">Город</label> | |
292 | + | |
293 | + <div class="cabinet__inputs-item form-group"> | |
294 | + <label class="form-group__label">Статус:</label> | |
348 | 295 | <div class="form-group__item"> |
349 | - <input type="text" name="city" id="city" value="{{ $Worker[0]->city }}" class="input" placeholder="Челябинск" required> | |
296 | + {{ $status_work[$worker->status_work] ?? '-' }} | |
350 | 297 | </div> |
351 | 298 | </div> |
352 | 299 | <div class="cabinet__inputs-item form-group"> |
353 | - <label class="form-group__label">Опыт работы</label> | |
300 | + <label class="form-group__label">Город проживания:</label> | |
354 | 301 | <div class="form-group__item"> |
355 | - <div class="select"> | |
356 | - <select class="js-select2" id="experience" name="experience"> | |
357 | - <option value="Не указано" @if (empty($Worker[0]->experience)) selected @endif>Не указано</option> | |
358 | - <option value="меньше 1 года" @if ($Worker[0]->experience == 'меньше 1 года') selected @endif>меньше 1 года</option> | |
359 | - <option value="от 1 года до 3 лет" @if ($Worker[0]->experience == 'от 1 года до 3 лет') selected @endif>от 1 года до 3 лет</option> | |
360 | - <option value="от 3 до 5 лет" @if ($Worker[0]->experience == 'от 3 до 5 лет') selected @endif>от 3 до 5 лет</option> | |
361 | - <option value="от 5 до 10 лет" @if ($Worker[0]->experience == 'от 5 до 10 лет') selected @endif>от 5 до 10 лет</option> | |
362 | - <option value="Больше 10 лет" @if ($Worker[0]->experience == 'Больше 10 лет') selected @endif>Больше 10 лет</option> | |
363 | - </select> | |
364 | - </div> | |
302 | + {{ $worker->city ?? '-' }} | |
365 | 303 | </div> |
366 | 304 | </div> |
367 | 305 | |
368 | 306 | <div class="cabinet__inputs-item form-group"> |
369 | - <label class="form-group__label">Номер телефона 1</label> | |
307 | + <label class="form-group__label">Желаемые вакансии:</label> | |
370 | 308 | <div class="form-group__item"> |
371 | - <input type="tel" name="telephone" id="telephone" value="{{ old('telephone') ?? $Worker[0]->telephone ?? '' }}" class="input" placeholder="+7 (___) ___-__-__" required> | |
309 | + @if ($worker->job_titles->count()) | |
310 | + @foreach($worker->job_titles as $job_title) | |
311 | + {{ $job_title->name }} | |
312 | + @if (!$loop->last) / @endif | |
313 | + @endforeach | |
314 | + @endif | |
372 | 315 | </div> |
373 | 316 | </div> |
374 | 317 | <div class="cabinet__inputs-item form-group"> |
375 | - <label class="form-group__label">Номер телефона 2</label> | |
318 | + <label class="form-group__label">Город проживания:</label> | |
376 | 319 | <div class="form-group__item"> |
377 | - <input type="tel" name="telephone2" id="telephon2" value="{{ old('telephone2') ?? $Worker[0]->telephone2 ?? '' }}" class="input" placeholder="+7 (___) ___-__-__"> | |
320 | + {{ $worker->city ?? '-' }} | |
378 | 321 | </div> |
379 | 322 | </div> |
380 | - </div> | |
381 | - </div> | |
382 | 323 | |
383 | - <div class="cabinet__body-item"> | |
384 | - <h4 class="cabinet__h4">О себе</h4> | |
385 | - <textarea class="textarea" name="text" id="text" placeholder="Не указано">{{ $Worker[0]->text }}</textarea> | |
386 | - <div class="cabinet__buttons"> | |
387 | - <button type="submit" class="button">Сохранить</button> | |
388 | - <label class="file"> | |
389 | - <span class="file__input"> | |
390 | - <input type="file" name="file" id="file"> | |
391 | - <span class="button button_light">@if (empty($Worker[0]->file)) Прикрепить резюме @else Обновить резюме @endif</span> | |
392 | - </span> | |
393 | - </label> | |
324 | + <div class="cabinet__inputs-item form-group"> | |
325 | + <label class="form-group__label">Пожелания к З/П:</label> | |
326 | + <div class="form-group__item"> | |
327 | + {{ $worker->salary_expectations ?? '-' }} | |
328 | + </div> | |
329 | + </div> | |
330 | + <div class="cabinet__inputs-item form-group"> | |
331 | + <label class="form-group__label">E-mail:</label> | |
332 | + <div class="form-group__item"> | |
333 | + {{ $worker->email ?? '-' }} | |
334 | + </div> | |
335 | + </div> | |
336 | + | |
337 | + <div class="cabinet__inputs-item form-group"> | |
338 | + <label class="form-group__label">Уровень английского:</label> | |
339 | + <div class="form-group__item"> | |
340 | + {{ $worker->english_level ?? '-' }} | |
341 | + </div> | |
342 | + </div> | |
343 | + <div class="cabinet__inputs-item form-group"> | |
344 | + <label class="form-group__label">Контакты родственников:</label> | |
345 | + <div class="form-group__item"> | |
346 | + {{ $worker->telephon2 ?? '-' }} | |
347 | + </div> | |
348 | + </div> | |
349 | + | |
350 | + <div class="cabinet__inputs-item form-group"> | |
351 | + <label class="form-group__label">Дата готовности к посадке:</label> | |
352 | + <div class="form-group__item"> | |
353 | + {{ $worker->ready_boart_date ?? '-' }} | |
354 | + </div> | |
355 | + </div> | |
356 | + <div class="cabinet__inputs-item form-group"> | |
357 | + <label class="form-group__label">Предпочтение по типу судна:</label> | |
358 | + <div class="form-group__item"> | |
359 | + {{ $worker->boart_type_preference ?? '-' }} | |
360 | + </div> | |
361 | + </div> | |
362 | + | |
363 | + <div class=""> | |
364 | + <h4 class="cabinet__h4 mb-10">О себе</h4> | |
365 | + <div>{{ $worker->text }}</div> | |
366 | + </div> | |
367 | + | |
368 | + <div class=""> | |
369 | + <a href="{{ route('worker.basic_information') }}" class="button active">Редактировать основную информацию</a> | |
370 | + </div> | |
394 | 371 | </div> |
395 | 372 | </div> |
396 | 373 | |
374 | + <div class="mb-40" id="sertificate" name="sertificate"> | |
375 | + <h3 class="cabinet__subtitle font30 mb-20">Сертификаты / документы</h3> | |
397 | 376 | |
398 | - <div id="sertificate" name="sertificate"> | |
399 | - @if ((isset($Worker[0]->sertificate)) && ($Worker[0]->sertificate->count() > 0)) | |
400 | - @php $i = 0; @endphp | |
401 | - @foreach($Worker[0]->sertificate as $it) | |
402 | - <div style="margin-bottom: 20px" class="cabinet__body-item"> | |
403 | - @if ($i == 0) | |
404 | - <h3 class="cabinet__subtitle">Сертификаты / документы</h3> | |
405 | - @endif | |
406 | - <h4 class="cabinet__h4">Сертификат {{ $i+1 }}</h4> | |
407 | - <div class="cabinet__inputs"> | |
408 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
409 | - <label class="form-group__label">Название сертификата:</label> | |
410 | - <div class="form-group__item"> | |
411 | - <input type="text" class="input" value="{{ $it->name }}" disabled> | |
412 | - </div> | |
377 | + @if($worker->sertificate->count()) | |
378 | + @foreach($worker->sertificate as $sertificate) | |
379 | + <div class="one-sertificate"> | |
380 | + <div class="sertificate-field sertificate-name"> | |
381 | + <label class="bold">Название сертификата:</label> | |
382 | + <div>{{ $sertificate->name }}</div> | |
413 | 383 | </div> |
414 | - <!--<div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
415 | - <label class="form-group__label">Учебное заведение</label> | |
416 | - <div class="form-group__item"> | |
417 | - <input type="text" class="input" value=" $it->education }}" disabled> | |
418 | - </div> | |
419 | - </div>--> | |
420 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
421 | - <label class="form-group__label">Действителен до:</label> | |
422 | - <div class="form-group__item"> | |
423 | - <input type="text" class="input" value="{{ $it->end_begin }}" disabled> | |
424 | - </div> | |
384 | + <div class="sertificate-field"> | |
385 | + <label class="bold">Действителен до:</label> | |
386 | + <div>{{ date('d.m.Y', strtotime($sertificate->end_begin)) }}</div> | |
387 | + </div> | |
388 | + <div class="sertificate-field sertificate-buttons"> | |
389 | + <a href="{{ route('worker.edit_sertificate', ['worker' => $worker->id, 'doc' => $sertificate->id ]) }}" class="button button_light mr-10"> | |
390 | + <svg><use xlink:href="{{ asset('images/sprite.svg#pencil') }}"></use></svg> | |
391 | + </a> | |
392 | + <a href="{{ route('worker.delete_sertificate', ['doc' => $sertificate->id]) }}" class="button button_light"> | |
393 | + <svg><use xlink:href="{{ asset('images/sprite.svg#del') }}"></use></svg> | |
394 | + </a> | |
425 | 395 | </div> |
426 | - <a href="{{ route('worker.delete_sertificate', ['doc' => $it->id]) }}" class="button button_light"> | |
427 | - <svg> | |
428 | - <use xlink:href="{{ asset('images/sprite.svg#del') }}"></use> | |
429 | - </svg> | |
430 | - Удалить | |
431 | - </a> | |
432 | - <a href="{{ route('worker.edit_sertificate', ['worker' => $Worker[0]->id, 'doc' => $it->id ]) }}" class="button">Редактирование</a> | |
433 | 396 | </div> |
434 | - </div> | |
435 | - @php $i++ @endphp | |
436 | 397 | @endforeach |
437 | - @else | |
438 | - <div style="margin-bottom: 20px" class="cabinet__body-item"> | |
439 | - <h3 class="cabinet__subtitle">Сертификаты / документы</h3> | |
440 | - Нет сертификатов | |
441 | - </div> | |
442 | 398 | @endif |
443 | - </div> | |
444 | 399 | |
445 | - <div class="cabinet__body-item"> | |
446 | - <a class="button button_light" href="{{ route('worker.new_sertificate',['worker' => $Worker[0]->id]) }}" id="button_new_doc" name="button_new_doc"> | |
447 | - Добавить сертификат | |
400 | + <a class="button fit-content" href="{{ route('worker.new_sertificate',['worker' => $worker->id]) }}" id="button_new_doc" name="button_new_doc"> | |
401 | + Добавить сертификат / документ | |
448 | 402 | </a> |
449 | 403 | </div> |
450 | 404 | |
451 | - <div class="cabinet__body-item" name="ajax_dop_diplomi" id="ajax_dop_diplomi"> | |
452 | - <h4 class="cabinet__h4">Дополнительная информация</h4> | |
405 | + <div class="cabinet__body-item mb-40" name="ajax_dop_diplomi" id="ajax_dop_diplomi"> | |
406 | + <h3 class="cabinet__subtitle font30">Дополнительные документы</h3> | |
407 | + | |
453 | 408 | <div class="cabinet__inputs" id="block_sertificate"> |
454 | - @if ($Infobloks->count()) | |
455 | - @foreach ($Infobloks as $doc) | |
456 | - <div class="cabinet__inputs-item form-group"> | |
457 | - <label class="form-group__label">{{ $doc->name }}</label> | |
409 | + @if ($info_blocks->count()) | |
410 | + @foreach ($info_blocks as $info_block) | |
411 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
412 | + <label class="form-group__label">{{ $info_block->name }}:</label> | |
413 | + | |
458 | 414 | <div class="form-group__item"> |
459 | - <div class="select"> | |
460 | - @php $Selected = 0; @endphp | |
461 | - @if ($Worker[0]->infobloks->count()) | |
462 | - @foreach ($Worker[0]->dop_info as $info) | |
463 | - @if ($info->infoblok_id == $doc->id) | |
464 | - @php $Selected = $info->status; @endphp | |
465 | - @endif | |
466 | - @endforeach | |
467 | - @endif | |
468 | - <select data-info="{{ $doc->id }}" class="js-select2 sertificates_js"> | |
469 | - <option value="0" @if ($Selected == 0) selected @endif>Не указано</option> | |
470 | - <option value="1" @if ($Selected == 1) selected @endif>В наличии</option> | |
471 | - <option value="2" @if ($Selected == 2) selected @endif>Отсутствует</option> | |
472 | - </select> | |
473 | - </div> | |
415 | + @php $status = 0; @endphp | |
416 | + @if (!empty($worker->dop_info[$info_block->id]) && $worker->dop_info[$info_block->id]['status']) | |
417 | + @php $status = $worker->dop_info[$info_block->id]['status']; @endphp | |
418 | + @endif | |
419 | + {{ $additional_document_statuses[$status] }} | |
474 | 420 | </div> |
475 | 421 | </div> |
476 | 422 | @endforeach |
477 | 423 | @endif |
478 | - <!--_if (isset($Worker[0]->infobloks)) | |
479 | - _php dd($Worker[0]->infobloks) _endphp | |
480 | - _if ($Worker[0]->infobloks->count()) | |
481 | - _php $i = 1; _endphp | |
482 | - _foreach ($Worker[0]->infobloks as $info) | |
483 | - <div class="cabinet__inputs-item form-group"> | |
484 | - <label class="form-group__label"> $info->name }}</label> | |
485 | - <div class="form-group__item"> | |
486 | - <div class="select"> | |
487 | - <select data-info=" $info->id }}" class="js-select2 sertificates_js"> | |
488 | - <option value="0">Нет</option> | |
489 | - <option value="1" selected>Да</option> | |
490 | - </select> | |
491 | - </div> | |
492 | - </div> | |
493 | - </div> | |
494 | - _php $i++; _endphp | |
495 | - _endforeach | |
496 | - _endif | |
497 | - _endif | |
498 | - --> | |
499 | - | |
500 | - <!--<div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
501 | - <label class="form-group__label">Образцы дипломов и документов</label> | |
502 | - <div class="form-group__item"> | |
503 | - <div class="select"> | |
504 | - <select class="js-select2" id="documents" name="documents"> | |
505 | - _if ($Infoblocks->count()) | |
506 | - _foreach ($Infoblocks as $it) | |
507 | - <option value="_$it->id }}">_$it->name }}</option> | |
508 | - _endforeach | |
509 | - _endif | |
510 | - </select> | |
511 | - </div> | |
512 | - </div> | |
513 | - </div>--> | |
514 | 424 | </div> |
515 | - <!--<a href=" route('worker.add_diplom', ['worker' => $Worker[0]->id]) }}" name="btn_new_diplom" data-val="{{ $Worker[0]->id }}" id="btn_new_diplom" class="button button_light"> | |
516 | - Добавить документ | |
517 | - </a>--> | |
425 | + | |
426 | + <a class="button fit-content" href="{{ route('worker.additional_documents') }}"> | |
427 | + Редактировать дополнительные документы | |
428 | + </a> | |
518 | 429 | </div> |
519 | - <div class="cabinet__body-item"> | |
430 | + | |
431 | + <div class="cabinet__body-item mb-20"> | |
432 | + <div> | |
433 | + <h3 class="cabinet__subtitle font30">Опыт работы</h3> | |
434 | + <div class="">Начните заполнение анкеты с указания последнего места работы</div> | |
435 | + </div> | |
436 | + | |
520 | 437 | <div class="cabinet__works"> |
521 | - @if (isset($Worker[0]->place_worker)) | |
522 | - @php $i = 1; @endphp | |
523 | - @foreach($Worker[0]->place_worker as $company) | |
438 | + @if (isset($worker->place_worker)) | |
439 | + @foreach($worker->place_worker as $company) | |
524 | 440 | <div class="cabinet__works-item"> |
525 | 441 | <div class="cabinet__works-spoiler active"> |
526 | 442 | <div class="cabinet__works-spoiler-left"> |
527 | - <div class="cabinet__works-spoiler-buttons"> | |
528 | - <a href="{{ route('worker.delete_document', ['doc' => $company->id]) }}" class="button button_light js-works-remove"> | |
529 | - <svg> | |
530 | - <use xlink:href="{{ asset('images/sprite.svg#del') }}"></use> | |
531 | - </svg> | |
532 | - </a> | |
533 | - <a href="{{ route('worker.edit_document', ['doc' => $company->id, 'worker' => $Worker[0]->id]) }}" type="button" class="button button_light js-works-edit"> | |
534 | - <svg> | |
535 | - <use xlink:href="{{ asset('images/sprite.svg#pencil') }}"></use> | |
536 | - </svg> | |
537 | - </a> | |
538 | - </div> | |
539 | - <div class="cabinet__works-spoiler-text">Место работы {{ $i }}</div> | |
443 | + <div class="cabinet__works-spoiler-text">Место работы {{ $loop->iteration }}</div> | |
444 | + </div> | |
445 | + <div class="cabinet__works-spoiler-buttons"> | |
446 | + <a href="{{ route('worker.delete_document', ['doc' => $company->id]) }}" class="button button_light js-works-remove"> | |
447 | + <svg> | |
448 | + <use xlink:href="{{ asset('images/sprite.svg#del') }}"></use> | |
449 | + </svg> | |
450 | + </a> | |
451 | + <a href="{{ route('worker.edit_document', ['doc' => $company->id, 'worker' => $worker->id]) }}" type="button" class="button button_light js-works-edit"> | |
452 | + <svg> | |
453 | + <use xlink:href="{{ asset('images/sprite.svg#pencil') }}"></use> | |
454 | + </svg> | |
455 | + </a> | |
540 | 456 | </div> |
541 | - <button type="button" class="cabinet__works-spoiler-right js-parent-toggle"> | |
542 | - <svg> | |
543 | - <use xlink:href="{{ asset('images/sprite.svg#arrow-bold') }}"></use> | |
544 | - </svg> | |
545 | - </button> | |
546 | 457 | </div> |
458 | + | |
547 | 459 | <div class="cabinet__works-body"> |
548 | 460 | <div class="cabinet__inputs"> |
549 | - <div class="cabinet__inputs-item form-group"> | |
550 | - <label class="form-group__label">Должность</label> | |
461 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
462 | + <label class="form-group__label">Должность:</label> | |
551 | 463 | <div class="form-group__item"> |
552 | - <input type="text" class="input" value="{{ $company->job_title }}" disabled> | |
464 | + {{ $company->job_title ?? '-' }} | |
553 | 465 | </div> |
554 | 466 | </div> |
555 | - <!--<div class="cabinet__inputs-item form-group"> | |
556 | - <label class="form-group__label">Опыт работы в танкерном флоте</label> | |
557 | - <div class="form-group__item"> | |
558 | - <input type="text" class="input" value="@if ($company->tanker) Есть @else Нет @endif"> | |
559 | - </div> | |
560 | - </div>--> | |
561 | - <div class="cabinet__inputs-item form-group"> | |
562 | - <label class="form-group__label">Название т/х</label> | |
467 | + | |
468 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
469 | + <label class="form-group__label">Название т/х:</label> | |
563 | 470 | <div class="form-group__item"> |
564 | - <input type="text" class="input" value="{{ $company->teplohod }}" disabled> | |
471 | + {{ $company->teplohod ?? '-' }} | |
565 | 472 | </div> |
566 | 473 | </div> |
567 | - <div class="cabinet__inputs-item form-group"> | |
568 | - <label class="form-group__label">Тип суда (GWT)</label> | |
474 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
475 | + <label class="form-group__label">Тип суда:</label> | |
569 | 476 | <div class="form-group__item"> |
570 | - <input type="text" class="input" value="{{ $company->GWT }}" disabled> | |
477 | + {{ $company->GWT ?? '-' }} | |
571 | 478 | </div> |
572 | 479 | </div> |
573 | - <div class="cabinet__inputs-item form-group"> | |
574 | - <label class="form-group__label">Марка ГД</label> | |
480 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
481 | + <label class="form-group__label">Марка ГД:</label> | |
575 | 482 | <div class="form-group__item"> |
576 | - <input type="text" class="input" value="{{ $company->Marka_GD }}" disabled> | |
483 | + {{ $company->Marka_GD ?? '-' }} | |
577 | 484 | </div> |
578 | 485 | </div> |
579 | - <div class="cabinet__inputs-item form-group"> | |
580 | - <label class="form-group__label">Мощность ГД (кВТ)</label> | |
486 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
487 | + <label class="form-group__label">Мощность ГД (кВТ):</label> | |
581 | 488 | <div class="form-group__item"> |
582 | - <input type="text" class="input" value="{{ $company->KBT }}" disabled> | |
489 | + {{ $company->KBT ?? '-' }} | |
583 | 490 | </div> |
584 | 491 | </div> |
585 | - <div class="cabinet__inputs-item form-group"> | |
586 | - <label class="form-group__label">Водоизмещение (GRT)</label> | |
492 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
493 | + <label class="form-group__label">Водоизмещение (DWT):</label> | |
587 | 494 | <div class="form-group__item"> |
588 | - <input type="text" class="input" value="{{ $company->GRT }}" disabled> | |
495 | + {{ $company->GRT ?? '-' }} | |
589 | 496 | </div> |
590 | 497 | </div> |
591 | - <div class="cabinet__inputs-item form-group"> | |
592 | - <label class="form-group__label">Название компании</label> | |
498 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
499 | + <label class="form-group__label">Название компании:</label> | |
593 | 500 | <div class="form-group__item"> |
594 | - <input type="text" class="input" value="{{ $company->name_company }}" disabled> | |
501 | + {{ $company->name_company ?? '-' }} | |
595 | 502 | </div> |
596 | 503 | </div> |
597 | - <div class="cabinet__inputs-item form-group"> | |
598 | - <label class="form-group__label">Начало контракта</label> | |
504 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
505 | + <label class="form-group__label">Начало контракта:</label> | |
599 | 506 | <div class="form-group__item"> |
600 | - <input type="text" class="input" value="{{ $company->begin_work }}" disabled> | |
507 | + {{ $company->begin_work ?? '-' }} | |
601 | 508 | </div> |
602 | 509 | </div> |
603 | - <div class="cabinet__inputs-item form-group"> | |
604 | - <label class="form-group__label">Окончание контракта</label> | |
510 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
511 | + <label class="form-group__label">Окончание контракта:</label> | |
605 | 512 | <div class="form-group__item"> |
606 | - <input type="text" class="input" value="{{ $company->end_work }}" disabled> | |
513 | + {{ $company->end_work ?? '-' }} | |
607 | 514 | </div> |
608 | 515 | </div> |
609 | 516 | |
610 | 517 | </div> |
611 | 518 | </div> |
612 | 519 | </div> |
613 | - @php $i++ @endphp | |
614 | 520 | @endforeach |
615 | 521 | @endif |
616 | 522 | </div> |
617 | 523 | |
618 | - </div> | |
524 | + <a href="{{ route('worker.add_document', ['worker' => $worker->id]) }}" id="new_work" name="new_work" class="button fit-content"> | |
525 | + Добавить место работы | |
526 | + </a> | |
527 | + </div> | |
619 | 528 | |
620 | - <a href="{{ route('worker.add_document', ['worker' => $Worker[0]->id]) }}" id="new_work" name="new_work" class="button button_light cabinet__works-add" style="width:100%; max-width:none;">Новое место работы</a> | |
529 | + <div id="prev_worker" name="prev_worker"> | |
530 | + <div> | |
531 | + <h3 class="cabinet__subtitle font30">Рекомендации</h3> | |
532 | + <div class="">Укажите контакты компаний, которые могут дать рекомендации</div> | |
533 | + </div> | |
621 | 534 | |
622 | - <div id="prev_worker" name="prev_worker"> | |
623 | - @if ((isset($Worker[0]->prev_company)) && ($Worker[0]->prev_company->count() > 0)) | |
624 | - @php $i = 0; @endphp | |
625 | - @foreach($Worker[0]->prev_company as $it) | |
626 | - <div style="margin-bottom: 20px" class="cabinet__body-item"> | |
627 | - @if ($i == 0) | |
628 | - <h3 class="cabinet__subtitle">Контакты предыдущих компаний</h3> | |
629 | - @endif | |
630 | - <h4 class="cabinet__h4">Компания {{ $i+1 }}</h4> | |
631 | - <div class="cabinet__inputs"> | |
632 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
633 | - <label class="form-group__label">Название компании</label> | |
535 | + @if ((isset($worker->prev_company)) && ($worker->prev_company->count() > 0)) | |
536 | + @foreach($worker->prev_company as $it) | |
537 | + <div class="cabinet__body-item"> | |
538 | + <div class="cabinet__inputs mt-30"> | |
539 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
540 | + <label class="form-group__label">Название компании:</label> | |
634 | 541 | <div class="form-group__item"> |
635 | - <input type="text" class="input" value="{{ $it->name_company }}" disabled> | |
542 | + {{ $it->name_company }} | |
636 | 543 | </div> |
637 | 544 | </div> |
638 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
639 | - <label class="form-group__label">ФИО сотрудника</label> | |
545 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
546 | + <label class="form-group__label">ФИО сотрудника:</label> | |
640 | 547 | <div class="form-group__item"> |
641 | - <input type="text" class="input" value="{{ $it->direct }}" disabled> | |
548 | + {{ $it->direct }} | |
642 | 549 | </div> |
643 | 550 | </div> |
644 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
645 | - <label class="form-group__label">Должность сотрудника</label> | |
551 | + <div class="cabinet__inputs-item column-count-3 form-group cabinet__inputs-item-buttons"> | |
552 | + <div class="flex"> | |
553 | + <a href="{{ route('worker.delete_prev_company', ['doc' => $it->id]) }}" class="button button_light mr-10"> | |
554 | + <svg> | |
555 | + <use xlink:href="{{ asset('images/sprite.svg#del') }}"></use> | |
556 | + </svg> | |
557 | + </a> | |
558 | + <a href="{{ route('worker.edit_prev_company', ['worker' => $worker->id, 'doc' => $it->id ]) }}" class="button button_light"> | |
559 | + <svg> | |
560 | + <use xlink:href="{{ asset('images/sprite.svg#pencil') }}"></use> | |
561 | + </svg> | |
562 | + </a> | |
563 | + </div> | |
564 | + </div> | |
565 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
566 | + <label class="form-group__label">Должность сотрудника:</label> | |
646 | 567 | <div class="form-group__item"> |
647 | - <input type="text" class="input" value="{{ $it->telephone }}" disabled> | |
568 | + {{ $it->telephone }} | |
648 | 569 | </div> |
649 | 570 | </div> |
650 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
651 | - <label class="form-group__label">Телефон сотрудника</label> | |
571 | + <div class="cabinet__inputs-item column-count-3 form-group"> | |
572 | + <label class="form-group__label">Телефон сотрудника:</label> | |
652 | 573 | <div class="form-group__item"> |
653 | - <input type="text" class="input" value="{{ $it->telephone2 }}" disabled> | |
574 | + {{ $it->telephone2 }} | |
654 | 575 | </div> |
655 | 576 | </div> |
656 | - <a href="{{ route('worker.delete_prev_company', ['doc' => $it->id]) }}" class="button button_light"> | |
657 | - <svg> | |
658 | - <use xlink:href="{{ asset('images/sprite.svg#del') }}"></use> | |
659 | - </svg> | |
660 | - Удалить | |
661 | - </a> | |
662 | - <a href="{{ route('worker.edit_prev_company', ['worker' => $Worker[0]->id, 'doc' => $it->id ]) }}" class="button">Редактирование</a> | |
577 | + <div class="cabinet__inputs-item column-count-3 form-group cabinet__inputs-item-buttons"></div> | |
663 | 578 | </div> |
664 | 579 | </div> |
665 | - @php $i++ @endphp | |
666 | 580 | @endforeach |
667 | - @else | |
668 | - <div style="margin-bottom: 20px" class="cabinet__body-item"> | |
669 | - <h3 class="cabinet__subtitle">Предыдущие компании</h3> | |
670 | - Нет предыдущих компаний | |
671 | - </div> | |
672 | 581 | @endif |
673 | 582 | </div> |
674 | 583 | |
675 | 584 | <div class="cabinet__body-item"> |
676 | - <a class="button button_light" href="{{ route('worker.new_prev_company',['worker' => $Worker[0]->id]) }}" id="button_new_doc" name="button_new_doc"> | |
677 | - Добавить официльную контактную информацию | |
585 | + <a class="button fit-content" href="{{ route('worker.new_prev_company',['worker' => $worker->id]) }}"> | |
586 | + Добавить контакт для рекомендации | |
678 | 587 | </a> |
679 | 588 | </div> |
680 | 589 | |
... | ... | @@ -682,6 +591,4 @@ |
682 | 591 | </div> |
683 | 592 | </div> |
684 | 593 | </section> |
685 | - </div> | |
686 | -<div> | |
687 | 594 | @endsection |
resources/views/workers/cabinet_layout.blade.php
... | ... | @@ -0,0 +1,26 @@ |
1 | +@extends('layout.frontend') | |
2 | + | |
3 | +@section('content') | |
4 | +<section class="cabinet"> | |
5 | + <div class="container"> | |
6 | + <ul class="breadcrumbs cabinet__breadcrumbs"> | |
7 | + <li><a href="{{ route('index') }}">Главная</a></li> | |
8 | + <li><b>Личный кабинет</b></li> | |
9 | + </ul> | |
10 | + <div class="cabinet__wrapper"> | |
11 | + <div class="cabinet__side"> | |
12 | + <div class="cabinet__side-toper"> | |
13 | + @include('workers.emblema') | |
14 | + </div> | |
15 | + | |
16 | + @include('workers.menu', ['item' => 1]) | |
17 | + </div> | |
18 | + <div class="cabinet__body">@yield('cabinet_content')</div> | |
19 | + </div> | |
20 | + </div> | |
21 | +</section> | |
22 | +@endsection | |
23 | + | |
24 | + | |
25 | + | |
26 | + |
resources/views/workers/docs-edit.blade.php
1 | -@extends('layout.frontend', ['title' => 'Редактирование стандартного документа - РекаМоре']) | |
1 | +@extends('workers.cabinet_layout', ['title' => 'Место работы - РекаМоре']) | |
2 | 2 | |
3 | -@section('scripts') | |
4 | 3 | |
5 | -@endsection | |
4 | +@section('cabinet_content') | |
5 | +<form class="" action="{{ route('worker.edit_document_save', ['doc' => $doc->id]) }}" method="POST"> | |
6 | + @csrf | |
7 | + | |
8 | + <div class="cabinet__body-item"> | |
9 | + <div class="cabinet__anketa"> | |
10 | + <h2 class="title cabinet__title">Место работы</h2> | |
11 | + </div> | |
12 | + </div> | |
6 | 13 | |
7 | -@section('content') | |
8 | - <section class="cabinet"> | |
9 | - <div class="container"> | |
10 | - <ul class="breadcrumbs cabinet__breadcrumbs"> | |
11 | - <li><a href="{{ route('index') }}">Главная</a></li> | |
12 | - <li><b>Личный кабинет</b></li> | |
13 | - </ul> | |
14 | - <div class="cabinet__wrapper"> | |
15 | - <div class="cabinet__side"> | |
16 | - <div class="cabinet__side-toper"> | |
17 | - @include('workers.emblema') | |
14 | + @include('messages_error') | |
18 | 15 | |
16 | + <div class="cabinet__works-body"> | |
17 | + <div class="cabinet__inputs"> | |
18 | + <input type="hidden" name="worker_id" id="worker_id" value="{{ $worker->id }}"/> | |
19 | + <div class="cabinet__inputs-item form-group"> | |
20 | + <label class="form-group__label">Должность:</label> | |
21 | + <div class="form-group__item"> | |
22 | + <input type="text" name="job_title" id="job_title" class="input" value="{{ old('job_title') ?? $doc->job_title ?? '' }}"> | |
19 | 23 | </div> |
24 | + </div> | |
20 | 25 | |
21 | - @include('workers.menu', ['item' => 1]) | |
26 | + <div class="cabinet__inputs-item form-group"> | |
27 | + <label class="form-group__label">Название т/х:</label> | |
28 | + <div class="form-group__item"> | |
29 | + <input type="text" name="teplohod" id="teplohod" class="input" value="{{ old('teplohod') ?? $doc->teplohod ?? '' }}"> | |
30 | + </div> | |
31 | + </div> | |
32 | + <div class="cabinet__inputs-item form-group"> | |
33 | + <label class="form-group__label">Тип судна (GWT):</label> | |
34 | + <div class="form-group__item"> | |
35 | + <input type="text" name="GWT" id="GWT" class="input" value="{{ old('GWT') ?? $doc->GWT ?? '' }}"> | |
36 | + </div> | |
22 | 37 | </div> |
23 | 38 | |
24 | - <form class="cabinet__body" action="{{ route('worker.edit_document_save', ['doc' => $doc->id]) }}" method="POST"> | |
25 | - @csrf | |
26 | - <div class="cabinet__works-item"> | |
27 | - @include('messages_error') | |
28 | - <div class="cabinet__works-spoiler active"> | |
29 | - <div class="cabinet__works-spoiler-left"> | |
30 | - <div class="cabinet__works-spoiler-text">Редактирование работы</div> | |
31 | - </div> | |
32 | - <button type="button" class="cabinet__works-spoiler-right js-parent-toggle"> | |
33 | - <svg> | |
34 | - <use xlink:href="{{ asset('images/sprite.svg#arrow-bold') }}"></use> | |
35 | - </svg> | |
36 | - </button> | |
37 | - </div> | |
38 | - <div class="cabinet__works-body"> | |
39 | - <div class="cabinet__inputs"> | |
40 | - <input type="hidden" name="worker_id" id="worker_id" value="{{ $worker->id }}"/> | |
41 | - <div class="cabinet__inputs-item form-group"> | |
42 | - <label class="form-group__label">Должность</label> | |
43 | - <div class="form-group__item"> | |
44 | - <input type="text" name="job_title" id="job_title" class="input" value="{{ old('job_title') ?? $doc->job_title ?? '' }}"> | |
45 | - </div> | |
46 | - </div> | |
47 | - <!--<div class="cabinet__inputs-item form-group"> | |
48 | - <label class="form-group__label">Опыт работы в танкерном флоте</label> | |
49 | - <div class="form-group__item"> | |
50 | - <select class="js-select2" name="tanker" id="tanker"> | |
51 | - <option value="0" if ($doc->tanker == 0) seleted endif>Нет</option> | |
52 | - <option value="1" if ($doc->tanker == 1) seleted endif>Да</option> | |
53 | - </select> | |
54 | - </div> | |
55 | - </div>--> | |
56 | - <div class="cabinet__inputs-item form-group"> | |
57 | - <label class="form-group__label">Название т/х</label> | |
58 | - <div class="form-group__item"> | |
59 | - <input type="text" name="teplohod" id="teplohod" class="input" value="{{ old('teplohod') ?? $doc->teplohod ?? '' }}"> | |
60 | - </div> | |
61 | - </div> | |
62 | - <div class="cabinet__inputs-item form-group"> | |
63 | - <label class="form-group__label">Тип судна (GWT)</label> | |
64 | - <div class="form-group__item"> | |
65 | - <input type="text" name="GWT" id="GWT" class="input" value="{{ old('GWT') ?? $doc->GWT ?? '' }}"> | |
66 | - </div> | |
67 | - </div> | |
39 | + <div class="cabinet__inputs-item form-group"> | |
40 | + <label class="form-group__label">Марка ГД:</label> | |
41 | + <div class="form-group__item"> | |
42 | + <input type="text" name="Marka_GD" id="Marka_GD" class="input" value="{{ old('Marka_GD') ?? $doc->Marka_GD ?? '' }}"> | |
43 | + </div> | |
44 | + </div> | |
68 | 45 | |
69 | - <div class="cabinet__inputs-item form-group"> | |
70 | - <label class="form-group__label">Марка ГД</label> | |
71 | - <div class="form-group__item"> | |
72 | - <input type="text" name="Marka_GD" id="Marka_GD" class="input" value="{{ old('Marka_GD') ?? $doc->Marka_GD ?? '' }}"> | |
73 | - </div> | |
74 | - </div> | |
46 | + <div class="cabinet__inputs-item form-group"> | |
47 | + <label class="form-group__label">Мощность ГД (кВТ):</label> | |
48 | + <div class="form-group__item"> | |
49 | + <input type="text" name="KBT" id="KBT" class="input" value="{{ old('KBT') ?? $doc->KBT ?? '' }}"> | |
50 | + </div> | |
51 | + </div> | |
75 | 52 | |
76 | - <div class="cabinet__inputs-item form-group"> | |
77 | - <label class="form-group__label">Мощность ГД (кВТ)</label> | |
78 | - <div class="form-group__item"> | |
79 | - <input type="text" name="KBT" id="KBT" class="input" value="{{ old('KBT') ?? $doc->KBT ?? '' }}"> | |
80 | - </div> | |
81 | - </div> | |
53 | + <div class="cabinet__inputs-item form-group"> | |
54 | + <label class="form-group__label">Водоизмещение (DWT):</label> | |
55 | + <div class="form-group__item"> | |
56 | + <input type="text" name="GRT" id="GRT" class="input" value="{{ old('GRT') ?? $doc->GRT ?? '' }}"> | |
57 | + </div> | |
58 | + </div> | |
82 | 59 | |
83 | - <div class="cabinet__inputs-item form-group"> | |
84 | - <label class="form-group__label">Водоизмещение (GRT)</label> | |
85 | - <div class="form-group__item"> | |
86 | - <input type="text" name="GRT" id="GRT" class="input" value="{{ old('GRT') ?? $doc->GRT ?? '' }}"> | |
87 | - </div> | |
88 | - </div> | |
60 | + <div class="cabinet__inputs-item form-group"> | |
61 | + <label class="form-group__label">Название компании:</label> | |
62 | + <div class="form-group__item"> | |
63 | + <input type="text" name="name_company" id="name_company" class="input" value="{{ old('name_company') ?? $doc->name_company ?? '' }}"> | |
64 | + </div> | |
65 | + </div> | |
89 | 66 | |
90 | - <div class="cabinet__inputs-item form-group"> | |
91 | - <label class="form-group__label">Название компании</label> | |
92 | - <div class="form-group__item"> | |
93 | - <input type="text" name="name_company" id="name_company" class="input" value="{{ old('name_company') ?? $doc->name_company ?? '' }}"> | |
94 | - </div> | |
95 | - </div> | |
67 | + <div class="cabinet__inputs-item form-group"> | |
68 | + <label class="form-group__label">Начало контракта:</label> | |
69 | + <div class="form-group__item"> | |
70 | + <input type="text" name="Begin_work" id="Begin_work" class="input" value="{{ old('begin_work') ?? $doc->begin_work ?? '' }}"> | |
71 | + </div> | |
72 | + </div> | |
96 | 73 | |
97 | - <div class="cabinet__inputs-item form-group"> | |
98 | - <label class="form-group__label">Начало контракта</label> | |
99 | - <div class="form-group__item"> | |
100 | - <input type="text" name="Begin_work" id="Begin_work" class="input" value="{{ old('begin_work') ?? $doc->begin_work ?? '' }}"> | |
101 | - </div> | |
102 | - </div> | |
74 | + <div class="cabinet__inputs-item form-group"> | |
75 | + <label class="form-group__label">Окончание контракта:</label> | |
76 | + <div class="form-group__item"> | |
77 | + <input type="text" name="End_work" id="End_work" class="input" value="{{ old('end_work') ?? $doc->end_work ?? '' }}"> | |
78 | + </div> | |
79 | + </div> | |
103 | 80 | |
104 | - <div class="cabinet__inputs-item form-group"> | |
105 | - <label class="form-group__label">Окончание контракта</label> | |
106 | - <div class="form-group__item"> | |
107 | - <input type="text" name="End_work" id="End_work" class="input" value="{{ old('end_work') ?? $doc->end_work ?? '' }}"> | |
108 | - </div> | |
109 | - </div> | |
81 | + <div class="cabinet__inputs-item form-group cabinet__inputs-item-buttons"></div> | |
110 | 82 | |
111 | - <button type="submit" class="button">Сохранить</button> | |
112 | - </div> | |
113 | - </div> | |
114 | - </div> | |
115 | - </form> | |
116 | - </div> | |
83 | + <div class="flex"> | |
84 | + <button type="submit" class="button mr-10">Сохранить</button> | |
85 | + <a href="{{ route('worker.cabinet') }}" class="button button_light active">Отмена</a> | |
86 | + </div> | |
87 | + </div> | |
117 | 88 | </div> |
118 | - </section> | |
119 | - </div> | |
89 | +</form> | |
120 | 90 | @endsection |
resources/views/workers/form_additional_documents.blade.php
... | ... | @@ -0,0 +1,78 @@ |
1 | +@extends('workers.cabinet_layout', ['title' => 'Дополнительные документы - РекаМоре']) | |
2 | + | |
3 | +@section('scripts') | |
4 | +<script> | |
5 | + $(function () { | |
6 | + $('.sertificates_js').change(function(){ | |
7 | + var this_btn = $(this); | |
8 | + var wrap = this_btn.closest('.cabinet__inputs-item'); | |
9 | + var infoblock_id = this_btn.attr('data-info'); | |
10 | + var val = this_btn.val(); | |
11 | + | |
12 | + $.ajax({ | |
13 | + type: "GET", | |
14 | + url: "{{ route('worker.delete_add_diplom', ['worker' => $worker->id]) }}", | |
15 | + data: "&infoblok_id=" + infoblock_id+"&val="+val, | |
16 | + success: function (data) { | |
17 | + wrap.find('.form-group__label').append('<span class="success font12 ml-10 green">Сохранено</span>'); | |
18 | + setTimeout(function(){ | |
19 | + wrap.find('.form-group__label .success').fadeOut(300, function(){ | |
20 | + wrap.find('.form-group__label .success').remove(); | |
21 | + }); | |
22 | + }, 2000); | |
23 | + }, | |
24 | + headers: { | |
25 | + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') | |
26 | + }, | |
27 | + error: function (data) { | |
28 | + data = JSON.stringify(data); | |
29 | + console.log('Error: ' + data); | |
30 | + } | |
31 | + }); | |
32 | + }); | |
33 | + }); | |
34 | +</script> | |
35 | +@endsection | |
36 | + | |
37 | +@section('cabinet_content') | |
38 | +<div class="mb-40" name="ajax_dop_diplomi" id="ajax_dop_diplomi"> | |
39 | + @csrf | |
40 | + | |
41 | + <div class="cabinet__body-item"> | |
42 | + <div class="cabinet__anketa"> | |
43 | + <h2 class="title cabinet__title">Дополнительные документы</h2> | |
44 | + </div> | |
45 | + </div> | |
46 | + | |
47 | + <div class="cabinet__body-item"> | |
48 | + <div class="cabinet__inputs"> | |
49 | + @if ($info_blocks->count()) | |
50 | + @foreach ($info_blocks as $info_block) | |
51 | + <div class="cabinet__inputs-item form-group"> | |
52 | + <label class="form-group__label">{{ $info_block->name }}:</label> | |
53 | + | |
54 | + <div class="form-group__item"> | |
55 | + @php $status = 0; @endphp | |
56 | + @if (!empty($worker->dop_info[$info_block->id]) && $worker->dop_info[$info_block->id]['status']) | |
57 | + @php $status = $worker->dop_info[$info_block->id]['status']; @endphp | |
58 | + @endif | |
59 | + | |
60 | + <select data-info="{{ $info_block->id }}" class="js-select2 sertificates_js"> | |
61 | + @foreach($additional_document_statuses as $key => $value) | |
62 | + <option value="{{ $key }}" @if ($status == $key) selected @endif>{{ $value }}</option> | |
63 | + @endforeach | |
64 | + </select> | |
65 | + </div> | |
66 | + </div> | |
67 | + @endforeach | |
68 | + @endif | |
69 | + | |
70 | + <div class="cabinet__body-item cabinet__inputs-item-full-row"> | |
71 | + <div class="cabinet__buttons_flex"> | |
72 | + <a href="{{ route('worker.cabinet') }}" class="button button_light active">Назад</a> | |
73 | + </div> | |
74 | + </div> | |
75 | + </div> | |
76 | + </div> | |
77 | +</div> | |
78 | +@endsection |
resources/views/workers/form_basic_information.blade.php
... | ... | @@ -0,0 +1,188 @@ |
1 | +@extends('workers.cabinet_layout', ['title' => 'Основная информация - РекаМоре']) | |
2 | + | |
3 | +@section('cabinet_content') | |
4 | +@php | |
5 | + $worker = $user->workers[0] | |
6 | +@endphp | |
7 | +<form action="{{ route('worker.cabinet_save', ['worker' => $worker->id]) }}" enctype="multipart/form-data" method="POST"> | |
8 | + @csrf | |
9 | + @include('messages_error') | |
10 | + | |
11 | + <div class="cabinet__body-item"> | |
12 | + <div class="cabinet__anketa"> | |
13 | + <h2 class="title cabinet__title">Основная информация</h2> | |
14 | + </div> | |
15 | + </div> | |
16 | + | |
17 | + <div class="cabinet__body-item"> | |
18 | + <div class="cabinet__inputs"> | |
19 | + <div class="cabinet__inputs-item form-group"> | |
20 | + <label class="form-group__label">Фамилия:</label> | |
21 | + <div class="form-group__item"> | |
22 | + <input type="text" name="surname" id="surmane" class="input" value="{{ $user->surname }}" placeholder="Филиппов" required> | |
23 | + </div> | |
24 | + </div> | |
25 | + <div class="cabinet__inputs-item form-group"> | |
26 | + <label class="form-group__label">Имя:</label> | |
27 | + <div class="form-group__item"> | |
28 | + <input type="text" name="name_man" id="name_man" class="input" value="{{ $user->name_man }}" placeholder="Егор" required> | |
29 | + </div> | |
30 | + </div> | |
31 | + | |
32 | + <div class="cabinet__inputs-item form-group"> | |
33 | + <label class="form-group__label">Отчество:</label> | |
34 | + <div class="form-group__item"> | |
35 | + <input type="text" class="input" name="surname2" id="surmane2" value="{{ $user->surname2 }}" placeholder="Алексеевич"> | |
36 | + </div> | |
37 | + </div> | |
38 | + <div class="cabinet__inputs-item form-group"> | |
39 | + <label class="form-group__label">Возраст</label> | |
40 | + <div class="form-group__item"> | |
41 | + <input type="number" name="old_year" id="old_year" value="{{ $worker->old_year }}" class="input" placeholder="0" required> | |
42 | + </div> | |
43 | + </div> | |
44 | + | |
45 | + <div class="cabinet__inputs-item form-group"> | |
46 | + <label class="form-group__label">Статус</label> | |
47 | + <div class="form-group__item"> | |
48 | + <div class="select"> | |
49 | + <select class="js-select2" name="status_work" id="status_work"> | |
50 | + <option value="1" @if ($worker->status_work == 1) selected @endif>Не указано</option> | |
51 | + <option value="2" @if ($worker->status_work == 2) selected @endif>Не ищу работу</option> | |
52 | + <option value="0" @if ($worker->status_work == 0) selected @endif>Ищу работу</option> | |
53 | + </select> | |
54 | + </div> | |
55 | + </div> | |
56 | + </div> | |
57 | + | |
58 | + <div class="cabinet__inputs-item cabinet__inputs-item_max form-group cabinet__inputs-item-full-row"> | |
59 | + <label class="form-group__label">Желаемые вакансии:</label> | |
60 | + <div class="form-group__item"> | |
61 | + <div class="select"> | |
62 | + <select class="js-select2" name="job_title_id[]" id="job_title_id[]" multiple="multiple"> | |
63 | + @if ($job_titles->count()) | |
64 | + @foreach($job_titles as $job_title) | |
65 | + <option value="{{ $job_title->id }}" @if (in_array($job_title->id, $worker->job_titles)) selected @endif>{{ $job_title->name }}</option> | |
66 | + @endforeach | |
67 | + @endif | |
68 | + </select> | |
69 | + </div> | |
70 | + </div> | |
71 | + </div> | |
72 | + | |
73 | + <div class="cabinet__inputs-item form-group"> | |
74 | + <label class="form-group__label">Пожелания к З/П:</label> | |
75 | + <div class="form-group__item"> | |
76 | + <input type="text" name="salary_expectations" id="salary_expectations" value="{{ $worker->salary_expectations }}" class="input" placeholder="От 150 000 руб"> | |
77 | + </div> | |
78 | + </div> | |
79 | + <div class="cabinet__inputs-item form-group"> | |
80 | + <label class="form-group__label">Опыт работы</label> | |
81 | + <div class="form-group__item"> | |
82 | + <div class="select"> | |
83 | + <select class="js-select2" id="experience" name="experience"> | |
84 | + <option value="Не указано" @if (empty($worker->experience)) selected @endif>Не указано</option> | |
85 | + <option value="меньше 1 года" @if ($worker->experience == 'меньше 1 года') selected @endif>меньше 1 года</option> | |
86 | + <option value="от 1 года до 3 лет" @if ($worker->experience == 'от 1 года до 3 лет') selected @endif>от 1 года до 3 лет</option> | |
87 | + <option value="от 3 до 5 лет" @if ($worker->experience == 'от 3 до 5 лет') selected @endif>от 3 до 5 лет</option> | |
88 | + <option value="от 5 до 10 лет" @if ($worker->experience == 'от 5 до 10 лет') selected @endif>от 5 до 10 лет</option> | |
89 | + <option value="Больше 10 лет" @if ($worker->experience == 'Больше 10 лет') selected @endif>Больше 10 лет</option> | |
90 | + </select> | |
91 | + </div> | |
92 | + </div> | |
93 | + </div> | |
94 | + | |
95 | + <div class="cabinet__inputs-item form-group"> | |
96 | + <label class="form-group__label">Уровень английского:</label> | |
97 | + <div class="form-group__item"> | |
98 | + <input type="text" name="english_level" id="english_level" value="{{ $worker->english_level }}" class="input" placeholder="Средний"> | |
99 | + </div> | |
100 | + </div> | |
101 | + <div class="cabinet__inputs-item form-group"> | |
102 | + <label class="form-group__label">Дата готовности к посадке:</label> | |
103 | + <div class="form-group__item"> | |
104 | + <input type="text" name="ready_boart_date" id="ready_boart_date" value="{{ $worker->ready_boart_date }}" class="input" placeholder="С 1 января {{ date('Y')}}"> | |
105 | + </div> | |
106 | + </div> | |
107 | + | |
108 | + <div class="cabinet__inputs-item form-group"> | |
109 | + <label class="form-group__label">Предпочтение по типу судна:</label> | |
110 | + <div class="form-group__item"> | |
111 | + <input type="text" name="boart_type_preference" id="boart_type_preference" value="{{ $worker->boart_type_preference }}" class="input" placeholder="Балкер, сухогруз, контейнеровоз"> | |
112 | + </div> | |
113 | + </div> | |
114 | + <div class="cabinet__inputs-item form-group"> | |
115 | + <label class="form-group__label">Наличие визы:</label> | |
116 | + <div class="form-group__item"> | |
117 | + <input type="text" name="visa_available" id="visa_available" value="{{ $worker->visa_available }}" class="input" placeholder="Да"> | |
118 | + </div> | |
119 | + </div> | |
120 | + | |
121 | + <div class="cabinet__inputs-item form-group"> | |
122 | + <label class="form-group__label">Наличие танкерных документов:</label> | |
123 | + <div class="form-group__item"> | |
124 | + <input type="text" name="tanker_documents_available" id="tanker_documents_available" value="{{ $worker->tanker_documents_available }}" class="input" placeholder="Нет"> | |
125 | + </div> | |
126 | + </div> | |
127 | + <div class="cabinet__inputs-item form-group"> | |
128 | + <label class="form-group__label">Наличие подтверждения для работы на ВВП:</label> | |
129 | + <div class="form-group__item"> | |
130 | + <input type="text" name="confirmation_work_for_vvp" id="confirmation_work_for_vvp" value="{{ $worker->confirmation_work_for_vvp }}" class="input" placeholder="Нет"> | |
131 | + </div> | |
132 | + </div> | |
133 | + | |
134 | + <div class="cabinet__inputs-item form-group"> | |
135 | + <label class="form-group__label">Наличие военного билета / приписного свидетельства:</label> | |
136 | + <div class="form-group__item"> | |
137 | + <input type="text" name="military_id_available" id="military_id_available" value="{{ $worker->military_id_available }}" class="input" placeholder="Нет"> | |
138 | + </div> | |
139 | + </div> | |
140 | + <div class="cabinet__inputs-item form-group"> | |
141 | + <label class="form-group__label">Город проживания:</label> | |
142 | + <div class="form-group__item"> | |
143 | + <input type="text" name="city" id="city" value="{{ $worker->city }}" class="input" placeholder="Челябинск" required> | |
144 | + </div> | |
145 | + </div> | |
146 | + | |
147 | + <div class="cabinet__inputs-item form-group"> | |
148 | + <label class="form-group__label">Телефон:</label> | |
149 | + <div class="form-group__item"> | |
150 | + <input type="tel" name="telephone" id="telephone" value="{{ old('telephone') ?? $worker->telephone ?? '' }}" class="input" placeholder="+7 (___) ___-__-__" required> | |
151 | + </div> | |
152 | + </div> | |
153 | + <div class="cabinet__inputs-item form-group"> | |
154 | + <label class="form-group__label">E-mail:</label> | |
155 | + <div class="form-group__item"> | |
156 | + <input type="email" name="email" id="email" value="{{ $worker->email }}" class="input" placeholder="name@rekamore.su" required> | |
157 | + </div> | |
158 | + </div> | |
159 | + | |
160 | + <div class="cabinet__inputs-item form-group"> | |
161 | + <label class="form-group__label">Контакты родственников:</label> | |
162 | + <div class="form-group__item"> | |
163 | + <input type="tel" name="telephone2" id="telephon2" value="{{ old('telephone2') ?? $worker->telephone2 ?? '' }}" class="input" placeholder="+7 (___) ___-__-__"> | |
164 | + </div> | |
165 | + </div> | |
166 | + <div class="cabinet__inputs-item form-group"></div> | |
167 | + | |
168 | + <div class="cabinet__body-item cabinet__inputs-item-full-row"> | |
169 | + <h4 class="cabinet__h4">О себе</h4> | |
170 | + <textarea class="textarea" name="text" id="text" placeholder="Не указано">{{ $worker->text }}</textarea> | |
171 | + </div> | |
172 | + | |
173 | + <div class="cabinet__body-item cabinet__inputs-item-full-row"> | |
174 | + <div class="cabinet__buttons_flex"> | |
175 | + <button type="submit" class="button">Сохранить</button> | |
176 | + <a href="{{ route('worker.cabinet') }}" class="button button_light active">Отменить</a> | |
177 | + <label class="file"> | |
178 | + <span class="file__input"> | |
179 | + <input type="file" name="file" id="file"> | |
180 | + <span class="button button_light">@if (empty($worker->file)) Прикрепить резюме @else Обновить резюме @endif</span> | |
181 | + </span> | |
182 | + </label> | |
183 | + </div> | |
184 | + </div> | |
185 | + </div> | |
186 | + </div> | |
187 | +</form> | |
188 | +@endsection |
resources/views/workers/prev_company_edit_form.blade.php
1 | -@extends('layout.frontend', ['title' => 'Редактирование контакта предыдущей компании - РекаМоре']) | |
1 | +@extends('workers.cabinet_layout', ['title' => 'Рекомендация - РекаМоре']) | |
2 | 2 | |
3 | -@section('scripts') | |
4 | - <script> | |
5 | - console.log('Test system'); | |
6 | - $(document).on('submit', '#submit_form', function() { | |
7 | - var this_ = $(this); | |
8 | - var new_diplom = $('#name'); | |
9 | - var new_diplom_val = new_diplom.val(); | |
10 | - var new_data_begin = $('#new_data_begin'); | |
11 | - var new_data_begin_val = new_data_begin.val(); | |
12 | - var new_data_end = $('#new_data_end'); | |
13 | - var new_data_end_val = new_data_end.val(); | |
14 | - var education = $('#education'); | |
15 | - var education_val = education.val(); | |
16 | - var worker_id = $('#new_id'); | |
17 | - var worker_val = worker_id.val(); | |
3 | +@section('cabinet_content') | |
4 | +<form id="submit_form" name="submit_form" action="{{ route('worker.update_prev_company', ['doc' => $doc]) }}" class="cabinet__inputs" method="POST"> | |
5 | + @csrf | |
6 | + <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
18 | 7 | |
19 | - console.log('Валидация формы.'); | |
20 | - | |
21 | - if (new_diplom_val == '') { | |
22 | - new_diplom.addClass('err_red'); | |
23 | - console.log('Border Up'); | |
24 | - return false; | |
25 | - } else { | |
26 | - return true; | |
27 | - } | |
28 | - }); | |
29 | - </script> | |
30 | -@endsection | |
8 | + <div class="cabinet__body-item"> | |
9 | + <div class="cabinet__anketa"> | |
10 | + <h2 class="title cabinet__title mb-0">Рекомендация</h2> | |
11 | + </div> | |
12 | + </div> | |
31 | 13 | |
32 | -@section('content') | |
33 | - <section class="cabinet"> | |
34 | - <div class="container"> | |
35 | - <ul class="breadcrumbs cabinet__breadcrumbs"> | |
36 | - <li><a href="{{ route('index') }}">Главная</a></li> | |
37 | - <li><b>Личный кабинет</b></li> | |
38 | - </ul> | |
39 | - <div class="cabinet__wrapper"> | |
40 | - <div class="cabinet__side"> | |
41 | - <div class="cabinet__side-toper"> | |
42 | - @include('workers.emblema') | |
43 | - </div> | |
44 | - @include('workers.menu', ['item' => 1]) | |
14 | + <div class="cabinet__body-item"> | |
15 | + <div class="cabinet__inputs"> | |
16 | + <div class="cabinet__inputs-item form-group"> | |
17 | + <label class="form-group__label">Название компании:<span class="red">*</span></label> | |
18 | + <div class="form-group__item"> | |
19 | + <input type="text" name="name_company" id="name_company" class="input" value="{{ old('name_company') ?? $doc->name_company ?? '' }}"> | |
45 | 20 | </div> |
46 | - | |
47 | - <div class="cabinet__body"> | |
48 | - <div class="cabinet__body-item"> | |
49 | - <h4 class="cabinet__h4">Добавление контакта предыдущей компании</h4> | |
50 | - <form id="submit_form" name="submit_form" action="{{ route('worker.update_prev_company', ['doc' => $doc]) }}" class="cabinet__inputs" method="POST"> | |
51 | - @csrf | |
52 | - <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
53 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
54 | - <label class="form-group__label">Название компании</label> | |
55 | - <div class="form-group__item"> | |
56 | - <input type="text" name="name_company" id="name_company" class="input" value="{{ old('name_company') ?? $doc->name_company ?? '' }}"> | |
57 | - </div> | |
58 | - </div> | |
59 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
60 | - <label class="form-group__label">ФИО сотрудника</label> | |
61 | - <div class="form-group__item"> | |
62 | - <input type="text" name="direct" id="direct" class="input" value="{{ old('direct') ?? $doc->direct ?? '' }}"> | |
63 | - </div> | |
64 | - </div> | |
65 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
66 | - <label class="form-group__label">Должность сотрудника</label> | |
67 | - <div class="form-group__item"> | |
68 | - <input type="text" name="telephone" id="telephone" class="input" value="{{ old('telephone') ?? $doc->telephone ?? '' }}"> | |
69 | - </div> | |
70 | - </div> | |
71 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
72 | - <label class="form-group__label">Телефон сотрудника</label> | |
73 | - <div class="form-group__item"> | |
74 | - <input type="text" name="telephone2" id="telephone2" class="input" value="{{ old('telephone2') ?? $doc->telephone2 ?? '' }}"> | |
75 | - </div> | |
76 | - </div> | |
77 | - <button type="submit" class="button">Сохранить</button> | |
78 | - <a href="{{ route('worker.cabinet') }}" class="button">Назад</a> | |
79 | - </form> | |
80 | - </div> | |
21 | + </div> | |
22 | + <div class="cabinet__inputs-item form-group"> | |
23 | + <label class="form-group__label">ФИО сотрудника:<span class="red">*</span></label> | |
24 | + <div class="form-group__item"> | |
25 | + <input type="text" name="direct" id="direct" class="input" value="{{ old('direct') ?? $doc->direct ?? '' }}"> | |
26 | + </div> | |
27 | + </div> | |
28 | + <div class="cabinet__inputs-item form-group"> | |
29 | + <label class="form-group__label">Должность сотрудника:</label> | |
30 | + <div class="form-group__item"> | |
31 | + <input type="text" name="telephone" id="telephone" class="input" value="{{ old('telephone') ?? $doc->telephone ?? '' }}"> | |
32 | + </div> | |
33 | + </div> | |
34 | + <div class="cabinet__inputs-item form-group"> | |
35 | + <label class="form-group__label">Телефон сотрудника:</label> | |
36 | + <div class="form-group__item"> | |
37 | + <input type="text" name="telephone2" id="telephone2" class="input" value="{{ old('telephone2') ?? $doc->telephone2 ?? '' }}"> | |
81 | 38 | </div> |
82 | 39 | </div> |
40 | + | |
41 | + <div class="flex"> | |
42 | + <button type="submit" class="button mr-10">Сохранить</button> | |
43 | + <a href="{{ route('worker.cabinet') }}" class="button button_light">Отменить</a> | |
44 | + </div> | |
83 | 45 | </div> |
84 | - </section> | |
46 | + </div> | |
47 | + | |
85 | 48 | |
49 | +</form> | |
86 | 50 | @endsection |
resources/views/workers/prev_company_form.blade.php
1 | -@extends('layout.frontend', ['title' => 'Добавление контакта предыдущей компании - РекаМоре']) | |
1 | +@extends('workers.cabinet_layout', ['title' => 'Рекомендация - РекаМоре']) | |
2 | 2 | |
3 | -@section('scripts') | |
4 | - <script> | |
5 | - console.log('Test system'); | |
6 | - $(document).on('submit', '#submit_form', function() { | |
7 | - var this_ = $(this); | |
8 | - var new_diplom = $('#name'); | |
9 | - var new_diplom_val = new_diplom.val(); | |
10 | - var new_data_begin = $('#new_data_begin'); | |
11 | - var new_data_begin_val = new_data_begin.val(); | |
12 | - var new_data_end = $('#new_data_end'); | |
13 | - var new_data_end_val = new_data_end.val(); | |
14 | - var education = $('#education'); | |
15 | - var education_val = education.val(); | |
16 | - var worker_id = $('#new_id'); | |
17 | - var worker_val = worker_id.val(); | |
3 | +@section('cabinet_content') | |
4 | +<form id="submit_form" name="submit_form" action="{{ route('worker.add_prev_company') }}" class="cabinet__inputs" method="GET"> | |
5 | + @csrf | |
6 | + <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
18 | 7 | |
19 | - console.log('Валидация формы.'); | |
20 | - | |
21 | - if (new_diplom_val == '') { | |
22 | - new_diplom.addClass('err_red'); | |
23 | - console.log('Border Up'); | |
24 | - return false; | |
25 | - } else { | |
26 | - return true; | |
27 | - } | |
28 | - }); | |
29 | - </script> | |
30 | -@endsection | |
8 | + <div class="cabinet__body-item"> | |
9 | + <div class="cabinet__anketa"> | |
10 | + <h2 class="title cabinet__title mb-0">Рекомендация</h2> | |
11 | + </div> | |
12 | + </div> | |
31 | 13 | |
32 | -@section('content') | |
33 | - <section class="cabinet"> | |
34 | - <div class="container"> | |
35 | - <ul class="breadcrumbs cabinet__breadcrumbs"> | |
36 | - <li><a href="{{ route('index') }}">Главная</a></li> | |
37 | - <li><b>Личный кабинет</b></li> | |
38 | - </ul> | |
39 | - <div class="cabinet__wrapper"> | |
40 | - <div class="cabinet__side"> | |
41 | - <div class="cabinet__side-toper"> | |
42 | - @include('workers.emblema') | |
43 | - </div> | |
44 | - @include('workers.menu', ['item' => 1]) | |
14 | + <div class="cabinet__body-item"> | |
15 | + <div class="cabinet__inputs"> | |
16 | + <div class="cabinet__inputs-item form-group"> | |
17 | + <label class="form-group__label">Название компании:<span class="red">*</span></label> | |
18 | + <div class="form-group__item"> | |
19 | + <input type="text" name="name_company" id="name_company" class="input" value="{{ old('name_company') ?? '' }}" required> | |
45 | 20 | </div> |
46 | - | |
47 | - <div class="cabinet__body"> | |
48 | - <div class="cabinet__body-item"> | |
49 | - @include('messages_error') | |
50 | - | |
51 | - <h4 class="cabinet__h4">Добавление контакта предыдущей компании</h4> | |
52 | - <form id="submit_form" name="submit_form" action="{{ route('worker.add_prev_company') }}" class="cabinet__inputs" method="GET"> | |
53 | - @csrf | |
54 | - <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
55 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
56 | - <label class="form-group__label">Название компании*</label> | |
57 | - <div class="form-group__item"> | |
58 | - <input type="text" name="name_company" id="name_company" class="input" value="{{ old('name_company') ?? '' }}"> | |
59 | - </div> | |
60 | - </div> | |
61 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
62 | - <label class="form-group__label">ФИО сотрудника*</label> | |
63 | - <div class="form-group__item"> | |
64 | - <input type="text" name="direct" id="direct" class="input" value="{{ old('direct') ?? '' }}"> | |
65 | - </div> | |
66 | - </div> | |
67 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
68 | - <label class="form-group__label">Должность сотрудника</label> | |
69 | - <div class="form-group__item"> | |
70 | - <input type="text" name="telephone" id="telephone" class="input" value="{{ old('telephone') ?? '' }}"> | |
71 | - </div> | |
72 | - </div> | |
73 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
74 | - <label class="form-group__label">Телефон сотрудника</label> | |
75 | - <div class="form-group__item"> | |
76 | - <input type="text" name="telephone2" id="telephone2" class="input" value="{{ old('telephone2') ?? '' }}"> | |
77 | - </div> | |
78 | - </div> | |
79 | - <button type="submit" class="button">Сохранить</button> | |
80 | - <a href="{{ route('worker.cabinet') }}" class="button">Назад</a> | |
81 | - </form> | |
82 | - </div> | |
21 | + </div> | |
22 | + <div class="cabinet__inputs-item form-group"> | |
23 | + <label class="form-group__label">ФИО сотрудника:<span class="red">*</span></label> | |
24 | + <div class="form-group__item"> | |
25 | + <input type="text" name="direct" id="direct" class="input" value="{{ old('direct') ?? '' }}" required> | |
83 | 26 | </div> |
84 | 27 | </div> |
28 | + <div class="cabinet__inputs-item form-group"> | |
29 | + <label class="form-group__label">Должность сотрудника:</label> | |
30 | + <div class="form-group__item"> | |
31 | + <input type="text" name="telephone" id="telephone" class="input" value="{{ old('telephone') ?? '' }}"> | |
32 | + </div> | |
33 | + </div> | |
34 | + <div class="cabinet__inputs-item form-group"> | |
35 | + <label class="form-group__label">Телефон сотрудника:</label> | |
36 | + <div class="form-group__item"> | |
37 | + <input type="text" name="telephone2" id="telephone2" class="input" value="{{ old('telephone2') ?? '' }}"> | |
38 | + </div> | |
39 | + </div> | |
40 | + | |
41 | + <div class="flex"> | |
42 | + <button type="submit" class="button mr-10">Сохранить</button> | |
43 | + <a href="{{ route('worker.cabinet') }}" class="button button_light">Отменить</a> | |
44 | + </div> | |
85 | 45 | </div> |
86 | - </section> | |
46 | + </div> | |
87 | 47 | |
48 | +</form> | |
88 | 49 | @endsection |
resources/views/workers/sertificate_add.blade.php
1 | -@extends('layout.frontend', ['title' => 'Добавление стандартного документа - РекаМоре']) | |
2 | - | |
3 | -@section('scripts') | |
4 | - <script> | |
5 | - console.log('Test system'); | |
6 | - $(document).on('submit', '#submit_form', function() { | |
7 | - var this_ = $(this); | |
8 | - var new_diplom = $('#name'); | |
9 | - var new_diplom_val = new_diplom.val(); | |
10 | - var new_data_begin = $('#new_data_begin'); | |
11 | - var new_data_begin_val = new_data_begin.val(); | |
12 | - var new_data_end = $('#new_data_end'); | |
13 | - var new_data_end_val = new_data_end.val(); | |
14 | - var education = $('#education'); | |
15 | - var education_val = education.val(); | |
16 | - var worker_id = $('#new_id'); | |
17 | - var worker_val = worker_id.val(); | |
18 | - | |
19 | - console.log('Валидация формы.'); | |
20 | - | |
21 | - if (new_diplom_val == '') { | |
22 | - new_diplom.addClass('err_red'); | |
23 | - console.log('Border Up'); | |
24 | - return false; | |
25 | - } else { | |
26 | - return true; | |
27 | - } | |
28 | - }); | |
29 | - </script> | |
30 | -@endsection | |
31 | - | |
32 | -@section('content') | |
33 | - <section class="cabinet"> | |
34 | - <div class="container"> | |
35 | - <ul class="breadcrumbs cabinet__breadcrumbs"> | |
36 | - <li><a href="{{ route('index') }}">Главная</a></li> | |
37 | - <li><b>Личный кабинет</b></li> | |
38 | - </ul> | |
39 | - <div class="cabinet__wrapper"> | |
40 | - <div class="cabinet__side"> | |
41 | - <div class="cabinet__side-toper"> | |
42 | - @include('workers.emblema') | |
43 | - | |
44 | - </div> | |
45 | - | |
46 | - @include('workers.menu', ['item' => 1]) | |
47 | - </div> | |
48 | - | |
49 | - <div class="cabinet__body"> | |
50 | - <div class="cabinet__body-item"> | |
51 | - <h4 class="cabinet__h4">Добавить сертификат</h4> | |
52 | - <form id="submit_form" name="submit_form" action="{{ route('worker.add_serificate') }}" class="cabinet__inputs" method="GET"> | |
53 | - @csrf | |
54 | - <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
55 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
56 | - <label class="form-group__label">Название сертификата</label> | |
57 | - <div class="form-group__item"> | |
58 | - <input type="text" name="name" id="name" class="input" value="Диплом о дополнительном образовании"> | |
59 | - </div> | |
60 | - </div> | |
61 | - <div style="display:none" class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
62 | - <label class="form-group__label">Дата поступления</label> | |
63 | - <div class="form-group__item"> | |
64 | - <input type="text" name="date_begin" id="date_begin" class="input" value="Дата начала"> | |
65 | - </div> | |
66 | - </div> | |
67 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
68 | - <label class="form-group__label">Действия сертификата до</label> | |
69 | - <div class="form-group__item"> | |
70 | - <input type="text" name="end_begin" id="end_begin" class="input" value="04.11.26"> | |
71 | - </div> | |
72 | - </div> | |
73 | - <div style="display:none" class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
74 | - <label class="form-group__label">Название учебного заведения</label> | |
75 | - <div class="form-group__item"> | |
76 | - <input type="text" name="education" id="education" class="input" value="Учебное заведение"> | |
77 | - </div> | |
78 | - </div> | |
79 | - <button type="submit" class="button">Сохранить</button> | |
80 | - <a href="{{ route('worker.cabinet') }}" class="button">Назад</a> | |
81 | - </form> | |
1 | +@extends('workers.cabinet_layout', ['title' => 'Добавление стандартного документа - РекаМоре']) | |
2 | + | |
3 | +@section('cabinet_content') | |
4 | +<h3 class="cabinet__h4 font30">Сертификат / документ</h3> | |
5 | +<form id="submit_form" name="submit_form" action="{{ route('worker.add_serificate') }}" class="cabinet__inputs" method="GET"> | |
6 | + @csrf | |
7 | + <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
8 | + | |
9 | + <div class="cabinet__body-item width100"> | |
10 | + <div class="cabinet__inputs"> | |
11 | + <div class="cabinet__inputs-item form-group"> | |
12 | + <label class="form-group__label">Название сертификата:</label> | |
13 | + <div class="form-group__item"> | |
14 | + @error('name') | |
15 | + <div class="error red">{{ $message }}</div> | |
16 | + @enderror | |
17 | + <input type="text" name="name" id="name" class="input" value="{{ old('name') ?? 'Начальная подготовка' }}" required> | |
82 | 18 | </div> |
19 | + </div> | |
20 | + <div class="cabinet__inputs-item form-group"> | |
21 | + <label class="form-group__label">Действия сертификата до:</label> | |
22 | + <div class="form-group__item"> | |
23 | + @error('end_begin') | |
24 | + <div class="error red">{{ $message }}</div> | |
25 | + @enderror | |
26 | + <input type="text" name="end_begin" id="end_begin" class="input" value="{{ old('end_begin') ?? date('d.m.Y', strtotime('+1 year')) }}" required> | |
83 | 27 | </div> |
84 | 28 | </div> |
85 | 29 | </div> |
86 | - </section> | |
87 | 30 | |
31 | + <div class="flex"> | |
32 | + <button type="submit" class="button mr-10">Сохранить</button> | |
33 | + <a href="{{ route('worker.cabinet') }}" class="button button_light">Отменить</a> | |
34 | + </div> | |
35 | + </div> | |
36 | +</form> | |
88 | 37 | @endsection |
resources/views/workers/sertificate_edit.blade.php
1 | -@extends('layout.frontend', ['title' => 'Редактирование стандартного документа - РекаМоре']) | |
1 | +@extends('workers.cabinet_layout', ['title' => 'Редактирование стандартного документа - РекаМоре']) | |
2 | 2 | |
3 | -@section('scripts') | |
4 | - <script> | |
5 | - console.log('Test system'); | |
6 | - $(document).on('submit', '#submit_form', function() { | |
7 | - var this_ = $(this); | |
8 | - var new_diplom = $('#name'); | |
9 | - var new_diplom_val = new_diplom.val(); | |
10 | - var new_data_begin = $('#new_data_begin'); | |
11 | - var new_data_begin_val = new_data_begin.val(); | |
12 | - var new_data_end = $('#new_data_end'); | |
13 | - var new_data_end_val = new_data_end.val(); | |
14 | - var education = $('#education'); | |
15 | - var education_val = education.val(); | |
16 | - var worker_id = $('#new_id'); | |
17 | - var worker_val = worker_id.val(); | |
3 | +@section('cabinet_content') | |
4 | +<h3 class="cabinet__h4 font30">Сертификат / документ</h3> | |
5 | +<form id="submit_form" name="submit_form" action="{{ route('worker.update_serificate', ['doc' => $doc->id]) }}" class="cabinet__inputs" method="GET"> | |
6 | + @csrf | |
7 | + <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
18 | 8 | |
19 | - console.log('Валидация формы.'); | |
20 | - | |
21 | - if (new_diplom_val == '') { | |
22 | - new_diplom.addClass('err_red'); | |
23 | - console.log('Border Up'); | |
24 | - return false; | |
25 | - } else { | |
26 | - return true; | |
27 | - } | |
28 | - }); | |
29 | - </script> | |
30 | -@endsection | |
31 | - | |
32 | -@section('content') | |
33 | - <section class="cabinet"> | |
34 | - <div class="container"> | |
35 | - <ul class="breadcrumbs cabinet__breadcrumbs"> | |
36 | - <li><a href="{{ route('index') }}">Главная</a></li> | |
37 | - <li><b>Личный кабинет</b></li> | |
38 | - </ul> | |
39 | - <div class="cabinet__wrapper"> | |
40 | - <div class="cabinet__side"> | |
41 | - <div class="cabinet__side-toper"> | |
42 | - @include('workers.emblema') | |
43 | - | |
44 | - </div> | |
45 | - | |
46 | - @include('workers.menu', ['item' => 1]) | |
47 | - </div> | |
48 | - | |
49 | - <div class="cabinet__body"> | |
50 | - <div class="cabinet__body-item"> | |
51 | - <h4 class="cabinet__h4">Редактировать сертификат</h4> | |
52 | - <form id="submit_form" name="submit_form" action="{{ route('worker.update_serificate', ['doc' => $doc->id]) }}" class="cabinet__inputs" method="GET"> | |
53 | - @csrf | |
54 | - <input type="hidden" name="worker_id" id="worker_id" class="input" value="{{ $worker->id }}"> | |
55 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
56 | - <label class="form-group__label">Название сертификата</label> | |
57 | - <div class="form-group__item"> | |
58 | - <input type="text" name="name" id="name" class="input" value="{{ $doc->name }}"> | |
59 | - </div> | |
60 | - </div> | |
61 | - <div style="display:none" class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
62 | - <label class="form-group__label">Дата поступления</label> | |
63 | - <div class="form-group__item"> | |
64 | - <input type="text" name="date_begin" id="date_begin" class="input" value="01.02.03."> | |
65 | - </div> | |
66 | - </div> | |
67 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
68 | - <label class="form-group__label">Действия сертификата до</label> | |
69 | - <div class="form-group__item"> | |
70 | - <input type="text" name="end_begin" id="end_begin" class="input" value="{{ $doc->end_begin }}"> | |
71 | - </div> | |
72 | - </div> | |
73 | - <div style="display:none" class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
74 | - <label class="form-group__label">Название учебного заведения</label> | |
75 | - <div class="form-group__item"> | |
76 | - <input type="text" name="education" id="education" class="input" value="Учебное заведение"> | |
77 | - </div> | |
78 | - </div> | |
79 | - <button type="submit" class="button">Сохранить</button> | |
80 | - <a href="{{ route('worker.cabinet') }}" class="button">Назад</a> | |
81 | - </form> | |
9 | + <div class="cabinet__body-item width100"> | |
10 | + <div class="cabinet__inputs"> | |
11 | + <div class="cabinet__inputs-item form-group"> | |
12 | + <label class="form-group__label">Название сертификата:</label> | |
13 | + <div class="form-group__item"> | |
14 | + @error('name') | |
15 | + <div class="error red">{{ $message }}</div> | |
16 | + @enderror | |
17 | + <input type="text" name="name" id="name" class="input" value="{{ old('name') ?? $doc->name }}" required> | |
82 | 18 | </div> |
19 | + </div> | |
20 | + <div class="cabinet__inputs-item form-group"> | |
21 | + <label class="form-group__label">Действия сертификата до:</label> | |
22 | + <div class="form-group__item"> | |
23 | + @error('end_begin') | |
24 | + <div class="error red">{{ $message }}</div> | |
25 | + @enderror | |
26 | + <input type="text" name="end_begin" id="end_begin" class="input" value="{{ old('end_begin') ?? date('d.m.Y', strtotime($doc->end_begin)) }}" required> | |
83 | 27 | </div> |
84 | 28 | </div> |
85 | 29 | </div> |
86 | - </section> | |
30 | + </div> | |
31 | + | |
32 | + <div class="flex"> | |
33 | + <button type="submit" class="button mr-10">Сохранить</button> | |
34 | + <a href="{{ route('worker.cabinet') }}" class="button button_light">Отменить</a> | |
35 | + </div> | |
36 | +</form> | |
87 | 37 | @endsection |
routes/web.php
... | ... | @@ -499,6 +499,10 @@ Route::group([ |
499 | 499 | 'prefix' => 'worker', // префикс маршрута, например auth/index |
500 | 500 | 'middleware' => ['auth'], ['is_worker'], |
501 | 501 | ], function() { |
502 | + // Формы редактирования | |
503 | + Route::get('cabinet/basic_information', [WorkerController::class, 'basic_information'])->name('basic_information'); | |
504 | + Route::get('cabinet/additional_documents', [WorkerController::class, 'additional_documents'])->name('additional_documents'); | |
505 | + | |
502 | 506 | // 1 страница - Моя анкета |
503 | 507 | Route::get('cabinet', [WorkerController::class, 'cabinet'])->name('cabinet'); |
504 | 508 | Route::post('cabinet/{worker}', [WorkerController::class, 'cabinet_save'])->name('cabinet_save'); |