- {{ summary.paid_count }}
+
+
+ {{ summary.status === 'open' ? 'Belum Dibayar' : 'Sudah Dibayar' }}
+
-
- slip gaji lunas
+
+ {{ summary.status === 'open' ? 'Akan dibayar otomatis saat periode ditutup' : 'Telah dibayarkan oleh sistem' }}
@@ -195,23 +213,35 @@ watch(
-
+
-
-
- Belum ada periode gaji. Periode akan dibuat otomatis setiap awal bulan.
-
-
+
+
+
+ Data tidak ditemukan
+
+ Silakan lakukan pencarian untuk menemukan data yang Anda
+ cari.
+
+
+
+
-
-
-
-
+
diff --git a/resources/js/types/payroll.ts b/resources/js/types/payroll.ts
index cf45745..91b5593 100644
--- a/resources/js/types/payroll.ts
+++ b/resources/js/types/payroll.ts
@@ -8,6 +8,18 @@ export type PayrollPeriodItem = {
closed_at_formatted: string | null;
};
+export type PayrollAdjustmentItem = {
+ id: number;
+ payroll_id: number;
+ type: string;
+ type_label: string;
+ amount: number;
+ amount_formatted: string;
+ description: string;
+ created_at_formatted: string;
+ created_by_name: string;
+};
+
export type PayrollListItem = {
id: number;
employee_id: number;
@@ -25,13 +37,15 @@ export type PayrollListItem = {
paid_at_formatted: string | null;
can_pay: boolean;
can_adjust: boolean;
+ adjustments?: PayrollAdjustmentItem[];
};
export type PayrollSummary = {
- total_total_amount: number;
- total_total_amount_formatted: string;
- unpaid_count: number;
- paid_count: number;
+ total_amount: number;
+ total_amount_formatted: string;
+ total_count: number;
+ status: string;
+ status_label: string;
};
export type PayrollAdjustmentFormData = {
diff --git a/routes/web.php b/routes/web.php
index a38e914..db4aa03 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -403,17 +403,17 @@
->group(function () {
Route::get('/', [PayrollPeriodController::class, 'index'])->name('index');
- Route::post('periods/{payrollPeriod}/close', [PayrollPeriodController::class, 'close'])
- ->middleware('permission:'.Permission::PAYROLL_CLOSE->value)
- ->name('periods.close');
-
- Route::post('{payroll}/pay', [PayrollController::class, 'pay'])
- ->middleware('permission:'.Permission::PAYROLL_PAY->value)
- ->name('pay');
-
Route::post('{payroll}/adjustments', [PayrollController::class, 'storeAdjustment'])
->middleware('permission:'.Permission::PAYROLL_ADJUST->value)
->name('adjustments.store');
+
+ Route::put('adjustments/{payrollAdjustment}', [PayrollController::class, 'updateAdjustment'])
+ ->middleware('permission:'.Permission::PAYROLL_ADJUST->value)
+ ->name('adjustments.update');
+
+ Route::delete('adjustments/{payrollAdjustment}', [PayrollController::class, 'destroyAdjustment'])
+ ->middleware('permission:'.Permission::PAYROLL_ADJUST->value)
+ ->name('adjustments.destroy');
});
});