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