Files
kartoteka/app/Http/Controllers/IndexController.php
brusnitsyn 2dfa45707c * связка таблицы архива с пациентами
* добавил разграничение карт по типам баз
* модель для хранения изменений статуса карт
* добавил окно с просмотром выдачи карты
* добавил фильтрацию вывода карт
2025-12-02 17:15:28 +09:00

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'
]),
]);
}
}