base commit
This commit is contained in:
9
resources/css/app.css
Normal file
9
resources/css/app.css
Normal file
@@ -0,0 +1,9 @@
|
||||
@import 'tailwindcss';
|
||||
|
||||
@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
|
||||
@source '../../storage/framework/views/*.php';
|
||||
|
||||
@theme {
|
||||
--font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
||||
'Segoe UI Symbol', 'Noto Color Emoji';
|
||||
}
|
||||
1
resources/js/app.js
Normal file
1
resources/js/app.js
Normal file
@@ -0,0 +1 @@
|
||||
//
|
||||
46
resources/views/exports/employee-list.blade.php
Normal file
46
resources/views/exports/employee-list.blade.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Employee List</title>
|
||||
<style>
|
||||
body { font-family: DejaVu Sans, sans-serif; font-size: 11px; color: #1e293b; }
|
||||
h1 { color: #1d4ed8; }
|
||||
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
|
||||
th, td { border: 1px solid #e2e8f0; padding: 6px 8px; text-align: left; }
|
||||
th { background: #f1f5f9; }
|
||||
.muted { color: #64748b; font-size: 10px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Employee Directory</h1>
|
||||
<p class="muted">Generated {{ $generatedAt->format('Y-m-d H:i') }} · {{ config('hr.company_name') }}</p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>#</th>
|
||||
<th>Name</th>
|
||||
<th>Department</th>
|
||||
<th>Position</th>
|
||||
<th>Shift</th>
|
||||
<th>Status</th>
|
||||
<th>Phone</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($employees as $employee)
|
||||
<tr>
|
||||
<td>{{ $employee->employee_number }}</td>
|
||||
<td>{{ $employee->full_name }}</td>
|
||||
<td>{{ $employee->department?->name }}</td>
|
||||
<td>{{ $employee->position?->name }}</td>
|
||||
<td>{{ $employee->shift?->name }}</td>
|
||||
<td>{{ $employee->employment_status->label() }}</td>
|
||||
<td>{{ $employee->phone }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
43
resources/views/exports/employee-profile.blade.php
Normal file
43
resources/views/exports/employee-profile.blade.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Employee Profile — {{ $employee->full_name }}</title>
|
||||
<style>
|
||||
body { font-family: DejaVu Sans, sans-serif; font-size: 12px; color: #1e293b; }
|
||||
h1 { color: #1d4ed8; margin-bottom: 4px; }
|
||||
.muted { color: #64748b; }
|
||||
.grid { width: 100%; margin-top: 16px; }
|
||||
.grid td { padding: 6px 8px; vertical-align: top; }
|
||||
.label { font-weight: bold; width: 140px; }
|
||||
.badge { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #dbeafe; color: #1d4ed8; }
|
||||
.stats { margin-top: 20px; }
|
||||
.stats td { border: 1px solid #e2e8f0; text-align: center; padding: 10px; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>{{ $employee->full_name }}</h1>
|
||||
<p class="muted">#{{ $employee->employee_number }} · {{ config('hr.company_name') }}</p>
|
||||
|
||||
<table class="grid">
|
||||
<tr><td class="label">Department</td><td>{{ $employee->department?->name }}</td></tr>
|
||||
<tr><td class="label">Position</td><td>{{ $employee->position?->name }}</td></tr>
|
||||
<tr><td class="label">Shift</td><td>{{ $employee->shift?->name }}</td></tr>
|
||||
<tr><td class="label">Status</td><td><span class="badge">{{ $employee->employment_status->label() }}</span></td></tr>
|
||||
<tr><td class="label">Phone</td><td>{{ $employee->phone }}</td></tr>
|
||||
<tr><td class="label">Hire Date</td><td>{{ $employee->hire_date?->format('Y-m-d') }}</td></tr>
|
||||
@if ($employee->termination_date)
|
||||
<tr><td class="label">Termination</td><td>{{ $employee->termination_date->format('Y-m-d') }}</td></tr>
|
||||
@endif
|
||||
</table>
|
||||
|
||||
<table class="stats grid">
|
||||
<tr>
|
||||
<td><strong>Vacation Taken</strong><br>{{ $summary->vacationTaken }}</td>
|
||||
<td><strong>Remaining</strong><br>{{ $summary->vacationRemaining }}</td>
|
||||
<td><strong>Sick Leaves</strong><br>{{ $summary->sickLeaveCount }}</td>
|
||||
<td><strong>Reports</strong><br>{{ $summary->reportsCount }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
54
resources/views/exports/leave-summary.blade.php
Normal file
54
resources/views/exports/leave-summary.blade.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Leave Summary — {{ $employee->full_name }}</title>
|
||||
<style>
|
||||
body { font-family: DejaVu Sans, sans-serif; font-size: 12px; color: #1e293b; }
|
||||
h1, h2 { color: #1d4ed8; }
|
||||
table { width: 100%; border-collapse: collapse; margin: 12px 0 24px; }
|
||||
th, td { border: 1px solid #e2e8f0; padding: 6px 8px; text-align: left; }
|
||||
th { background: #f1f5f9; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Leave Summary</h1>
|
||||
<p>{{ $employee->full_name }} (#{{ $employee->employee_number }})</p>
|
||||
<p>Annual taken: {{ $summary->vacationTaken }} · Remaining: {{ $summary->vacationRemaining }} · Sick leaves: {{ $summary->sickLeaveCount }}</p>
|
||||
|
||||
<h2>Vacations</h2>
|
||||
<table>
|
||||
<thead><tr><th>Start</th><th>End</th><th>Days</th><th>Type</th><th>Status</th></tr></thead>
|
||||
<tbody>
|
||||
@forelse ($employee->vacations as $vacation)
|
||||
<tr>
|
||||
<td>{{ $vacation->start_date->format('Y-m-d') }}</td>
|
||||
<td>{{ $vacation->end_date->format('Y-m-d') }}</td>
|
||||
<td>{{ $vacation->days }}</td>
|
||||
<td>{{ $vacation->type->label() }}</td>
|
||||
<td>{{ $vacation->status->label() }}</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="5">No vacation records.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h2>Sick Leaves</h2>
|
||||
<table>
|
||||
<thead><tr><th>Start</th><th>End</th><th>Days</th><th>Institution</th></tr></thead>
|
||||
<tbody>
|
||||
@forelse ($employee->sickLeaves as $leave)
|
||||
<tr>
|
||||
<td>{{ $leave->start_date->format('Y-m-d') }}</td>
|
||||
<td>{{ $leave->end_date->format('Y-m-d') }}</td>
|
||||
<td>{{ $leave->days }}</td>
|
||||
<td>{{ $leave->medical_institution }}</td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="4">No sick leave records.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
223
resources/views/welcome.blade.php
Normal file
223
resources/views/welcome.blade.php
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user