Commit 75665e78f4c42b2e557fdd1a9884cca334b6fa18
Exists in
master
Merge branch 'master' of http://gitlab.nologostudio.ru/alarionov/rekamore-su
Showing 4 changed files Inline Diff
app/Http/Controllers/Admin/WorkersController.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | namespace App\Http\Controllers\Admin; | 3 | namespace App\Http\Controllers\Admin; |
4 | 4 | ||
5 | use App\Http\Controllers\Controller; | 5 | use App\Http\Controllers\Controller; |
6 | use App\Models\Company; | 6 | use App\Models\Company; |
7 | use App\Models\Job_title; | 7 | use App\Models\Job_title; |
8 | use App\Models\Static_worker; | 8 | use App\Models\Static_worker; |
9 | use App\Models\User; | 9 | use App\Models\User; |
10 | use App\Models\Worker; | 10 | use App\Models\Worker; |
11 | use Illuminate\Database\Eloquent\Builder; | 11 | use Illuminate\Database\Eloquent\Builder; |
12 | use Illuminate\Http\Request; | 12 | use Illuminate\Http\Request; |
13 | use Illuminate\Support\Facades\DB; | 13 | use Illuminate\Support\Facades\DB; |
14 | use Illuminate\Support\Facades\Storage; | 14 | use Illuminate\Support\Facades\Storage; |
15 | use Illuminate\Support\Facades\Validator; | 15 | use Illuminate\Support\Facades\Validator; |
16 | 16 | ||
17 | class WorkersController extends Controller | 17 | class WorkersController extends Controller |
18 | { | 18 | { |
19 | public function index(Request $request) { | 19 | public function index(Request $request) { |
20 | if ($request->ajax()) { | 20 | if ($request->ajax()) { |
21 | $user = User::find($request->id); | 21 | $user = User::find($request->id); |
22 | $request->offsetUnset('id'); | 22 | $request->offsetUnset('id'); |
23 | $user->update($request->all()); | 23 | $user->update($request->all()); |
24 | } | 24 | } |
25 | 25 | ||
26 | $status_work = Job_title::query()->active()->orderBy('name')->get(); | 26 | $status_work = Job_title::query()->active()->orderBy('name')->get(); |
27 | $users = User::with('jobtitles')->where('is_worker', '1'); | 27 | $users = User::with('jobtitles')->where('is_worker', '1'); |
28 | 28 | ||
29 | $find_status_work = ""; | 29 | $find_status_work = ""; |
30 | if (isset($request->status_work)) { | 30 | if (isset($request->status_work)) { |
31 | $find_status_work = $request->status_work; | 31 | $find_status_work = $request->status_work; |
32 | //$users = $users->where('position_work', '=', $find_status_work); | 32 | //$users = $users->where('position_work', '=', $find_status_work); |
33 | 33 | ||
34 | /*if ($request->status_work > 0) | 34 | /*if ($request->status_work > 0) |
35 | $users = $users->with(['workers' => function($query) use ($find_status_work){ | 35 | $users = $users->with(['workers' => function($query) use ($find_status_work){ |
36 | $query->where('position_work', $find_status_work); | 36 | $query->where('position_work', $find_status_work); |
37 | }]); | 37 | }]); |
38 | else | 38 | else |
39 | $users = $users->with('workers');*/ | 39 | $users = $users->with('workers');*/ |
40 | 40 | ||
41 | /*$users = $users->where(function($query) use($find_status_work) { | 41 | /*$users = $users->where(function($query) use($find_status_work) { |
42 | $query->with(['workers' => function($query1) use ($find_status_work){ | 42 | $query->with(['workers' => function($query1) use ($find_status_work){ |
43 | $query1->where('position_work', $find_status_work); | 43 | $query1->where('position_work', $find_status_work); |
44 | }]); | 44 | }]); |
45 | });*/ | 45 | });*/ |
46 | if ($request->status_work > 0) { | 46 | if ($request->status_work > 0) { |
47 | $users = $users->with('workers')-> | 47 | $users = $users->with('workers')-> |
48 | whereHas('workers', | 48 | whereHas('workers', |
49 | function (Builder $query) use ($find_status_work) { | 49 | function (Builder $query) use ($find_status_work) { |
50 | $query->where('position_work', $find_status_work); | 50 | $query->where('position_work', $find_status_work); |
51 | } | 51 | } |
52 | ); | 52 | ); |
53 | } else { | 53 | } else { |
54 | $users = $users->with('workers'); | 54 | $users = $users->with('workers'); |
55 | } | 55 | } |
56 | 56 | ||
57 | } else { | 57 | } else { |
58 | $users = $users->with('workers'); | 58 | $users = $users->with('workers'); |
59 | } | 59 | } |
60 | 60 | ||
61 | $find_key = ""; | 61 | $find_key = ""; |
62 | if (isset($request->find)) { | 62 | if (isset($request->find)) { |
63 | $find_key = $request->find; | 63 | $find_key = $request->find; |
64 | $users = $users->where(function($query) use($find_key) { | 64 | $users = $users->where(function($query) use($find_key) { |
65 | $query->Where('name_man', 'LIKE', "%$find_key%") | 65 | $query->Where('name_man', 'LIKE', "%$find_key%") |
66 | ->orWhere('email', 'LIKE', "%$find_key%") | 66 | ->orWhere('email', 'LIKE', "%$find_key%") |
67 | ->orWhere('telephone', 'LIKE', "%$find_key%"); | 67 | ->orWhere('telephone', 'LIKE', "%$find_key%") |
68 | ->orWhere('surname', 'LIKE', "%$find_key%") | ||
69 | ->orWhere('surname2', 'LIKE', "%$find_key%"); | ||
68 | }); | 70 | }); |
69 | } | 71 | } |
70 | 72 | ||
71 | $users = $users->paginate(15); | 73 | $users = $users->paginate(15); |
72 | 74 | ||
73 | /* | 75 | /* |
74 | $Arr = array(); | 76 | $Arr = array(); |
75 | $where = ''; | 77 | $where = ''; |
76 | $find_status_work = ""; | 78 | $find_status_work = ""; |
77 | if (isset($request->status_work)) { | 79 | if (isset($request->status_work)) { |
78 | $find_status_work = $request->status_work; | 80 | $find_status_work = $request->status_work; |
79 | //$users = $users->where('position_work', '=', $find_status_work); | 81 | //$users = $users->where('position_work', '=', $find_status_work); |
80 | $where.= ' and (w.position_work = :uid1)'; | 82 | $where.= ' and (w.position_work = :uid1)'; |
81 | $Arr['uid1'] = $find_status_work; | 83 | $Arr['uid1'] = $find_status_work; |
82 | } | 84 | } |
83 | 85 | ||
84 | $find_key = ""; | 86 | $find_key = ""; |
85 | if (isset($request->find)) { | 87 | if (isset($request->find)) { |
86 | $find_key = $request->find; | 88 | $find_key = $request->find; |
87 | /*$users = $users->where(function($query) use($find_key) { | 89 | /*$users = $users->where(function($query) use($find_key) { |
88 | $query->Where('name_man', 'LIKE', "%$find_key%") | 90 | $query->Where('name_man', 'LIKE', "%$find_key%") |
89 | ->orWhere('email', 'LIKE', "%$find_key%") | 91 | ->orWhere('email', 'LIKE', "%$find_key%") |
90 | ->orWhere('telephone', 'LIKE', "%$find_key%"); | 92 | ->orWhere('telephone', 'LIKE', "%$find_key%"); |
91 | });*/ | 93 | });*/ |
92 | /*$where.= " and ((u.name_man LIKE %:uid2%) or (w.email LIKE %:uid2%) or (w.telephone LIKE %:uid2%))"; | 94 | /*$where.= " and ((u.name_man LIKE %:uid2%) or (w.email LIKE %:uid2%) or (w.telephone LIKE %:uid2%))"; |
93 | $Arr['uid2'] = $find_key; | 95 | $Arr['uid2'] = $find_key; |
94 | } | 96 | } |
95 | 97 | ||
96 | //$users = $users->paginate(15); | 98 | //$users = $users->paginate(15); |
97 | 99 | ||
98 | //DB::enableQueryLog(); | 100 | //DB::enableQueryLog(); |
99 | $users = DB::select('SELECT u.*, w.*, j.* | 101 | $users = DB::select('SELECT u.*, w.*, j.* |
100 | FROM workers w | 102 | FROM workers w |
101 | JOIN users u ON u.id = w.user_id | 103 | JOIN users u ON u.id = w.user_id |
102 | JOIN job_titles j ON j.id = w.position_work | 104 | JOIN job_titles j ON j.id = w.position_work |
103 | Where (u.is_worker = 1) | 105 | Where (u.is_worker = 1) |
104 | '.$where, $Arr); | 106 | '.$where, $Arr); |
105 | //dump(DB::getQueryLog()); | 107 | //dump(DB::getQueryLog()); |
106 | dd($users); | 108 | dd($users); |
107 | */ | 109 | */ |
108 | 110 | ||
109 | if ($request->ajax()) { | 111 | if ($request->ajax()) { |
110 | return view('admin.worker.index_ajax', compact('users')); | 112 | return view('admin.worker.index_ajax', compact('users')); |
111 | } else { | 113 | } else { |
112 | return view('admin.worker.index', compact('users', 'find_key', 'find_status_work', 'status_work')); | 114 | return view('admin.worker.index', compact('users', 'find_key', 'find_status_work', 'status_work')); |
113 | } | 115 | } |
114 | } | 116 | } |
115 | 117 | ||
116 | public function form_edit_worker(Worker $worker) { | 118 | public function form_edit_worker(Worker $worker) { |
117 | $job_titles = Job_title::query()->active()->orderBy('name')->get(); | 119 | $job_titles = Job_title::query()->active()->orderBy('name')->get(); |
118 | 120 | ||
119 | $time_end_anketa = 'Бессрочно'; | 121 | $time_end_anketa = 'Бессрочно'; |
120 | if (!empty($worker->updated_at)) { | 122 | if (!empty($worker->updated_at)) { |
121 | $long_days = Company::find(1)->time_resume; | 123 | $long_days = Company::find(1)->time_resume; |
122 | $time_end_anketa = date("d.m.Y H:i:s", strtotime($worker->updated_at . "+$long_days days")); | 124 | $time_end_anketa = date("d.m.Y H:i:s", strtotime($worker->updated_at . "+$long_days days")); |
123 | } | 125 | } |
124 | return view('admin.worker.edit', compact('worker', 'job_titles', 'time_end_anketa')); | 126 | return view('admin.worker.edit', compact('worker', 'job_titles', 'time_end_anketa')); |
125 | } | 127 | } |
126 | 128 | ||
127 | public function form_update_worker(Request $request, Worker $worker) | 129 | public function form_update_worker(Request $request, Worker $worker) |
128 | { | 130 | { |
129 | $params = $request->all(); | 131 | $params = $request->all(); |
130 | 132 | ||
131 | $rules = [ | 133 | $rules = [ |
132 | 'email' => 'email|string|max:255', | 134 | 'email' => 'email|string|max:255', |
133 | //'photo' => 'mimes:jpeg,jpg,png|max:15000', | 135 | //'photo' => 'mimes:jpeg,jpg,png|max:15000', |
134 | ]; | 136 | ]; |
135 | 137 | ||
136 | $messages = [ | 138 | $messages = [ |
137 | 'required' => 'Укажите обязательное поле «:attribute»', | 139 | 'required' => 'Укажите обязательное поле «:attribute»', |
138 | 'confirmed' => 'Пароли не совпадают', | 140 | 'confirmed' => 'Пароли не совпадают', |
139 | 'email' => 'Введите корректный email', | 141 | 'email' => 'Введите корректный email', |
140 | 'min' => [ | 142 | 'min' => [ |
141 | 'string' => 'Поле «:attribute» должно быть не меньше :min символов', | 143 | 'string' => 'Поле «:attribute» должно быть не меньше :min символов', |
142 | 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' | 144 | 'file' => 'Файл «:attribute» должен быть не меньше :min Кбайт' |
143 | ], | 145 | ], |
144 | 'max' => [ | 146 | 'max' => [ |
145 | 'string' => 'Поле «:attribute» должно быть не больше :max символов', | 147 | 'string' => 'Поле «:attribute» должно быть не больше :max символов', |
146 | 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' | 148 | 'file' => 'Файл «:attribute» должен быть не больше :max Кбайт' |
147 | ], | 149 | ], |
148 | ]; | 150 | ]; |
149 | 151 | ||
150 | $validator = Validator::make($params, $rules, $messages); | 152 | $validator = Validator::make($params, $rules, $messages); |
151 | 153 | ||
152 | if ($validator->fails()) { | 154 | if ($validator->fails()) { |
153 | return back()->withErrors($validator)->withInput(); | 155 | return back()->withErrors($validator)->withInput(); |
154 | } else { | 156 | } else { |
155 | $user_id = $worker->user_id; | 157 | $user_id = $worker->user_id; |
156 | if ($request->has('photo')) { | 158 | if ($request->has('photo')) { |
157 | if (!empty($worker->photo)) { | 159 | if (!empty($worker->photo)) { |
158 | Storage::delete($worker->photo); | 160 | Storage::delete($worker->photo); |
159 | } | 161 | } |
160 | if (!empty($request->photo)) | 162 | if (!empty($request->photo)) |
161 | $params['photo'] = $request->file('photo')->store("workers/$user_id", 'public'); | 163 | $params['photo'] = $request->file('photo')->store("workers/$user_id", 'public'); |
162 | } | 164 | } |
163 | $worker->update($params); | 165 | $worker->update($params); |
164 | 166 | ||
165 | return redirect()->route('admin.workers'); | 167 | return redirect()->route('admin.workers'); |
166 | } | 168 | } |
167 | } | 169 | } |
168 | 170 | ||
169 | // кабинет - статистика работников | 171 | // кабинет - статистика работников |
170 | public function static_workers(Request $request) { | 172 | public function static_workers(Request $request) { |
171 | $stat = Static_worker::with('users'); | 173 | $stat = Static_worker::with('users'); |
172 | //->join('users', 'users.id', '=', 'static_workers.user_id'); | 174 | //->join('users', 'users.id', '=', 'static_workers.user_id'); |
173 | $users = User::query()->active()->OrderBy('id')->get(); | 175 | $users = User::query()->active()->OrderBy('id')->get(); |
174 | $periods = Static_worker::query()->distinct('year_month')->select('year_month')->get(); | 176 | $periods = Static_worker::query()->distinct('year_month')->select('year_month')->get(); |
175 | if ($request->ajax()) { | 177 | if ($request->ajax()) { |
176 | if (isset($request->user_id)) | 178 | if (isset($request->user_id)) |
177 | if (!$request->user_id == "0") | 179 | if (!$request->user_id == "0") |
178 | $stat = $stat->Where('user_id', '=', $request->user_id); | 180 | $stat = $stat->Where('user_id', '=', $request->user_id); |
179 | if (isset($request->year_month)) { | 181 | if (isset($request->year_month)) { |
180 | if (!$request->year_month == "0") | 182 | if (!$request->year_month == "0") |
181 | $stat = $stat->Where('year_month', '=', $request->year_month); | 183 | $stat = $stat->Where('year_month', '=', $request->year_month); |
182 | } | 184 | } |
183 | } | 185 | } |
184 | 186 | ||
185 | $stat = $stat->OrderByDesc('year_month'); | 187 | $stat = $stat->OrderByDesc('year_month'); |
186 | //->OrderBy('users.name'); | 188 | //->OrderBy('users.name'); |
187 | //OrderBy('users.name')-> | 189 | //OrderBy('users.name')-> |
188 | /*$stat->implode() loadMissing(['users' => function (Builder $query) { | 190 | /*$stat->implode() loadMissing(['users' => function (Builder $query) { |
189 | $query->orderBy('name', 'asc'); | 191 | $query->orderBy('name', 'asc'); |
190 | }]);*/ | 192 | }]);*/ |
191 | 193 | ||
192 | $stat = $stat->paginate(15); | 194 | $stat = $stat->paginate(15); |
193 | 195 | ||
194 | if ($request->ajax()) | 196 | if ($request->ajax()) |
195 | return view('admin.static.index_workers_ajax', compact('stat')); | 197 | return view('admin.static.index_workers_ajax', compact('stat')); |
196 | else | 198 | else |
197 | return view('admin.static.index_workers', compact('stat', 'users', 'periods')); | 199 | return view('admin.static.index_workers', compact('stat', 'users', 'periods')); |
198 | 200 | ||
199 | } | 201 | } |
200 | 202 | ||
201 | } | 203 | } |
202 | 204 |
resources/views/admin/users/profile.blade.php
1 | @extends('layout.admin', ['title' => 'Админка - Профиль '.$user->name]) | 1 | @extends('layout.admin', ['title' => 'Админка - Профиль '.$user->name]) |
2 | 2 | ||
3 | @section('content') | 3 | @section('content') |
4 | <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> | 4 | <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> |
5 | Личные данные пользователя "{{$user->name}} ({{$user->id}})" | 5 | Личные данные пользователя "{{$user->name}} ({{$user->id}})" |
6 | </h4> | 6 | </h4> |
7 | <form method="POST" action=""> | 7 | <form method="POST" action=""> |
8 | @csrf | 8 | @csrf |
9 | <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> | 9 | <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> |
10 | <label class="block text-sm"> | 10 | <label class="block text-sm"> |
11 | <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span> | 11 | <span class="text-gray-700 dark:text-gray-400">Имя/Псевдоним/Имя компании</span> |
12 | <input name="name" id="name" | 12 | <input name="name" id="name" |
13 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 13 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
14 | placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}" | 14 | placeholder="Псевдоним для админки" value="{{ old('name') ?? $user->name ?? '' }}" |
15 | /> | 15 | /> |
16 | @error('name') | 16 | @error('name') |
17 | <span class="text-xs text-red-600 dark:text-red-400"> | 17 | <span class="text-xs text-red-600 dark:text-red-400"> |
18 | {{ $message }} | 18 | {{ $message }} |
19 | </span> | 19 | </span> |
20 | @enderror | 20 | @enderror |
21 | </label><br> | 21 | </label><br> |
22 | 22 | ||
23 | <!--<label class="block text-sm"> | 23 | <!--<label class="block text-sm"> |
24 | <span class="text-gray-700 dark:text-gray-400">Email</span> | 24 | <span class="text-gray-700 dark:text-gray-400">Email</span> |
25 | <input name="email" id="email" | 25 | <input name="email" id="email" |
26 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 26 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
27 | placeholder="Почта" value="{{ old('email') ?? $user->email ?? '' }}" | 27 | placeholder="Почта" value="{{ old('email') ?? $user->email ?? '' }}" |
28 | /> | 28 | /> |
29 | @error('email') | 29 | @error('email') |
30 | <span class="text-xs text-red-600 dark:text-red-400"> | 30 | <span class="text-xs text-red-600 dark:text-red-400"> |
31 | {{ $message }} | 31 | {{ $message }} |
32 | </span> | 32 | </span> |
33 | @enderror | 33 | @enderror |
34 | </label><br>--> | 34 | </label><br>--> |
35 | 35 | ||
36 | <label class="block text-sm"> | 36 | <label class="block text-sm"> |
37 | <span class="text-gray-700 dark:text-gray-400">Телефон</span> | 37 | <span class="text-gray-700 dark:text-gray-400">Телефон</span> |
38 | <input name="telephone" id="telephone" | 38 | <input name="telephone" id="telephone" |
39 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 39 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
40 | placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}" | 40 | placeholder="Телефон" value="{{ old('telephone') ?? $user->telephone ?? '' }}" |
41 | /> | 41 | /> |
42 | @error('telephone') | 42 | @error('telephone') |
43 | <span class="text-xs text-red-600 dark:text-red-400"> | 43 | <span class="text-xs text-red-600 dark:text-red-400"> |
44 | {{ $message }} | 44 | {{ $message }} |
45 | </span> | 45 | </span> |
46 | @enderror | 46 | @enderror |
47 | </label><br> | 47 | </label><br> |
48 | 48 | ||
49 | <label class="block text-sm"> | 49 | <label class="block text-sm"> |
50 | <span class="text-gray-700 dark:text-gray-400">Фамилия</span> | 50 | <span class="text-gray-700 dark:text-gray-400">Фамилия</span> |
51 | <input name="surname" id="surname" | 51 | <input name="surname" id="surname" |
52 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 52 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
53 | placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}" | 53 | placeholder="Фамилия" value="{{ old('surname') ?? $user->surname ?? '' }}" |
54 | /> | 54 | /> |
55 | @error('surname') | 55 | @error('surname') |
56 | <span class="text-xs text-red-600 dark:text-red-400"> | 56 | <span class="text-xs text-red-600 dark:text-red-400"> |
57 | {{ $message }} | 57 | {{ $message }} |
58 | </span> | 58 | </span> |
59 | @enderror | 59 | @enderror |
60 | </label><br> | 60 | </label><br> |
61 | 61 | ||
62 | <label class="block text-sm"> | 62 | <label class="block text-sm"> |
63 | <span class="text-gray-700 dark:text-gray-400">Имя человека</span> | 63 | <span class="text-gray-700 dark:text-gray-400">Имя человека</span> |
64 | <input name="name_man" id="name_man" | 64 | <input name="name_man" id="name_man" |
65 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 65 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
66 | placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}" | 66 | placeholder="Имя человека" value="{{ old('name_man') ?? $user->name_man ?? '' }}" |
67 | /> | 67 | /> |
68 | @error('name_man') | 68 | @error('name_man') |
69 | <span class="text-xs text-red-600 dark:text-red-400"> | 69 | <span class="text-xs text-red-600 dark:text-red-400"> |
70 | {{ $message }} | 70 | {{ $message }} |
71 | </span> | 71 | </span> |
72 | @enderror | 72 | @enderror |
73 | </label><br> | 73 | </label><br> |
74 | 74 | ||
75 | <label class="block text-sm"> | 75 | <label class="block text-sm"> |
76 | <span class="text-gray-700 dark:text-gray-400">Отчество</span> | 76 | <span class="text-gray-700 dark:text-gray-400">Отчество</span> |
77 | <input name="surname2" id="surname2" | 77 | <input name="surname2" id="surname2" |
78 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 78 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
79 | placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}" | 79 | placeholder="Отчество" value="{{ old('surname2') ?? $user->surname2 ?? '' }}" |
80 | /> | 80 | /> |
81 | @error('surname2') | 81 | @error('surname2') |
82 | <span class="text-xs text-red-600 dark:text-red-400"> | 82 | <span class="text-xs text-red-600 dark:text-red-400"> |
83 | {{ $message }} | 83 | {{ $message }} |
84 | </span> | 84 | </span> |
85 | @enderror | 85 | @enderror |
86 | </label><br> | 86 | </label><br> |
87 | 87 | ||
88 | 88 | ||
89 | 89 | ||
90 | <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> | 90 | <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> |
91 | <div> | 91 | <div> |
92 | <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> | 92 | <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> |
93 | Сохранить | 93 | Сохранить |
94 | </button> | 94 | </button> |
95 | <a href="{{ route('admin.users') }}" | 95 | <!--<a href="{{ route('admin.users') }}" |
96 | class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" | 96 | class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" |
97 | style="display: -webkit-inline-box; height: 30px!important;" | 97 | style="display: -webkit-inline-box; height: 30px!important;" |
98 | >Назад</a> | 98 | >Назад</a>--> |
99 | @if ($visible==true) | 99 | @if ($visible==true) |
100 | <a href="{{$link}}" | 100 | <a href="{{$link}}" |
101 | class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" | 101 | class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" |
102 | style="display: -webkit-inline-box; height: 30px!important;"> | 102 | style="display: -webkit-inline-box; height: 30px!important;"> |
103 | {{ $caption }} | 103 | {{ $caption }} |
104 | </a> | 104 | </a> |
105 | @endif | 105 | @endif |
106 | </div> | 106 | </div> |
107 | </div> | 107 | </div> |
108 | </div> | 108 | </div> |
109 | </form> | 109 | </form> |
110 | @endsection | 110 | @endsection |
111 | 111 |
resources/views/admin/worker/edit.blade.php
1 | <?php | 1 | <?php |
2 | use Illuminate\Support\Facades\Storage; | 2 | use Illuminate\Support\Facades\Storage; |
3 | ?> | 3 | ?> |
4 | @extends('layout.admin', ['title' => 'Админка - Редактирование соискателя']) | 4 | @extends('layout.admin', ['title' => 'Админка - Редактирование соискателя']) |
5 | 5 | ||
6 | @section('content') | 6 | @section('content') |
7 | <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> | 7 | <h4 class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300"> |
8 | Соискатель-пользователь: "{{$worker->users->surname}} {{$worker->users->name_man}} {{$worker->users->surname2}} ({{$worker->user_id}})" | 8 | Соискатель-пользователь: <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $worker->user_id]) }}">"{{$worker->users->surname}} {{$worker->users->name_man}} {{$worker->users->surname2}} ({{$worker->user_id}})"</a> |
9 | </h4> | 9 | </h4> |
10 | <form method="POST" action=""> | 10 | <form method="POST" action=""> |
11 | @csrf | 11 | @csrf |
12 | <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> | 12 | <div class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800"> |
13 | <div class="tabs"> | 13 | <div class="tabs"> |
14 | <input type="radio" name="tab-btn" id="tab-btn-1" value="" checked> | 14 | <input type="radio" name="tab-btn" id="tab-btn-1" value="" checked> |
15 | <label for="tab-btn-1">Общие настройки</label> | 15 | <label for="tab-btn-1">Общие настройки</label> |
16 | <input type="radio" name="tab-btn" id="tab-btn-2" value=""> | 16 | <input type="radio" name="tab-btn" id="tab-btn-2" value=""> |
17 | <label for="tab-btn-2">Анкета</label> | 17 | <label for="tab-btn-2">Анкета</label> |
18 | <!--<input type="radio" name="tab-btn" id="tab-btn-3" value=""> | 18 | <!--<input type="radio" name="tab-btn" id="tab-btn-3" value=""> |
19 | <label for="tab-btn-3">Вкладка 3</label>--> | 19 | <label for="tab-btn-3">Вкладка 3</label>--> |
20 | <div id="content-1"> | 20 | <div id="content-1"> |
21 | <label class="block text-sm"> | 21 | <label class="block text-sm"> |
22 | <span class="text-gray-700 dark:text-gray-400">Должность соискателя</span> | 22 | <span class="text-gray-700 dark:text-gray-400">Должность соискателя</span> |
23 | <select name="position_work" id="position_work" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"> | 23 | <select name="position_work" id="position_work" class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray"> |
24 | @foreach($job_titles as $job) | 24 | @foreach($job_titles as $job) |
25 | <option value="{{ $job->id }}" | 25 | <option value="{{ $job->id }}" |
26 | @if($worker->position_work == $job->id) | 26 | @if($worker->position_work == $job->id) |
27 | selected | 27 | selected |
28 | @endif | 28 | @endif |
29 | >{{ $job->name }} ({{ $job->id }})</option> | 29 | >{{ $job->name }} ({{ $job->id }})</option> |
30 | @endforeach | 30 | @endforeach |
31 | </select> | 31 | </select> |
32 | @error('position_work') | 32 | @error('position_work') |
33 | <span class="text-xs text-red-600 dark:text-red-400"> | 33 | <span class="text-xs text-red-600 dark:text-red-400"> |
34 | {{ $message }} | 34 | {{ $message }} |
35 | </span> | 35 | </span> |
36 | @enderror | 36 | @enderror |
37 | </label><br> | 37 | </label><br> |
38 | 38 | ||
39 | <label class="block text-sm"> | 39 | <label class="block text-sm"> |
40 | <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Избранный кандидат </p> | 40 | <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Избранный кандидат </p> |
41 | <input type="hidden" name="favorite_user" value="0" /> | 41 | <input type="hidden" name="favorite_user" value="0" /> |
42 | <input name="favorite_user" <? if ($worker->favorite_user) echo "checked";?> | 42 | <input name="favorite_user" <? if ($worker->favorite_user) echo "checked";?> |
43 | class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " | 43 | class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " |
44 | placeholder="" type="checkbox" value="1" | 44 | placeholder="" type="checkbox" value="1" |
45 | /><br> | 45 | /><br> |
46 | 46 | ||
47 | <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Срочный кандидат</p> | 47 | <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Срочный кандидат</p> |
48 | <input type="hidden" name="sroch_user" value="0" /> | 48 | <input type="hidden" name="sroch_user" value="0" /> |
49 | <input name="sroch_user" id="sroch_user" <? if ($worker->sroch_user) echo "checked";?> | 49 | <input name="sroch_user" id="sroch_user" <? if ($worker->sroch_user) echo "checked";?> |
50 | class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " | 50 | class="block mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray " |
51 | placeholder="" type="checkbox" value="1" | 51 | placeholder="" type="checkbox" value="1" |
52 | /><br> | 52 | /><br> |
53 | 53 | ||
54 | </label> | 54 | </label> |
55 | 55 | ||
56 | <label class="block text-sm"> | 56 | <label class="block text-sm"> |
57 | <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Анкета действительна до <span style="color:#333">{{ $time_end_anketa }}</span></p> | 57 | <p class="text-gray-700 dark:text-gray-400" style="float:left; margin-right: 10px">Анкета действительна до <span style="color:#333">{{ $time_end_anketa }}</span></p> |
58 | 58 | ||
59 | </label><br> | 59 | </label><br> |
60 | </div> | 60 | </div> |
61 | <div id="content-2"> | 61 | <div id="content-2"> |
62 | <label class="block text-sm"> | 62 | <label class="block text-sm"> |
63 | <span class="text-gray-700 dark:text-gray-400">Email</span> | 63 | <span class="text-gray-700 dark:text-gray-400">Email</span> |
64 | <input name="email" id="email" | 64 | <input name="email" id="email" |
65 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 65 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
66 | placeholder="Почта" value="{{ old('email') ?? $worker->email ?? '' }}" | 66 | placeholder="Почта" value="{{ old('email') ?? $worker->email ?? '' }}" |
67 | /> | 67 | /> |
68 | @error('email') | 68 | @error('email') |
69 | <span class="text-xs text-red-600 dark:text-red-400"> | 69 | <span class="text-xs text-red-600 dark:text-red-400"> |
70 | {{ $message }} | 70 | {{ $message }} |
71 | </span> | 71 | </span> |
72 | @enderror | 72 | @enderror |
73 | </label><br> | 73 | </label><br> |
74 | 74 | ||
75 | <label class="block text-sm"> | 75 | <label class="block text-sm"> |
76 | <span class="text-gray-700 dark:text-gray-400">Телефон</span> | 76 | <span class="text-gray-700 dark:text-gray-400">Телефон</span> |
77 | <input name="telephone" id="telephone" | 77 | <input name="telephone" id="telephone" |
78 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 78 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
79 | placeholder="Телефон" value="{{ old('telephone') ?? $worker->telephone ?? '' }}" | 79 | placeholder="Телефон" value="{{ old('telephone') ?? $worker->telephone ?? '' }}" |
80 | /> | 80 | /> |
81 | @error('telephone') | 81 | @error('telephone') |
82 | <span class="text-xs text-red-600 dark:text-red-400"> | 82 | <span class="text-xs text-red-600 dark:text-red-400"> |
83 | {{ $message }} | 83 | {{ $message }} |
84 | </span> | 84 | </span> |
85 | @enderror | 85 | @enderror |
86 | </label><br> | 86 | </label><br> |
87 | 87 | ||
88 | <label class="block text-sm"> | 88 | <label class="block text-sm"> |
89 | <span class="text-gray-700 dark:text-gray-400">Адрес</span> | 89 | <span class="text-gray-700 dark:text-gray-400">Адрес</span> |
90 | <input name="address" id="address" | 90 | <input name="address" id="address" |
91 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 91 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
92 | placeholder="Адрес" value="{{ old('address') ?? $worker->address ?? '' }}" | 92 | placeholder="Адрес" value="{{ old('address') ?? $worker->address ?? '' }}" |
93 | /> | 93 | /> |
94 | @error('address') | 94 | @error('address') |
95 | <span class="text-xs text-red-600 dark:text-red-400"> | 95 | <span class="text-xs text-red-600 dark:text-red-400"> |
96 | {{ $message }} | 96 | {{ $message }} |
97 | </span> | 97 | </span> |
98 | @enderror | 98 | @enderror |
99 | </label><br> | 99 | </label><br> |
100 | 100 | ||
101 | <label class="block text-sm"> | 101 | <label class="block text-sm"> |
102 | <span class="text-gray-700 dark:text-gray-400">Город</span> | 102 | <span class="text-gray-700 dark:text-gray-400">Город</span> |
103 | <input name="city" id="city" | 103 | <input name="city" id="city" |
104 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 104 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
105 | placeholder="Город" value="{{ old('city') ?? $worker->city ?? '' }}" | 105 | placeholder="Город" value="{{ old('city') ?? $worker->city ?? '' }}" |
106 | /> | 106 | /> |
107 | @error('city') | 107 | @error('city') |
108 | <span class="text-xs text-red-600 dark:text-red-400"> | 108 | <span class="text-xs text-red-600 dark:text-red-400"> |
109 | {{ $message }} | 109 | {{ $message }} |
110 | </span> | 110 | </span> |
111 | @enderror | 111 | @enderror |
112 | </label><br> | 112 | </label><br> |
113 | 113 | ||
114 | <label class="block text-sm"> | 114 | <label class="block text-sm"> |
115 | <span class="text-gray-700 dark:text-gray-400">Фото</span> | 115 | <span class="text-gray-700 dark:text-gray-400">Фото</span> |
116 | 116 | ||
117 | <input name="photo" id="photo" type="file" | 117 | <input name="photo" id="photo" type="file" |
118 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" | 118 | class="block w-full mt-1 text-sm dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:text-gray-300 dark:focus:shadow-outline-gray form-input" |
119 | placeholder="Фото" value="" | 119 | placeholder="Фото" value="" |
120 | /> | 120 | /> |
121 | @isset($worker->photo) | 121 | @isset($worker->photo) |
122 | <img src="<?=asset(Storage::url($worker->photo))?>" width="150"/> | 122 | <img src="<?=asset(Storage::url($worker->photo))?>" width="150"/> |
123 | @endisset | 123 | @endisset |
124 | @error('logo') | 124 | @error('logo') |
125 | <span class="text-xs text-red-600 dark:text-red-400"> | 125 | <span class="text-xs text-red-600 dark:text-red-400"> |
126 | {{ $message }} | 126 | {{ $message }} |
127 | </span> | 127 | </span> |
128 | @enderror | 128 | @enderror |
129 | </label><br> | 129 | </label><br> |
130 | 130 | ||
131 | <label class="block text-sm"> | 131 | <label class="block text-sm"> |
132 | <span class="text-gray-700 dark:text-gray-400">Согласие на рассылку</span> | 132 | <span class="text-gray-700 dark:text-gray-400">Согласие на рассылку</span> |
133 | <input type="hidden" name="email_data" value="0" /> | 133 | <input type="hidden" name="email_data" value="0" /> |
134 | <input name="email_data" id="email_data" @php if ($worker->email_data) echo "checked"; @endphp | 134 | <input name="email_data" id="email_data" @php if ($worker->email_data) echo "checked"; @endphp |
135 | placeholder="" | 135 | placeholder="" |
136 | type="checkbox" | 136 | type="checkbox" |
137 | value="1" | 137 | value="1" |
138 | /> | 138 | /> |
139 | </label> | 139 | </label> |
140 | 140 | ||
141 | <label class="block mt-4 text-sm"> | 141 | <label class="block mt-4 text-sm"> |
142 | <span class="text-gray-700 dark:text-gray-400">Об соискателе</span> | 142 | <span class="text-gray-700 dark:text-gray-400">Об соискателе</span> |
143 | <textarea name="text" id="text" | 143 | <textarea name="text" id="text" |
144 | 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" | 144 | 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" |
145 | rows="3" | 145 | rows="3" |
146 | placeholder="О соискателе" | 146 | placeholder="О соискателе" |
147 | >{{ old('text') ?? $worker->text ?? '' }}</textarea> | 147 | >{{ old('text') ?? $worker->text ?? '' }}</textarea> |
148 | </label> | 148 | </label> |
149 | </div> | 149 | </div> |
150 | <div id="content-3"> | 150 | <div id="content-3"> |
151 | 151 | ||
152 | </div> | 152 | </div> |
153 | </div><br> | 153 | </div><br> |
154 | 154 | ||
155 | <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> | 155 | <div class="flex flex-col flex-wrap mb-4 space-y-4 md:flex-row md:items-end md:space-x-4"> |
156 | <div> | 156 | <div> |
157 | <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> | 157 | <button type="submit" class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple"> |
158 | Сохранить | 158 | Сохранить |
159 | </button> | 159 | </button> |
160 | <a href="{{ route('admin.workers') }}" | 160 | <a href="{{ route('admin.workers') }}" |
161 | class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" | 161 | class="px-3 py-1 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" |
162 | style="display: -webkit-inline-box; height: 30px!important;" | 162 | style="display: -webkit-inline-box; height: 30px!important;" |
163 | >Назад</a> | 163 | >Назад</a> |
164 | </div> | 164 | </div> |
165 | </div> | 165 | </div> |
166 | </div> | 166 | </div> |
167 | </form> | 167 | </form> |
168 | <!-- | 168 | <!-- |
169 | <label class="block mt-4 text-sm"> | 169 | <label class="block mt-4 text-sm"> |
170 | <span class="text-gray-700 dark:text-gray-400"> | 170 | <span class="text-gray-700 dark:text-gray-400"> |
171 | Requested Limit | 171 | Requested Limit |
172 | </span> | 172 | </span> |
173 | <select | 173 | <select |
174 | class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" | 174 | class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 form-select focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" |
175 | > | 175 | > |
176 | <option>$1,000</option> | 176 | <option>$1,000</option> |
177 | <option>$5,000</option> | 177 | <option>$5,000</option> |
178 | <option>$10,000</option> | 178 | <option>$10,000</option> |
179 | <option>$25,000</option> | 179 | <option>$25,000</option> |
180 | </select> | 180 | </select> |
181 | </label> | 181 | </label> |
182 | 182 | ||
183 | <label class="block mt-4 text-sm"> | 183 | <label class="block mt-4 text-sm"> |
184 | <span class="text-gray-700 dark:text-gray-400"> | 184 | <span class="text-gray-700 dark:text-gray-400"> |
185 | Multiselect | 185 | Multiselect |
186 | </span> | 186 | </span> |
187 | <select | 187 | <select |
188 | 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" | 188 | 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" |
189 | multiple | 189 | multiple |
190 | > | 190 | > |
191 | <option>Option 1</option> | 191 | <option>Option 1</option> |
192 | <option>Option 2</option> | 192 | <option>Option 2</option> |
193 | <option>Option 3</option> | 193 | <option>Option 3</option> |
194 | <option>Option 4</option> | 194 | <option>Option 4</option> |
195 | <option>Option 5</option> | 195 | <option>Option 5</option> |
196 | </select> | 196 | </select> |
197 | </label> | 197 | </label> |
198 | 198 | ||
199 | <label class="block mt-4 text-sm"> | 199 | <label class="block mt-4 text-sm"> |
200 | <span class="text-gray-700 dark:text-gray-400">Message</span> | 200 | <span class="text-gray-700 dark:text-gray-400">Message</span> |
201 | <textarea | 201 | <textarea |
202 | 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" | 202 | 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" |
203 | rows="3" | 203 | rows="3" |
204 | placeholder="Enter some long form content." | 204 | placeholder="Enter some long form content." |
205 | ></textarea> | 205 | ></textarea> |
206 | </label> | 206 | </label> |
207 | 207 | ||
208 | <div class="flex mt-6 text-sm"> | 208 | <div class="flex mt-6 text-sm"> |
209 | <label class="flex items-center dark:text-gray-400"> | 209 | <label class="flex items-center dark:text-gray-400"> |
210 | <input | 210 | <input |
211 | type="checkbox" | 211 | type="checkbox" |
212 | class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" | 212 | class="text-purple-600 form-checkbox focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" |
213 | /> | 213 | /> |
214 | <span class="ml-2"> | 214 | <span class="ml-2"> |
215 | I agree to the | 215 | I agree to the |
216 | <span class="underline">privacy policy</span> | 216 | <span class="underline">privacy policy</span> |
217 | </span> | 217 | </span> |
218 | </label> | 218 | </label> |
219 | </div> | 219 | </div> |
220 | </div> | 220 | </div> |
221 | 221 | ||
222 | <!-- Validation inputs --> | 222 | <!-- Validation inputs --> |
223 | <!--<h4 | 223 | <!--<h4 |
224 | class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" | 224 | class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" |
225 | > | 225 | > |
226 | Validation | 226 | Validation |
227 | </h4> | 227 | </h4> |
228 | <div | 228 | <div |
229 | class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" | 229 | class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" |
230 | > | 230 | > |
231 | <!-- Invalid input --> | 231 | <!-- Invalid input --> |
232 | <!--<label class="block text-sm"> | 232 | <!--<label class="block text-sm"> |
233 | <span class="text-gray-700 dark:text-gray-400"> | 233 | <span class="text-gray-700 dark:text-gray-400"> |
234 | Invalid input | 234 | Invalid input |
235 | </span> | 235 | </span> |
236 | <input | 236 | <input |
237 | class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input" | 237 | class="block w-full mt-1 text-sm border-red-600 dark:text-gray-300 dark:bg-gray-700 focus:border-red-400 focus:outline-none focus:shadow-outline-red form-input" |
238 | placeholder="Jane Doe" | 238 | placeholder="Jane Doe" |
239 | /> | 239 | /> |
240 | <span class="text-xs text-red-600 dark:text-red-400"> | 240 | <span class="text-xs text-red-600 dark:text-red-400"> |
241 | Your password is too short. | 241 | Your password is too short. |
242 | </span> | 242 | </span> |
243 | </label> | 243 | </label> |
244 | 244 | ||
245 | <!-- Valid input --> | 245 | <!-- Valid input --> |
246 | <!--<label class="block mt-4 text-sm"> | 246 | <!--<label class="block mt-4 text-sm"> |
247 | <span class="text-gray-700 dark:text-gray-400"> | 247 | <span class="text-gray-700 dark:text-gray-400"> |
248 | Valid input | 248 | Valid input |
249 | </span> | 249 | </span> |
250 | <input | 250 | <input |
251 | class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input" | 251 | class="block w-full mt-1 text-sm border-green-600 dark:text-gray-300 dark:bg-gray-700 focus:border-green-400 focus:outline-none focus:shadow-outline-green form-input" |
252 | placeholder="Jane Doe" | 252 | placeholder="Jane Doe" |
253 | /> | 253 | /> |
254 | <span class="text-xs text-green-600 dark:text-green-400"> | 254 | <span class="text-xs text-green-600 dark:text-green-400"> |
255 | Your password is strong. | 255 | Your password is strong. |
256 | </span> | 256 | </span> |
257 | </label> | 257 | </label> |
258 | 258 | ||
259 | <!-- Helper text --> | 259 | <!-- Helper text --> |
260 | <!--<label class="block mt-4 text-sm"> | 260 | <!--<label class="block mt-4 text-sm"> |
261 | <span class="text-gray-700 dark:text-gray-400"> | 261 | <span class="text-gray-700 dark:text-gray-400"> |
262 | Helper text | 262 | Helper text |
263 | </span> | 263 | </span> |
264 | <input | 264 | <input |
265 | class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" | 265 | class="block w-full mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" |
266 | placeholder="Jane Doe" | 266 | placeholder="Jane Doe" |
267 | /> | 267 | /> |
268 | <span class="text-xs text-gray-600 dark:text-gray-400"> | 268 | <span class="text-xs text-gray-600 dark:text-gray-400"> |
269 | Your password must be at least 6 characters long. | 269 | Your password must be at least 6 characters long. |
270 | </span> | 270 | </span> |
271 | </label> | 271 | </label> |
272 | </div> | 272 | </div> |
273 | 273 | ||
274 | <!-- Inputs with icons --> | 274 | <!-- Inputs with icons --> |
275 | <!--<h4 | 275 | <!--<h4 |
276 | class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" | 276 | class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" |
277 | > | 277 | > |
278 | Icons | 278 | Icons |
279 | </h4> | 279 | </h4> |
280 | <div | 280 | <div |
281 | class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" | 281 | class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" |
282 | > | 282 | > |
283 | <label class="block text-sm"> | 283 | <label class="block text-sm"> |
284 | <span class="text-gray-700 dark:text-gray-400">Icon left</span> | 284 | <span class="text-gray-700 dark:text-gray-400">Icon left</span> |
285 | <!-- focus-within sets the color for the icon when input is focused --> | 285 | <!-- focus-within sets the color for the icon when input is focused --> |
286 | <!--<div | 286 | <!--<div |
287 | class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" | 287 | class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" |
288 | > | 288 | > |
289 | <input | 289 | <input |
290 | class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" | 290 | class="block w-full pl-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" |
291 | placeholder="Jane Doe" | 291 | placeholder="Jane Doe" |
292 | /> | 292 | /> |
293 | <div | 293 | <div |
294 | class="absolute inset-y-0 flex items-center ml-3 pointer-events-none" | 294 | class="absolute inset-y-0 flex items-center ml-3 pointer-events-none" |
295 | > | 295 | > |
296 | <svg | 296 | <svg |
297 | class="w-5 h-5" | 297 | class="w-5 h-5" |
298 | aria-hidden="true" | 298 | aria-hidden="true" |
299 | fill="none" | 299 | fill="none" |
300 | stroke-linecap="round" | 300 | stroke-linecap="round" |
301 | stroke-linejoin="round" | 301 | stroke-linejoin="round" |
302 | stroke-width="2" | 302 | stroke-width="2" |
303 | viewBox="0 0 24 24" | 303 | viewBox="0 0 24 24" |
304 | stroke="currentColor" | 304 | stroke="currentColor" |
305 | > | 305 | > |
306 | <path | 306 | <path |
307 | d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" | 307 | d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" |
308 | ></path> | 308 | ></path> |
309 | </svg> | 309 | </svg> |
310 | </div> | 310 | </div> |
311 | </div> | 311 | </div> |
312 | </label> | 312 | </label> |
313 | 313 | ||
314 | <label class="block mt-4 text-sm"> | 314 | <label class="block mt-4 text-sm"> |
315 | <span class="text-gray-700 dark:text-gray-400">Icon right</span> | 315 | <span class="text-gray-700 dark:text-gray-400">Icon right</span> |
316 | <!-- focus-within sets the color for the icon when input is focused --> | 316 | <!-- focus-within sets the color for the icon when input is focused --> |
317 | <!--<div | 317 | <!--<div |
318 | class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" | 318 | class="relative text-gray-500 focus-within:text-purple-600 dark:focus-within:text-purple-400" |
319 | > | 319 | > |
320 | <input | 320 | <input |
321 | class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" | 321 | class="block w-full pr-10 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" |
322 | placeholder="Jane Doe" | 322 | placeholder="Jane Doe" |
323 | /> | 323 | /> |
324 | <div | 324 | <div |
325 | class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none" | 325 | class="absolute inset-y-0 right-0 flex items-center mr-3 pointer-events-none" |
326 | > | 326 | > |
327 | <svg | 327 | <svg |
328 | class="w-5 h-5" | 328 | class="w-5 h-5" |
329 | aria-hidden="true" | 329 | aria-hidden="true" |
330 | fill="none" | 330 | fill="none" |
331 | stroke-linecap="round" | 331 | stroke-linecap="round" |
332 | stroke-linejoin="round" | 332 | stroke-linejoin="round" |
333 | stroke-width="2" | 333 | stroke-width="2" |
334 | viewBox="0 0 24 24" | 334 | viewBox="0 0 24 24" |
335 | stroke="currentColor" | 335 | stroke="currentColor" |
336 | > | 336 | > |
337 | <path | 337 | <path |
338 | d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" | 338 | d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z" |
339 | ></path> | 339 | ></path> |
340 | </svg> | 340 | </svg> |
341 | </div> | 341 | </div> |
342 | </div> | 342 | </div> |
343 | </label> | 343 | </label> |
344 | </div> | 344 | </div> |
345 | 345 | ||
346 | <!-- Inputs with buttons --> | 346 | <!-- Inputs with buttons --> |
347 | <!--<h4 | 347 | <!--<h4 |
348 | class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" | 348 | class="mb-4 text-lg font-semibold text-gray-600 dark:text-gray-300" |
349 | > | 349 | > |
350 | Buttons | 350 | Buttons |
351 | </h4> | 351 | </h4> |
352 | <div | 352 | <div |
353 | class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" | 353 | class="px-4 py-3 mb-8 bg-white rounded-lg shadow-md dark:bg-gray-800" |
354 | > | 354 | > |
355 | <label class="block text-sm"> | 355 | <label class="block text-sm"> |
356 | <span class="text-gray-700 dark:text-gray-400"> | 356 | <span class="text-gray-700 dark:text-gray-400"> |
357 | Button left | 357 | Button left |
358 | </span> | 358 | </span> |
359 | <div class="relative"> | 359 | <div class="relative"> |
360 | <input | 360 | <input |
361 | class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" | 361 | class="block w-full pl-20 mt-1 text-sm dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" |
362 | placeholder="Jane Doe" | 362 | placeholder="Jane Doe" |
363 | /> | 363 | /> |
364 | <button | 364 | <button |
365 | class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" | 365 | class="absolute inset-y-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-l-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray" |
366 | > | 366 | > |
367 | Click | 367 | Click |
368 | </button> | 368 | </button> |
369 | </div> | 369 | </div> |
370 | </label> | 370 | </label> |
371 | 371 | ||
372 | <label class="block mt-4 text-sm"> | 372 | <label class="block mt-4 text-sm"> |
373 | <span class="text-gray-700 dark:text-gray-400"> | 373 | <span class="text-gray-700 dark:text-gray-400"> |
374 | Button right | 374 | Button right |
375 | </span> | 375 | </span> |
376 | <div | 376 | <div |
377 | class="relative text-gray-500 focus-within:text-purple-600" | 377 | class="relative text-gray-500 focus-within:text-purple-600" |
378 | > | 378 | > |
379 | <input | 379 | <input |
380 | class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" | 380 | class="block w-full pr-20 mt-1 text-sm text-black dark:text-gray-300 dark:border-gray-600 dark:bg-gray-700 focus:border-purple-400 focus:outline-none focus:shadow-outline-purple dark:focus:shadow-outline-gray form-input" |
381 | placeholder="Jane Doe" | 381 | placeholder="Jane Doe" |
382 | /> | 382 | /> |
383 | <button | 383 | <button |
384 | class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" | 384 | class="absolute inset-y-0 right-0 px-4 text-sm font-medium leading-5 text-white transition-colors duration-150 bg-purple-600 border border-transparent rounded-r-md active:bg-purple-600 hover:bg-purple-700 focus:outline-none focus:shadow-outline-purple" |
385 | > | 385 | > |
386 | Click | 386 | Click |
387 | </button> | 387 | </button> |
388 | </div> | 388 | </div> |
389 | </label> | 389 | </label> |
390 | </div>--> | 390 | </div>--> |
391 | @endsection | 391 | @endsection |
392 | 392 |
resources/views/admin/worker/index.blade.php
1 | @extends('layout.admin', ['title' => 'Админка - Работники']) | 1 | @extends('layout.admin', ['title' => 'Админка - Работники']) |
2 | 2 | ||
3 | @section('script') | 3 | @section('script') |
4 | <script> | 4 | <script> |
5 | $(document).ready(function() { | 5 | $(document).ready(function() { |
6 | $(document).on('click', '.checkban', function () { | 6 | $(document).on('click', '.checkban', function () { |
7 | var this_ = $(this); | 7 | var this_ = $(this); |
8 | var value = this_.val(); | 8 | var value = this_.val(); |
9 | var ajax_block = $('#ajax_block'); | 9 | var ajax_block = $('#ajax_block'); |
10 | var bool = 0; | 10 | var bool = 0; |
11 | 11 | ||
12 | if(this.checked){ | 12 | if(this.checked){ |
13 | bool = 1; | 13 | bool = 1; |
14 | } else { | 14 | } else { |
15 | bool = 0; | 15 | bool = 0; |
16 | } | 16 | } |
17 | 17 | ||
18 | $.ajax({ | 18 | $.ajax({ |
19 | type: "GET", | 19 | type: "GET", |
20 | url: "{{ url()->full()}}", | 20 | url: "{{ url()->full()}}", |
21 | data: "id=" + value + "&is_ban=" + bool, | 21 | data: "id=" + value + "&is_ban=" + bool, |
22 | success: function (data) { | 22 | success: function (data) { |
23 | console.log('Обновление таблицы работников '); | 23 | console.log('Обновление таблицы работников '); |
24 | //data = JSON.parse(data); | 24 | //data = JSON.parse(data); |
25 | console.log(data); | 25 | console.log(data); |
26 | ajax_block.html(data); | 26 | ajax_block.html(data); |
27 | }, | 27 | }, |
28 | headers: { | 28 | headers: { |
29 | 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') | 29 | 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') |
30 | }, | 30 | }, |
31 | error: function (data) { | 31 | error: function (data) { |
32 | console.log('Error: ' + data); | 32 | console.log('Error: ' + data); |
33 | } | 33 | } |
34 | }); | 34 | }); |
35 | }); | 35 | }); |
36 | 36 | ||
37 | }); | 37 | }); |
38 | </script> | 38 | </script> |
39 | @endsection | 39 | @endsection |
40 | 40 | ||
41 | @section('search') | 41 | @section('search') |
42 | @include('admin.find_worker', ['find_status_work' => $find_status_work]) | 42 | @include('admin.find_worker', ['find_status_work' => $find_status_work]) |
43 | @endsection | 43 | @endsection |
44 | 44 | ||
45 | @section('content') | 45 | @section('content') |
46 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> | 46 | <div class="w-full overflow-hidden rounded-lg shadow-xs" id="ajax_block"> |
47 | <div class="w-full overflow-x-auto"> | 47 | <div class="w-full overflow-x-auto"> |
48 | <table class="w-full whitespace-no-wrap"> | 48 | <table class="w-full whitespace-no-wrap"> |
49 | <thead> | 49 | <thead> |
50 | <tr | 50 | <tr |
51 | class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" | 51 | class="text-xs font-semibold tracking-wide text-left text-gray-500 uppercase border-b dark:border-gray-700 bg-gray-50 dark:text-gray-400 dark:bg-gray-800" |
52 | > | 52 | > |
53 | <th class="px-4 py-3">№</th> | 53 | <th class="px-4 py-3">№</th> |
54 | <th class="px-4 py-3">ФИО</th> | 54 | <th class="px-4 py-3">ФИО</th> |
55 | <th class="px-4 py-3">Email/Телефон</th> | 55 | <th class="px-4 py-3">Email/Телефон</th> |
56 | <th class="px-4 py-3">% заполнения анкеты</th> | 56 | <th class="px-4 py-3">% заполнения анкеты</th> |
57 | <th class="px-4 py-3">Должность</th> | 57 | <th class="px-4 py-3">Должность</th> |
58 | <th class="px-4 py-3">Дата регистрации</th> | 58 | <th class="px-4 py-3">Дата регистрации</th> |
59 | <th class="px-4 py-3">Изменить</th> | 59 | <th class="px-4 py-3">Изменить</th> |
60 | <!--<th class="px-4 py-3">Бан</th>--> | 60 | <!--<th class="px-4 py-3">Бан</th>--> |
61 | </tr> | 61 | </tr> |
62 | </thead> | 62 | </thead> |
63 | <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> | 63 | <tbody class="bg-white divide-y dark:divide-gray-700 dark:bg-gray-800"> |
64 | @foreach($users as $user) | 64 | @foreach($users as $user) |
65 | <tr class="text-gray-700 dark:text-gray-400"> | 65 | <tr class="text-gray-700 dark:text-gray-400"> |
66 | <td class="px-4 py-3"> | 66 | <td class="px-4 py-3"> |
67 | {{$user->id}} | 67 | {{$user->id}} |
68 | </td> | 68 | </td> |
69 | <td class="px-4 py-3"> | 69 | <td class="px-4 py-3"> |
70 | {{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }} | 70 | @if (isset($user->id)) |
71 | <a style="text-decoration: underline;" href="{{ route('admin.user-profile', ['user' => $user->id]) }}}">{{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }}</a> | ||
72 | @else | ||
73 | {{ $user->surname }} {{ !empty($user->name_man) ? $user->name_man : $user->name }} {{ $user->surname2 }} | ||
74 | @endif | ||
71 | </td> | 75 | </td> |
72 | <td class="px-4 py-3 text-sm"> | 76 | <td class="px-4 py-3 text-sm"> |
73 | <div class="flex items-center text-sm"> | 77 | <div class="flex items-center text-sm"> |
74 | <div> | 78 | <div> |
75 | <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> | 79 | <p class="font-semibold">{{ empty($user->workers->email) ? $user->email : $user->workers->email }}</p> |
76 | <p class="text-xs text-gray-600 dark:text-gray-400"> | 80 | <p class="text-xs text-gray-600 dark:text-gray-400"> |
77 | {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} | 81 | {{ empty($user->workers->telephone) ? $user->telephone : $user->workers->telephone }} |
78 | </p> | 82 | </p> |
79 | </div> | 83 | </div> |
80 | </div> | 84 | </div> |
81 | </td> | 85 | </td> |
82 | <td class="px-4 py-3 text-xs"> | 86 | <td class="px-4 py-3 text-xs"> |
83 | @if (isset($user->workers[0]->persent_anketa)) | 87 | @if (isset($user->workers[0]->persent_anketa)) |
84 | @if ($user->workers[0]->persent_anketa > 40) | 88 | @if ($user->workers[0]->persent_anketa > 40) |
85 | <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"> | 89 | <span class="px-2 py-1 font-semibold leading-tight text-green-700 bg-green-100 rounded-full dark:bg-green-700 dark:text-green-100"> |
86 | {{$user->workers[0]->persent_anketa}}% | 90 | {{$user->workers[0]->persent_anketa}}% |
87 | </span> | 91 | </span> |
88 | @else | 92 | @else |
89 | <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> | 93 | <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> |
90 | {{$user->workers[0]->persent_anketa}}% | 94 | {{$user->workers[0]->persent_anketa}}% |
91 | </span> | 95 | </span> |
92 | @endif | 96 | @endif |
93 | @else | 97 | @else |
94 | <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> | 98 | <span class="px-2 py-1 font-semibold leading-tight text-orange-700 bg-orange-100 rounded-full dark:text-white dark:bg-orange-600"> |
95 | 0% | 99 | 0% |
96 | </span> | 100 | </span> |
97 | @endif | 101 | @endif |
98 | </td> | 102 | </td> |
99 | <td class="px-4 py-3 text-sm"> | 103 | <td class="px-4 py-3 text-sm"> |
100 | @if (isset($user->jobtitles[0]->name)) | 104 | @if (isset($user->jobtitles[0]->name)) |
101 | {{ $user->jobtitles[0]->name }} | 105 | {{ $user->jobtitles[0]->name }} |
102 | @else | 106 | @else |
103 | Не задана | 107 | Не задана |
104 | @endif | 108 | @endif |
105 | </td> | 109 | </td> |
106 | <td class="px-4 py-3 text-sm"> | 110 | <td class="px-4 py-3 text-sm"> |
107 | {{ $user->created_at }} | 111 | {{ $user->created_at }} |
108 | </td> | 112 | </td> |
109 | <td class="px-4 py-3 text-sm"> | 113 | <td class="px-4 py-3 text-sm"> |
110 | <!--if ($user->id > 1)--> | 114 | <!--if ($user->id > 1)--> |
111 | @if (isset($user->workers[0]->id)) | 115 | @if (isset($user->workers[0]->id)) |
112 | <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a> | 116 | <a href="{{ route('admin.worker-profile-edit', ['worker' => $user->workers[0]->id]) }}">Изменить</a> |
113 | 117 | ||
114 | @endif | 118 | @endif |
115 | <!--endif--> | 119 | <!--endif--> |
116 | </td> | 120 | </td> |
117 | <!--<td class="px-4 py-3 text-sm"> | 121 | <!--<td class="px-4 py-3 text-sm"> |
118 | @if ($user->id > 1) | 122 | @if ($user->id > 1) |
119 | <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> | 123 | <input type="checkbox" class="checkban" value="{{$user->id}}" name="ban_{{$user->id}}" {{ ($user->is_ban) ? "checked" : "" }}/> |
120 | @endif | 124 | @endif |
121 | </td>--> | 125 | </td>--> |
122 | </tr> | 126 | </tr> |
123 | @endforeach | 127 | @endforeach |
124 | </tbody> | 128 | </tbody> |
125 | </table> | 129 | </table> |
126 | </div> | 130 | </div> |
127 | 131 | ||
128 | <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> | 132 | <div class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800"> |
129 | <?=$users->appends($_GET)->links('admin.pagginate'); ?> | 133 | <?=$users->appends($_GET)->links('admin.pagginate'); ?> |
130 | </div> | 134 | </div> |
131 | 135 | ||
132 | 136 | ||
133 | <!--<div | 137 | <!--<div |
134 | class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800" | 138 | class="grid px-4 py-3 text-xs font-semibold tracking-wide text-gray-500 uppercase border-t dark:border-gray-700 bg-gray-50 sm:grid-cols-9 dark:text-gray-400 dark:bg-gray-800" |
135 | > | 139 | > |
136 | <span class="flex items-center col-span-3"> | 140 | <span class="flex items-center col-span-3"> |
137 | Showing 21-30 of 100 | 141 | Showing 21-30 of 100 |
138 | </span> | 142 | </span> |
139 | <span class="col-span-2"></span> | 143 | <span class="col-span-2"></span> |
140 | 144 | ||
141 | <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> | 145 | <span class="flex col-span-4 mt-2 sm:mt-auto sm:justify-end"> |
142 | <nav aria-label="Table navigation"> | 146 | <nav aria-label="Table navigation"> |
143 | <ul class="inline-flex items-center"> | 147 | <ul class="inline-flex items-center"> |
144 | <li> | 148 | <li> |
145 | <button | 149 | <button |
146 | class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" | 150 | class="px-3 py-1 rounded-md rounded-l-lg focus:outline-none focus:shadow-outline-purple" |
147 | aria-label="Previous" | 151 | aria-label="Previous" |
148 | > | 152 | > |
149 | <svg | 153 | <svg |
150 | aria-hidden="true" | 154 | aria-hidden="true" |
151 | class="w-4 h-4 fill-current" | 155 | class="w-4 h-4 fill-current" |
152 | viewBox="0 0 20 20" | 156 | viewBox="0 0 20 20" |
153 | > | 157 | > |
154 | <path | 158 | <path |
155 | d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" | 159 | d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z" |
156 | clip-rule="evenodd" | 160 | clip-rule="evenodd" |
157 | fill-rule="evenodd" | 161 | fill-rule="evenodd" |
158 | ></path> | 162 | ></path> |
159 | </svg> | 163 | </svg> |
160 | </button> | 164 | </button> |
161 | </li> | 165 | </li> |
162 | <li> | 166 | <li> |
163 | <button | 167 | <button |
164 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" | 168 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" |
165 | > | 169 | > |
166 | 1 | 170 | 1 |
167 | </button> | 171 | </button> |
168 | </li> | 172 | </li> |
169 | <li> | 173 | <li> |
170 | <button | 174 | <button |
171 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" | 175 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" |
172 | > | 176 | > |
173 | 2 | 177 | 2 |
174 | </button> | 178 | </button> |
175 | </li> | 179 | </li> |
176 | <li> | 180 | <li> |
177 | <button | 181 | <button |
178 | class="px-3 py-1 text-white transition-colors duration-150 bg-purple-600 border border-r-0 border-purple-600 rounded-md focus:outline-none focus:shadow-outline-purple" | 182 | class="px-3 py-1 text-white transition-colors duration-150 bg-purple-600 border border-r-0 border-purple-600 rounded-md focus:outline-none focus:shadow-outline-purple" |
179 | > | 183 | > |
180 | 3 | 184 | 3 |
181 | </button> | 185 | </button> |
182 | </li> | 186 | </li> |
183 | <li> | 187 | <li> |
184 | <button | 188 | <button |
185 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" | 189 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" |
186 | > | 190 | > |
187 | 4 | 191 | 4 |
188 | </button> | 192 | </button> |
189 | </li> | 193 | </li> |
190 | <li> | 194 | <li> |
191 | <span class="px-3 py-1">...</span> | 195 | <span class="px-3 py-1">...</span> |
192 | </li> | 196 | </li> |
193 | <li> | 197 | <li> |
194 | <button | 198 | <button |
195 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" | 199 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" |
196 | > | 200 | > |
197 | 8 | 201 | 8 |
198 | </button> | 202 | </button> |
199 | </li> | 203 | </li> |
200 | <li> | 204 | <li> |
201 | <button | 205 | <button |
202 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" | 206 | class="px-3 py-1 rounded-md focus:outline-none focus:shadow-outline-purple" |
203 | > | 207 | > |
204 | 9 | 208 | 9 |
205 | </button> | 209 | </button> |
206 | </li> | 210 | </li> |
207 | <li> | 211 | <li> |
208 | <button | 212 | <button |
209 | class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" | 213 | class="px-3 py-1 rounded-md rounded-r-lg focus:outline-none focus:shadow-outline-purple" |
210 | aria-label="Next" | 214 | aria-label="Next" |
211 | > | 215 | > |
212 | <svg | 216 | <svg |
213 | class="w-4 h-4 fill-current" | 217 | class="w-4 h-4 fill-current" |
214 | aria-hidden="true" | 218 | aria-hidden="true" |
215 | viewBox="0 0 20 20" | 219 | viewBox="0 0 20 20" |
216 | > | 220 | > |
217 | <path | 221 | <path |
218 | d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" | 222 | d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z" |
219 | clip-rule="evenodd" | 223 | clip-rule="evenodd" |
220 | fill-rule="evenodd" | 224 | fill-rule="evenodd" |
221 | ></path> | 225 | ></path> |
222 | </svg> | 226 | </svg> |
223 | </button> | 227 | </button> |
224 | </li> | 228 | </li> |
225 | </ul> | 229 | </ul> |
226 | </nav> | 230 | </nav> |
227 | </span> | 231 | </span> |
228 | </div>--> | 232 | </div>--> |
229 | </div> | 233 | </div> |
230 | 234 | ||
231 | <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> | 235 | <?//=$users->appends($_GET)->links('catalogs.paginate'); ?> |
232 | 236 | ||
233 | 237 | ||
234 | @endsection | 238 | @endsection |
235 | 239 |