feat: 第五阶段办公协同/统计报表/知识库模块
- 新增3个migration(9张表): office(6表)/report(1表)/kb(2表) - 新增9个Model + 9个Controller - 新增43条API路由(总计305条) - 新增3个前端API模块 + 10个管理页面 - 迁移运行通过, vite build验证通过
This commit is contained in:
@@ -55,6 +55,15 @@ 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;
|
||||
use App\Http\Controllers\Admin\Office\ApprovalTemplateController;
|
||||
use App\Http\Controllers\Admin\Office\ApprovalController;
|
||||
use App\Http\Controllers\Admin\Office\AnnouncementController;
|
||||
use App\Http\Controllers\Admin\Office\HandoverController;
|
||||
use App\Http\Controllers\Admin\Office\NotificationController;
|
||||
use App\Http\Controllers\Admin\Report\ReportController;
|
||||
use App\Http\Controllers\Admin\Report\ReportExportController;
|
||||
use App\Http\Controllers\Admin\Kb\KbCategoryController;
|
||||
use App\Http\Controllers\Admin\Kb\KbArticleController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -308,4 +317,55 @@ Route::middleware(['auth:sanctum', 'store', 'oplog'])->group(function () {
|
||||
Route::put('salaries/{salaryRecord}/confirm', [SalaryRecordController::class, 'confirm']);
|
||||
Route::put('salaries/{salaryRecord}/pay', [SalaryRecordController::class, 'pay']);
|
||||
});
|
||||
|
||||
// --- 办公协同模块 ---
|
||||
Route::prefix('office')->group(function () {
|
||||
// 审批模板
|
||||
Route::apiResource('approval-templates', ApprovalTemplateController::class);
|
||||
|
||||
// 审批管理
|
||||
Route::apiResource('approvals', ApprovalController::class)->except(['update']);
|
||||
Route::put('approvals/{approval}/approve', [ApprovalController::class, 'approve']);
|
||||
Route::put('approvals/{approval}/reject', [ApprovalController::class, 'reject']);
|
||||
Route::put('approvals/{approval}/withdraw', [ApprovalController::class, 'withdraw']);
|
||||
|
||||
// 公告管理
|
||||
Route::apiResource('announcements', AnnouncementController::class);
|
||||
Route::put('announcements/{announcement}/publish', [AnnouncementController::class, 'publish']);
|
||||
|
||||
// 交接班
|
||||
Route::get('handovers', [HandoverController::class, 'index']);
|
||||
Route::post('handovers', [HandoverController::class, 'store']);
|
||||
Route::get('handovers/{handover}', [HandoverController::class, 'show']);
|
||||
Route::put('handovers/{handover}/confirm', [HandoverController::class, 'confirm']);
|
||||
|
||||
// 消息通知
|
||||
Route::get('notifications', [NotificationController::class, 'index']);
|
||||
Route::put('notifications/{notification}/read', [NotificationController::class, 'markRead']);
|
||||
Route::put('notifications/read-all', [NotificationController::class, 'markAllRead']);
|
||||
});
|
||||
|
||||
// --- 统计报表模块 ---
|
||||
Route::prefix('report')->group(function () {
|
||||
// 聚合报表
|
||||
Route::get('overview', [ReportController::class, 'overview']);
|
||||
Route::get('revenue', [ReportController::class, 'revenue']);
|
||||
Route::get('occupancy', [ReportController::class, 'occupancy']);
|
||||
Route::get('crm-conversion', [ReportController::class, 'crmConversion']);
|
||||
|
||||
// 导出记录
|
||||
Route::get('exports', [ReportExportController::class, 'index']);
|
||||
Route::post('exports', [ReportExportController::class, 'store']);
|
||||
});
|
||||
|
||||
// --- 知识库模块 ---
|
||||
Route::prefix('kb')->group(function () {
|
||||
// 知识分类
|
||||
Route::apiResource('categories', KbCategoryController::class);
|
||||
|
||||
// 知识文章
|
||||
Route::apiResource('articles', KbArticleController::class);
|
||||
Route::put('articles/{kbArticle}/publish', [KbArticleController::class, 'publish']);
|
||||
Route::put('articles/{kbArticle}/offline', [KbArticleController::class, 'offline']);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user