diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..66dc25a --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,91 @@ +# 更新日志 + +## [2024-12-14] - 界面全面重构 + +### 🎨 重大视觉更新 + +#### 全新设计系统 +- **配色方案**:采用专业教育主题配色 + - 主色:深蓝(#1e3a8a) - 专业可信 + - 辅助色:青色(#06b6d4) - 科技感 + - 成功色:绿色(#10b981) - 积极向上 + - 警告色:橙色(#f59e0b) - 注意提醒 + +#### 登录页面完全重构 +- **新布局**:左右分割式设计 + - 左侧(60%):品牌展示区,包含Logo、平台介绍、统计数据展示 + - 右侧(40%):纯白背景登录区,简洁专业 +- **交互优化**: + - 统计卡片悬浮动画效果 + - 优雅的表单验证反馈 + - 快速体验按钮重新设计 + - 响应式适配不同屏幕尺寸 + +#### 主页界面革新 +- **仪表板布局**:专业管理系统风格 + - 左侧固定导航栏(240px):深色主题,用户信息展示 + - 主内容区:顶部状态栏 + 数据统计 + 功能模块 +- **数据可视化**: + - 4个彩色统计卡片:今日评价、已完成、待处理、完成率 + - 实时数据展示,不同类型使用不同色彩主题 +- **功能模块网格**: + - 大卡片设计,图标、标题、描述、操作按钮层次清晰 + - 角色权限适配,教师专用模块标识 + - "敬请期待"功能模块预告 + +### 🔧 技术改进 + +#### CSS架构优化 +- **设计系统变量**:统一的颜色、间距、圆角、阴影规范 +- **布局系统**:Flexbox和Grid布局的合理运用 +- **动画系统**:流畅的过渡效果和悬浮动画 +- **响应式设计**:适配1024px以下设备 + +#### 组件化重构 +- 保持现有组件接口不变 +- 样式完全重写,符合新设计规范 +- 提升组件复用性和维护性 + +### 📊 用户体验提升 + +#### 视觉层次优化 +- 信息架构更加清晰 +- 色彩搭配专业协调 +- 字体层级合理分布 + +#### 交互体验改进 +- 按钮状态反馈更明确 +- 卡片悬浮效果增强沉浸感 +- 导航状态清晰可见 + +#### 专业性提升 +- 界面风格符合教育管理系统定位 +- 数据展示方式更加直观 +- 功能组织更加合理 + +### 🛠️ 文件变更 + +#### 更新文件 +- `src/assets/styles/variables.css` - 全新设计系统变量 +- `src/views/Login.vue` - 登录页面完全重构 +- `src/views/Home.vue` - 主页界面革新 + +#### 兼容性 +- 保持所有现有功能接口不变 +- 路由结构保持一致 +- 数据流和状态管理无变化 + +--- + +## [2024-XX-XX] - 初始版本 + +### ✨ 初始功能 +- 基础登录功能 +- 角色权限管理 +- 评价流程 +- 学生画像展示 +- 报告生成功能 + +--- + +*本项目遵循语义化版本规范,详细技术文档请参考README.md* \ No newline at end of file diff --git a/Readme.md b/Readme.md index 65b931c..28d1710 100644 --- a/Readme.md +++ b/Readme.md @@ -1,8 +1,28 @@ -实践教学评价平台 -产品需求文档(PRD) -版本:V1.0 -撰写日期:2024-05-XX -撰写人:XXX +# 实践教学评价平台 + +## 📋 项目概述 + +这是一个专业的实践教学评价平台演示项目,支持企业、教师、行业协会专家、学生四类角色进行实践成果提交、评价、画像展示、报告生成等功能。 + +## 🎨 最新界面设计 + +### V2.0 界面重构特色 +- **现代仪表板设计**:专业的侧边栏导航 + 主内容区布局 +- **分割式登录页**:品牌展示区 + 简洁登录区的左右分割设计 +- **数据可视化**:实时统计卡片,彩色主题区分不同数据类型 +- **专业配色系统**:深蓝主色调,体现教育平台的专业性和可信度 + +### 技术特色 +- **Vue3 + ElementPlus + ECharts** +- **纯前端项目**:Mock数据,无后端依赖 +- **响应式设计**:适配不同屏幕尺寸 +- **现代CSS架构**:统一的设计系统变量 + +--- + +## 产品需求文档(PRD) +版本:V2.0 +更新日期:2024-12-14 1. 文档目的 本 PRD 用于指导开发、测试、UI/UX、运维团队一次性、零偏差地实现《平台设计.docx》中提出的全部功能。任何需求冲突以本 PRD 为准。 diff --git a/src/assets/styles/variables.css b/src/assets/styles/variables.css index 3903e43..ec5bc2c 100644 --- a/src/assets/styles/variables.css +++ b/src/assets/styles/variables.css @@ -1,28 +1,43 @@ :root { - /* 主题色彩 */ - --primary-color: #409eff; - --primary-light: #79bbff; - --primary-dark: #337ecc; - --success-color: #67c23a; - --warning-color: #e6a23c; - --danger-color: #f56c6c; - --info-color: #909399; + /* 教学平台专业配色 */ + --primary: #1e3a8a; + --primary-light: #3b82f6; + --primary-lighter: #dbeafe; + --secondary: #06b6d4; + --secondary-light: #67e8f9; + --success: #10b981; + --success-light: #6ee7b7; + --warning: #f59e0b; + --warning-light: #fcd34d; + --danger: #ef4444; + --danger-light: #fca5a5; - /* 文字颜色 */ - --text-primary: #303133; - --text-regular: #606266; - --text-secondary: #909399; - --text-placeholder: #c0c4cc; + /* 中性色 */ + --dark: #1f2937; + --dark-light: #374151; + --gray: #6b7280; + --gray-light: #9ca3af; + --gray-lighter: #d1d5db; + --light: #f3f4f6; + --lighter: #f9fafb; + --white: #ffffff; + + /* 文本颜色 */ + --text-primary: var(--dark); + --text-secondary: var(--gray); + --text-muted: var(--gray-light); + --text-inverse: var(--white); /* 背景色 */ - --bg-primary: #ffffff; - --bg-secondary: #f5f7fa; - --bg-tertiary: #ebeef5; + --bg-primary: var(--white); + --bg-secondary: var(--lighter); + --bg-dark: var(--dark); + --bg-sidebar: var(--dark); - /* 边框颜色 */ - --border-light: #dcdfe6; - --border-base: #e4e7ed; - --border-dark: #d3d4d6; + /* 边框色 */ + --border: var(--gray-lighter); + --border-light: #e5e7eb; + --border-dark: var(--gray-light); /* 间距 */ --spacing-xs: 0.5rem; @@ -38,11 +53,13 @@ --radius-lg: 12px; --radius-xl: 16px; - /* 阴影 */ - --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1); - --shadow-md: 0 4px 8px rgba(0, 0, 0, 0.1); - --shadow-lg: 0 8px 16px rgba(0, 0, 0, 0.1); - --shadow-xl: 0 12px 24px rgba(0, 0, 0, 0.15); + /* 阴影系统 */ + --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); + --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); + --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); + --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); + --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); /* 字体 */ --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; @@ -58,7 +75,17 @@ --sidebar-width: 240px; --container-max-width: 1200px; - /* 渐变背景 */ - --gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%); - --gradient-secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); + /* 渐变色 */ + --gradient-primary: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%); + --gradient-brand: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%); + --gradient-success: linear-gradient(135deg, var(--success) 0%, var(--success-light) 100%); + + /* 布局尺寸 */ + --sidebar-width: 240px; + --header-height: 64px; + --container-max: 1200px; + + /* 动画 */ + --transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); + --transition-slow: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } \ No newline at end of file diff --git a/src/components/BaseCard.vue b/src/components/BaseCard.vue index 86ddf04..6777fc4 100644 --- a/src/components/BaseCard.vue +++ b/src/components/BaseCard.vue @@ -37,14 +37,25 @@ export default { \ No newline at end of file diff --git a/src/views/Login.vue b/src/views/Login.vue index 09eeb8f..6fa0408 100644 --- a/src/views/Login.vue +++ b/src/views/Login.vue @@ -1,67 +1,55 @@ @@ -217,199 +210,275 @@ export default { \ No newline at end of file