Spaces:
Sleeping
Sleeping
| import { Student, Course, Score, User, UserRole, UserStatus } from '../types'; | |
| export const MOCK_USER: User = { | |
| id: 1, | |
| username: '教务管理员', | |
| role: UserRole.ADMIN, | |
| status: UserStatus.ACTIVE, | |
| email: 'admin@school.edu', | |
| avatar: 'https://api.dicebear.com/7.x/avataaars/svg?seed=Felix' | |
| }; | |
| const CHINESE_SURNAMES = ['张', '王', '李', '赵', '陈', '刘', '杨', '黄', '周', '吴']; | |
| const CHINESE_NAMES = ['伟', '芳', '娜', '敏', '静', '丽', '强', '磊', '军', '洋', '勇', '艳', '杰', '娟']; | |
| const generateName = (i: number) => { | |
| const surname = CHINESE_SURNAMES[i % CHINESE_SURNAMES.length]; | |
| const name = CHINESE_NAMES[i % CHINESE_NAMES.length]; | |
| return `${surname}${name}`; | |
| }; | |
| export const STUDENTS: Student[] = Array.from({ length: 50 }).map((_, i) => ({ | |
| id: i + 1, | |
| studentNo: `2024${String(i + 1).padStart(4, '0')}`, | |
| name: generateName(i), | |
| gender: i % 2 === 0 ? 'Male' : 'Female', // Kept as internal value, UI will translate | |
| birthday: '2012-05-01', | |
| idCard: `11010120120501${String(i).padStart(4, '0')}`, | |
| phone: `138${String(Math.floor(Math.random() * 100000000)).padStart(8, '0')}`, | |
| className: i % 3 === 0 ? '六年级(1)班' : (i % 3 === 1 ? '六年级(2)班' : '五年级(1)班'), | |
| status: 'Enrolled' // Kept as internal value | |
| })); | |
| export const COURSES: Course[] = [ | |
| { id: 1, courseCode: 'CHI01', courseName: '语文', teacherName: '王老师', className: '六年级(1)班', credits: 5, capacity: 45, enrolled: 45 }, | |
| { id: 2, courseCode: 'MAT01', courseName: '数学', teacherName: '张老师', className: '六年级(1)班', credits: 5, capacity: 45, enrolled: 45 }, | |
| { id: 3, courseCode: 'ENG01', courseName: '英语', teacherName: '李老师', className: '六年级(1)班', credits: 4, capacity: 45, enrolled: 42 }, | |
| { id: 4, courseCode: 'SCI01', courseName: '科学', teacherName: '赵老师', className: '六年级(1)班', credits: 2, capacity: 45, enrolled: 40 }, | |
| { id: 5, courseCode: 'ART01', courseName: '美术', teacherName: '陈老师', className: '六年级(1)班', credits: 2, capacity: 45, enrolled: 45 }, | |
| { id: 6, courseCode: 'PE001', courseName: '体育', teacherName: '刘教练', className: '六年级(1)班', credits: 2, capacity: 60, enrolled: 58 }, | |
| ]; | |
| export const SCORES: Score[] = Array.from({ length: 30 }).map((_, i) => ({ | |
| id: i + 1, | |
| studentName: generateName(i), | |
| studentNo: `2024${String(i + 1).padStart(4, '0')}`, | |
| courseName: i % 3 === 0 ? '语文' : (i % 3 === 1 ? '数学' : '英语'), | |
| score: Math.floor(Math.random() * 30) + 70, // Score between 70 and 100 | |
| semester: '2023-秋季学期', | |
| type: 'Final' | |
| })); | |
| // Mock Chart Data | |
| export const CHART_DATA_TRENDS = [ | |
| { name: '9月', avg: 75, max: 92 }, | |
| { name: '10月', avg: 78, max: 94 }, | |
| { name: '11月', avg: 82, max: 96 }, | |
| { name: '12月', avg: 80, max: 95 }, | |
| { name: '1月', avg: 85, max: 98 }, | |
| ]; | |
| export const CHART_DATA_DISTRIBUTION = [ | |
| { name: '六年级(1)班', value: 45 }, | |
| { name: '六年级(2)班', value: 42 }, | |
| { name: '五年级(1)班', value: 40 }, | |
| { name: '五年级(2)班', value: 38 }, | |
| ]; | |