// HR模块模型定义 // 员工状态 export type EmployeeStatus = '在职' | '离职' | '试用期'; // 员工基本信息 export interface Employee { id: string; name: string; department: string; position: string; employeeId: string; phone: string; email: string; gender: string; birthDate: Date; hireDate: Date; status: EmployeeStatus; avatar?: string; contract?: Contract; certificates?: Certificate[]; } // 合同信息 export interface Contract { id: string; startDate: Date; endDate: Date; type: string; fileUrl?: string; isExpiringSoon: boolean; } // 证件信息 export interface Certificate { id: string; name: string; type: string; number: string; issueDate: Date; expiryDate?: Date; fileUrl?: string; } // 考勤记录 export interface Attendance { id: string; employeeId: string; date: Date; checkInTime?: Date; checkOutTime?: Date; status: '正常' | '迟到' | '早退' | '旷工' | '请假'; workHours: number; projectId?: string; projectName?: string; } // 资产类型 export type AssetType = '电脑' | '外设' | '软件账号' | '域名' | '其他'; // 资产状态 export type AssetStatus = '空闲' | '占用' | '故障' | '报修中'; // 资产信息 export interface Asset { id: string; name: string; type: AssetType; status: AssetStatus; purchaseDate: Date; value: number; assignedTo?: string; assignedToName?: string; department?: string; description?: string; serialNumber?: string; warrantyExpiry?: Date; } // 资产分配记录 export interface AssetAssignment { id: string; assetId: string; employeeId: string; startDate: Date; endDate?: Date; status: '进行中' | '已归还'; } // 设计师技能 export interface DesignerSkill { id: string; name: string; level: number; // 1-5 } // 设计师作品 export interface DesignerPortfolioItem { id: string; title: string; description: string; imageUrl: string; projectId?: string; projectName?: string; completionDate: Date; rating: number; // 1-5 } // 部门信息 export interface Department { id: string; name: string; managerId?: string; managerName?: string; employeeCount: number; } // 岗位信息 export interface Position { id: string; name: string; departmentId: string; departmentName: string; level: string; }