| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 | // 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;}
 |