config('admin.route.domain'), 'prefix' => config('admin.route.prefix'), 'middleware' => config('admin.route.middleware'), 'as' => 'admin.', ], function (Router $router) { $router->post('login', [AuthController::class, 'login']); $router->put('user_setting', [AuthController::class, 'saveUserSetting']); $router->resource('index', \App\Admin\Controllers\HomeController::class); $router->get('dashboard', [\App\Admin\Controllers\HomeController::class, 'index'])->name('home'); /* |-------------------------------------------------------------------------- | 门店管理 |-------------------------------------------------------------------------- */ $router->group([ 'prefix' => 'store', 'as' => 'store.', ], function (Router $router) { // 门店管理 $router->resource('stores', StoreController::class); // 店员管理 $router->resource('employees', StoreEmployeeController::class)->only(['index', 'store', 'destroy']); // 彩票机管理 $router->resource('devices', DeviceController::class); // 门店分类 $router->resource('categories', BaseKeywordController::class); // 门店等级 $router->resource('levels', BaseKeywordController::class); // 经营类别 $router->resource('business', BaseKeywordController::class); // 彩种类型 $router->resource('lottery-types', BaseKeywordController::class); // $router->resource('store-profit-ratio-logs', StoreProfitRatioLogController::class); }); /* |-------------------------------------------------------------------------- | 人事管理 |-------------------------------------------------------------------------- */ $router->group([ 'prefix' => 'hr', 'as' => 'hr.', ], function (Router $router) { // 员工管理 $router->resource('employees', EmployeeController::class); // 员工离职 $router->post('employees/{id}/leave', [EmployeeController::class, 'leave'])->name('employees.leave'); // 职位管理 $router->resource('jobs', BaseKeywordController::class); // 休息管理 $router->resource('rests', RestController::class)->only(['index', 'create', 'store', 'destroy']); // 打卡情况 $router->resource('signs', SignController::class)->only(['index', 'show', 'destroy']); // 补卡申请 $router->resource('repairs', SignRepairController::class); // 请假申请 $router->resource('holiday', HolidayController::class); // 加班申请 $router->resource('overtime', OvertimeController::class); // 出差报备 $router->resource('business', OfficalBusinessController::class); // 升职申请 $router->resource('promotion', PromotionController::class); }); /* |-------------------------------------------------------------------------- | 投诉意见 |-------------------------------------------------------------------------- */ $router->group([ 'prefix' => 'complaint', 'as' => 'complaint.', ], function (Router $router) { // 举报投诉 $router->resource('complaints', ComplaintController::class)->only(['index', 'show']); $router->post('complaints/{complaint}/start', [ComplaintController::class, 'start'])->name('complaints.start'); $router->post('complaints/{complaint}/complete', [ComplaintController::class, 'complete'])->name('complaints.complete'); // 意见箱 $router->resource('feedback', FeedbackController::class)->only(['index', 'destroy']); }); /* |-------------------------------------------------------------------------- | 财务管理 |-------------------------------------------------------------------------- */ $router->group([ 'prefix' => 'finance', 'as' => 'finance.', ], function (Router $router) { // 上报数据 $router->resource('ledgers', LedgerController::class); $router->post('ledgers/{ledger}/ledger-amount', [LedgerController::class, 'updateLedgerAmount'])->name('ledgers.update_ledger_amount'); // 佣金收入 $router->get('commission-incomes', [CommissionIncomeController::class, 'index'])->name('commission_incomes.index'); // 收支报销 $router->resource('reimbursements', ReimbursementController::class); // 销售统计 $router->get('sales-statistics', [SalesStatisticController::class, 'index'])->name('sales_statistics.index'); // 门店统计 $router->get('store-statistics', [StoreStatisticController::class, 'index'])->name('store_statistics.index'); // 店长提成 $router->resource('store-master-commissions', StoreMasterCommissionController::class)->names('store_master_commissions'); }); /* |-------------------------------------------------------------------------- | 任务计划 |-------------------------------------------------------------------------- */ $router->group([ 'prefix' => 'plan', 'as' => 'plan.', ], function (Router $router) { // 任务计划 $router->resource('plans', PlanController::class); $router->post('/plans/{plan}/publish', [PlanController::class, 'publish'])->name('plans.publish'); $router->post('/tasks', [TaskController::class, 'store'])->name('plans.task_create'); $router->get('/tasks/{task}', [TaskController::class, 'show'])->name('plans.task_view'); $router->put('/tasks/{task}', [TaskController::class, 'update'])->name('plans.task_update'); $router->delete('/tasks/{task}', [TaskController::class, 'destroy'])->name('plans.task_delete'); $router->get('/calendars', [CalendarController::class, 'index'])->name('calendars.index'); }); /* |-------------------------------------------------------------------------- | 系统管理 |-------------------------------------------------------------------------- */ $router->group([ 'prefix' => 'system', 'as' => 'system.', ], function (Router $router) { // 账号管理 $router->resource('admin_users', AdminUserController::class); $router->post('/admin_users/{admin_user}/change-password', [AdminUserController::class, 'changePassword'])->name('admin_users.change_password'); // 角色管理 $router->resource('admin_roles', AdminRoleController::class); $router->post('admin_roles/{admin_role}/menus', [AdminRoleController::class, 'saveMenus'])->name('admin_roles.set_menus'); $router->post('admin_roles/{admin_role}/permissions', [AdminRoleController::class, 'savePermissions'])->name('admin_roles.set_permissions'); // 权限管理 $router->resource('admin_permissions', AdminPermissionController::class); // 菜单管理 $router->resource('admin_menus', AdminMenuController::class); // 系统设置 $router->resource('settings', \App\Admin\Controllers\SettingController::class); // 数据字典 $router->resource('keywords', KeywordController::class); $router->resource('workflows', WorkflowController::class); }); $router->resource('articles', \App\Admin\Controllers\ArticleController::class); $router->resource('ads', \App\Admin\Controllers\AdController::class); /* |-------------------------------------------------------------------------- | 培训管理 |-------------------------------------------------------------------------- */ $router->group(['prefix' => 'train', 'as' => 'train.'], function (Router $router) { // 课件管理 $router->resource('books', \App\Admin\Controllers\Train\BookController::class); // 题库管理 $router->resource('questions', \App\Admin\Controllers\Train\QuestionController::class); // 考试管理 $router->post('examinations/{id}/publish', [\App\Admin\Controllers\Train\ExaminationController::class, 'publish'])->name('examinations.publish'); $router->post('examinations/{id}/cancel', [\App\Admin\Controllers\Train\ExaminationController::class, 'cancel'])->name('examinations.cancel'); $router->resource('examinations', \App\Admin\Controllers\Train\ExaminationController::class); $router->resource('papers', \App\Admin\Controllers\Train\PaperController::class)->only(['index', 'show']); }); $router->post('agreement/download', [AgreementController::class, 'download'])->name('agreement.download'); $router->resource('agreement', AgreementController::class); $router->resource('app-versions', AppVersionController::class)->names('app_versions'); // 修改上传 $router->any('upload_file', [\App\Admin\Controllers\IndexController::class, 'uploadFile']); $router->any('upload_image', [\App\Admin\Controllers\IndexController::class, 'uploadImage']); $router->any('upload_rich', [\App\Admin\Controllers\IndexController::class, 'uploadRich']); $router->post('start_chunk_upload_file', [\App\Admin\Controllers\IndexController::class, 'startChunk']); $router->post('save_chunk_upload_file', [\App\Admin\Controllers\IndexController::class, 'saveChunk']); $router->post('finish_chunk_upload_file', [\App\Admin\Controllers\IndexController::class, 'finishChunk']); $router->group([ 'prefix' => 'api', ], function (Router $router) { $router->get('stores', [StoreController::class, 'shareList']); $router->get('employees', [EmployeeController::class, 'shareList']); $router->get('employee-sign-logs', [SignLogController::class, 'shareList']); $router->get('keywords/tree-list', [KeywordController::class, 'getTreeList']); $router->get('workflow/value-options', [WorkflowController::class, 'getValueOptions']); $router->post('workflow/apply', [WorkflowController::class, 'apply']); $router->post('workflow/cancel', [WorkflowController::class, 'cancel']); $router->post('workflow/success', [WorkflowController::class, 'success']); $router->post('workflow/fail', [WorkflowController::class, 'fail']); $router->get('workflow/logs', [WorkflowController::class, 'logs']); $router->get('tasks', [TaskController::class, 'shareList']); $router->get('train/questions', [\App\Admin\Controllers\Train\QuestionController::class, 'shareList']); //---------------------------------- // 驾驶舱数据统计 //---------------------------------- // 基础统计 $router->get('cockpit/basic', [CockpitController::class, 'basic']); // 销售走势 $router->get('cockpit/sales-trend', [CockpitController::class, 'salesTrend']); // 彩种销售走势 $router->get('cockpit/lottery-sales-trend', [CockpitController::class, 'lotterySalesTrend']); // 门店销量排名 $router->get('cockpit/store-sales-ranking', [CockpitController::class, 'storeSalesRanking']); // 门店数量分布(按省份) $router->get('cockpit/store-number-distribution', [CockpitController::class, 'storeNumberDistribution']); // 门店分布(按城市) $router->get('cockpit/store-distribution', [CockpitController::class, 'storeDistribution']); // 门店分类 $router->get('cockpit/store-category', [CockpitController::class, 'storeCategory']); // 年度目标 $router->get('cockpit/yearly-goals', [CockpitController::class, 'yearlyGoals']); }); });