ZhangQiPro/CLAUDE.md
sladro 0d365a70e2 feat: 完成评价报告系统开发并修复关键技术问题
## 新增功能
- Report.vue: 完整的学生评价报告页面
- ReportMonitor.vue: 发展监测子页面,包含趋势分析和里程碑时间轴
- ReportAnalysis.vue: 能力分析子页面,含六维雷达图和发展建议
- 完善路由配置,支持报告系统的嵌套路由

## 技术修复
- 修复Pinia初始化顺序问题,路由守卫移至main.js
- 修复ECharts CSS变量解析错误,添加getCSSVariable函数
- 修复侧边栏报告中心按钮点击无反应问题

## 数据完善
- 扩展mockData.js,新增完整的报告数据结构
- 添加发展趋势、里程碑、详细分析等Mock数据

## 文档更新
- 更新CLAUDE.md,项目完成度提升至100%
- 完善功能模块状态和最近更新记录

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-15 14:41:13 +08:00

6.9 KiB
Raw Blame History

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

项目概述

这是一个实践教学评价平台演示项目,支持企业、教师、行业协会专家、学生四类角色进行实践成果提交、评价、画像展示、报告生成等功能。

技术栈

  • 前端: Vue3 + ElementPlus + ECharts
  • 数据: Mock数据无后端
  • 目标平台: PC Web端不支持移动端

核心架构

用户角色系统

  • 学校管理员:仅维护账号
  • 企业:对学生实践成果进行指标打分、上传佐证材料
  • 教师:评价 + 查看学生画像 + 生成报告
  • 行业协会专家:输入评价指标与意见
  • 学生:提交成果、自评、互评

主要功能模块

  1. 登录鉴权 - 统一登录页,基于角色的权限控制
  2. 评价流程 - 筛选页 + 角色专属评价页
  3. 学生画像 - 成绩分布图表、能力矩阵雷达图(仅教师可见)
  4. 评价报告 - 发展监测、专项分析、报告生成

路由结构

  • / - 首页双入口
  • /evaluate - 评价页面
  • /portrait - 学生能力画像(仅教师)
  • /report/{studentId} - 评价报告页
  • /report/{id}/monitor - 发展监测
  • /report/{id}/analysis - 能力报告分析

Mock数据结构设计

  • 用户信息与角色数据
  • 项目信息(学期、年级、班级)
  • 评价数据
  • 学生画像数据
  • 成绩分布和能力矩阵数据

开发注意事项

演示项目特点

  • 纯前端项目所有数据使用Mock生成
  • 无后端接口,数据存储在前端内存/LocalStorage
  • 无复杂加密要求
  • 重点关注前端交互和界面展示

权限控制

  • 使用前端路由守卫模拟权限控制
  • 学生画像页面仅教师角色可见
  • 不同角色在评价页面显示不同功能按钮

文件上传模拟

  • 支持类型pdf/doc/jpg/png
  • 单文件大小≤10MB
  • 前端模拟文件上传,显示文件列表

图表组件

  • 使用ECharts实现柱状图、雷达图、折线图
  • 画像页面包含成绩分布柱状图和能力矩阵三角形雷达图
  • 使用Mock数据生成随机但合理的图表数据

页面交互

  • 弹框输入评价指标和意见
  • Toast提示完成状态
  • 表格展示学生名单和评分
  • PDF报告下载可使用静态文件

Mock数据管理

  • 使用统一的Mock数据生成器
  • 角色登录状态使用LocalStorage持久化
  • 评价数据和文件上传记录存储在前端
  • 图表数据实时生成,确保演示效果

当前状态

项目已完成所有核心功能模块开发完成度100%

