65926a35b6
- 将分页配置从内联对象改为计算属性,避免分页参数被 Vue 不自动解包的问题 - goodsPagination 计算属性返回正确的分页参数并绑定 onChange 事件 - onChange 中调用 loadGoods 时修正 currentSectionId 使用 .value 获取 - 调整商品操作列宽度以适应界面显示 - 验证 vite build 通过,分页功能正常响应点击
2.1 KiB
2.1 KiB
2026-08-17 工作日志
专区销量统计功能(/special/zone)
- 调研:专区与商品靠
ShopGoods.section_ids(逗号串)关联;ShopOrderGoods无 sectionId,有goodsId/totalNum/price/payStatus/orderStatus/tenantId;商品有sales累计字段。 - 确认方案:方案B(订单真实成交聚合)+ 列表汇总列 + 独立统计弹窗,指标=销量件数+销售额。
- 后端 guilixu-java(shop 模块)改动:
- ShopHomeSection 实体加 salesNum/salesAmount(@TableField(exist=false))
- 新建 VO:SectionSalesSummaryVO / ShopSectionGoodsRankVO / SectionSalesStatsVO(vo 包)
- ShopHomeSectionMapper 加 selectSectionSalesSummary(批量)/ selectSectionGoodsRank(TOP50)
- ShopHomeSectionServiceImpl.pageRel 批量填充汇总 + 新增 getSectionSalesStats
- ShopHomeSectionController 新增 GET /{id}/stats?start=&end=
- 口径:payStatus=1 且 orderStatus NOT IN(2,6),tenantId 隔离,时间对应 create_time
- 前端 guilixu-admin:
- shopZone API 加 getSectionSalesStats;model 加字段与 VO 类型
- zone/index.vue 列表加「销量件数」「销售额」列 + 操作列「销量」按钮
- 新建 SectionSalesStatsModal.vue(时间筛选 + 汇总卡片 + 商品排行)
- vite build 通过(exit 0)
- 待办:后端需 maven 编译并部署到 shop-api.websoft.top 才生效(本环境未部署)。
修复专区商品抽屉分页点击无效
- 文件:
src/views/special/zone/index.vue - 问题:抽屉里
a-table的:pagination直接内联写{ current: goodsPage, pageSize: goodsPageSize, total: goodsTotal },对象属性中的 ref 不会被 Vue 自动解包,Pagination 拿到的是 ref 对象而非 number,导致分页按钮点不动。 - 修复:
- 提取
goodsPagination = computed(() => ({ total: goodsTotal.value, current: goodsPage.value, pageSize: goodsPageSize.value, showSizeChanger: true, onChange: ... })) :pagination="goodsPagination"onChange里loadGoods(currentSectionId.value)修正为.value
- 提取
- 验证:
vite build通过(exit 0)。