From 3c19173c24295d043c6f9a36e6c6ee2c7dee1910 Mon Sep 17 00:00:00 2001 From: sladro Date: Tue, 16 Sep 2025 10:23:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96BigScreenPortrait?= =?UTF-8?q?=E5=A4=A7=E5=B1=8F=E9=A1=B5=E9=9D=A2=E6=98=BE=E7=A4=BA=E5=92=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🔧 显示问题修复: - 修复参与学生人数显示布局问题,优化number-gauge-combined容器 - 调整迷你仪表盘尺寸从60px到45px,适配紧凑布局 - 优化数字显示样式,使用clamp()确保响应式适配 - 完善ECharts仪表盘配置,简化为迷你版本显示 🎯 功能按钮完善: - 实现"生成报告"和"历史记录"按钮完整功能 - 集成权限验证系统,需要教师权限才能访问 - 添加智能权限提示,未登录时引导用户登录 - 保持按钮原有美观样式,权限不足时仅显示小锁图标 🎨 界面文本优化: - 清理Login.vue中的"演示"字样,改为"登录" - 移除版权信息中的"演示版本"标识 - 优化组件中的演示相关文本,提升专业性 🚀 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- CLAUDE.md | 30 +- src/components/FileUpload.vue | 2 +- src/components/SubmissionDialog.vue | 2 +- src/router/index.js | 6 + src/utils/mockData.js | 39 + src/views/BigScreenPortrait.vue | 2578 +++++++++++++++++++++++++++ src/views/Login.vue | 6 +- 7 files changed, 2657 insertions(+), 6 deletions(-) create mode 100644 src/views/BigScreenPortrait.vue diff --git a/CLAUDE.md b/CLAUDE.md index a77eaf1..be4053c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -92,7 +92,35 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co - 能力分析页面:六维雷达图、优劣势分析、发展建议 - **侧边栏导航系统**:固定导航,角色权限适配,所有功能已连通 -### 最近更新(2025-01-15) +### 最近更新(2025-01-16) + +#### 🔧 BigScreenPortrait大屏页面全面优化 +- **显示问题修复**: + - 修复参与学生人数显示布局问题,优化number-gauge-combined容器 + - 调整迷你仪表盘尺寸从60px到45px,适配紧凑布局 + - 优化数字显示样式,使用clamp()确保响应式适配 + - 完善ECharts仪表盘配置,简化为迷你版本显示 + +- **功能按钮完善**: + - 实现"生成报告"和"历史记录"按钮完整功能 + - 集成权限验证系统,需要教师权限才能访问 + - 添加智能权限提示,未登录时引导用户登录 + - 保持按钮原有美观样式,权限不足时仅显示小锁图标 + +- **用户体验优化**: + - 权限检查的通用方法checkPermissionAndNavigate + - 动态按钮状态和tooltip提示 + - 友好的权限错误提示和登录引导流程 + - 响应式布局适配,支持多种屏幕尺寸 + +#### 🎨 界面清理和文本优化 +- **去除演示标识**: + - 清理Login.vue中的"演示"字样,改为"登录" + - 移除版权信息中的"演示版本"标识 + - 优化SubmissionDialog和FileUpload组件中的演示相关文本 + - 统一界面文本,提升专业性 + +### 历史更新(2025-01-15) #### 🎯 学生画像系统完成 - **ECharts图表组件**: diff --git a/src/components/FileUpload.vue b/src/components/FileUpload.vue index 87d9f9c..f47bade 100644 --- a/src/components/FileUpload.vue +++ b/src/components/FileUpload.vue @@ -334,7 +334,7 @@ export default { const typeMap = { pdf: 'PDF文档', doc: 'Word文档', docx: 'Word文档', - ppt: 'PPT演示文稿', pptx: 'PPT演示文稿', + ppt: 'PPT文稿', pptx: 'PPT文稿', xls: 'Excel表格', xlsx: 'Excel表格', jpg: 'JPEG图片', jpeg: 'JPEG图片', png: 'PNG图片', gif: 'GIF图片', diff --git a/src/components/SubmissionDialog.vue b/src/components/SubmissionDialog.vue index bcd9f7d..273781c 100644 --- a/src/components/SubmissionDialog.vue +++ b/src/components/SubmissionDialog.vue @@ -124,7 +124,7 @@ diff --git a/src/router/index.js b/src/router/index.js index 6432e87..c704521 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -7,6 +7,12 @@ const routes = [ name: 'Login', component: () => import('@/views/Login.vue') }, + { + path: '/big-screen-portrait', + name: 'BigScreenPortrait', + component: () => import('@/views/BigScreenPortrait.vue'), + meta: { layout: 'fullscreen' } + }, { path: '/home', name: 'Home', diff --git a/src/utils/mockData.js b/src/utils/mockData.js index fb966b4..a6e5674 100644 --- a/src/utils/mockData.js +++ b/src/utils/mockData.js @@ -406,6 +406,45 @@ export const mockPortraitData = { } } +// 大屏专用数据 +export const bigScreenData = { + // 成绩分布数据 + gradeDistribution: [ + { grade: '优秀(90-100)', count: 23, color: '#10b981' }, + { grade: '良好(80-89)', count: 45, color: '#3b82f6' }, + { grade: '中等(70-79)', count: 62, color: '#f59e0b' }, + { grade: '及格(60-69)', count: 21, color: '#ef4444' }, + { grade: '不及格(0-59)', count: 5, color: '#6b7280' } + ], + + // 能力矩阵数据(三角形雷达图) + abilityMatrix: { + dimensions: ['专业基础', '专业综合', '数智应用'], + students: [ + { name: '张志明', values: [85, 92, 78], color: '#06b6d4' }, + { name: '李梦瑶', values: [90, 88, 95], color: '#3b82f6' }, + { name: '王浩然', values: [82, 85, 88], color: '#10b981' } + ] + }, + + // 实习统计数据 + practiceStats: [ + { label: '实习课程数', value: 24, icon: 'Reading', trend: '+5%' }, + { label: '专业数', value: 8, icon: 'OfficeBuilding', trend: '+2' }, + { label: '实习人数', value: 156, icon: 'User', trend: '+12%' }, + { label: '辅导老师数', value: 32, icon: 'UserFilled', trend: '+8%' }, + { label: '实习企业数', value: 18, icon: 'School', trend: '+3' } + ], + + // 实时数据更新 + realTimeData: { + studentCount: 156, + evaluationCount: 1247, + completionRate: 87.5, + averageScore: 82.3 + } +} + // Mock图表数据生成器 export const generateChartData = () => { return { diff --git a/src/views/BigScreenPortrait.vue b/src/views/BigScreenPortrait.vue new file mode 100644 index 0000000..6285996 --- /dev/null +++ b/src/views/BigScreenPortrait.vue @@ -0,0 +1,2578 @@ + + + + + \ No newline at end of file diff --git a/src/views/Login.vue b/src/views/Login.vue index 132a437..9ffd379 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -116,11 +116,11 @@
@@ -133,7 +133,7 @@