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