Commit 7571b20fd5c13ed6f79784db64504d6f9f64f2de
1 parent
6b9776dfb3
Exists in
master
and in
1 other branch
Коммит 13 марта 2024
Showing 29 changed files with 737 additions and 175 deletions Side-by-side Diff
- app/Http/Controllers/Admin/Ad_EmployersController.php
- app/Http/Controllers/EmployerController.php
- app/Http/Controllers/MainController.php
- app/Http/Controllers/WorkerController.php
- app/Http/Requests/VacancyRequestEdit.php
- app/Http/Requests/VacansiaRequiest.php
- resources/views/admin/ad_employers/add.blade.php
- resources/views/admin/ad_employers/edit.blade.php
- resources/views/admin/reclames/index.blade.php
- resources/views/ajax/list_category.blade.php
- resources/views/employers/add_vacancy.blade.php
- resources/views/employers/edit_vacancy.blade.php
- resources/views/employers/list_vacancy.blade.php
- resources/views/employers/menu.blade.php
- resources/views/index.blade.php
- resources/views/info_company_new.blade.php
- resources/views/layout/frontend.blade.php
- resources/views/layout/pdf.blade.php
- resources/views/list_vacancies.blade.php
- resources/views/modals/send_admin.blade.php
- resources/views/modals/send_employer_new.blade.php
- resources/views/modals/send_login.blade.php
- resources/views/modals/send_message_noaut.blade.php
- resources/views/modals/send_message_noaut2.blade.php
- resources/views/modals/send_worker_new.blade.php
- resources/views/vacancies.blade.php
- resources/views/worker.blade.php
- resources/views/workers/cabinet.blade.php
- routes/web.php
app/Http/Controllers/Admin/Ad_EmployersController.php
... | ... | @@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin; |
5 | 5 | use App\Http\Controllers\Controller; |
6 | 6 | use App\Models\Ad_employer; |
7 | 7 | use App\Models\Ad_jobs; |
8 | +use App\Models\Category; | |
8 | 9 | use App\Models\Employer; |
9 | 10 | use App\Models\Job_title; |
10 | 11 | use App\Models\User; |
... | ... | @@ -77,14 +78,11 @@ class Ad_EmployersController extends Controller |
77 | 78 | } |
78 | 79 | } |
79 | 80 | |
80 | - /** | |
81 | - * Show the form for creating a new resource | |
82 | - * @return \Illuminate\Http\Response | |
83 | - */ | |
84 | 81 | public function create() |
85 | 82 | { |
86 | 83 | $job_titles = Job_title::query()->active()->get(); |
87 | - return view('admin.ad_employers.add', compact('job_titles')); | |
84 | + $categories = Category::query()->get(); | |
85 | + return view('admin.ad_employers.add', compact('job_titles', 'categories')); | |
88 | 86 | } |
89 | 87 | |
90 | 88 | /** |
... | ... | @@ -143,12 +141,12 @@ class Ad_EmployersController extends Controller |
143 | 141 | { |
144 | 142 | $sel = Array(); |
145 | 143 | $job_titles = Job_title::active()->get(); |
146 | - | |
144 | + $categories = Category::query()->get(); | |
147 | 145 | foreach ($ad_employer->jobs as $j) { |
148 | 146 | $sel[] = $j->id; |
149 | 147 | } |
150 | 148 | |
151 | - return view('admin.ad_employers.edit', compact('ad_employer', 'job_titles', 'sel')); | |
149 | + return view('admin.ad_employers.edit', compact('ad_employer', 'categories', 'job_titles', 'sel')); | |
152 | 150 | } |
153 | 151 | |
154 | 152 | /** |
app/Http/Controllers/EmployerController.php
... | ... | @@ -6,6 +6,7 @@ use App\Classes\RusDate; |
6 | 6 | use App\Classes\Tools; |
7 | 7 | use App\Http\Requests\FlotRequest; |
8 | 8 | use App\Http\Requests\MessagesRequiest; |
9 | +use App\Http\Requests\VacancyRequestEdit; | |
9 | 10 | use App\Http\Requests\VacansiaRequiest; |
10 | 11 | use App\Mail\MailSotrudnichestvo; |
11 | 12 | use App\Mail\SendAllMessages; |
... | ... | @@ -108,17 +109,17 @@ class EmployerController extends Controller |
108 | 109 | public function cabinet_vacancie() { |
109 | 110 | $id = Auth()->user()->id; |
110 | 111 | $jobs = Job_title::query()->OrderBy('name')->get(); |
111 | - | |
112 | + $categories = Category::query()->get(); | |
112 | 113 | $Employer = Employer::query()->with('users')->with('ads')->with('flots')-> |
113 | 114 | WhereHas('users', |
114 | 115 | function (Builder $query) use ($id) {$query->Where('id', $id); |
115 | 116 | })->get(); |
116 | 117 | |
117 | - return view('employers.add_vacancy', compact('Employer', 'jobs')); | |
118 | + return view('employers.add_vacancy', compact('Employer', 'jobs' , 'categories')); | |
118 | 119 | } |
119 | 120 | |
120 | 121 | // Сохранение вакансии |
121 | - public function cabinet_vacancy_save1(VacansiaRequiest $request) { | |
122 | + public function cabinet_vacancy_save1(VacancyRequestEdit $request) { | |
122 | 123 | $params = $request->all(); |
123 | 124 | $jobs['min_salary'] = $params['min_salary']; |
124 | 125 | $jobs['max_salary'] = $params['max_salary']; |
... | ... | @@ -157,9 +158,20 @@ class EmployerController extends Controller |
157 | 158 | public function vacancy_edit(Ad_employer $ad_employer) { |
158 | 159 | $id = Auth()->user()->id; |
159 | 160 | $jobs = Job_title::query()->OrderBy('name')->get(); |
160 | - $Employer = Employer::query()->where('user_id', $id)->first(); | |
161 | + $categories = Category::query()->get(); | |
162 | + $Employer = Employer::query()->with('users')->with('ads')->with('flots')-> | |
163 | + where('user_id', $id)->first(); | |
164 | + | |
165 | + return view('employers.edit_vacancy', compact('ad_employer', 'categories','Employer', 'jobs')); | |
166 | + } | |
161 | 167 | |
162 | - return view('employers.edit_vacancy', compact('ad_employer', 'Employer', 'jobs')); | |
168 | + // Сохранение-редактирование записи | |
169 | + public function vacancy_save_me(VacancyRequestEdit $request, Ad_employer $ad_employer) { | |
170 | + $all = $request->all(); | |
171 | + | |
172 | + $ad_employer->update($all); | |
173 | + | |
174 | + return redirect()->route('employer.vacancy_list'); | |
163 | 175 | } |
164 | 176 | |
165 | 177 | // Сохранение карточки вакансии |
app/Http/Controllers/MainController.php
... | ... | @@ -114,17 +114,24 @@ class MainController extends Controller |
114 | 114 | |
115 | 115 | $Query = $Query->OrderBy('updated_at')->paginate(3); |
116 | 116 | |
117 | - $Reclama = reclame::query()->limit(3)->get(); | |
117 | + $Reclama = reclame::query()->get(); | |
118 | 118 | |
119 | 119 | |
120 | 120 | |
121 | 121 | if ($request->ajax()) { |
122 | - return view('ajax.list_vacancies', compact('Query', | |
123 | - 'Query_count', | |
124 | - 'Name_categori', | |
125 | - 'Reclama', | |
126 | - 'categories', | |
127 | - 'uid')); | |
122 | + if ($request->has('title')) { | |
123 | + return view('ajax.list_category', compact( | |
124 | + 'Name_categori' | |
125 | + )); | |
126 | + } else { | |
127 | + return view('ajax.list_vacancies', compact('Query', | |
128 | + 'Query_count', | |
129 | + 'Name_categori', | |
130 | + 'Reclama', | |
131 | + 'categories', | |
132 | + 'Job_title', | |
133 | + 'uid')); | |
134 | + } | |
128 | 135 | } else { |
129 | 136 | //Вернуть все |
130 | 137 | return view('list_vacancies', compact('Query', |
... | ... | @@ -179,7 +186,7 @@ class MainController extends Controller |
179 | 186 | |
180 | 187 | $rules = [ |
181 | 188 | 'email' => 'required|string|email', |
182 | - 'password' => 'required|string', | |
189 | + 'password' => 'required|string|min:3|max:25', | |
183 | 190 | ]; |
184 | 191 | |
185 | 192 | $messages = [ |
app/Http/Controllers/WorkerController.php
... | ... | @@ -24,6 +24,7 @@ use Barryvdh\DomPDF\Facade\Pdf; |
24 | 24 | use Carbon\Carbon; |
25 | 25 | use Illuminate\Auth\Events\Registered; |
26 | 26 | use Illuminate\Database\Eloquent\Builder; |
27 | +use Illuminate\Database\Eloquent\Model; | |
27 | 28 | use Illuminate\Http\JsonResponse; |
28 | 29 | use Illuminate\Http\Request; |
29 | 30 | use Illuminate\Support\Facades\Auth; |
... | ... | @@ -124,24 +125,53 @@ class WorkerController extends Controller |
124 | 125 | ->with('infobloks'); |
125 | 126 | $Query = $Query->where('id', '=', $worker->id); |
126 | 127 | $Query = $Query->get(); |
128 | + | |
129 | + $get_date = date('Y.m'); | |
130 | + $c = Static_worker::query()->where('year_month', '=', $get_date) | |
131 | + ->where('user_id', '=', $worker->id) | |
132 | + ->get(); | |
133 | + | |
134 | + if ($c->count() > 0) { | |
135 | + $upd = Static_worker::find($c[0]->id); | |
136 | + $upd->lookin = $upd->lookin + 1; | |
137 | + $upd->save(); | |
138 | + } else { | |
139 | + $crt = new Static_worker(); | |
140 | + $crt->lookin = 1; | |
141 | + $crt->year_month = $get_date; | |
142 | + $crt->user_id = $worker->user_id; | |
143 | + $crt->save(); | |
144 | + } | |
145 | + | |
146 | + $stat = Static_worker::query()->where('year_month', '=', $get_date) | |
147 | + ->where('user_id', '=', $worker->id) | |
148 | + ->get(); | |
149 | + | |
127 | 150 | return view('worker', compact('Query', 'status_work')); |
128 | 151 | } |
129 | 152 | |
130 | 153 | // скачать анкету соискателя |
131 | 154 | public function resume_download(Worker $worker) |
132 | 155 | { |
133 | - $arr_house = ['0' => '$1000000000000000000']; | |
156 | + $status_work = $this->status_work; | |
157 | + $Query = Worker::query()->with('users')->with('job_titles') | |
158 | + ->with('place_worker')->with('sertificate')->with('prev_company') | |
159 | + ->with('infobloks'); | |
160 | + $Query = $Query->where('id', '=', $worker->id); | |
161 | + $Query = $Query->get()->toArray(); | |
134 | 162 | |
135 | - view()->share('house',$arr_house); | |
163 | + view()->share('Query',$Query); | |
136 | 164 | |
137 | - $pdf = PDF::loadView('layout.pdf', $arr_house); //->setPaper('a4', 'landscape'); | |
165 | + $pdf = PDF::loadView('layout.pdf', $Query); //->setPaper('a4', 'landscape'); | |
138 | 166 | |
139 | 167 | return $pdf->stream(); |
140 | 168 | } |
141 | 169 | |
142 | 170 | // Кабинет работника |
143 | - public function cabinet() | |
171 | + public function cabinet(Request $request) | |
144 | 172 | { |
173 | + $get_date = date('Y.m'); | |
174 | + | |
145 | 175 | $id = Auth()->user()->id; |
146 | 176 | $Worker = Worker::query()->with('users')->with('sertificate')->with('prev_company')-> |
147 | 177 | with('infobloks')->with('place_worker')-> |
... | ... | @@ -152,7 +182,39 @@ class WorkerController extends Controller |
152 | 182 | $Job_titles = Job_title::query()->OrderBy('name')->get(); |
153 | 183 | $Infoblocks = infobloks::query()->OrderBy('name')->get(); |
154 | 184 | |
155 | - return view('workers.cabinet', compact('Worker', 'Job_titles', 'Infoblocks')); | |
185 | + $stat = Static_worker::query()->where('year_month', '=', $get_date) | |
186 | + ->where('user_id', '=', $Worker[0]->id) | |
187 | + ->get(); | |
188 | + | |
189 | + $persent = 10; | |
190 | + if ((!empty($Worker[0]->status_work)) && (!empty($Worker[0]->telephone)) && | |
191 | + (!empty($Worker[0]->email)) && (!empty($Worker[0]->experience)) && | |
192 | + (!empty($Worker[0]->city)) && (!empty($Worker[0]->old_year))) { | |
193 | + $persent = $persent + 40; | |
194 | + } | |
195 | + | |
196 | + if ($Worker[0]->sertificate->count() > 0) { | |
197 | + $persent = $persent + 15; | |
198 | + } | |
199 | + | |
200 | + if ($Worker[0]->infobloks->count() > 0) { | |
201 | + $persent = $persent + 20; | |
202 | + } | |
203 | + | |
204 | + if ($Worker[0]->prev_company->count() > 0) { | |
205 | + $persent = $persent + 10; | |
206 | + } | |
207 | + | |
208 | + if (!empty($Worker[0]->photo)) { | |
209 | + // 5% | |
210 | + $persent = $persent + 5; | |
211 | + } | |
212 | + | |
213 | + if ($request->has('print')) { | |
214 | + dd($Worker); | |
215 | + } else { | |
216 | + return view('workers.cabinet', compact('Worker', 'persent', 'Job_titles', 'Infoblocks', 'stat')); | |
217 | + } | |
156 | 218 | } |
157 | 219 | |
158 | 220 | // Сохранение данных |
app/Http/Requests/VacancyRequestEdit.php
... | ... | @@ -0,0 +1,116 @@ |
1 | +<?php | |
2 | + | |
3 | +namespace App\Http\Requests; | |
4 | + | |
5 | +use Illuminate\Foundation\Http\FormRequest; | |
6 | + | |
7 | +class VacancyRequestEdit extends FormRequest | |
8 | +{ | |
9 | + public function authorize() | |
10 | + { | |
11 | + return true; | |
12 | + } | |
13 | + | |
14 | + /** | |
15 | + * Get the validation rules that apply to the request. | |
16 | + * | |
17 | + * @return array<string, mixed> | |
18 | + */ | |
19 | + | |
20 | + public function rules() | |
21 | + { | |
22 | + $Arr = [ | |
23 | + 'name' => [ | |
24 | + 'required', | |
25 | + 'min:3', | |
26 | + 'max:255', | |
27 | + ], | |
28 | + | |
29 | + 'category_id' => [ | |
30 | + 'numeric', | |
31 | + 'min:0', | |
32 | + 'max:9999999', | |
33 | + ], | |
34 | + | |
35 | + 'telephone' => [ | |
36 | + 'min:3', | |
37 | + 'max:255', | |
38 | + ], | |
39 | + | |
40 | + 'email' => [ | |
41 | + 'min:3', | |
42 | + 'max:255', | |
43 | + ], | |
44 | + | |
45 | + 'salary' => [ | |
46 | + 'numeric', | |
47 | + 'min:3', | |
48 | + 'max:255', | |
49 | + ], | |
50 | + | |
51 | + 'min_salary' => [ | |
52 | + 'numeric', | |
53 | + 'min:0', | |
54 | + 'max:9999999', | |
55 | + ], | |
56 | + | |
57 | + 'max_salary' => [ | |
58 | + 'numeric', | |
59 | + 'min:0', | |
60 | + 'max:9999999', | |
61 | + ], | |
62 | + | |
63 | + 'city' => [ | |
64 | + 'min:3', | |
65 | + 'max:255', | |
66 | + ], | |
67 | + | |
68 | + 'job_title_id' => [ | |
69 | + 'numeric', | |
70 | + 'min:1', | |
71 | + 'max:9999999' | |
72 | + ] | |
73 | + ]; | |
74 | + | |
75 | + return [ | |
76 | + 'name' => [ | |
77 | + 'required', | |
78 | + 'min:3', | |
79 | + 'max:255', | |
80 | + ], | |
81 | + | |
82 | + 'category_id' => [ | |
83 | + 'numeric', | |
84 | + 'min:0', | |
85 | + 'max:9999999', | |
86 | + ], | |
87 | + | |
88 | + 'telephone' => [ | |
89 | + 'min:3', | |
90 | + 'max:255', | |
91 | + ], | |
92 | + | |
93 | + 'email' => [ | |
94 | + 'min:3', | |
95 | + 'max:255', | |
96 | + ],]; | |
97 | + } | |
98 | + | |
99 | + public function messages() { | |
100 | + return [ | |
101 | + 'required' => 'Поле «:attribute» обязательно для заполнения', | |
102 | + 'unique' => 'Такое значение поля «:attribute» уже используется', | |
103 | + 'min' => [ | |
104 | + 'string' => 'Поле «:attribute» должно быть не меньше :min символов', | |
105 | + 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' | |
106 | + ], | |
107 | + 'max' => [ | |
108 | + 'string' => 'Поле «:attribute» должно быть не больше :max символов', | |
109 | + 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' | |
110 | + ], | |
111 | + 'mimes' => 'Файл «:attribute» должен иметь формат :values', | |
112 | + 'numeric' => 'В поле «:attribute» должно быть указано целое число от 0 до 9999999', | |
113 | + ]; | |
114 | + | |
115 | + } | |
116 | +} |
app/Http/Requests/VacansiaRequiest.php
... | ... | @@ -24,7 +24,7 @@ class VacansiaRequiest extends FormRequest |
24 | 24 | |
25 | 25 | public function rules() |
26 | 26 | { |
27 | - return [ | |
27 | + $Arr = [ | |
28 | 28 | 'name' => [ |
29 | 29 | 'required', |
30 | 30 | 'min:3', |
... | ... | @@ -76,6 +76,29 @@ class VacansiaRequiest extends FormRequest |
76 | 76 | 'max:9999999' |
77 | 77 | ] |
78 | 78 | ]; |
79 | + | |
80 | + return [ | |
81 | + 'name' => [ | |
82 | + 'required', | |
83 | + 'min:3', | |
84 | + 'max:255', | |
85 | + ], | |
86 | + | |
87 | + 'category_id' => [ | |
88 | + 'numeric', | |
89 | + 'min:0', | |
90 | + 'max:9999999', | |
91 | + ], | |
92 | + | |
93 | + 'telephone' => [ | |
94 | + 'min:3', | |
95 | + 'max:255', | |
96 | + ], | |
97 | + | |
98 | + 'email' => [ | |
99 | + 'min:3', | |
100 | + 'max:255', | |
101 | + ],]; | |
79 | 102 | } |
80 | 103 | |
81 | 104 | public function messages() { |
resources/views/admin/ad_employers/add.blade.php
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | placeholder="Название вакансии" value="{{ old('name') ?? '' }}" |
19 | 19 | /> |
20 | 20 | @error('name') |
21 | - <span class="text-xs text-red-600 dark:text-red-400"> | |
21 | + <span class="text-xs text-red-600"> | |
22 | 22 | {{ $message }} |
23 | 23 | </span> |
24 | 24 | @enderror |
... | ... | @@ -41,6 +41,22 @@ |
41 | 41 | </select> |
42 | 42 | </label><br> |
43 | 43 | |
44 | + <label class="block mt-4 text-sm"> | |
45 | + <span class="text-gray-700 dark:text-gray-400"> | |
46 | + Категории локации | |
47 | + </span> | |
48 | + <select | |
49 | + class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" | |
50 | + name="category_id" id="category_id" | |
51 | + > | |
52 | + @foreach($categories as $it) | |
53 | + <option value="{{$it->id}}" @if (old('category_id') == $it->id) selected @endif > | |
54 | + {{ $it->name }} ({{$it->id}}) | |
55 | + </option> | |
56 | + @endforeach | |
57 | + </select> | |
58 | + </label><br> | |
59 | + | |
44 | 60 | <label class="block text-sm"> |
45 | 61 | <span class="text-gray-700 dark:text-gray-400">Текст-описание вакансии</span> |
46 | 62 | <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray ckeditor" name="text" placeholder="Описание вакансии (text/html)" |
resources/views/admin/ad_employers/edit.blade.php
... | ... | @@ -41,6 +41,22 @@ |
41 | 41 | </select> |
42 | 42 | </label><br> |
43 | 43 | |
44 | + <label class="block mt-4 text-sm"> | |
45 | + <span class="text-gray-700 dark:text-gray-400"> | |
46 | + Категории локации | |
47 | + </span> | |
48 | + <select | |
49 | + class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-multiselect focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" | |
50 | + name="category_id" id="category_id" | |
51 | + > | |
52 | + @foreach($categories as $it) | |
53 | + <option value="{{$it->id}}" @if (old('category_id') == $it->id) selected @endif > | |
54 | + {{ $it->name }} ({{$it->id}}) | |
55 | + </option> | |
56 | + @endforeach | |
57 | + </select> | |
58 | + </label><br> | |
59 | + | |
44 | 60 | <label class="block text-sm"> |
45 | 61 | <span class="text-gray-700 dark:text-gray-400">Текст-описание вакансии</span> |
46 | 62 | <textarea class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-textarea focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray ckeditor" name="text" placeholder="Описание вакансии (text/html)" |
resources/views/admin/reclames/index.blade.php
... | ... | @@ -37,8 +37,8 @@ |
37 | 37 | console.log('click button'); |
38 | 38 | //let id = e.target.id; |
39 | 39 | let form = document.getElementById("form_modal_del"); |
40 | - form.action = "<?=$_SERVER['APP_URL'];?>admin/reclames/delete/"+e.target.getAttribute('data-reclame'); | |
41 | - //document.getElementById("title_modal").innerHTML = id; | |
40 | + form.action = "{{ env('APP_URL') }}admin/reclames/delete/"+e.target.getAttribute('data-reclame'); | |
41 | + document.getElementById("title_modal").innerHTML = id; | |
42 | 42 | console.log(e.target.getAttribute('data-employer')); |
43 | 43 | console.log(e.target.getAttribute('data-user')); |
44 | 44 | |
... | ... | @@ -61,9 +61,10 @@ |
61 | 61 | Добавить рекламу |
62 | 62 | </a> |
63 | 63 | <br> |
64 | - <pre><? //print_r($_SERVER);?></pre> | |
64 | + | |
65 | 65 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> |
66 | 66 | |
67 | + | |
67 | 68 | <div class="w-full overflow-x-auto"> |
68 | 69 | <table class="w-full whitespace-no-wrap"> |
69 | 70 | <thead> |
resources/views/ajax/list_category.blade.php
... | ... | @@ -0,0 +1 @@ |
1 | +Категория: {{ $Name_categori[0]->name }} |
resources/views/employers/add_vacancy.blade.php
... | ... | @@ -65,6 +65,31 @@ |
65 | 65 | @endforeach |
66 | 66 | @endif |
67 | 67 | </select> |
68 | + @error('job_title_id') | |
69 | + <span class="text-xs text-red-600 dark:text-red-400"> | |
70 | + {{ $message }} | |
71 | + </span> | |
72 | + @enderror | |
73 | + </div> | |
74 | + </div> | |
75 | + </div> | |
76 | + | |
77 | + <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
78 | + <label class="form-group__label">Категория (локация)</label> | |
79 | + <div class="form-group__item"> | |
80 | + <div class="select"> | |
81 | + <select class="js-select2" name="category_id" id="category_id"> | |
82 | + @php $i = 1 @endphp | |
83 | + @if ($categories->count()) | |
84 | + @foreach($categories as $j) | |
85 | + @if ($i == 1) <option selected> Выберите категорию из списка</option> | |
86 | + @else | |
87 | + <option value="{{ $j->id }}">{{ $j->name }}</option> | |
88 | + @endif | |
89 | + @php $i++ @endphp | |
90 | + @endforeach | |
91 | + @endif | |
92 | + </select> | |
68 | 93 | @error('category_id') |
69 | 94 | <span class="text-xs text-red-600 dark:text-red-400"> |
70 | 95 | {{ $message }} |
... | ... | @@ -73,6 +98,7 @@ |
73 | 98 | </div> |
74 | 99 | </div> |
75 | 100 | </div> |
101 | + | |
76 | 102 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
77 | 103 | <label class="form-group__label">Телефон</label> |
78 | 104 | <div class="form-group__item"> |
... | ... | @@ -205,7 +231,7 @@ |
205 | 231 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
206 | 232 | <label class="form-group__label">Описание вакансии</label> |
207 | 233 | <div class="form-group__item"> |
208 | - <textarea class="textarea" name="text" id="text">{{ old('text') ?? $Employer[0]->text ?? '' }}</textarea> | |
234 | + <textarea class="textarea" name="text" id="text">{{ $Employer[0]->text ?? '' }}</textarea> | |
209 | 235 | @error('text') |
210 | 236 | <span class="text-xs text-red-600"> |
211 | 237 | {{ $message }} |
... | ... | @@ -218,7 +244,7 @@ |
218 | 244 | <label class="form-group__label">Дополнительная информация</label> |
219 | 245 | <div class="form-group__item"> |
220 | 246 | <textarea class="textarea" name="description" id="description">{{ old('description') ?? '' }}</textarea> |
221 | - @error('text') | |
247 | + @error('description') | |
222 | 248 | <span class="text-xs text-red-600"> |
223 | 249 | {{ $message }} |
224 | 250 | </span> |
resources/views/employers/edit_vacancy.blade.php
... | ... | @@ -27,7 +27,7 @@ |
27 | 27 | |
28 | 28 | </div> |
29 | 29 | |
30 | - <form class="cabinet__body" action="{{ route('employer.vac_save') }}" method="POST"> | |
30 | + <form class="cabinet__body" action="{{ route('employer.vacancy_save_me', ['ad_employer' => $ad_employer]) }}" method="POST"> | |
31 | 31 | @csrf |
32 | 32 | <input type="hidden" name="employer_id" value="{{ $Employer->id }}"/> |
33 | 33 | <div class="cabinet__body-item"> |
... | ... | @@ -74,6 +74,31 @@ |
74 | 74 | </div> |
75 | 75 | |
76 | 76 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
77 | + <label class="form-group__label">Категория (локация)</label> | |
78 | + <div class="form-group__item"> | |
79 | + <div class="select"> | |
80 | + <select class="js-select2" name="category_id" id="category_id"> | |
81 | + @php $i = 1 @endphp | |
82 | + @if ($categories->count()) | |
83 | + @foreach($categories as $j) | |
84 | + @if ($i == 1) <option selected> Выберите категорию из списка</option> | |
85 | + @else | |
86 | + <option value="{{ $j->id }}">{{ $j->name }}</option> | |
87 | + @endif | |
88 | + @php $i++ @endphp | |
89 | + @endforeach | |
90 | + @endif | |
91 | + </select> | |
92 | + @error('category_id') | |
93 | + <span class="text-xs text-red-600 dark:text-red-400"> | |
94 | + {{ $message }} | |
95 | + </span> | |
96 | + @enderror | |
97 | + </div> | |
98 | + </div> | |
99 | + </div> | |
100 | + | |
101 | + <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
77 | 102 | <label class="form-group__label">Телефон</label> |
78 | 103 | <div class="form-group__item"> |
79 | 104 | <input type="text" class="input" name="telephone" id="telephone" value="{{ old('telephone') ?? $Employer->telephone ?? '' }}" placeholder="Свой телефон"> |
... | ... | @@ -97,10 +122,10 @@ |
97 | 122 | </div> |
98 | 123 | </div> |
99 | 124 | |
100 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
125 | + <!--<div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
101 | 126 | <label class="form-group__label">Зарплата среднестатистическая</label> |
102 | 127 | <div class="form-group__item"> |
103 | - <input type="text" class="input" name="salary" id="salary" value="{{ old('salary') ?? '' }}" placeholder="Среднестатистическая зарплата"> | |
128 | + <input type="text" class="input" name="salary" id="salary" value="old('salary') ?? '' }}" placeholder="Среднестатистическая зарплата"> | |
104 | 129 | @error('salary') |
105 | 130 | <span class="text-xs text-red-600"> |
106 | 131 | {{ $message }} |
... | ... | @@ -112,7 +137,7 @@ |
112 | 137 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
113 | 138 | <label class="form-group__label">Минимальная зарплата</label> |
114 | 139 | <div class="form-group__item"> |
115 | - <input type="text" class="input" name="min_salary" id="min_salary" value="{{ old('min_salary') ?? '' }}" placeholder="Минимальная зарплата"> | |
140 | + <input type="text" class="input" name="min_salary" id="min_salary" value=" old('min_salary') ?? '' }}" placeholder="Минимальная зарплата"> | |
116 | 141 | @error('min_salary') |
117 | 142 | <span class="text-xs text-red-600"> |
118 | 143 | {{ $message }} |
... | ... | @@ -124,7 +149,7 @@ |
124 | 149 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
125 | 150 | <label class="form-group__label">Максимальная зарплата</label> |
126 | 151 | <div class="form-group__item"> |
127 | - <input type="text" class="input" name="max_salary" id="max_salary" value="{{ old('max_salary') ?? '' }}" placeholder="Максимальная зарплата"> | |
152 | + <input type="text" class="input" name="max_salary" id="max_salary" value=" old('max_salary') ?? '' }}" placeholder="Максимальная зарплата"> | |
128 | 153 | @error('salary') |
129 | 154 | <span class="text-xs text-red-600 dark:text-red-400"> |
130 | 155 | {{ $message }} |
... | ... | @@ -136,7 +161,7 @@ |
136 | 161 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
137 | 162 | <label class="form-group__label">Город-регион</label> |
138 | 163 | <div class="form-group__item"> |
139 | - <input type="text" class="input" name="city" id="city" value="{{ old('city') ?? $Employer[0]->city ?? '' }}" placeholder="Севастополь"> | |
164 | + <input type="text" class="input" name="city" id="city" value=" old('city') ?? $Employer[0]->city ?? '' }}" placeholder="Севастополь"> | |
140 | 165 | @error('city') |
141 | 166 | <span class="text-xs text-red-600"> |
142 | 167 | {{ $message }} |
... | ... | @@ -148,7 +173,7 @@ |
148 | 173 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
149 | 174 | <label class="form-group__label">Мощность</label> |
150 | 175 | <div class="form-group__item"> |
151 | - <input type="text" class="input" name="power" id="power" value="{{ old('power') ?? '' }}" placeholder="POWER-45"> | |
176 | + <input type="text" class="input" name="power" id="power" value=" old('power') ?? '' }}" placeholder="POWER-45"> | |
152 | 177 | @error('power') |
153 | 178 | <span class="text-xs text-red-600"> |
154 | 179 | {{ $message }} |
... | ... | @@ -160,7 +185,7 @@ |
160 | 185 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
161 | 186 | <label class="form-group__label">Суточные выплаты</label> |
162 | 187 | <div class="form-group__item"> |
163 | - <input type="text" class="input" name="sytki" id="sytki" value="{{ old('sytki') ?? '' }}" placeholder="2000"> | |
188 | + <input type="text" class="input" name="sytki" id="sytki" value=" old('sytki') ?? '' }}" placeholder="2000"> | |
164 | 189 | @error('power') |
165 | 190 | <span class="text-xs text-red-600"> |
166 | 191 | {{ $message }} |
... | ... | @@ -172,21 +197,21 @@ |
172 | 197 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
173 | 198 | <label class="form-group__label">Начало отплытия</label> |
174 | 199 | <div class="form-group__item"> |
175 | - <input type="text" class="input" name="start" id="start" value="{{ old('start') ?? '' }}" placeholder="20 сентября 2024"> | |
200 | + <input type="text" class="input" name="start" id="start" value=" old('start') ?? $Employer->ads->start ?? '' }}" placeholder="20 сентября 2024"> | |
176 | 201 | @error('power') |
177 | 202 | <span class="text-xs text-red-600"> |
178 | 203 | {{ $message }} |
179 | 204 | </span> |
180 | 205 | @enderror |
181 | 206 | </div> |
182 | - </div> | |
207 | + </div>--> | |
183 | 208 | |
184 | 209 | <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> |
185 | 210 | <label class="form-group__label">Корабль для посадки</label> |
186 | 211 | <div class="form-group__item"> |
187 | 212 | <div class="select"> |
188 | 213 | <select class="js-select2" name="flot" id="flot"> |
189 | - <option value="" selected> Не указан корабль</option> | |
214 | + | |
190 | 215 | @if ($Employer->flots->count()) |
191 | 216 | @foreach($Employer->flots as $j) |
192 | 217 | <option value="{{ $j->name }}">{{ $j->name }} ({{ $j->id }})</option> |
... | ... | @@ -214,17 +239,17 @@ |
214 | 239 | </div> |
215 | 240 | </div> |
216 | 241 | |
217 | - <div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
242 | + <!--<div class="cabinet__inputs-item cabinet__inputs-item_fullwidth form-group"> | |
218 | 243 | <label class="form-group__label">Дополнительная информация</label> |
219 | 244 | <div class="form-group__item"> |
220 | - <textarea class="textarea" name="description" id="description">{{ old('description') ?? '' }}</textarea> | |
221 | - @error('text') | |
245 | + <textarea class="textarea" name="description" id="description"> old('description') ?? '' }}</textarea> | |
246 | + @error('description') | |
222 | 247 | <span class="text-xs text-red-600"> |
223 | 248 | {{ $message }} |
224 | 249 | </span> |
225 | 250 | @enderror |
226 | 251 | </div> |
227 | - </div> | |
252 | + </div>--> | |
228 | 253 | </div> |
229 | 254 | <a class="button cabinet__submit" href="{{ route('employer.vacancy_list') }}">Назад</a> |
230 | 255 | <button type="submit" class="button cabinet__submit">Опубликовать</button> |
resources/views/employers/list_vacancy.blade.php
... | ... | @@ -101,10 +101,10 @@ |
101 | 101 | </div> |
102 | 102 | @if ($vacancy_list->count()) |
103 | 103 | <div class="table table_spoiler"> |
104 | - <button type="button" class="table__button js-toggle js-parent-toggle button button_light button_more"> | |
104 | + <!--<button type="button" class="table__button js-toggle js-parent-toggle button button_light button_more"> | |
105 | 105 | <span>Показать ещё</span> |
106 | 106 | <span>Свернуть</span> |
107 | - </button> | |
107 | + </button>--> | |
108 | 108 | <div class="table__scroll"> |
109 | 109 | <div class="table__body table__body_min-width"> |
110 | 110 | <table> |
resources/views/employers/menu.blade.php
... | ... | @@ -73,7 +73,7 @@ |
73 | 73 | </i> |
74 | 74 | <span>База данных</span> |
75 | 75 | </a> |
76 | - <a href="{{ route('employer.bd-tupe') }}" class="cabinet__menu-item @if ($item==8) active @endif"> | |
76 | + <a href="{{ route('bd_resume') }}" target="_blank" class="cabinet__menu-item @if ($item==8) active @endif"> | |
77 | 77 | <i> |
78 | 78 | <svg> |
79 | 79 | <use xlink:href="{{ asset('images/sprite.svg#cabinet-8') }}"></use> |
resources/views/index.blade.php
... | ... | @@ -29,7 +29,11 @@ |
29 | 29 | </svg> |
30 | 30 | </span> |
31 | 31 | </form> |
32 | + @guest | |
33 | + <a data-fancybox data-src="#question2" data-options='{"touch":false,"autoFocus":false}' class="button work__search">Я ищу сотрудника</a> | |
34 | + @else | |
32 | 35 | <a href="{{ route('bd_resume') }}" class="button work__search">Я ищу сотрудника</a> |
36 | + @endguest | |
33 | 37 | <div class="work__get"> |
34 | 38 | <b>Скачать приложение</b> |
35 | 39 | <a href=""> |
... | ... | @@ -74,7 +78,7 @@ |
74 | 78 | <div class="vacancies__list"> |
75 | 79 | @if ($categories->count()) |
76 | 80 | @foreach ($categories as $cat) |
77 | - <a href="#" class="vacancies__item"> | |
81 | + <a href="{{ route('list-vacancies', ['categories' => $cat->id]) }}" class="vacancies__item"> | |
78 | 82 | <span style="border-color:#F4C4C2"> |
79 | 83 | <b>{{ $cat->name }}</b> |
80 | 84 | <i>Вакансий: <span>{{ $cat->cnt }}</span></i> |
resources/views/info_company_new.blade.php
... | ... | @@ -49,7 +49,6 @@ |
49 | 49 | $(document).ready(function(){ |
50 | 50 | var sel = $('#select2-sort_ajax-container'); |
51 | 51 | var key = getUrlParameter('sort'); |
52 | - | |
53 | 52 | if (key !=='') { |
54 | 53 | console.log(key); |
55 | 54 | switch (key) { |
... | ... | @@ -153,18 +152,22 @@ |
153 | 152 | </span> |
154 | 153 | </div> |
155 | 154 | </div> |
155 | + | |
156 | 156 | <div class="main__employer-page-item"> |
157 | 157 | <b>Описание</b> |
158 | 158 | <span> |
159 | - {{ $company[0]->text }} | |
159 | + {!! $company[0]->text !!} | |
160 | 160 | </span> |
161 | 161 | </div> |
162 | + | |
162 | 163 | <div> |
164 | + | |
163 | 165 | <div class="main__employer-page-tabs"> |
164 | 166 | <button type="button" class="main__employer-page-tabs-item active" |
165 | 167 | data-tab="1">Флот</button> |
166 | 168 | <button type="button" class="main__employer-page-tabs-item" data-tab="2">Вакансии</button> |
167 | 169 | </div> |
170 | + | |
168 | 171 | <div class="main__employer-page-body"> |
169 | 172 | <div class="main__employer-page-body-item showed" data-body="1"> |
170 | 173 | <div class="main__employer-page-one"> |
... | ... | @@ -180,6 +183,7 @@ |
180 | 183 | </div> |
181 | 184 | </div> |
182 | 185 | |
186 | + | |
183 | 187 | <div class="main__employer-page-body-item" data-body="2"> |
184 | 188 | <div class="main__employer-page-two"> |
185 | 189 | @foreach ($company[0]->ads as $job) |
resources/views/layout/frontend.blade.php
... | ... | @@ -44,15 +44,13 @@ |
44 | 44 | @guest |
45 | 45 | |
46 | 46 | @else |
47 | - <button class="header__notifs header__notifs_actived"> | |
47 | + <a href="@if ($UserId->is_worker) {{ route('worker.cabinet') }} @else {{ route('employer.cabinet') }} @endif" class="header__notifs header__notifs_actived"> | |
48 | 48 | <svg> |
49 | 49 | <use xlink:href="{{ asset('images/sprite.svg#ring') }}"></use> |
50 | 50 | </svg> |
51 | 51 | <span>Уведомления</span> |
52 | - </button> | |
53 | - <a href="@if ($UserId->is_worker) {{ route('worker.cabinet') }} @else {{ route('employer.cabinet') }} @endif" class="header__notifs"> | |
54 | - Кабинет | |
55 | 52 | </a> |
53 | + | |
56 | 54 | @endguest |
57 | 55 | <div class="header__right-line"></div> |
58 | 56 | <button class="header__burger"> |
... | ... | @@ -234,14 +232,16 @@ |
234 | 232 | |
235 | 233 | <div hidden> <!-- BEGIN MODALS WRAPPER --> |
236 | 234 | <!-- Соискатель отправляет сообщение работодателю --> |
237 | - @include('modals.send_worker') | |
235 | + @include('modals.send_worker_new') | |
238 | 236 | |
239 | 237 | <!-- Работодатель отправляет сообщение соискателю --> |
240 | - @include('modals.send_employer') | |
238 | + @include('modals.send_employer_new') | |
241 | 239 | |
242 | 240 | <!-- Сообщение-предупреждение о том, что сообщения только можно отправить авторизованным пользователям --> |
243 | 241 | @include('modals.send_message_noaut') |
244 | 242 | |
243 | + @include('modals.send_message_noaut2') | |
244 | + | |
245 | 245 | <!-- Форма авторизации --> |
246 | 246 | @include('modals.send_login') |
247 | 247 |
resources/views/layout/pdf.blade.php
... | ... | @@ -8,7 +8,170 @@ |
8 | 8 | <meta name="theme-color" content="#377D87"> |
9 | 9 | <link rel="stylesheet" href="{{ asset('css/style.css') }}"> |
10 | 10 | <style> |
11 | - body{font-family:'DejaVu Sans',sans-serif;background:#fff;font-size:1.6rem;font-weight:400;color:#363A3F} | |
11 | + body { | |
12 | + font-family:'DejaVu Sans',sans-serif; | |
13 | + background:#fff; | |
14 | + font-size:1.6rem; | |
15 | + font-weight:400; | |
16 | + color:#363A3F; | |
17 | + } | |
18 | + | |
19 | + .main { | |
20 | + padding: 30px 0; | |
21 | + } | |
22 | + | |
23 | + .thing { | |
24 | + color: #3a3b3c; | |
25 | + /* background-color: #f2f5fc; */ | |
26 | + } | |
27 | + | |
28 | + .thing__profile { | |
29 | + | |
30 | + } | |
31 | + | |
32 | + .thing__profile-photo { | |
33 | + width: 200px; | |
34 | + border-radius: 8px; | |
35 | + float: left; | |
36 | + margin-right: 20px; | |
37 | + } | |
38 | + | |
39 | + .thing__profile-body { | |
40 | + | |
41 | + } | |
42 | + | |
43 | + .thing__title { | |
44 | + width: 100%; | |
45 | + font-size: 32px; | |
46 | + font-weight: 700; | |
47 | + line-height: 1.1; | |
48 | + margin: 0; | |
49 | + } | |
50 | + | |
51 | + .thing__text { | |
52 | + font-size: 14px; | |
53 | + line-height: 1.4; | |
54 | + margin: 15px 0 0 0; | |
55 | + } | |
56 | + | |
57 | + .main__spoiler { | |
58 | + margin: 0px 0px 32px 0px; | |
59 | + } | |
60 | + | |
61 | + .main__spoiler-body { | |
62 | + | |
63 | + } | |
64 | + | |
65 | + .main__table { | |
66 | + border-collapse: collapse; | |
67 | + table-layout: fixed; | |
68 | + font-size: 14px; | |
69 | + width: 100%; | |
70 | + background: #ffffff; | |
71 | + } | |
72 | + | |
73 | + .main__table thead { | |
74 | + color: #ffffff; | |
75 | + font-size: 16px; | |
76 | + background-color: #377d87; | |
77 | + } | |
78 | + | |
79 | + .main__table th { | |
80 | + padding: 8px 16px; | |
81 | + } | |
82 | + | |
83 | + .main__table td { | |
84 | + width: 40%; | |
85 | + padding: 8px 16px; | |
86 | + border: 1px solid #cecece; | |
87 | + } | |
88 | + | |
89 | + .main__table td b { | |
90 | + font-weight: 700; | |
91 | + } | |
92 | + | |
93 | + .main__table b { | |
94 | + display: block; | |
95 | + } | |
96 | + | |
97 | + .main__table a { | |
98 | + color: #377d87; | |
99 | + text-decoration: underline; | |
100 | + } | |
101 | + | |
102 | + .main__table td + td { | |
103 | + width: 60%; | |
104 | + } | |
105 | + | |
106 | + .main__table_three td { | |
107 | + width: 25% !important; | |
108 | + } | |
109 | + | |
110 | + .main__table_three td:last-child { | |
111 | + width: 50% !important; | |
112 | + } | |
113 | + | |
114 | + .main h2 { | |
115 | + margin: 0; | |
116 | + font-weight: 700; | |
117 | + font-size: 30px; | |
118 | + } | |
119 | + | |
120 | + .main p { | |
121 | + margin: 0; | |
122 | + font-size: 14px; | |
123 | + line-height: 1.4; | |
124 | + margin: 15px 0 0 0; | |
125 | + } | |
126 | + | |
127 | + .main__resume-profile-info { | |
128 | + margin: 30px 0px 0px 0px; | |
129 | + } | |
130 | + | |
131 | + .main__resume-profile-info-title { | |
132 | + margin-bottom: 20px !important; | |
133 | + color: #3a3b3c; | |
134 | + } | |
135 | + | |
136 | + .main__resume-profile-info-body-item { | |
137 | + margin: 0px 0px 20px 0px; | |
138 | + } | |
139 | + | |
140 | + .main__resume-profile-info-body-subtitle { | |
141 | + color: #4d88d9; | |
142 | + margin: 0px 0px 10px 0px; | |
143 | + font-weight: 700; | |
144 | + font-size: 22px; | |
145 | + } | |
146 | + | |
147 | + .main__resume-profile-info-body-inner { | |
148 | + margin: 0; | |
149 | + padding: 0; | |
150 | + font-size: 12px; | |
151 | + } | |
152 | + | |
153 | + .main__resume-profile-info-body-inner li { | |
154 | + list-style-type: none; | |
155 | + margin: 0px 0px 20px 0px; | |
156 | + } | |
157 | + | |
158 | + .main__resume-profile-info-body-inner b { | |
159 | + display: block; | |
160 | + margin: 0px 0px 6px 0px; | |
161 | + color: #377d87; | |
162 | + font-size: 14px; | |
163 | + } | |
164 | + | |
165 | + .main__resume-profile-info-body-inner span { | |
166 | + display: block; | |
167 | + } | |
168 | + | |
169 | + .main__resume-profile-info-body-inner a { | |
170 | + display: block; | |
171 | + text-decoration: none; | |
172 | + color: inherit; | |
173 | + } | |
174 | + | |
12 | 175 | </style> |
13 | 176 | </head> |
14 | 177 | |
... | ... | @@ -16,11 +179,11 @@ |
16 | 179 | <section class="thing thing_pdf"> |
17 | 180 | <div class="container"> |
18 | 181 | <div class="thing__profile"> |
19 | - <img src="{{ asset('images/face.jpg') }}" alt="" class="thing__profile-photo"> | |
182 | + <img src="{{ asset(Storage::url($Query[0]['photo'])) }}" alt="" class="thing__profile-photo"> | |
20 | 183 | <div class="thing__profile-body"> |
21 | - <h1 class="thing__title">Назаров Платон Фёдорович</h1> | |
22 | - <p class="thing__text">Сложно сказать, почему ключевые особенности структуры проекта рассмотрены | |
23 | - исключительно в разрезе маркетинговых и финансовых предпосылок.</p> | |
184 | + <h1 class="thing__title">{{ $Query[0]['users']['surname']." ".$Query[0]['users']['name_man']." ".$Query[0]['users']['surname2'] }}</h1> | |
185 | + <div style="clear:both;"></div> | |
186 | + <p class="thing__text">{{ $Query[0]['text'] }}</p> | |
24 | 187 | </div> |
25 | 188 | </div> |
26 | 189 | </div> |
... | ... | @@ -30,101 +193,112 @@ |
30 | 193 | <div class="main__resume-profile"> |
31 | 194 | <div class="main__content"> |
32 | 195 | <div class="main__spoiler"> |
33 | - <button type="button" class="main__spoiler-toper js-toggle active">Основная | |
34 | - информация</button> | |
196 | + <!-- <button type="button" class="main__spoiler-toper js-toggle active">Основная | |
197 | + информация</button> --> | |
35 | 198 | <div class="main__spoiler-body"> |
36 | 199 | <table class="main__table"> |
200 | + <thead> | |
201 | + <tr> | |
202 | + <th colspan="2">Основная информация</th> | |
203 | + </tr> | |
204 | + </thead> | |
37 | 205 | <tbody> |
38 | 206 | <tr> |
39 | 207 | <td>Имя:</td> |
40 | - <td><b>Оксана</b></td> | |
208 | + <td><b>{{ $Query[0]['users']['name_man'] }}</b></td> | |
41 | 209 | </tr> |
42 | 210 | <tr> |
43 | 211 | <td>Должность:</td> |
44 | - <td><b>Повар</b></td> | |
212 | + <td> | |
213 | + @foreach ($Query[0]['job_titles'] as $it) | |
214 | + <b>{{ $it['name'] }}</b><br> | |
215 | + @endforeach | |
216 | + </td> | |
45 | 217 | </tr> |
46 | 218 | <tr> |
47 | 219 | <td>Телефон:</td> |
48 | - <td><b><a href="#">+7 (000) 123 45 67</a></b></td> | |
220 | + <td><b><a>{{ $Query[0]['telephone'] }}</a></b> | |
221 | + <b><a>{{ $Query[0]['telephone2'] }}</a></b> | |
222 | + </td> | |
49 | 223 | </tr> |
50 | 224 | <tr> |
51 | 225 | <td>E-mail:</td> |
52 | - <td><b><a href="#">info@rekamore.su</a></b></td> | |
226 | + <td><b><a>{{ $Query[0]['email'] }}</a></b></td> | |
53 | 227 | </tr> |
54 | 228 | <tr> |
55 | 229 | <td>Возраст:</td> |
56 | - <td><b>30</b></td> | |
230 | + <td><b>{{ $Query[0]['old_year'] }}</b></td> | |
57 | 231 | </tr> |
58 | 232 | <tr> |
59 | 233 | <td>Статус:</td> |
60 | - <td><b>Ищу работу</b></td> | |
234 | + <td> | |
235 | + @php $code = $Query[0]['status_work']; @endphp | |
236 | + <b>@if ($code == 0) Ищу работу @elseif($code == 1) Не указано @else Не ищу работу @endif</b></td> | |
61 | 237 | </tr> |
62 | 238 | <tr> |
63 | 239 | <td>Город проживания:</td> |
64 | - <td><b>Петропавловск-камчатский</b></td> | |
240 | + <td><b>{{ $Query[0]['city'] }}</b></td> | |
65 | 241 | </tr> |
66 | 242 | <tr> |
67 | 243 | <td>Уровень английского:</td> |
68 | - <td><b>Не указано</b></td> | |
244 | + <td><b>{{ $Query[0]['en_is'] }}</b></td> | |
69 | 245 | </tr> |
70 | 246 | <tr> |
71 | 247 | <td>Опыт работы:</td> |
72 | - <td><b>1 год</b></td> | |
248 | + <td><b>{{ $Query[0]['old_year'] }}</b></td> | |
73 | 249 | </tr> |
74 | 250 | </tbody> |
75 | 251 | </table> |
76 | 252 | </div> |
77 | 253 | </div> |
78 | 254 | <div class="main__spoiler"> |
79 | - <button type="button" class="main__spoiler-toper js-toggle">Сертификаты / документы</button> | |
80 | 255 | <div class="main__spoiler-body"> |
81 | 256 | <table class="main__table"> |
82 | - <tbody> | |
83 | - <tr> | |
84 | - <td>Среднее специальное образование</td> | |
85 | - <td><a href="#">Ссылка на диплом</a></td> | |
86 | - </tr> | |
257 | + <thead> | |
87 | 258 | <tr> |
88 | - <td>Курсы повышения квалификации</td> | |
89 | - <td><a href="#">Ссылка на диплом</a></td> | |
90 | - </tr> | |
91 | - <tr> | |
92 | - <td>Прохождение переподготовки</td> | |
93 | - <td><a href="#">Ссылка на сертификат</a></td> | |
259 | + <th colspan="2">Сертификаты / документы</th> | |
94 | 260 | </tr> |
261 | + </thead> | |
262 | + <tbody> | |
263 | + @if (count($Query[0]['sertificate'])) | |
264 | + @foreach($Query[0]['sertificate'] as $it) | |
265 | + <tr> | |
266 | + <td>{{ $it['name']." ".$it['education'] }}</td> | |
267 | + <td><a>{{ date('d.m.Y H:i:s', strtotime($it['date_begin']))."-".date('d.m.Y H:i:s', strtotime($it['end_begin'])) }}</a></td> | |
268 | + </tr> | |
269 | + @endforeach | |
270 | + @else | |
271 | + <tr> | |
272 | + <td> - </td> | |
273 | + <td> - </td> | |
274 | + </tr> | |
275 | + @endif | |
95 | 276 | </tbody> |
96 | 277 | </table> |
97 | 278 | </div> |
98 | 279 | </div> |
99 | 280 | <div class="main__spoiler"> |
100 | - <button type="button" class="main__spoiler-toper js-toggle">Опыт работы</button> | |
101 | 281 | <div class="main__spoiler-body"> |
102 | 282 | <table class="main__table main__table_three"> |
103 | - <tbody> | |
283 | + <thead> | |
104 | 284 | <tr> |
105 | - <td>Июнь 2019 — по настоящее время | |
106 | - <br>4 года 10 месяцев</td> | |
107 | - <td><b>ООО "Невский мазут"</b> | |
108 | - Санкт-Петербург</td> | |
109 | - <td><b>Вахтенный механик (танкер)</b> | |
110 | - Переведён на т/х " SULA " в должности Вахтенный механик. Полный комплект морских документов для работы на нефтеналивных судах ( диплом без ограничений ).</td> | |
111 | - </tr> | |
112 | - <tr> | |
113 | - <td>Октябрь 2014 — по настоящее время | |
114 | - <br>9 лет 6 месяцев</td> | |
115 | - <td><b>ООО "Невский мазут"</b> | |
116 | - Санкт-Петербург</td> | |
117 | - <td><b>Сменный механик (танкер)</b> | |
118 | - Ремонт и эксплуатация судовых энергетических установок . Работа с документами, топливными отчётами. Управление персоналом.</td> | |
119 | - </tr> | |
120 | - <tr> | |
121 | - <td>Январь 2012 — октябрь 2014 | |
122 | - <br>2 года 10 месяцев</td> | |
123 | - <td><b>ООО "Портовый флот"</b> | |
124 | - Санкт-Петербург</td> | |
125 | - <td><b>Моторист-матрос-котельный машинист.</b> | |
126 | - Эксплуатация, ремонт судовых механизмов, несение вахты.</td> | |
285 | + <th colspan="3">Опыт работы</th> | |
127 | 286 | </tr> |
287 | + </thead> | |
288 | + <tbody> | |
289 | + @if (count($Query[0]['place_worker']) > 0) | |
290 | + @foreach($Query[0]['place_worker'] as $it) | |
291 | + <tr> | |
292 | + <td>{{ $it['begin_work']." - ".$it['end_work'] }} | |
293 | + </td> | |
294 | + <td><b>{{ $it['name_company'] }}</b> | |
295 | + </td> | |
296 | + <td><b>{{ $it['job_title'] }}</b> | |
297 | + Судно: {{ $it['teplohod'] }} | |
298 | + </td> | |
299 | + </tr> | |
300 | + @endforeach | |
301 | + @endif | |
128 | 302 | </tbody> |
129 | 303 | </table> |
130 | 304 | </div> |
... | ... | @@ -132,53 +306,36 @@ |
132 | 306 | </div> |
133 | 307 | <div class="main__resume-profile-about"> |
134 | 308 | <h2 class="main__resume-profile-about-title">О себе</h2> |
135 | - <p class="main__resume-profile-about-text">Привет! Меня зовут Саша, мне 41 год, женат, имею 3 | |
136 | - детей.Большой опыт на Азимутальных буксирах(ВРК). Большой опыт портовых работ: | |
137 | - швартовки/отшвартовки, доставка/снятие лоцманов, доставка снабжения. Буксировка барж, | |
138 | - плавкранов.Есть опыт морской буксировки.Знание ПК, офисных програм и т.д.Коммуникабелен, | |
139 | - вредных привычек не имею, легко обучаем.</p> | |
140 | - <div class="button main__resume-profile-about-button">Написать сообщение</div> | |
309 | + <p class="main__resume-profile-about-text">{{ $Query[0]['text'] }}</p> | |
310 | + | |
141 | 311 | </div> |
142 | 312 | <div class="main__resume-profile-info"> |
143 | 313 | <h2 class="main__resume-profile-info-title">Данные о прошлых компаниях</h2> |
144 | 314 | <div class="main__resume-profile-info-body"> |
145 | - <div class="main__resume-profile-info-body-item"> | |
146 | - <h3 class="main__resume-profile-info-body-subtitle">Судоходное агентство “Транс-Флот”</h3> | |
147 | - <ul class="main__resume-profile-info-body-inner"> | |
148 | - <li> | |
149 | - <b>Руководитель</b> | |
150 | - <span>Егоров Тимур Николаевич</span> | |
151 | - </li> | |
152 | - <li> | |
153 | - <b>Телефон того, кто может дать рекомендацию</b> | |
154 | - <span> | |
155 | - <a href="#">+7 (000) 123 45 67</a> | |
156 | - <a href="#">+7 (000) 123 45 67</a> | |
157 | - </span> | |
158 | - </li> | |
159 | - </ul> | |
160 | - </div> | |
161 | - <div class="main__resume-profile-info-body-item"> | |
162 | - <h3 class="main__resume-profile-info-body-subtitle">Аквамарин Шип Менеджмент</h3> | |
163 | - <ul class="main__resume-profile-info-body-inner"> | |
164 | - <li> | |
165 | - <b>Руководитель</b> | |
166 | - <span>Федотов Артём Никитич</span> | |
167 | - </li> | |
168 | - <li> | |
169 | - <b>Телефон того, кто может дать рекомендацию</b> | |
170 | - <span> | |
171 | - <a href="#">+7 (000) 123 45 67</a> | |
172 | - <a href="#">+7 (000) 123 45 67</a> | |
173 | - </span> | |
174 | - </li> | |
175 | - </ul> | |
176 | - </div> | |
315 | + @if ((isset($Query[0]['prev_company'])) && (count($Query[0]['prev_company']) > 0)) | |
316 | + @foreach ($Query[0]['prev_company'] as $it) | |
317 | + <div class="main__resume-profile-info-body-item"> | |
318 | + <h3 class="main__resume-profile-info-body-subtitle">{{ $it['name_company'] }}</h3> | |
319 | + <ul class="main__resume-profile-info-body-inner"> | |
320 | + <li> | |
321 | + <b>Руководитель</b> | |
322 | + <span>{{ $it['direct'] }}</span> | |
323 | + </li> | |
324 | + <li> | |
325 | + <b>Телефон того, кто может дать рекомендацию</b> | |
326 | + <span> | |
327 | + <a>{{ $it['telephone'] }}</a> | |
328 | + <a>{{ $it['telephone2'] }}</a> | |
329 | + </span> | |
330 | + </li> | |
331 | + </ul> | |
332 | + </div> | |
333 | + @endforeach | |
334 | + @endif | |
177 | 335 | </div> |
178 | 336 | </div> |
179 | 337 | </div> |
180 | 338 | </div> |
181 | 339 | </main> |
182 | 340 | </body> |
183 | - | |
184 | 341 | </html> |
resources/views/list_vacancies.blade.php
... | ... | @@ -10,6 +10,7 @@ |
10 | 10 | $(document).on('change', '#jobs', function() { |
11 | 11 | var val = $(this).val(); |
12 | 12 | var main_oskar = $('#main_ockar'); |
13 | + var ti_head = $('#title_head'); | |
13 | 14 | |
14 | 15 | console.log('Code='+val); |
15 | 16 | console.log('Click change...'); |
... | ... | @@ -19,9 +20,9 @@ |
19 | 20 | data: "job="+val, |
20 | 21 | success: function (data) { |
21 | 22 | console.log('Выбор сделан!'); |
22 | - console.log(data); | |
23 | + | |
23 | 24 | main_oskar.html(data); |
24 | - history.pushState({}, '', "{{ route('education') }}?sort="+val_+"@if (isset($_GET['page']))&page={{ $_GET['page'] }}@endif"); | |
25 | + history.pushState({}, '', "{{ route('list-vacancies', ['categories' => $categories->id]) }}?sort="+val+"@if (isset($_GET['page']))&page={{ $_GET['page'] }}@endif"); | |
25 | 26 | }, |
26 | 27 | headers: { |
27 | 28 | 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') |
... | ... | @@ -31,6 +32,30 @@ |
31 | 32 | console.log('Error: ' + data); |
32 | 33 | } |
33 | 34 | }); |
35 | + | |
36 | + if ((val == '') || (val == '0')) { | |
37 | + title_head.html('Все категории'); | |
38 | + } else { | |
39 | + $.ajax({ | |
40 | + type: "GET", | |
41 | + url: "{{ route('list-vacancies', ['categories' => $categories->id]) }}", | |
42 | + data: "job=" + val +"&title=1", | |
43 | + success: function (data) { | |
44 | + | |
45 | + console.log(data); | |
46 | + }, | |
47 | + | |
48 | + headers: { | |
49 | + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') | |
50 | + }, | |
51 | + | |
52 | + error: function (data) { | |
53 | + data = JSON.stringify(data); | |
54 | + console.log('Error: ' + data); | |
55 | + } | |
56 | + }); | |
57 | + | |
58 | + } | |
34 | 59 | }); |
35 | 60 | |
36 | 61 | $(document).on('click', '.js_send_it_button', function() { |
... | ... | @@ -129,11 +154,11 @@ |
129 | 154 | </section> |
130 | 155 | <main class="main"> |
131 | 156 | <div class="container"> |
132 | - <div class="main__vacancies"> | |
133 | - @if (isset($job)) | |
134 | - <h2 class="main__vacancies-title">Категория вакансий {{ $job }}</h2> | |
157 | + <div class="main__vacancies" > | |
158 | + @if (isset($Name_categori[0]->name)) | |
159 | + <h2 class="main__vacancies-title">Категория вакансий {{ $Name_categori[0]->name }}</h2> | |
135 | 160 | @else |
136 | - <h2 class="main__vacancies-title">Все категории</h2> | |
161 | + <h2 class="main__vacancies-title" id="title_head" name="title_head">Все категории</h2> | |
137 | 162 | @endif |
138 | 163 | <div class="filters main__vacancies-filters"> |
139 | 164 | <div class="filters__label" id="col-vo" name="col-vo">Показано @if ($Query_count < 3) {{$Query_count}} @else 3 @endif из @isset($Query_count) {{ $Query_count }} @else 0 @endisset результатов поиска</div> |
... | ... | @@ -150,9 +175,26 @@ |
150 | 175 | </div> |
151 | 176 | </div> |
152 | 177 | |
153 | - <div id="main_ockar" class="main__vacancies" name="main_ockar" style="width:100%;"> | |
178 | + <div class="main__vacancies" style="width:100%;" id="main_ockar" name="main_oskar"> | |
179 | + @php $i = ($Query->currentPage() * $Query->perPage() - $Query->count() - 1) @endphp | |
180 | + | |
154 | 181 | @foreach ($Query as $Q) |
182 | + @foreach ($Reclama as $Rec) | |
183 | + @if ($Rec->position == $i) | |
184 | + <div class="main__vacancies-thing"> | |
185 | + <img src="{{ asset(Storage::url($Rec->image)) }}" alt="{{ $Rec->title }}" class="main__vacancies-thing-pic"> | |
186 | + <div class="main__vacancies-thing-body"> | |
187 | + <h2>{{ $Rec->title }}</h2> | |
188 | + <div> | |
189 | + {!! $Rec->text !!} | |
190 | + </div> | |
191 | + <a href="{{ $Rec->link }}" class="button">Узнать больше</a> | |
192 | + </div> | |
193 | + </div> | |
194 | + @endif | |
195 | + @endforeach | |
155 | 196 | <div class="main__vacancies-item main__employer-page-two-item"> |
197 | + | |
156 | 198 | <a href="{{ route('list-vacancies', ['categories' => $categories->id]) }}" class="back main__employer-page-two-item-back"> |
157 | 199 | <svg> |
158 | 200 | <use xlink:href="{{ asset('images/sprite.svg#back') }}"></use> |
... | ... | @@ -161,12 +203,14 @@ |
161 | 203 | Вернуться к списку вакансий |
162 | 204 | </span> |
163 | 205 | </a> |
206 | + | |
164 | 207 | <div class="main__employer-page-two-item-toper"> |
165 | 208 | @if (isset($Q->employer)) |
166 | 209 | <img src="{{ asset(Storage::url($Q->employer->logo)) }}" alt="{{ $Q->employer->name }}"> |
167 | 210 | @endif |
168 | 211 | <span>@if (!empty($Q->name)) {{ $Q->name }} @endif</span> |
169 | 212 | </div> |
213 | + | |
170 | 214 | <div class="main__employer-page-two-item-text"> |
171 | 215 | <div class="main__employer-page-two-item-text-name">Судоходная компания ведет набор |
172 | 216 | специалистов на следующие должности:</div> |
... | ... | @@ -178,6 +222,7 @@ |
178 | 222 | @endif |
179 | 223 | </div> |
180 | 224 | </div> |
225 | + | |
181 | 226 | <div class="main__employer-page-two-item-text"> |
182 | 227 | <div class="main__employer-page-two-item-text-name">Мы предлагаем:</div> |
183 | 228 | <div class="main__employer-page-two-item-text-body"> |
... | ... | @@ -233,11 +278,12 @@ |
233 | 278 | </button> |
234 | 279 | </div> |
235 | 280 | </div> |
281 | + @php $i++ @endphp | |
236 | 282 | @endforeach |
237 | 283 | <div style="margin-top: 20px"> |
238 | 284 | {{ $Query->appends($_GET)->links('paginate') }} |
239 | - </div> | |
240 | - </div><!-- конец --> | |
285 | + </div><!-- конец --> | |
286 | + </div> | |
241 | 287 | </div> |
242 | 288 | </div> |
243 | 289 | </main> |
resources/views/modals/send_admin.blade.php
1 | 1 | <div id="send" class="modal"> |
2 | 2 | <div class="modal__body"> |
3 | - <div class="modal__title">Отправить сообщение "Наяда"</div> | |
3 | + <div class="modal__title">Отправить сообщение работодателю</div> | |
4 | 4 | <div class="modal__text">Если у вас возникли вопросы насчет вакансии, вы можете задать их работодателю</div> |
5 | 5 | <form class="modal__form"> |
6 | 6 | <div class="modal__form-item error"> |
resources/views/modals/send_employer_new.blade.php
... | ... | @@ -0,0 +1,17 @@ |
1 | +<script> | |
2 | + console.log('Сообщение работнику'); | |
3 | + $(document).on('change', '#btn_send_file', function() { | |
4 | + var send_name = $('#send_name'); | |
5 | + var send_name_val = send_name.val(); | |
6 | + var this_final_name = $('#this_final_name'); | |
7 | + | |
8 | + console.log(send_name_val); | |
9 | + this_final_name.html(send_name_val); | |
10 | + | |
11 | + }); | |
12 | +</script> | |
13 | +<div id="send2" class="modal"> | |
14 | + <div class="modal__body"> | |
15 | + fghfghfghfghfgh | |
16 | + </div> | |
17 | +</div> |
resources/views/modals/send_login.blade.php
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | <div class="modal__body"> |
3 | 3 | <div class="modal__title left">Войти</div> |
4 | 4 | <form class="modal__sign"> |
5 | - <div id="message_error" name="message_error"> | |
5 | + <div id="message_error" name="message_error" style="color: red"> | |
6 | 6 | </div> |
7 | 7 | <div class="modal__sign-item"> |
8 | 8 | <input type="email" class="input" id="email_input" name="email" placeholder="E-mail" required> |
resources/views/modals/send_message_noaut.blade.php
1 | 1 | <div id="question" class="modal modal_bg"> |
2 | 2 | <div class="modal__body"> |
3 | - <div class="modal__title">Отправить сообщение "Наяда"</div> | |
3 | + <div class="modal__title">Отправить сообщение не получится сейчас</div> | |
4 | 4 | <div class="modal__text">Вы должны быть авторизованы, чтобы отправить личное сообщение</div> |
5 | 5 | <div class="modal__buttons"> |
6 | 6 | <a data-fancybox data-src="#sign" data-options='{"touch":false,"autoFocus":false}' class="button">Войти</a> |
resources/views/modals/send_message_noaut2.blade.php
... | ... | @@ -0,0 +1,10 @@ |
1 | +<div id="question2" class="modal modal_bg"> | |
2 | + <div class="modal__body"> | |
3 | + <div class="modal__title">Чтобы искать сотрудников для своей компании</div> | |
4 | + <div class="modal__text">Вы должны быть авторизованы, чтобы посмотреть списки работников</div> | |
5 | + <div class="modal__buttons"> | |
6 | + <a data-fancybox data-src="#sign" data-options='{"touch":false,"autoFocus":false}' class="button">Войти</a> | |
7 | + <a data-fancybox data-src="#reg" data-options='{"touch":false,"autoFocus":false}' class="button button_light">Зарегистрироваться</a> | |
8 | + </div> | |
9 | + </div> | |
10 | +</div> |
resources/views/modals/send_worker_new.blade.php
... | ... | @@ -0,0 +1,26 @@ |
1 | +<script> | |
2 | + console.log('Сообщение работнику'); | |
3 | + $("#form_worker" ).submit(function(event) { | |
4 | + var val = $(this).val(); | |
5 | + var send_title = $('#send_title'); | |
6 | + var send_title_val = send_title.val(); | |
7 | + | |
8 | + console.log('Click form.'); | |
9 | + }); | |
10 | + | |
11 | + $(document).on('change', '#btn_send_file', function() { | |
12 | + | |
13 | + var send_name = $('#send_name'); | |
14 | + var send_name_val = send_name.val(); | |
15 | + var send_name_file = $('#send_name_file'); | |
16 | + | |
17 | + console.log(send_name_val); | |
18 | + send_name_file.html(send_name_val); | |
19 | + | |
20 | + }); | |
21 | +</script> | |
22 | +<div id="send" class="modal"> | |
23 | + <div class="modal__body"> | |
24 | + <div class="modal__title">fghfghfghfgh</div> | |
25 | + </div> | |
26 | +</div> |
resources/views/vacancies.blade.php
... | ... | @@ -75,7 +75,8 @@ |
75 | 75 | <a href="{{ route('list-vacancies', ['categories' => $cat->id]) }}" class="vacancies__item"> |
76 | 76 | <span style="border-color:{{$colors[$i]}}"> |
77 | 77 | <b>{{ $cat->name }}</b> |
78 | - <u>{{ $cat->min_salary }} — {{ $cat->max_salary }} ₽</u> | |
78 | + <u>@if (!empty($cat->min_salary)) {{ $cat->min_salary }} @else 0 @endif — | |
79 | + @if (!empty($cat->max_salary)) {{ $cat->max_salary }} @else 0 @endif ₽</u> | |
79 | 80 | <i>Вакансий: <span>{{ $cat->cnt }}</span></i> |
80 | 81 | </span> |
81 | 82 | </a> |
resources/views/worker.blade.php
resources/views/workers/cabinet.blade.php
... | ... | @@ -135,7 +135,7 @@ |
135 | 135 | <h2 class="title cabinet__title">Моя анкета</h2> |
136 | 136 | <div class="cabinet__anketa-buttons"> |
137 | 137 | <a href="{{ route('worker.up', ['worker' => $Worker[0]->id]) }}" class="button">Поднять резюме</a> |
138 | - <a href="{{ route('worker.download', ['worker' => $Worker[0]->id]) }}" class="button"> | |
138 | + <a href="{{ route('resume_download', ['worker' => $Worker[0]->id]) }}" target="_blank" class="button"> | |
139 | 139 | <svg> |
140 | 140 | <use xlink:href="{{ asset('images/sprite.svg#share') }}"></use> |
141 | 141 | </svg> |
... | ... | @@ -153,19 +153,19 @@ |
153 | 153 | <use xlink:href="{{ asset('images/sprite.svg#eye-3') }}"></use> |
154 | 154 | </svg> |
155 | 155 | <span>Просмотров:</span> |
156 | - <b>@if (isset($Worker[0]->users->static_user)) 1 @else 0 @endif</b> | |
156 | + <b>@if (isset($stat[0]->lookin)) {{ $stat[0]->lookin }} @else 0 @endif</b> | |
157 | 157 | </div> |
158 | 158 | <div class="cabinet__stats-item"> |
159 | 159 | <svg> |
160 | 160 | <use xlink:href="{{ asset('images/sprite.svg#warning') }}"></use> |
161 | 161 | </svg> |
162 | 162 | <span>Отзывов:</span> |
163 | - <b>@if (isset($Worker[0]->users->static_user)) 1 @else 0 @endif</b> | |
163 | + <b>@if (isset($stat[0]->message)) {{ $stat[0]->message }} @else 0 @endif</b> | |
164 | 164 | </div> |
165 | 165 | </div> |
166 | - <div class="cabinet__stats-subtitle">Анкета заполнена на @if (!empty($Worker[0]->persent_anketa)) {{ $Worker[0]->persent_anketa }}% @else 0% @endif</div> | |
166 | + <div class="cabinet__stats-subtitle">Анкета заполнена на {{ $persent }}%</div> | |
167 | 167 | <div class="cabinet__stats-line"> |
168 | - <span style="width:@if (!empty($Worker[0]->persent_anketa)) {{ $Worker[0]->persent_anketa }}% @else 0% @endif"></span> | |
168 | + <span style="width:{{ $persent }}%"></span> | |
169 | 169 | </div> |
170 | 170 | <div class="cabinet__stats-bottom">Заполните профиль, чтобы повысить процент анкеты на 80%</div> |
171 | 171 | </div> |
routes/web.php
... | ... | @@ -526,6 +526,7 @@ Route::group([ |
526 | 526 | Route::get('cabinet/vacancy-up/{ad_employer}', [EmployerController::class, 'vacancy_up'])->name('vacancy_up'); |
527 | 527 | Route::get('cabinet/vacancy-eye/{ad_employer}/{status}', [EmployerController::class, 'vacancy_eye'])->name('vacancy_eye'); |
528 | 528 | Route::get('cabinet/vacancy-edit/{ad_employer}', [EmployerController::class, 'vacancy_edit'])->name('vacancy_edit'); |
529 | + Route::post('cabinet/vacancy-edit/{ad_employer}/', [EmployerController::class, 'vacancy_save_me'])->name('vacancy_save_me'); | |
529 | 530 | |
530 | 531 | // 4 страница - Отклики на вакансии |
531 | 532 | Route::get('cabinet/answers/{employer}', [EmployerController::class, 'answers'])->name('answers'); |