This commit is contained in:
Saufi
2026-06-03 08:51:22 +08:00
commit a14d43fe34
347 changed files with 38197 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
@csrf
<div class="row g-3">
<div class="col-12 col-lg-3">
<label class="form-label" for="code">Kod</label>
<input id="code" name="code" class="form-control" value="{{ old('code', $position->code) }}" required>
</div>
<div class="col-12 col-lg-5">
<label class="form-label" for="name">Nama Jawatan</label>
<input id="name" name="name" class="form-control" value="{{ old('name', $position->name) }}" required>
</div>
<div class="col-12 col-lg-2">
<label class="form-label" for="scope">Skop</label>
<select id="scope" name="scope" class="form-select" required>
@foreach (['pusat' => 'Pusat', 'saluran' => 'Saluran', 'external' => 'External'] as $value => $label)
<option value="{{ $value }}" @selected(old('scope', $position->scope ?: 'pusat') === $value)>{{ $label }}</option>
@endforeach
</select>
</div>
<div class="col-12 col-lg-2">
<label class="form-label" for="sort_order">Susunan</label>
<input id="sort_order" name="sort_order" type="number" min="0" class="form-control" value="{{ old('sort_order', $position->sort_order ?? 0) }}">
</div>
<div class="col-12">
<div class="d-flex flex-wrap gap-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" id="is_public_applyable" name="is_public_applyable" @checked(old('is_public_applyable', $position->is_public_applyable))>
<label class="form-check-label" for="is_public_applyable">Boleh dipohon awam</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" id="is_assignable" name="is_assignable" @checked(old('is_assignable', $position->exists ? $position->is_assignable : true))>
<label class="form-check-label" for="is_assignable">Boleh assign</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" id="allows_dual_role" name="allows_dual_role" @checked(old('allows_dual_role', $position->allows_dual_role))>
<label class="form-check-label" for="allows_dual_role">Benarkan dual-role</label>
</div>
</div>
</div>
</div>
<div class="d-flex justify-content-end gap-2 mt-4">
<a href="{{ route('admin.setup.positions.index') }}" class="btn btn-outline-secondary">Batal</a>
<button class="btn btn-primary" type="submit"><i class="bi bi-save me-1"></i>Simpan</button>
</div>

View File

@@ -0,0 +1,7 @@
@extends('layouts.app')
@section('title', 'Tambah Jawatan')
@section('content')
<div class="page-heading"><div class="eyebrow">Setup</div><h1 class="h3 mb-0">Tambah Jawatan</h1></div>
@include('admin.setup._nav')
<div class="content-panel p-3 p-md-4"><form method="POST" action="{{ route('admin.setup.positions.store') }}">@include('admin.setup.positions._form')</form></div>
@endsection

View File

@@ -0,0 +1,7 @@
@extends('layouts.app')
@section('title', 'Edit Jawatan')
@section('content')
<div class="page-heading"><div class="eyebrow">Setup</div><h1 class="h3 mb-0">Edit Jawatan</h1></div>
@include('admin.setup._nav')
<div class="content-panel p-3 p-md-4"><form method="POST" action="{{ route('admin.setup.positions.update', $position) }}">@method('PUT') @include('admin.setup.positions._form')</form></div>
@endsection

View File

@@ -0,0 +1,42 @@
@extends('layouts.app')
@section('title', 'Jawatan')
@section('content')
<div class="page-heading">
<div class="eyebrow">Setup</div>
<div class="d-flex justify-content-between flex-column flex-lg-row gap-3">
<div><h1 class="h3 mb-1">Jawatan</h1><p class="text-secondary mb-0">Tetapan jawatan dan ciri assignment.</p></div>
<a href="{{ route('admin.setup.positions.create') }}" class="btn btn-primary"><i class="bi bi-plus-circle me-1"></i>Tambah</a>
</div>
</div>
@include('admin.setup._nav')
<div class="content-panel p-3 p-md-4">
<div class="table-responsive">
<table class="table table-hover align-middle">
<thead><tr><x-sort-th column="code" label="Kod" /><x-sort-th column="name" label="Nama" /><x-sort-th column="scope" label="Skop" /><th>Awam</th><th>Dual-role</th><th class="text-end no-sort">Tindakan</th></tr></thead>
<tbody>
@forelse ($positions as $position)
<tr>
<td class="fw-semibold">{{ $position->code }}</td>
<td>{{ $position->name }}</td>
<td><span class="badge text-bg-light border">{{ $position->scope }}</span></td>
<td>{{ $position->is_public_applyable ? 'Ya' : 'Tidak' }}</td>
<td>{{ $position->allows_dual_role ? 'Ya' : 'Tidak' }}</td>
<td class="text-end">
<a href="{{ route('admin.setup.positions.edit', $position) }}" class="btn btn-sm btn-outline-primary">Edit</a>
<form method="POST" action="{{ route('admin.setup.positions.destroy', $position) }}" class="d-inline" data-confirm>
@csrf @method('DELETE')
<button class="btn btn-sm btn-outline-danger" type="submit">Padam</button>
</form>
</td>
</tr>
@empty
<tr><td colspan="6" class="text-center text-secondary py-4">Tiada rekod.</td></tr>
@endforelse
</tbody>
</table>
</div>
{{ $positions->links() }}
</div>
@endsection