7.1 KiB
7.1 KiB
GoodsOrder 页面功能改进说明
🎯 改进概述
基于您的需求和项目实际情况,我对商品订单页面进行了全面的功能改进,主要包括:
- 商品信息展示优化 - 解决商品列显示空白的问题
- 分组显示功能增强 - 实现真正的按
main_order_id分组显示 - 交互体验提升 - 添加展开/收起、详情查看等功能
- 搜索功能增强 - 支持更多搜索条件和高级搜索
- 操作功能完善 - 支持商品管理、订单修改等操作
🚀 主要功能改进
1. 商品信息展示优化
1.1 商品列重新设计
- 多商品显示:同一主订单下的多个商品用标签形式展示
- 商品预览:显示前2个商品,超出部分显示"+N个"
- 快速查看:点击"查看N个商品"按钮直接进入详情页面
1.2 商品信息展示方式
<!-- 多商品主订单行 -->
<div class="product-summary">
<el-button @click="handleViewDetails(row)">
<i class="el-icon-view"></i>
查看{{ scope.row.children.length }}个商品
</el-button>
<div class="product-preview">
<el-tag v-for="product in scope.row.children.slice(0, 2)">
{{ product.productName }}
</el-tag>
<span v-if="scope.row.children.length > 2">
+{{ scope.row.children.length - 2 }}个
</span>
</div>
</div>
2. 分组显示功能增强
2.1 展开/收起功能
- 主订单行支持展开查看商品明细
- 展开内容显示完整的商品信息表格
- 支持在展开内容中直接操作商品
2.2 分组数据结构优化
// 支持合并行的扁平化数据结构
const flatList = [];
Object.keys(grouped).forEach(mainOrderId => {
const items = grouped[mainOrderId];
// 创建主行(显示汇总信息)
const mainRow = {
...firstItem,
isMainRow: true,
rowspan: items.length,
children: items
};
flatList.push(mainRow);
});
3. 订单详情功能完善
3.1 详情对话框重新设计
- 主订单信息卡片:显示订单基本信息和汇总数据
- 商品明细卡片:支持商品数量修改、删除等操作
- 订单统计卡片:显示商品种类、总数量、总金额等统计信息
3.2 商品管理功能
- 支持修改商品数量(自动重新计算小计和汇总)
- 支持删除订单中的商品
- 支持添加新商品到订单(预留接口)
4. 搜索功能增强
4.1 基础搜索优化
- 添加订单状态筛选
- 优化搜索条件布局
- 支持回车键快速搜索
4.2 高级搜索功能
- 新增收货人、联系电话、商品类型等搜索条件
- 支持售后状态筛选
- 可展开/收起高级搜索表单
<!-- 高级搜索表单 -->
<el-form v-show="showAdvancedSearch" class="advanced-search-form">
<el-form-item label="收货人" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入收货人姓名" />
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="queryParams.phone" placeholder="请输入联系电话" />
</el-form-item>
<!-- 更多搜索条件... -->
</el-form>
5. 操作功能完善
5.1 快速操作工具栏
- 刷新数据:重新加载订单信息
- 导出数据:导出当前筛选条件下的订单数据
- Excel批量发货:原有的批量发货功能
5.2 商品操作功能
- 支持修改商品数量
- 支持删除商品
- 支持商品状态管理
🎨 界面设计改进
1. 视觉层次优化
- 主订单行使用特殊背景色标识
- 商品标签使用不同颜色区分状态
- 卡片式布局提升信息层次感
2. 交互体验提升
- 展开/收起动画效果
- 悬停效果和阴影
- 响应式布局适配
3. 样式系统完善
/* 主订单行样式 */
::v-deep .main-order-row {
background-color: #f0f9ff !important;
font-weight: bold;
}
/* 商品相关样式 */
.product-summary {
text-align: center;
}
.product-preview {
margin-top: 8px;
}
🔧 技术实现要点
1. 数据结构设计
- 使用扁平化数据结构支持表格合并
- 主行和子行分离,便于操作管理
- 支持动态计算汇总数据
2. 组件交互
- 使用
span-method实现单元格合并 - 使用
expand-row-keys控制展开状态 - 支持动态数据更新和重新计算
3. 性能优化
- 按需加载商品详情
- 支持数据缓存和刷新
- 优化大量数据的渲染性能
📱 使用说明
1. 查看订单
- 主订单行:显示汇总信息,支持展开查看详情
- 商品预览:直接显示商品标签和数量
- 详情查看:点击"查看N个商品"进入详情页面
2. 管理商品
- 数量修改:在详情页面直接修改商品数量
- 商品删除:支持删除订单中的商品
- 状态管理:查看和管理商品状态
3. 搜索筛选
- 基础搜索:支持订单号、用户、商品等条件
- 高级搜索:展开后显示更多搜索选项
- 快速筛选:支持订单状态、售后状态等
4. 批量操作
- 选择订单:支持选择主订单(自动选择所有子订单)
- 批量删除:删除整个主订单或单个商品
- 批量发货:使用Excel批量处理发货
🎯 业务价值
1. 提升工作效率
- 分组显示让订单管理更清晰
- 快速查看和操作减少页面跳转
- 批量操作支持提高处理效率
2. 改善用户体验
- 直观的商品信息展示
- 友好的交互操作界面
- 完善的搜索和筛选功能
3. 支持业务需求
- 按主订单分组管理符合业务逻辑
- 支持商品级别的精细化管理
- 提供完整的订单生命周期管理
🔮 后续优化建议
1. 功能扩展
- 支持商品图片显示
- 添加订单备注和标签功能
- 支持订单模板和快速创建
2. 性能优化
- 实现虚拟滚动支持大量数据
- 添加数据缓存和预加载
- 优化搜索和筛选性能
3. 用户体验
- 添加操作引导和帮助提示
- 支持个性化设置和偏好
- 添加数据统计和图表展示
📋 修改文件清单
-
前端页面:
ruoyi-ui/src/views/system/GoodsOrder/index.vue- 表格结构和显示逻辑
- 商品信息展示优化
- 分组显示功能实现
- 详情对话框重新设计
- 搜索功能增强
-
样式文件:同页面内嵌样式
- 新增商品相关样式
- 订单详情样式优化
- 高级搜索表单样式
-
说明文档:
GoodsOrder功能改进说明.md- 详细的功能说明
- 使用方法和注意事项
- 技术实现要点
✨ 总结
通过这次全面的功能改进,商品订单页面现在具备了:
- 清晰的分组显示:按主订单号分组,支持展开查看详情
- 完善的商品管理:支持商品信息的查看、修改、删除等操作
- 强大的搜索功能:基础搜索+高级搜索,满足各种查询需求
- 友好的用户界面:现代化的卡片布局,直观的信息展示
- 高效的操作体验:支持批量操作,减少重复工作
这些改进完全满足了您提出的"按main_order_id分组查询显示"的需求,同时大大提升了页面的功能性和用户体验。