import type { PageParam } from '@/api'; import type { ReviewList } from '@/api/gxmu/reviewList/model'; export interface TzbcyTeamMember { name?: string; gender?: string; college?: string; gradeMajor?: string; phone?: string; remark?: string; } export interface TzbcyAdvisor { name?: string; gender?: string; college?: string; title?: string; duty?: string; phone?: string; } export interface TzbcyForm { id?: number; year?: string; provinceCity?: string; schoolName?: string; projectName?: string; projectType?: string; projectGroup?: string; publicProjectType?: string; publicProjectGroup?: string; leader?: string; phone?: string; teamMembers?: TzbcyTeamMember[]; advisors?: TzbcyAdvisor[]; projectBrief?: string; socialValue?: string; practiceProcess?: string; innovationMeaning?: string; developmentProspect?: string; teamCooperation?: string; projectMaterials?: string; otherProofs?: string; projectSummary?: string; teamIntro?: string; teamSlogan?: string; practiceLog?: string; reviewList?: ReviewList[]; } export interface TzbcyFormParam extends PageParam { id?: number; year?: string; projectName?: string; leader?: string; schoolName?: string; keywords?: string; } export interface TzbcyStatisticItem { label: string; value: number; } export interface TzbcyStatisticsSummary { declarationCount: number; participantCount: number; advisorCount: number; awardCount: number; schoolCount: number; } export interface TzbcyStatisticsResult { year?: number; availableYears: number[]; summary: TzbcyStatisticsSummary; awardCountDescription?: string; yearDistribution: TzbcyStatisticItem[]; typeDistribution: TzbcyStatisticItem[]; groupDistribution: TzbcyStatisticItem[]; schoolDistribution: TzbcyStatisticItem[]; }