From be8c526a454aa9081000d15f26bebdef8c183aea Mon Sep 17 00:00:00 2001
From: wsj <593216709@qq.com>
Date: Mon, 26 Oct 2026 23:34:23 +0800
Subject: [PATCH] feat: 提交

---
 src/pages/system/users/types.ts |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 167 insertions(+), 0 deletions(-)

diff --git a/src/pages/system/users/types.ts b/src/pages/system/users/types.ts
new file mode 100644
index 0000000..1b91cdb
--- /dev/null
+++ b/src/pages/system/users/types.ts
@@ -0,0 +1,167 @@
+import type { PageResult } from '@/types/api';
+
+/** 员工状态。 */
+export type EmployeeStatus = 'ACTIVE' | 'DISABLED';
+
+/** 员工响应体(EmployeeVO)。 */
+export interface EmployeeVO {
+  id: number;
+  createdAt?: string;
+  updatedAt?: string;
+  createdBy?: string;
+  updatedBy?: string;
+  tenantId?: string;
+  deleted?: number;
+  name: string;
+  phone: string;
+  orgId: number;
+  roleId: number;
+  position?: string;
+  email?: string;
+  avatarUrl?: string;
+  status: EmployeeStatus;
+  holdLimit?: number;
+  region?: string;
+  hireDate?: string;
+}
+
+/** GET /tenant/employees 请求参数(EmployeePageQuery)。 */
+export interface TenantEmployeeListRequest {
+  page?: number;
+  size?: number;
+  sortBy?: string;
+  sortDir?: string;
+  orgId?: number;
+  roleId?: number;
+  status?: EmployeeStatus;
+  keyword?: string;
+}
+
+/** GET /tenant/employees 响应数据(ResultPageResultEmployeeVO 的 data)。 */
+export type TenantEmployeeListResponse = PageResult<EmployeeVO>;
+
+/** POST /tenant/employees 请求体(EmployeeCreateDTO)。 */
+export interface TenantEmployeeCreateRequest {
+  name: string;
+  phone: string;
+  orgId: number;
+  roleId: number;
+  position?: string;
+  email?: string;
+  avatarUrl?: string;
+  holdLimit?: number;
+  region?: string;
+}
+
+/** POST /tenant/employees 响应数据(ResultEmployeeVO 的 data)。 */
+export type TenantEmployeeCreateResponse = EmployeeVO;
+
+/** GET /tenant/employees/{id} 请求参数。 */
+export interface TenantEmployeeDetailRequest {
+  /** 员工 ID(路径参数)。 */
+  id: number;
+}
+
+/** GET /tenant/employees/{id} 响应数据(ResultEmployeeVO 的 data)。 */
+export type TenantEmployeeDetailResponse = EmployeeVO;
+
+/** PUT /tenant/employees/{id} 请求参数(路径参数 + EmployeeUpdateDTO)。 */
+export interface TenantEmployeeUpdateRequest {
+  /** 员工 ID(路径参数)。 */
+  id: number;
+  name?: string;
+  phone?: string;
+  orgId?: number;
+  roleId?: number;
+  position?: string;
+  email?: string;
+  holdLimit?: number;
+  region?: string;
+}
+
+/** PUT /tenant/employees/{id} 请求体。 */
+export type TenantEmployeeUpdateBody = Omit<TenantEmployeeUpdateRequest, 'id'>;
+
+/** PUT /tenant/employees/{id} 响应数据(ResultEmployeeVO 的 data)。 */
+export type TenantEmployeeUpdateResponse = EmployeeVO;
+
+/** DELETE /tenant/employees/{id} 请求参数。 */
+export interface TenantEmployeeDeleteRequest {
+  /** 员工 ID(路径参数)。 */
+  id: number;
+}
+
+/** DELETE /tenant/employees/{id} 响应数据(ResultVoid 的 data)。 */
+export type TenantEmployeeDeleteResponse = void;
+
+/** GET /tenant/employees/export 请求参数。 */
+export interface TenantEmployeeExportRequest {
+  /** 不填导出全部,填则仅导出指定组织。 */
+  orgId?: number;
+}
+
+/** GET /tenant/employees/export 响应数据(Excel 文件流)。 */
+export type TenantEmployeeExportResponse = Blob;
+
+/** POST /tenant/employees/import 请求参数(multipart/form-data,字段名 file)。 */
+export interface TenantEmployeeImportRequest {
+  file: File;
+}
+
+/** POST /tenant/employees/import 响应数据(成功导入行数)。 */
+export type TenantEmployeeImportResponse = number;
+
+/** GET /tenant/organizations/tree 请求参数。 */
+export interface TenantOrgTreeRequest {
+  orgId?: number;
+}
+
+/** 组织树节点(OrgVO 子集)。 */
+export interface OrgTreeNode {
+  id: number;
+  orgName: string;
+  status?: boolean;
+  children?: OrgTreeNode[];
+}
+
+/** GET /tenant/organizations/tree 响应数据(ResultListOrgVO 的 data)。 */
+export type TenantOrgTreeResponse = OrgTreeNode[];
+
+/** GET /tenant/roles 请求参数:该接口未定义查询参数。 */
+export type TenantRoleOptionRequest = Record<string, never>;
+
+/** 角色选项(RoleVO 子集)。 */
+export interface RoleOption {
+  id: number;
+  roleName: string;
+  status?: string;
+}
+
+/** GET /tenant/roles 响应数据(ResultListRoleVO 的 data)。 */
+export type TenantRoleOptionResponse = RoleOption[];
+
+/** ProTable 搜索参数,与 EmployeePageQuery 中可筛选字段一致。 */
+export interface EmployeeListQuery {
+  keyword?: string;
+  status?: EmployeeStatus;
+  orgId?: number;
+  roleId?: number;
+}
+
+/** 新增 / 编辑 / 详情表单值。 */
+export interface EmployeeFormValues {
+  name: string;
+  phone: string;
+  orgId: number;
+  roleId: number;
+  position?: string;
+  email?: string;
+  holdLimit?: number;
+  region?: string;
+}
+
+/** 下拉选项。 */
+export interface SelectOption {
+  label: string;
+  value: number;
+}

--
Gitblit v1.9.3