feat: 第四阶段财务与人事薪资模块

- 新增2个migration(11张表): finance(6表)/hr(5表)
- 新增11个Model + 11个Controller
- 新增50条API路由(总计262条)
- 新增2个前端API模块 + 10个管理页面
- 迁移运行通过, vite build验证通过
This commit is contained in:
li
2026-03-13 20:35:19 +08:00
parent e7d4d9b414
commit fb5e0daf1a
37 changed files with 3157 additions and 0 deletions
+61
View File
@@ -44,6 +44,17 @@ use App\Http\Controllers\Admin\Inventory\MaterialController;
use App\Http\Controllers\Admin\Inventory\PurchaseOrderController;
use App\Http\Controllers\Admin\Inventory\StockMovementController;
use App\Http\Controllers\Admin\Inventory\InventoryController;
use App\Http\Controllers\Admin\Finance\FinanceCategoryController;
use App\Http\Controllers\Admin\Finance\FinanceRecordController;
use App\Http\Controllers\Admin\Finance\CustomerAccountController;
use App\Http\Controllers\Admin\Finance\AccountTransactionController;
use App\Http\Controllers\Admin\Finance\PrepaidCardController;
use App\Http\Controllers\Admin\Finance\InvoiceController;
use App\Http\Controllers\Admin\Hr\EmployeeProfileController;
use App\Http\Controllers\Admin\Hr\ScheduleController;
use App\Http\Controllers\Admin\Hr\AttendanceRecordController;
use App\Http\Controllers\Admin\Hr\LeaveRequestController;
use App\Http\Controllers\Admin\Hr\SalaryRecordController;
/*
|--------------------------------------------------------------------------
@@ -247,4 +258,54 @@ Route::middleware(['auth:sanctum', 'store', 'oplog'])->group(function () {
// 库存查询
Route::get('inventories', [InventoryController::class, 'index']);
});
// --- 财务管理模块 ---
Route::prefix('finance')->group(function () {
// 收支分类
Route::apiResource('categories', FinanceCategoryController::class);
// 收支记录
Route::apiResource('records', FinanceRecordController::class);
Route::put('records/{financeRecord}/audit', [FinanceRecordController::class, 'audit']);
// 客户账户
Route::get('accounts', [CustomerAccountController::class, 'index']);
Route::get('accounts/{customerAccount}', [CustomerAccountController::class, 'show']);
Route::post('accounts/recharge', [CustomerAccountController::class, 'recharge']);
// 账户流水
Route::get('transactions', [AccountTransactionController::class, 'index']);
// 储值卡
Route::apiResource('prepaid-cards', PrepaidCardController::class);
// 发票管理
Route::apiResource('invoices', InvoiceController::class);
Route::put('invoices/{invoice}/issue', [InvoiceController::class, 'issue']);
});
// --- 人事薪资模块 ---
Route::prefix('hr')->group(function () {
// 员工档案
Route::apiResource('profiles', EmployeeProfileController::class);
// 排班管理
Route::get('schedules', [ScheduleController::class, 'index']);
Route::post('schedules', [ScheduleController::class, 'store']);
// 考勤管理
Route::get('attendances', [AttendanceRecordController::class, 'index']);
Route::post('attendances', [AttendanceRecordController::class, 'store']);
Route::post('attendances/clock-in', [AttendanceRecordController::class, 'clockIn']);
Route::post('attendances/clock-out', [AttendanceRecordController::class, 'clockOut']);
// 请假管理
Route::apiResource('leaves', LeaveRequestController::class);
Route::put('leaves/{leaveRequest}/audit', [LeaveRequestController::class, 'audit']);
// 工资管理
Route::apiResource('salaries', SalaryRecordController::class);
Route::put('salaries/{salaryRecord}/confirm', [SalaryRecordController::class, 'confirm']);
Route::put('salaries/{salaryRecord}/pay', [SalaryRecordController::class, 'pay']);
});
});