setReassignModalVisible(false)}
+ onCancel={() => {
+ setReassignModalVisible(false);
+ setReassignTechnicianId(undefined);
+ }}
onOk={handleReassign}
okText="确认"
cancelText="取消"
>
-
+
-
- 后续会在用户管理页提供技术员列表选择,目前先输入 ID。
-
diff --git a/src/pages/Users.tsx b/src/pages/Users.tsx
new file mode 100644
index 0000000..a5669b7
--- /dev/null
+++ b/src/pages/Users.tsx
@@ -0,0 +1,431 @@
+import { useEffect, useState } from 'react';
+import {
+ Card,
+ Table,
+ Button,
+ Space,
+ Input,
+ Select,
+ Tag,
+ Modal,
+ Form,
+ message,
+ Pagination,
+} from 'antd';
+import {
+ UserOutlined,
+ PlusOutlined,
+ EditOutlined,
+ DeleteOutlined,
+ KeyOutlined,
+} from '@ant-design/icons';
+import { usersApi, authApi } from '@/services/api';
+import type { User, UserRole, CreateUserRequest, UpdateUserRequest } from '@/types';
+
+const ROLE_LABEL: Record