diff --git a/app/Http/Controllers/WorkerController.php b/app/Http/Controllers/WorkerController.php
index 7dd8ad2..0afea10 100644
--- a/app/Http/Controllers/WorkerController.php
+++ b/app/Http/Controllers/WorkerController.php
@@ -3,23 +3,18 @@
namespace App\Http\Controllers;
use App\Classes\RusDate;
-use App\Http\Requests\BaseUserRequest;
use App\Http\Requests\DocumentsRequest;
use App\Http\Requests\PrevCompanyRequest;
use App\Http\Requests\SertificationRequest;
use App\Models\Ad_employer;
use App\Models\ad_response;
-use App\Models\Category;
use App\Models\Dop_info;
-use App\Models\Employer;
use App\Models\infobloks;
use App\Models\Job_title;
use App\Models\Like_vacancy;
-use App\Models\Like_worker;
use App\Models\Message;
use App\Models\place_works;
use App\Models\PrevCompany;
-use App\Models\reclame;
use App\Models\ResponseWork;
use App\Models\sertification;
use App\Models\Static_worker;
@@ -31,8 +26,6 @@ use Barryvdh\DomPDF\Facade\Pdf;
use Carbon\Carbon;
use Illuminate\Auth\Events\Registered;
use Illuminate\Database\Eloquent\Builder;
-use Illuminate\Database\Eloquent\Model;
-use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
@@ -42,6 +35,7 @@ use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Symfony\Component\HttpFoundation\StreamedResponse;
use App\Enums\DbExportColumns;
+use DateTime;
class WorkerController extends Controller
{
@@ -154,6 +148,51 @@ class WorkerController extends Controller
}
}
+ public function basic_information(){
+ if (!isset(Auth()->user()->id)) {
+ abort(404);
+ }
+
+ $user_id = Auth()->user()->id;
+
+ $user = User::query()
+ ->with('workers')
+ ->with(['jobtitles' => function ($query) {
+ $query->select('job_titles.id');
+ }])
+ ->where('id', '=', $user_id)
+ ->first();
+ $user->workers[0]->job_titles = $user->workers[0]->job_titles->pluck('id')->toArray();
+
+ $job_titles = Job_title::all()->sortBy('name');
+
+ return view('workers.form_basic_information', compact('user', 'job_titles'));
+ }
+
+ public function additional_documents(){
+ if (!isset(Auth()->user()->id)) {
+ abort(404);
+ }
+
+ $user_id = Auth()->user()->id;
+
+ $info_blocks = infobloks::query()->OrderBy('name')->get();
+ $additional_document_statuses = [0 => 'Не указано', 1 => 'В наличии', 2 => 'Отсутствует'];
+
+ $worker = Worker::query()
+ ->with('users')
+ ->with('infobloks')
+ ->WhereHas('users', function (Builder $query) use ($user_id) {
+ $query->Where('id', $user_id);
+ })
+ ->first();
+ if ($worker->dop_info->count()){
+ $worker->dop_info = $worker->dop_info->keyBy('infoblok_id')->toArray();
+ }
+
+ return view('workers.form_additional_documents', compact('worker', 'info_blocks', 'additional_document_statuses'));
+ }
+
//Лайк резюме
public function like_controller() {
@@ -293,7 +332,7 @@ class WorkerController extends Controller
$Job_titles = Job_title::query()->where('is_remove', '=', '0')->
where('is_bd', '=' , '1')->
OrderByDesc('sort')->OrderBy('name')->get();
- $Infoblocks = infobloks::query()->OrderBy('name')->get();
+
$stat = Static_worker::query()->where('year_month', '=', $get_date)
->where('user_id', '=', $id)
@@ -342,10 +381,34 @@ class WorkerController extends Controller
$persent = $persent + 5;
$persent5 = 5;
}
+
+ $status_work = $this->status_work;
+ $additional_document_statuses = [0 => 'Не указано', 1 => 'В наличии', 2 => 'Отсутствует'];
+ $info_blocks = infobloks::query()->OrderBy('name')->get();
+
+ $worker = Worker::query()
+ ->with('users')
+ ->with('sertificate')
+ ->with('prev_company')
+ ->with('infobloks')
+ ->with('place_worker')
+ ->with('job_titles')
+ ->WhereHas('users', function (Builder $query) use ($id) {
+ $query->Where('id', $id);
+ })
+ ->first();
+ if ($worker->dop_info->count()){
+ $worker->dop_info = $worker->dop_info->keyBy('infoblok_id')->toArray();
+ }
+
+ //dd($worker->dop_info);
+
if ($request->has('print')) {
dd($Worker);
} else {
- return view('workers.cabinet', compact('Worker', 'Infobloks', 'persent', 'Job_titles', 'Infoblocks', 'stat'));
+ return view('workers.cabinet', compact( 'persent', 'Job_titles', 'stat',
+ 'worker', 'info_blocks', 'status_work', 'additional_document_statuses'
+ ));
}
}
@@ -354,20 +417,8 @@ class WorkerController extends Controller
{
$id = $worker->id;
$params = $request->all();
-
$job_title_id = $request->get('job_title_id');
- unset($params['new_diplom']);
- unset($params['new_data_begin']);
- unset($params['new_data_end']);
- unset($params['new_job_title']);
- unset($params['new_teplohod']);
- unset($params['new_GWT']);
- unset($params['new_KBT']);
- unset($params['new_Begin_work']);
- unset($params['new_End_work']);
- unset($params['new_name_company']);
-
$rules = [
'surname' => ['required', 'string', 'max:255'],
'name_man' => ['required', 'string', 'max:255'],
@@ -396,20 +447,20 @@ class WorkerController extends Controller
} else {
if ($request->has('photo')) {
- if (!empty($Worker->photo)) {
- Storage::delete($Worker->photo);
+ if (!empty($worker->photo)) {
+ Storage::delete($worker->photo);
}
$params['photo'] = $request->file('photo')->store("worker/$id", 'public');
}
if ($request->has('file')) {
- if (!empty($Worker->file)) {
- Storage::delete($Worker->file);
+ if (!empty($worker->file)) {
+ Storage::delete($worker->file);
}
$params['file'] = $request->file('file')->store("worker/$id", 'public');
}
- $id_wor = $worker->update($params);
+ $worker->update($params);
$use = User::find($worker->user_id);
$use->surname = $request->get('surname');
$use->name_man = $request->get('name_man');
@@ -418,7 +469,7 @@ class WorkerController extends Controller
$use->save();
$worker->job_titles()->sync($job_title_id);
- return redirect()->route('worker.cabinet')->with('success', 'Данные были успешно сохранены');
+ return redirect()->route('worker.basic_information')->with('success', 'Данные были успешно сохранены');
}
}
@@ -822,8 +873,20 @@ class WorkerController extends Controller
// Добавление сертификата
public function add_serificate(SertificationRequest $request) {
+ $request->validate([
+ 'name' => 'required|string|max:255',
+ 'end_begin' => 'required|date|date_format:d.m.Y'
+ ],
+ [
+ 'name' => 'Навание сертификата обязательно для заполнения.',
+ 'end_begin' => 'Формат даты должен соответствовать дд.мм.гггг'
+ ]);
+
$params = $request->all();
+ $end_begin = DateTime::createFromFormat('d.m.Y', $params['end_begin']);
+ $params['end_begin'] = $end_begin->format('Y-m-d');
+
$Sertificate = new sertification();
$Sertificate->create($params);
$Docs = sertification::query()->where('worker_id', $request->get('worker_id'))->get();
@@ -845,7 +908,20 @@ class WorkerController extends Controller
// Редактирование обновление сертификата
public function update_serificate(SertificationRequest $request, sertification $doc) {
+ $request->validate([
+ 'name' => 'required|string|max:255',
+ 'end_begin' => 'required|date|date_format:d.m.Y'
+ ],
+ [
+ 'name' => 'Навание сертификата обязательно для заполнения.',
+ 'end_begin' => 'Формат даты должен соответствовать дд.мм.гггг'
+ ]);
+
$all = $request->all();
+
+ $end_begin = DateTime::createFromFormat('d.m.Y', $all['end_begin']);
+ $all['end_begin'] = $end_begin->format('Y-m-d');
+
$doc->worker_id = $all['worker_id'];
$doc->name = $all['name'];
$doc->end_begin = $all['end_begin'];
diff --git a/app/Models/User.php b/app/Models/User.php
index 3705ebb..358efde 100644
--- a/app/Models/User.php
+++ b/app/Models/User.php
@@ -129,7 +129,7 @@ class User extends Authenticatable
многие-ко-многим
*/
public function jobtitles() {
- return $this->belongsToMany(Job_title::class, 'Workers', 'user_id', 'position_work');
+ return $this->belongsToMany(Job_title::class, 'workers', 'user_id', 'position_work');
}
public function scopeActive($query) {
diff --git a/app/Models/Worker.php b/app/Models/Worker.php
index f22b9ae..2806a46 100644
--- a/app/Models/Worker.php
+++ b/app/Models/Worker.php
@@ -45,7 +45,15 @@ class Worker extends Model
'file',
'is_remove',
'favorite_user',
- 'sroch_user'
+ 'sroch_user',
+ 'salary_expectations',
+ 'english_level',
+ 'ready_boart_date',
+ 'boart_type_preference',
+ 'visa_available',
+ 'tanker_documents_available',
+ 'confirmation_work_for_vvp',
+ 'military_id_available'
];
/*
diff --git a/database/migrations/2024_06_26_152119_alert_workers_table.php b/database/migrations/2024_06_26_152119_alert_workers_table.php
new file mode 100644
index 0000000..349914c
--- /dev/null
+++ b/database/migrations/2024_06_26_152119_alert_workers_table.php
@@ -0,0 +1,46 @@
+string('salary_expectations', 255)->nullable();
+ $table->string('english_level', 255)->nullable();
+ $table->string('ready_boart_date', 255)->nullable();
+ $table->string('boart_type_preference', 255)->nullable();
+ $table->string('visa_available', 255)->nullable();
+ $table->string('tanker_documents_available', 255)->nullable();
+ $table->string('confirmation_work_for_vvp', 255)->nullable();
+ $table->string('military_id_available', 255)->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('workers', function (Blueprint $table) {
+ $table->dropColumn('salary_expectations');
+ $table->dropColumn('english_level');
+ $table->dropColumn('ready_boart_date');
+ $table->dropColumn('boart_type_preference');
+ $table->dropColumn('visa_available');
+ $table->dropColumn('tanker_documents_available');
+ $table->dropColumn('confirmation_work_for_vvp');
+ $table->dropColumn('military_id_available');
+ });
+ }
+};
diff --git a/database/migrations/2024_06_27_124222_alert_sertifications_table.php b/database/migrations/2024_06_27_124222_alert_sertifications_table.php
new file mode 100644
index 0000000..5d8af7f
--- /dev/null
+++ b/database/migrations/2024_06_27_124222_alert_sertifications_table.php
@@ -0,0 +1,32 @@
+string('education', 255)->nullable()->change();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('sertifications', function (Blueprint $table) {
+ $table->string('education', 255)->nullable(false)->change();
+ });
+ }
+};
diff --git a/public/css/helpers.css b/public/css/helpers.css
new file mode 100644
index 0000000..b6cc5c2
--- /dev/null
+++ b/public/css/helpers.css
@@ -0,0 +1,899 @@
+.ma-0 {
+ margin: 0px !important;
+}
+
+.mb-0 {
+ margin-bottom: 0px !important;
+}
+
+.mt-0 {
+ margin-top: 0px !important;
+}
+
+.mr-0 {
+ margin-right: 0px !important;
+}
+
+.ml-0 {
+ margin-left: 0px !important;
+}
+
+.mt-1 {
+ margin-top: 1px !important;
+}
+
+.mt-2 {
+ margin-top: 2px !important;
+}
+
+.mt-3 {
+ margin-top: 3px !important;
+}
+
+.mt-4 {
+ margin-top: 4px !important;
+}
+
+.mt-5 {
+ margin-top: 5px !important;
+}
+
+.mt-6 {
+ margin-top: 6px !important;
+}
+
+.mt-7 {
+ margin-top: 7px !important;
+}
+
+.mt-8 {
+ margin-top: 8px !important;
+}
+
+.mt-9 {
+ margin-top: 9px !important;
+}
+
+.mt-10 {
+ margin-top: 10px !important;
+}
+
+.mt-11 {
+ margin-top: 11px !important;
+}
+
+.mt-12 {
+ margin-top: 12px !important;
+}
+
+.mt-13 {
+ margin-top: 13px !important;
+}
+
+.mt-14 {
+ margin-top: 14px !important;
+}
+
+.mt-15 {
+ margin-top: 15px !important;
+}
+
+.mt-16 {
+ margin-top: 16px !important;
+}
+
+.mt-17 {
+ margin-top: 17px !important;
+}
+
+.mt-18 {
+ margin-top: 18px !important;
+}
+
+.mt-19 {
+ margin-top: 19px !important;
+}
+
+.mt-20 {
+ margin-top: 20px !important;
+}
+
+.mt-25 {
+ margin-top: 25px !important;
+}
+
+.mt-30 {
+ margin-top: 30px !important;
+}
+
+.mt-35 {
+ margin-top: 35px !important;
+}
+
+.mt-40 {
+ margin-top: 40px !important;
+}
+
+.mt-50 {
+ margin-top: 50px !important;
+}
+
+.mt-60 {
+ margin-top: 60px !important;
+}
+
+.mb-1 {
+ margin-bottom: 1px !important;
+}
+
+.mb-2 {
+ margin-bottom: 2px !important;
+}
+
+.mb-3 {
+ margin-bottom: 3px !important;
+}
+
+.mb-4 {
+ margin-bottom: 4px !important;
+}
+
+.mb-5 {
+ margin-bottom: 5px !important;
+}
+
+.mb-6 {
+ margin-bottom: 6px !important;
+}
+
+.mb-7 {
+ margin-bottom: 7px !important;
+}
+
+.mb-10 {
+ margin-bottom: 10px !important;
+}
+
+.mb-12 {
+ margin-bottom: 12px !important;
+}
+
+.mb-15 {
+ margin-bottom: 15px !important;
+}
+
+.mb-20 {
+ margin-bottom: 20px !important;
+}
+
+.mb-25 {
+ margin-bottom: 25px !important;
+}
+
+.mb-30 {
+ margin-bottom: 30px !important;
+}
+
+.mb-35 {
+ margin-bottom: 35px !important;
+}
+
+.mb-40 {
+ margin-bottom: 40px !important;
+}
+
+.mb-50 {
+ margin-bottom: 50px !important;
+}
+
+.mb-60 {
+ margin-bottom: 60px !important;
+}
+
+.mr-4 {
+ margin-right: 4px !important;
+}
+
+.mr-5 {
+ margin-right: 5px !important;
+}
+
+.mr-6 {
+ margin-right: 6px !important;
+}
+
+.mr-7 {
+ margin-right: 7px !important;
+}
+
+.mr-8 {
+ margin-right: 8px !important;
+}
+
+.mr-9 {
+ margin-right: 9px !important;
+}
+
+.mr-10 {
+ margin-right: 10px !important;
+}
+
+.mr-15 {
+ margin-right: 15px !important;
+}
+
+.mr-20 {
+ margin-right: 20px !important;
+}
+
+.mr-25 {
+ margin-right: 25px !important;
+}
+
+.mr-30 {
+ margin-right: 30px !important;
+}
+
+.mr-35 {
+ margin-right: 35px !important;
+}
+
+.mr-40 {
+ margin-right: 40px !important;
+}
+
+.mr-45 {
+ margin-right: 45px !important;
+}
+
+.mr-50 {
+ margin-right: 50px !important;
+}
+
+.ml-3 {
+ margin-left: 3px !important;
+}
+
+.ml-5 {
+ margin-left: 5px !important;
+}
+
+.ml-4 {
+ margin-left: 4px !important;
+}
+
+.ml-7 {
+ margin-left: 7px !important;
+}
+
+.ml-10 {
+ margin-left: 10px !important;
+}
+
+.ml-15 {
+ margin-left: 15px !important;
+}
+
+.ml-20 {
+ margin-left: 20px !important;
+}
+
+.ml-25 {
+ margin-left: 25px !important;
+}
+
+.ml-30 {
+ margin-left: 30px !important;
+}
+
+.ml-35 {
+ margin-left: 35px !important;
+}
+
+.ml-40 {
+ margin-left: 40px !important;
+}
+
+.ml-50 {
+ margin-left: 50px !important;
+}
+
+.pa-0 {
+ padding: 0px !important;
+}
+
+.pa-10 {
+ padding: 10px !important;
+}
+
+.pa-20 {
+ padding: 20px !important;
+}
+
+.pl-0 {
+ padding-left: 0px !important;
+}
+
+.pr-0 {
+ padding-right: 0px !important;
+}
+
+.pb-0 {
+ padding-bottom: 0px !important;
+}
+
+.pt-0 {
+ padding-top: 0px !important;
+}
+
+.pt-1 {
+ padding-top: 1px !important;
+}
+
+.pt-3 {
+ padding-top: 3px !important;
+}
+
+.pt-4 {
+ padding-top: 4px !important;
+}
+
+.pt-5 {
+ padding-top: 5px !important;
+}
+
+.pt-6 {
+ padding-top: 6px !important;
+}
+
+.pt-7 {
+ padding-top: 7px !important;
+}
+
+.pt-8 {
+ padding-top: 8px !important;
+}
+
+.pt-10 {
+ padding-top: 10px !important;
+}
+
+.pt-15 {
+ padding-top: 15px !important;
+}
+
+.pt-20 {
+ padding-top: 20px !important;
+}
+
+.pb-1 {
+ padding-bottom: 1px !important;
+}
+
+.pb-4 {
+ padding-bottom: 4px !important;
+}
+
+.pb-5 {
+ padding-bottom: 5px !important;
+}
+
+.pb-7 {
+ padding-bottom: 7px !important;
+}
+
+.pb-10 {
+ padding-bottom: 10px !important;
+}
+
+.pb-15 {
+ padding-bottom: 15px !important;
+}
+
+.pb-20 {
+ padding-bottom: 20px !important;
+}
+
+.pb-30 {
+ padding-bottom: 30px !important;
+}
+
+.pr-5 {
+ padding-right: 5px !important;
+}
+
+.pr-10 {
+ padding-right: 10px !important;
+}
+
+.pr-12 {
+ padding-right: 12px !important;
+}
+
+.pr-15 {
+ padding-right: 15px !important;
+}
+
+.pr-20 {
+ padding-right: 20px !important;
+}
+
+.pl-5 {
+ padding-left: 5px !important;
+}
+
+.pl-10 {
+ padding-left: 10px !important;
+}
+
+.pl-12 {
+ padding-left: 12px !important;
+}
+
+.pl-15 {
+ padding-left: 15px !important;
+}
+
+.pl-20 {
+ padding-left: 20px !important;
+}
+
+.pl-25 {
+ padding-left: 25px !important;
+}
+
+.pl-30 {
+ padding-left: 30px !important;
+}
+
+.lh-1 {
+ line-height: 1 !important;
+}
+
+.lh-11 {
+ line-height: 1.1 !important;
+}
+
+.lh-12 {
+ line-height: 1.2 !important;
+}
+
+.lh-13 {
+ line-height: 1.3 !important;
+}
+
+.lh-14 {
+ line-height: 1.4 !important;
+}
+
+.lh-15 {
+ line-height: 1.5 !important;
+}
+
+.lh-16 {
+ line-height: 1.6 !important;
+}
+
+.font10 {
+ font-size: 10px !important;
+}
+
+.font11 {
+ font-size: 11px !important;
+}
+
+.font12 {
+ font-size: 12px !important;
+}
+
+.font13 {
+ font-size: 13px !important;
+}
+
+.font14 {
+ font-size: 14px !important;
+}
+
+.font15 {
+ font-size: 15px !important;
+}
+
+.font16 {
+ font-size: 16px !important;
+}
+
+.font17 {
+ font-size: 17px !important;
+}
+
+.font18 {
+ font-size: 18px !important;
+}
+
+.font19 {
+ font-size: 19px !important;
+}
+
+.font20 {
+ font-size: 20px !important;
+}
+
+.font21 {
+ font-size: 21px !important;
+}
+
+.font22 {
+ font-size: 22px !important;
+}
+
+.font23 {
+ font-size: 23px !important;
+}
+
+.font24 {
+ font-size: 24px !important;
+}
+
+.font25 {
+ font-size: 25px !important;
+}
+
+.font30 {
+ font-size: 30px !important;
+}
+
+.fw100 {
+ font-weight: 100;
+}
+
+.fw200 {
+ font-weight: 200;
+}
+
+.fw300 {
+ font-weight: 300;
+}
+
+.fw400 {
+ font-weight: 400;
+}
+
+.fw500 {
+ font-weight: 500;
+}
+
+.fw600 {
+ font-weight: 600;
+}
+
+.fw700 {
+ font-weight: 700;
+}
+
+.fw800 {
+ font-weight: 800;
+}
+
+.fw900 {
+ font-weight: 900;
+}
+
+.fw-bold {
+ font-weight: bold;
+}
+
+.ta-justify {
+ text-align: justify !important;
+}
+
+.ta-center {
+ text-align: center !important;
+}
+
+.ta-end {
+ text-align: end !important;
+}
+
+.ta-left {
+ text-align: left !important;
+}
+
+.ta-right {
+ text-align: right !important;
+}
+
+.green {
+ color: #36A000;
+}
+
+.gray-light {
+ color: #9096A4;
+}
+
+.gray-dark {
+ color: #676B75;
+}
+
+.blue {
+ color: #2FB9F8;
+}
+
+.clients-blue {
+ color: #2FB9F8;
+}
+
+.black {
+ color: #282B31;
+}
+
+.red-bf {
+ color: #d01a2f;
+}
+
+.hide {
+ display: none;
+}
+
+.forcehide {
+ display: none !important;
+}
+
+.left {
+ float: left;
+}
+
+.left-f {
+ float: left !important;
+}
+
+.right {
+ float: right;
+}
+
+.right-f {
+ float: right !important;
+}
+
+.clear {
+ clear: both;
+}
+
+.relative {
+ position: relative;
+}
+
+.absolute {
+ position: absolute;
+}
+
+.block {
+ display: block;
+}
+
+.inline-block {
+ display: inline-block !important;
+}
+
+.display-grid {
+ display: grid;
+}
+
+.flex {
+ display: flex;
+}
+
+.flex-align-items-center {
+ align-items: center;
+}
+
+.pointer, .hand {
+ cursor: pointer;
+}
+
+.cursor-default {
+ cursor: default !important;
+}
+
+.bold {
+ font-weight: bold;
+}
+
+.italic {
+ font-style: italic;
+}
+
+.uppercase {
+ text-transform: uppercase;
+}
+
+.width100 {
+ width: 100%;
+}
+
+.fit-content {
+ width: -moz-fit-content;
+ width: -webkit-fit-content;
+ width: fit-content;
+}
+
+.max-content {
+ width: intrinsic; /* Safari/WebKit uses a non-standard name */
+ width: -moz-max-content; /* Firefox/Gecko */
+ width: -webkit-max-content; /* Chrome */
+ width: max-content;
+}
+
+.fill-available {
+ width: -moz-available;
+ width: -webkit-fill-available;
+ width: fill-available;
+}
+
+.pointer-none {
+ pointer-events: none;
+}
+
+.disable-block, .disabled-block {
+ pointer-events: none;
+ opacity: 0.4;
+}
+
+.show-spaces {
+ word-wrap: break-word !important;
+ white-space: pre-wrap !important;
+}
+
+.overflow-hidden {
+ overflow: hidden !important;
+}
+
+.overflow-auto {
+ overflow: auto !important;
+}
+
+.force-hide {
+ display: none !important;
+}
+
+.center-block {
+ display: block;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+.expand-all-plus {
+ background: url(/images/add.png) 0 0 no-repeat;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
+
+.expand-plus {
+ background: url(/images/plus.png) 0 0 no-repeat;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
+
+.reduce-minus {
+ background: url(/images/minus.png) 0 0 no-repeat;
+ cursor: pointer;
+ width: 16px;
+ height: 16px;
+}
+
+.grey-line {
+ width: 100%;
+ height: 1px;
+ border-bottom: 1px solid #e7ecf1;
+}
+
+.triangle-top-to-bottom {
+ border: 6px solid transparent;
+ border-bottom: 14px solid;
+ position: absolute;
+ top: -19px;
+ color: #fff;
+}
+
+.primary-color {
+ color: #2FB9F8;
+}
+
+.primary-bg-color {
+ background-color: #2FB9F8;
+}
+
+.before-triangle-top:before {
+ position: absolute;
+ top: -8px;
+ right: 20px;
+ left: auto;
+ display: inline-block !important;
+ border-right: 8px solid transparent;
+ border-bottom: 8px solid #e0e0e0;
+ border-left: 8px solid transparent;
+ content: "";
+}
+.before-triangle-top:after {
+ position: absolute;
+ top: -7px;
+ right: 21px;
+ left: auto;
+ display: inline-block !important;
+ border-right: 7px solid transparent;
+ border-bottom: 7px solid #fff;
+ border-left: 7px solid transparent;
+ content: "";
+}
+
+.before-triangle-right:before {
+ position: absolute;
+ top: calc(50% - 8px);
+ right: -8px;
+ left: auto;
+ display: inline-block !important;
+ border-top: 8px solid transparent;
+ border-bottom: 8px solid transparent;
+ border-left: 8px solid #e0e0e0;
+ content: "";
+}
+.before-triangle-right:after {
+ position: absolute;
+ top: calc(50% - 7px);
+ right: -7px;
+ left: auto;
+ display: inline-block !important;
+ border-top: 7px solid transparent;
+ border-bottom: 7px solid transparent;
+ border-left: 7px solid #fff;
+ content: "";
+}
+
+.icon-download-detail-booked-before-triangle-right:before {
+ position: absolute;
+ top: calc(50% - 39px) !important;
+ right: -8px;
+ left: auto;
+ display: inline-block !important;
+ border-top: 8px solid transparent;
+ border-bottom: 8px solid transparent;
+ border-left: 8px solid #e0e0e0;
+ content: "";
+}
+.icon-download-detail-booked-before-triangle-right:after {
+ top: calc(50% - 39px) !important;
+ position: absolute;
+ right: -7px;
+ left: auto;
+ display: inline-block !important;
+ border-top: 7px solid transparent;
+ border-bottom: 7px solid transparent;
+ border-left: 7px solid #fff;
+ content: "";
+}
+
+.noselect {
+ -webkit-touch-callout: none; /* iOS Safari */
+ -webkit-user-select: none; /* Safari */
+ -khtml-user-select: none; /* Konqueror HTML */
+ -moz-user-select: none; /* Old versions of Firefox */
+ -ms-user-select: none; /* Internet Explorer/Edge */
+ user-select: none; /* Non-prefixed version, currently
+ supported by Chrome, Opera and Firefox */
+}
+
+.nodrag {
+ user-drag: none;
+ user-select: none;
+ -moz-user-select: none;
+ -webkit-user-drag: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+}
+
+.border0 {
+ border: 0;
+}
+
+/*# sourceMappingURL=helpers.css.map */
diff --git a/public/css/style_may2024.css b/public/css/style_may2024.css
index bffb3dd..403f2d8 100644
--- a/public/css/style_may2024.css
+++ b/public/css/style_may2024.css
@@ -5294,6 +5294,7 @@ h1 {
flex-direction: column;
gap: 15px;
margin-top: 15px;
+ margin-bottom: 30px;
}
@media (min-width: 768px) {
.vacancies__list-col {
@@ -8069,6 +8070,7 @@ main + .news {
}
.cabinet__title {
font-size: 24px;
+ margin-bottom: 20px;
}
@media (min-width: 768px) {
.cabinet__title {
@@ -8080,11 +8082,6 @@ main + .news {
font-size: 40px;
}
}
-@media (min-width: 1280px) {
- .cabinet__title {
- font-size: 48px;
- }
-}
.cabinet__subtitle {
font-size: 22px;
margin: 0;
@@ -8331,9 +8328,9 @@ main + .news {
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
- -webkit-box-align: start;
- -ms-flex-align: start;
- align-items: flex-start;
+ -webkit-box-align: end;
+ -ms-flex-align: end;
+ align-items: end;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
@@ -8368,11 +8365,20 @@ main + .news {
padding: 0;
}
}
+.cabinet__inputs-item.column-count-3{
+ width: calc(32% - 10px);
+}
+.cabinet__inputs-item-full-row {
+ width: 100%;
+}
.cabinet__inputs-item .buttons {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
}
+.cabinet__inputs-item .form-group__label{
+ font-weight: bold;
+}
@media (min-width: 768px) {
.cabinet__inputs-item .buttons {
gap: 20px;
@@ -8960,16 +8966,8 @@ main + .news {
}
}
.cabinet__works-item {
- -webkit-box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2);
- box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2);
- padding: 10px;
- border-radius: 4px;
-}
-@media (min-width: 768px) {
- .cabinet__works-item {
- padding: 20px;
- border-radius: 8px;
- }
+ border-bottom: 1px #cccccc solid;
+ padding-bottom: 35px;
}
.cabinet__works-spoiler {
display: -webkit-box;
@@ -9052,7 +9050,6 @@ main + .news {
}
.cabinet__works-spoiler-text {
width: calc(100% - 60px);
- padding-left: 20px;
font-size: 17px;
font-weight: 700;
color: #000;
@@ -9060,21 +9057,10 @@ main + .news {
@media (min-width: 768px) {
.cabinet__works-spoiler-text {
width: calc(100% - 74px);
- font-size: 20px;
+ font-size: 22px;
}
}
-.cabinet__works-body {
- opacity: 0;
- height: 0;
- overflow: hidden;
-}
-.active + .cabinet__works-body {
- -webkit-transition: 0.3s;
- transition: 0.3s;
- opacity: 1;
- height: auto;
- padding-top: 20px;
-}
+
.cabinet__works-add {
padding: 0;
width: 100%;
@@ -9127,6 +9113,12 @@ main + .news {
max-width: 400px;
}
}
+.cabinet__buttons_flex{
+ display: flex;
+}
+.cabinet__buttons_flex > *{
+ margin-right: 10px;
+}
.cabinet__vacs {
display: -webkit-box;
display: -ms-flexbox;
@@ -9186,3 +9178,46 @@ main + .news {
.main__vacancies-item .main__employer-page-two-item-text-body p{
margin: 0 0 20px;
}
+#sertificate .one-sertificate{
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 15px;
+ border-bottom: 1px #ccc solid;
+ padding-bottom: 15px;
+}
+#sertificate .one-sertificate .sertificate-field{
+ display: block;
+}
+#sertificate .one-sertificate .sertificate-field.sertificate-name{
+ width: 50%;
+ max-width: 50%;
+}
+#sertificate .one-sertificate .sertificate-field.sertificate-buttons{
+ display: flex;
+ justify-content: space-between;
+}
+#sertificate .one-sertificate .sertificate-field.sertificate-buttons a{
+ width: 30px;
+ height: 30px;
+ padding: 5px;
+}
+#prev_worker .cabinet__inputs-item-buttons a{
+ width: 30px;
+ height: 30px;
+ padding: 5px;
+}
+#prev_worker .cabinet__inputs-item-buttons{
+ width: 100px;
+}
+#prev_worker .cabinet__inputs{
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: start;
+}
+#prev_worker .cabinet__inputs-item-buttons flex{
+ justify-content: end;
+}
+#prev_worker .cabinet__body-item{
+ border-bottom: 1px #cccccc solid;
+ padding-bottom: 25px;
+}
diff --git a/resources/views/layout/frontend.blade.php b/resources/views/layout/frontend.blade.php
index ccb9ca5..dbaa94f 100644
--- a/resources/views/layout/frontend.blade.php
+++ b/resources/views/layout/frontend.blade.php
@@ -14,6 +14,7 @@
+