export interface MainExamEvaluationVO extends BaseEntity {
  id: number | string;
  evaluationName?: string;
  grade?: string;
  position?: string;
  positionName?: string;
  positionType?: string;
  tags?: string;
  mainImage?: string | number;
  mainImageUrl?: string;
  imageAlbum?: string;
  detail?: string;
  price?: number | string;
  onTime?: string;
  downTime?: string;
  status?: string;
  delFlag?: string;
  tenantId?: string;
  remark?: string;
  updateTime?: string;
  participantCount?: number;
  totalCount?: number;
  abilityConfigs?: Array<{
    id?: number | string;
    abilityName?: string;
    abilityCode?: string;
    score?: number | string;
    passingScore?: number | string;
    sortOrder?: number;
  }>;
}

export interface MainExamEvaluationQuery extends PageQuery {
  evaluationName?: string;
  grade?: string;
  position?: string;
  positionType?: string;
  status?: string;
  beginTime?: string;
  endTime?: string;
}

export interface EvaluationParticipantStatItem {
  participantCount?: number;
  totalCount?: number;
}

export type EvaluationParticipantStats = Record<string, EvaluationParticipantStatItem>;

export interface EvaluationSyncEmployeeOption {
  id: number | string;
  name?: string;
  mobile?: string;
  studentNo?: string;
}

export interface EvaluationSyncRequest {
  evaluationIds: Array<string | number>;
  studentIds: Array<string | number>;
}

export interface EvaluationApplyRow {
  id: string | number;
  evaluationId?: string | number;
  studentId?: string | number;
  name?: string;
  gender?: string;
  department?: string;
  phone?: string;
  statusText?: string;
  statusType?: 'success' | 'danger' | 'warning' | 'info';
  evaluateTime?: string;
  actionType?: 'detail' | 'remove';
}
