clqms-be/app/Views/v2/requests/requests_index.php
mahdahar a94df3b5f7 **feat: migrate to v2 frontend with Alpine.js pattern**
- Introduce v2 views directory with Alpine.js-based UI components
- Add AuthV2 controller for v2 authentication flow
- Update PagesController for v2 routing
- Refactor ValueSet module with v2 dialogs and nested CRUD views
- Add organization management views (accounts, departments, disciplines, sites, workstations)
- Add specimen management views (containers, preparations)
- Add master views for tests and valuesets
- Migrate patient views to v2 pattern
- Update Routes and Exceptions config for v2 support
- Enhance CORS configuration
- Clean up legacy files (check_db.php, llms.txt, sanity.php, old views)
- Update agent workflow patterns for PHP Alpine.js
2025-12-30 14:30:35 +07:00

131 lines
4.8 KiB
PHP

<?= $this->extend("v2/layout/main_layout"); ?>
<?= $this->section("content") ?>
<div class="w-full space-y-6">
<!-- Page Header -->
<div class="card-glass p-6 animate-fadeIn">
<div class="flex items-center gap-4">
<div class="w-14 h-14 rounded-2xl bg-gradient-to-br from-blue-600 to-blue-900 flex items-center justify-center shadow-lg">
<i class="fa-solid fa-flask text-2xl text-white"></i>
</div>
<div>
<h2 class="text-2xl font-bold" style="color: rgb(var(--color-text));">Lab Requests</h2>
<p class="text-sm" style="color: rgb(var(--color-text-muted));">Manage laboratory test requests and orders</p>
</div>
</div>
</div>
<!-- Quick Stats -->
<div class="grid grid-cols-1 md:grid-cols-4 gap-4">
<div class="card group hover:shadow-xl transition-all duration-300">
<div class="p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium mb-1" style="color: rgb(var(--color-text-muted));">Pending</p>
<p class="text-3xl font-bold text-amber-500">34</p>
</div>
<div class="w-14 h-14 rounded-2xl bg-amber-500/10 flex items-center justify-center group-hover:scale-110 transition-transform">
<i class="fa-solid fa-clock text-amber-500 text-2xl"></i>
</div>
</div>
</div>
</div>
<div class="card group hover:shadow-xl transition-all duration-300">
<div class="p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium mb-1" style="color: rgb(var(--color-text-muted));">In Progress</p>
<p class="text-3xl font-bold text-blue-500">18</p>
</div>
<div class="w-14 h-14 rounded-2xl bg-blue-500/10 flex items-center justify-center group-hover:scale-110 transition-transform">
<i class="fa-solid fa-spinner text-blue-500 text-2xl"></i>
</div>
</div>
</div>
</div>
<div class="card group hover:shadow-xl transition-all duration-300">
<div class="p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium mb-1" style="color: rgb(var(--color-text-muted));">Completed</p>
<p class="text-3xl font-bold text-emerald-500">156</p>
</div>
<div class="w-14 h-14 rounded-2xl bg-emerald-500/10 flex items-center justify-center group-hover:scale-110 transition-transform">
<i class="fa-solid fa-check-circle text-emerald-500 text-2xl"></i>
</div>
</div>
</div>
</div>
<div class="card group hover:shadow-xl transition-all duration-300">
<div class="p-6">
<div class="flex items-center justify-between">
<div>
<p class="text-sm font-medium mb-1" style="color: rgb(var(--color-text-muted));">Rejected</p>
<p class="text-3xl font-bold text-red-500">3</p>
</div>
<div class="w-14 h-14 rounded-2xl bg-red-500/10 flex items-center justify-center group-hover:scale-110 transition-transform">
<i class="fa-solid fa-times-circle text-red-500 text-2xl"></i>
</div>
</div>
</div>
</div>
</div>
<!-- Content Card -->
<div class="card">
<div class="p-6">
<div class="flex items-center justify-between mb-6">
<div class="flex items-center gap-3">
<input
type="text"
placeholder="Search requests..."
class="input input-bordered w-64"
/>
<select class="select select-bordered">
<option value="">All Status</option>
<option value="pending">Pending</option>
<option value="in-progress">In Progress</option>
<option value="completed">Completed</option>
<option value="rejected">Rejected</option>
</select>
</div>
<button class="btn btn-primary">
<i class="fa-solid fa-plus mr-2"></i>
New Request
</button>
</div>
<!-- Table Placeholder -->
<div class="overflow-x-auto">
<table class="table w-full">
<thead>
<tr>
<th>Request ID</th>
<th>Patient</th>
<th>Test Type</th>
<th>Priority</th>
<th>Status</th>
<th>Date</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="7" class="text-center py-12" style="color: rgb(var(--color-text-muted));">
<i class="fa-solid fa-database text-4xl mb-3 opacity-30"></i>
<p>No data available. Connect to API to load lab requests.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<?= $this->endSection() ?>