STAGES_OVERVIEW_UPDATE.md 8.3 KB

交付执行阶段 - 概览区域更新说明

更新日期

2024-11-13

更新内容

新增功能:四个阶段概览区域

在每个空间的顶部(空间头部下方)新增了四个阶段概览区域,始终显示,无需展开即可查看。

布局结构

折叠状态(默认)

┌─────────────────────────────────────────────────────┐
│  空间1                                    2/4    ▼  │  ← 空间头部
├─────────────────────────────────────────────────────┤
│  ┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐          │
│  │  📦  │  │  🏠  │  │  🖥️  │  │  ✨  │          │  ← 四个阶段概览
│  │ 白模 │  │ 软装 │  │ 渲染 │  │ 后期 │          │     (始终显示)
│  │  4   │  │  6   │  │  0   │  │  0   │          │
│  └──────┘  └──────┘  └──────┘  └──────┘          │
└─────────────────────────────────────────────────────┘

展开状态

┌─────────────────────────────────────────────────────┐
│  空间1                                    2/4    ▲  │  ← 空间头部
├─────────────────────────────────────────────────────┤
│  ┌──────┐  ┌──────┐  ┌──────┐  ┌──────┐          │
│  │  📦  │  │  🏠  │  │  🖥️  │  │  ✨  │          │  ← 四个阶段概览
│  │ 白模 │  │ 软装 │  │ 渲染 │  │ 后期 │          │     (始终显示)
│  │  4   │  │  6   │  │  0   │  │  0   │          │
│  └──────┘  └──────┘  └──────┘  └──────┘          │
├─────────────────────────────────────────────────────┤
│                                                     │
│  [详细的四个阶段区域,包含文件上传和预览]          │  ← 详细内容
│                                                     │     (展开后显示)
│  [统一确认按钮]                                    │
│                                                     │
└─────────────────────────────────────────────────────┘

视觉设计

概览卡片样式

默认状态(无文件)

  • 背景: 白色到浅灰色渐变
  • 边框: 浅灰色,底部4px
  • 顶部装饰条: 5px高度,灰色渐变
  • 图标: 灰色,72x72px
  • 文字: 深灰色
  • 数量: "0",虚线边框

有文件状态

  • 背景: 浅绿色渐变
  • 边框: 绿色,底部4px
  • 顶部装饰条: 5px高度,绿色渐变
  • 图标: 绿色,带阴影
  • 文字: 深绿色
  • 数量: 绿色渐变徽章,白色文字

悬停效果

  • 向上移动: 6px
  • 阴影: 加深,带紫色/绿色色调
  • 图标: 放大1.2倍,旋转8度
  • 顶部装饰条: 高度增加到6px
  • 背景光晕: 显示圆形渐变光晕
  • 文字: 变为紫色/绿色

图标设计

每个阶段使用不同的SVG图标:

  1. 白模 (white_model): 立方体图标 📦
  2. 软装 (soft_decor): 房屋图标 🏠
  3. 渲染 (rendering): 显示器图标 🖥️
  4. 后期 (post_process): 星形图标 ✨

交互效果

1. 悬停动画

  • 卡片向上移动6px
  • 图标放大并旋转
  • 顶部装饰条变色并增高
  • 背景光晕从中心扩散
  • 阴影加深

2. 状态指示

  • 0文件: 虚线边框,灰色显示
  • 有文件: 实心徽章,绿色渐变
  • 数量显示: 清晰的数字徽章

3. 视觉反馈

  • 所有过渡使用0.4s缓动动画
  • 使用cubic-bezier(0.4, 0, 0.2, 1)缓动函数
  • 图标带有阴影效果

技术实现

HTML结构

<div class="stages-overview">
  @for (type of deliveryTypes; track type.id) {
    <div class="stage-overview-item" 
         [class.has-files]="getSpaceStageFileCount(space.id, type.id) > 0">
      <div class="stage-overview-icon">
        <!-- SVG图标 -->
      </div>
      <div class="stage-overview-name">{{ type.name }}</div>
      <div class="stage-overview-count">
        <span class="count-badge">{{ count }}</span>
      </div>
    </div>
  }
</div>

CSS关键类

  • .stages-overview: 4列网格容器
  • .stage-overview-item: 单个阶段卡片
  • .stage-overview-item.has-files: 有文件状态
  • .stage-overview-icon: 图标容器
  • .stage-overview-name: 阶段名称
  • .count-badge: 文件数量徽章
  • .count-empty: 空状态显示

数据绑定

使用现有的TypeScript方法:

  • getSpaceStageFileCount(spaceId, stageType): 获取文件数量
  • deliveryTypes: 四个阶段类型数组

颜色方案

默认状态

元素 颜色
背景 #ffffff → #f8fafc
边框 #e2e8f0
顶部条 #cbd5e1 → #94a3b8
图标 #94a3b8
文字 #475569
数量边框 #e2e8f0 (虚线)

有文件状态

元素 颜色
背景 #f0fdf4 → #dcfce7
边框 #86efac
顶部条 #10b981 → #059669
图标 #10b981
文字 #059669
数量徽章 #10b981 → #059669 (渐变)

悬停状态

元素 颜色
边框 #667eea (默认) / #10b981 (有文件)
顶部条 #667eea → #764ba2 (默认) / #059669 → #047857 (有文件)
图标 #667eea (默认) / #059669 (有文件)
文字 #667eea (默认) / #059669 (有文件)

优势

1. 信息可见性

  • 无需展开即可查看所有阶段的完成情况
  • 一目了然的文件数量显示
  • 清晰的视觉状态区分

2. 用户体验

  • 减少点击次数
  • 快速浏览多个空间的进度
  • 直观的视觉反馈

3. 视觉美观

  • 精美的渐变色设计
  • 流畅的动画效果
  • 统一的设计语言

4. 功能完整

  • 保留所有现有功能
  • 不影响详细内容区域
  • 数据结构无变化

与详细区域的关系

概览区域(始终显示)

  • 位置: 空间头部下方
  • 功能: 快速查看各阶段状态
  • 交互: 仅悬停效果,不可点击
  • 显示: 图标 + 名称 + 数量

详细区域(展开后显示)

  • 位置: 概览区域下方
  • 功能: 文件上传、预览、删除
  • 交互: 完整的文件管理功能
  • 显示: 文件缩略图 + 上传按钮 + 确认按钮

响应式建议

当前为4列布局,建议添加以下媒体查询:

// 平板(1024px以下)
@media (max-width: 1024px) {
  .stages-overview {
    grid-template-columns: repeat(2, 1fr);
  }
}

// 手机(640px以下)
@media (max-width: 640px) {
  .stages-overview {
    grid-template-columns: 1fr;
  }
}

浏览器兼容性

  • ✅ Chrome 57+
  • ✅ Firefox 52+
  • ✅ Safari 10.1+
  • ✅ Edge 16+
  • ❌ IE 不支持

修改的文件

  1. stage-delivery-new.component.html

    • 在空间头部下方添加了.stages-overview区域
    • 使用@for循环渲染四个阶段卡片
    • 每个阶段显示图标、名称和文件数量
  2. stage-delivery-new.component.scss

    • 添加了.stages-overview及其子元素的完整样式
    • 实现了默认、有文件、悬停三种状态
    • 添加了平滑的过渡动画和视觉效果
  3. stage-delivery.component.ts

    • 无修改 - 所有逻辑保持不变

总结

此次更新在保持所有现有功能不变的前提下,新增了四个阶段的概览区域,显著提升了信息的可见性和用户体验。通过精美的视觉设计和流畅的动画效果,使页面更加美观和易用。