feat: 优化BigScreenPortrait大屏页面显示和功能完善

🔧 显示问题修复:
- 修复参与学生人数显示布局问题,优化number-gauge-combined容器
- 调整迷你仪表盘尺寸从60px到45px,适配紧凑布局
- 优化数字显示样式,使用clamp()确保响应式适配
- 完善ECharts仪表盘配置,简化为迷你版本显示

🎯 功能按钮完善:
- 实现"生成报告"和"历史记录"按钮完整功能
- 集成权限验证系统,需要教师权限才能访问
- 添加智能权限提示,未登录时引导用户登录
- 保持按钮原有美观样式,权限不足时仅显示小锁图标

🎨 界面文本优化:
- 清理Login.vue中的"演示"字样,改为"登录"
- 移除版权信息中的"演示版本"标识
- 优化组件中的演示相关文本,提升专业性

🚀 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
sladro 2025-09-16 10:23:36 +08:00
parent 43ef1d45ab
commit 3c19173c24
7 changed files with 2657 additions and 6 deletions

View File

@ -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图表组件**

View File

@ -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图片',

View File

@ -124,7 +124,7 @@
<div class="link-input">
<el-input
v-model="linkInput.demo"
placeholder="演示链接(可选)"
placeholder="项目链接(可选)"
prefix-icon="Link"
/>
</div>

View File

@ -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',

View File

@ -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 {

File diff suppressed because it is too large Load Diff

View File

@ -116,11 +116,11 @@
<div class="demo-buttons">
<button class="demo-btn" @click="quickLogin('student')" style="padding: 10px var(--spacing-md);">
<el-icon style="font-size: 14px; margin-right: 6px;"><User /></el-icon>
学生演示
学生登录
</button>
<button class="demo-btn" @click="quickLogin('teacher')" style="padding: 10px var(--spacing-md);">
<el-icon style="font-size: 14px; margin-right: 6px;"><Monitor /></el-icon>
教师演示
教师登录
</button>
</div>
<div class="demo-buttons" style="margin-top: 8px;">
@ -133,7 +133,7 @@
</div>
<div class="login-footer">
<p>&copy; 2024 实践教学评价平台 - 演示版本</p>
<p>&copy; 2024 实践教学评价平台</p>
</div>
</div>
</div>