* добавил разграничение карт по типам баз * модель для хранения изменений статуса карт * добавил окно с просмотром выдачи карты * добавил фильтрацию вывода карт
43 lines
1.3 KiB
PHP
43 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Http\Resources\SI\SttMedicalHistoryResource;
|
|
use App\Models\SI\SttMedicalHistory;
|
|
use Illuminate\Http\Request;
|
|
use Inertia\Inertia;
|
|
|
|
class IndexController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$pageSize = $request->get('page_size', 15);
|
|
$searchText = $request->get('search', null);
|
|
$dateExtractFrom = $request->get('date_extract_from', null);
|
|
$dateExtractTo = $request->get('date_extract_to', null);
|
|
$viewType = $request->get('view_type', 'archive');
|
|
|
|
$cardsQuery = SttMedicalHistory::query();
|
|
|
|
if (!empty($searchText)) {
|
|
$cardsQuery = $cardsQuery->search($searchText);
|
|
}
|
|
|
|
if (!empty($dateExtractFrom)) {
|
|
$cardsQuery = $cardsQuery->whereDate('dateextract', '>=', $dateExtractFrom);
|
|
if (!empty($dateExtractTo)) {
|
|
$cardsQuery = $cardsQuery->whereDate('dateextract', '<=', $dateExtractTo);
|
|
}
|
|
}
|
|
|
|
$cards = SttMedicalHistoryResource::collection($cardsQuery->paginate($pageSize));
|
|
|
|
return Inertia::render('Home/Index', [
|
|
'cards' => $cards,
|
|
'filters' => $request->only([
|
|
'search', 'date_extract_from', 'date_extract_to', 'page_size', 'page', 'view_type'
|
|
]),
|
|
]);
|
|
}
|
|
}
|