# 订单管理系统组件需求文档 ## 项目概述 订单管理系统的核心组件库,包含工单卡片、工单列表、咨询栏等核心功能组件。 ## TopNavBar 组件 ### 功能要求 - 顶部导航栏展示 - 支持自定义标题内容 - 支持插槽扩展 ### 设计要求 - 固定在页面顶部 - 背景色与主题一致 - 高度适中,不占用过多空间 ## Tabs 组件 ### 功能要求 - 标签页切换功能 - 支持默认激活项 - 切换动画效果 - 事件回调 ### 设计要求 - 标签间距均匀 - 激活状态明显 - 切换动画流畅 - 响应式适配 ## OrderCard 组件 ### 功能要求 - 展示工单基本信息(标题、时间、联系人、状态等) - 支持点击事件 - 支持呼叫功能 - 支持完成操作 - 状态标识清晰 ### 设计要求 - 卡片式布局,圆角设计 - 信息层次分明 - 操作按钮位置合理 - 状态颜色区分明显 - 支持不同状态的视觉反馈 ## OrderList 组件 ### 功能要求 - 显示工单列表 - 集成z-paging组件,支持虚拟列表 - 支持自定义下拉刷新(文案、样式、阈值) - 支持自定义上拉加载更多(文案、样式、阈值) - 自动管理空数据状态 - 支持固定高度和自适应高度模式 - 完整的事件回调机制 - 加载状态管理 ### 设计要求 - 列表项间距合理 - 加载动画流畅 - 空状态友好提示 - 响应式布局 - 虚拟列表优化大数据渲染性能 ### z-paging配置 - `useVirtualList`: 是否启用虚拟列表(默认true) - `virtualListHeight`: 虚拟列表高度(默认100%) - `cellHeightMode`: 单元格高度模式(auto/fixed) - `fixedHeight`: 固定高度值(当cellHeightMode为fixed时使用) - `customEmptyView`: 是否使用自定义空状态 ## ConsultationBar 组件 ### 功能要求 - 底部固定咨询栏 - 显示客服信息和联系方式 - 支持立即咨询功能 - 默认隐藏,点击"立即呼叫"按钮后显示 - "立即咨询"按钮单独一行显示 - 支持显示/隐藏动画效果 ### 设计要求 - 固定在页面底部 - 背景半透明或纯色 - 按钮样式与主题一致 - 信息布局清晰 - 支持安全区域适配 - 显示/隐藏动画流畅 ## 数据结构 ### 工单数据结构 ```javascript { id: String, // 工单ID title: String, // 工单标题 createTime: String, // 创建时间 contactName: String, // 联系人姓名 contactPhone: String, // 联系电话 status: String, // 状态:pending-待处理, processing-处理中, completed-已完成, cancelled-已取消 type: String // 类型:service-服务工单, order-普通订单 } ``` ### Tab数据结构 ```javascript { label: String, // 显示文本 value: String // 值 } ``` ## 技术要求 ### 框架和库 - Vue 3 Composition API - uni-app框架 - z-paging组件(用于列表优化) - SCSS样式预处理 ### 性能优化 - 虚拟列表支持大数据量渲染 - 图片懒加载 - 组件按需加载 - 合理的缓存策略 ### 兼容性 - 支持微信小程序 - 支持H5 - 支持APP - 响应式设计,适配不同屏幕尺寸 ## 更新日志 ### v1.2.0 (最新) - ✅ 集成z-paging组件到OrderList - ✅ 支持虚拟列表,提升大数据渲染性能 - ✅ 自定义下拉刷新和上拉加载更多 - ✅ 自动管理空数据状态 - ✅ 支持固定高度和自适应高度模式 - ✅ 完整的事件回调机制 - ✅ 创建OrderList演示页面 ### v1.1.0 - ✅ 修改ConsultationBar组件布局 - ✅ "立即咨询"按钮单独一行显示 - ✅ 默认隐藏,点击"立即呼叫"后显示 - ✅ 添加显示/隐藏动画效果 - ✅ 更新相关样式和交互逻辑 ### v1.0.0 - ✅ 完成OrderCard组件开发 - ✅ 完成OrderList组件开发 - ✅ 完成ConsultationBar组件开发 - ✅ 完成TopNavBar组件开发 - ✅ 完成Tabs组件开发 - ✅ 完成订单管理页面集成 - ✅ 创建组件演示页面 - ✅ 编写技术文档