Files
tuanwei-admin/src/api/gxmu/tzbcy-form/model/index.ts
2026-07-20 11:50:47 +08:00

83 lines
1.8 KiB
TypeScript

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