Add user management page and technician picker for reassign

- New /admin/users page (admin only) for creating technicians,
  editing role/email, resetting passwords, deleting users
- AftersalesDetail reassign modal now uses a searchable Select
  populated from /api/users/assignable instead of raw user ID input
- Menu entry only shown to admins

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Frudrax Cheng
2026-05-26 10:58:02 +08:00
parent 6fef517556
commit eab66bc3e9
8 changed files with 564 additions and 14 deletions
+2
View File
@@ -10,6 +10,7 @@ import EmployeeSerialsPage from './pages/EmployeeSerials';
import AftersalesPage from './pages/Aftersales';
import AftersalesDetailPage from './pages/AftersalesDetail';
import AftersalesConfirmPage from './pages/AftersalesConfirm';
import UsersPage from './pages/Users';
const PrivateRoute = () => {
const user = authApi.getCurrentUser();
@@ -52,6 +53,7 @@ function App() {
<Route path="/admin/employee-serials" element={<EmployeeSerialsPage />} />
<Route path="/admin/aftersales" element={<AftersalesPage />} />
<Route path="/admin/aftersales/:serialNumber" element={<AftersalesDetailPage />} />
<Route path="/admin/users" element={<UsersPage />} />
<Route path="/admin/profile" element={<ProfilePage />} />
</Route>
</Route>