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。 */
|
orgPath: number[];
|
roleId: number;
|
position?: string;
|
email?: string;
|
holdLimit?: number;
|
region?: string;
|
}
|
|
/** 下拉选项。 */
|
export interface SelectOption {
|
label: string;
|
value: number;
|
}
|