已完成功能模块

  • 基础架构Vue3 + ElementPlus + ECharts技术栈完整搭建
  • 登录认证系统基于角色的权限控制支持4类用户角色
  • 仪表盘工作台专业级Dashboard界面统计卡片和功能模块
  • 评价管理功能:完整的评价流程,支持多角色评价和文件上传
  • 学生画像功能教师专属包含ECharts图表和综合评价报告
  • 评价报告系统:完整的学生评价报告功能
    • Report.vue主页面学生信息、评价汇总、导航入口
    • 发展监测页面:趋势图表、里程碑事件、数据分析
    • 能力分析页面:六维雷达图、优劣势分析、发展建议
  • 侧边栏导航系统:固定导航,角色权限适配,所有功能已连通

最近更新2025-01-15

🎯 学生画像系统完成

  • ECharts图表组件
    • AbilityRadarChart: 6维度能力雷达图
    • GradeDistributionChart: 成绩分布柱状图
  • Portrait.vue完整实现:学生选择、信息展示、图表分析、评价报告
  • Mock数据完善:真实专业的学生画像数据结构

🔧 代码规范全面修复

  • 硬编码清理所有颜色值改为CSS变量图表参数提取为常量
  • 调试输出移除console.error替换为用户友好提示
  • 设计系统完善100%遵循CSS变量系统确保视觉一致性

📊 功能完成度统计

  • 评价管理100%
  • 学生画像100%
  • 工作台Dashboard100%
  • 登录认证100%
  • 评价报告0% (下一步开发重点)

UI设计规范与教训重要

🚨 UI开发失败案例与教训

以下是2024年实际开发中的严重错误后续AI必须避免

1. CSS变量使用原则

错误示例

.sidebar {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 20%);  /* 硬编码颜色 */
  width: 280px;  /* 硬编码尺寸 */
}

正确做法

.sidebar {
  background: var(--gradient-brand);  /* 使用已定义变量 */
  width: var(--sidebar-width);        /* 复用尺寸变量 */
}

2. 元素尺寸控制

错误:巨大元素

  • 标题字号 60px+
  • 图标尺寸 80-100px
  • 按钮高度 60px+

正确:精致设计

  • 页面标题24-32px
  • 导航图标16-18px容器40px
  • 按钮高度36-44px
  • 数字展示32-48px特殊强调

3. 布局基础原则

严重错误

.sidebar {
  position: relative;  /* 导致侧边栏随页面滚动 */
}

必须这样

.sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  overflow-y: auto;
}
.main-content {
  margin-left: var(--sidebar-width);
}

4. 细节一致性

必须统一的元素:

  • 所有角标:border-radius: 50px(完全圆形)
  • 图标容器:统一圆角矩形
  • 卡片圆角:统一使用 var(--radius-lg)
  • 阴影效果:必须使用变量 var(--shadow-md)

5. 内容真实性

空洞内容

  • "已完成"
  • "待处理"
  • "功能说明"

专业内容

  • "本月完成率 92.5%"
  • "待审核任务 8项实践报告3互评5"
  • "支持多维度评价体系,包含企业实践、教师点评等多角色协同"

现代UI设计检查清单

开发任何UI组件前必须自问

  • 颜色是否全部使用CSS变量
  • 尺寸图标是否精致16-20px文字是否适中
  • 布局:导航是否固定?内容区是否正确偏移?
  • 一致性:圆角、阴影、间距是否统一?
  • 内容:数据是否具体真实?描述是否专业?
  • 交互hover效果是否流畅过渡是否自然
  • 响应式:不同屏幕是否正常显示?

设计审美标准

优秀设计特征:

  • 小而精致的图标 + 清晰标签
  • 适度的留白和间距
  • 微妙的动画0.2-0.3s
  • 统一的视觉语言
  • 层次分明的信息架构

失败设计特征:

  • 巨大突兀的元素
  • 不一致的样式混用
  • 生硬的交互反馈
  • 杂乱的颜色搭配
  • 基础的布局错误

关键提醒

作为AI你必须

  1. 先查看现有CSS变量绝不硬编码
  2. 参考现有组件样式,保持一致性
  3. 测试滚动和固定定位
  4. 注意细节的统一性
  5. 使用真实、专业的内容填充