fix: 修复页面间状态丢失问题并优化选择页面

- 修复选择审批人后再选择抄送人导致状态丢失的问题
- 使用独立的 sessionStorage key (selectedApprovers, selectedCc)
- 组件每次挂载时从 sessionStorage 恢复状态
- 只在提交/保存成功后清除 sessionStorage
- 优化人员选择页面布局和样式
- 更新 CLAUDE.md 文档记录问题和解决方案

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
root
2026-02-25 15:22:12 +08:00
parent 2d39357cc3
commit 09d4cb8054
51 changed files with 2944 additions and 647 deletions
+25 -23
View File
@@ -4,35 +4,37 @@ use Webman\Route;
// API 路由
Route::group('/api/v1', function () {
// 认证路由
Route::post('/auth/login', [app\controller\AuthController::class, 'login']);
Route::post('/auth/feishu-login', [app\controller\AuthController::class, 'feishuLogin']);
// 认证路由(不需要认证)
Route::post('/auth/login', [App\Controller\AuthController::class, 'login']);
Route::post('/auth/feishu-login', [App\Controller\AuthController::class, 'feishuLogin']);
// 用户路由(需要认证)
Route::group(function () {
Route::get('/user/info', [app\controller\UserController::class, 'info']);
Route::get('/user/menu', [app\controller\UserController::class, 'menu']);
Route::get('/user/companies', [app\controller\UserController::class, 'companies']);
Route::post('/user/switch-company', [app\controller\UserController::class, 'switchCompany']);
Route::get('/user/info', [App\Controller\UserController::class, 'info']);
Route::get('/user/menu', [App\Controller\UserController::class, 'menu']);
Route::get('/user/companies', [App\Controller\UserController::class, 'companies']);
Route::get('/user/list', [App\Controller\UserController::class, 'list']);
Route::post('/user/switch-company', [App\Controller\UserController::class, 'switchCompany']);
});
// 审批路由(待实现)
// Route::group(function () {
// Route::get('/approval/list', [app\controller\ApprovalController::class, 'list']);
// Route::get('/approval/detail/{id}', [app\controller\ApprovalController::class, 'detail']);
// Route::post('/approval/submit', [app\controller\ApprovalController::class, 'submit']);
// Route::post('/approval/approve/{id}', [app\controller\ApprovalController::class, 'approve']);
// Route::post('/approval/reject/{id}', [app\controller\ApprovalController::class, 'reject']);
// Route::post('/approval/cancel/{id}', [app\controller\ApprovalController::class, 'cancel']);
// });
// 审批路由(需要认证)
Route::group(function () {
Route::get('/approval/list', [App\Controller\ApprovalController::class, 'list']);
Route::get('/approval/detail/{id}', [App\Controller\ApprovalController::class, 'detail']);
Route::post('/approval/approve/{id}', [App\Controller\ApprovalController::class, 'approve']);
Route::post('/approval/reject/{id}', [App\Controller\ApprovalController::class, 'reject']);
Route::post('/approval/cancel/{id}', [App\Controller\ApprovalController::class, 'cancel']);
});
// 出差审批路由(待实现)
// Route::group(function () {
// Route::get('/business-trip/list', [app\controller\BusinessTripController::class, 'list']);
// Route::get('/business-trip/detail/{id}', [app\controller\BusinessTripController::class, 'detail']);
// Route::post('/business-trip/apply', [app\controller\BusinessTripController::class, 'apply']);
// Route::put('/business-trip/{id}', [app\controller\BusinessTripController::class, 'update']);
// });
// 出差审批路由(需要认证)
Route::group(function () {
Route::get('/business-trip/list', [App\Controller\BusinessTripController::class, 'list']);
Route::get('/business-trip/detail/{id}', [App\Controller\BusinessTripController::class, 'detail']);
Route::post('/business-trip/create', [App\Controller\BusinessTripController::class, 'create']);
Route::post('/business-trip/update/{id}', [App\Controller\BusinessTripController::class, 'update']);
Route::post('/business-trip/submit/{id}', [App\Controller\BusinessTripController::class, 'submit']);
Route::post('/business-trip/cancel/{id}', [App\Controller\BusinessTripController::class, 'cancel']);
});
});
// 默认路由