Browse Source

修改商品列表排序逻辑,有销售价格的商品排在最前面

pull/12/head
徐飞洋 2 months ago
parent
commit
b1b885801e
  1. 36
      pages/goods/index.js

36
pages/goods/index.js

@ -416,11 +416,21 @@ Page({
publishedGoods = this.filterGoodsList(publishedGoods) publishedGoods = this.filterGoodsList(publishedGoods)
} }
// 按时间倒序排序 // 排序逻辑:有销售价格的商品排在最前面,然后按时间倒序排序
publishedGoods.sort((a, b) => { publishedGoods.sort((a, b) => {
const timeA = new Date(a.updated_at || a.updatedAt || a.created_at || a.createTime).getTime() // 检查是否有销售价格
const timeB = new Date(b.updated_at || b.updatedAt || b.created_at || b.createTime).getTime() const hasPriceA = !!(a.price && a.price.trim() !== '');
return timeB - timeA const hasPriceB = !!(b.price && b.price.trim() !== '');
// 有销售价格的排在前面
if (hasPriceA !== hasPriceB) {
return hasPriceA ? -1 : 1;
}
// 都有或都没有销售价格时,按时间倒序排序
const timeA = new Date(a.updated_at || a.updatedAt || a.created_at || a.createTime).getTime();
const timeB = new Date(b.updated_at || b.updatedAt || b.created_at || b.createTime).getTime();
return timeB - timeA;
}) })
// 进行分页处理 // 进行分页处理
@ -474,11 +484,21 @@ Page({
soldOutGoods = this.filterGoodsList(soldOutGoods) soldOutGoods = this.filterGoodsList(soldOutGoods)
} }
// 按时间倒序排序 // 排序逻辑:有销售价格的商品排在最前面,然后按时间倒序排序
soldOutGoods.sort((a, b) => { soldOutGoods.sort((a, b) => {
const timeA = new Date(a.updated_at || a.updatedAt || a.created_at || a.createTime).getTime() // 检查是否有销售价格
const timeB = new Date(b.updated_at || b.updatedAt || b.created_at || b.createTime).getTime() const hasPriceA = !!(a.price && a.price.trim() !== '');
return timeB - timeA const hasPriceB = !!(b.price && b.price.trim() !== '');
// 有销售价格的排在前面
if (hasPriceA !== hasPriceB) {
return hasPriceA ? -1 : 1;
}
// 都有或都没有销售价格时,按时间倒序排序
const timeA = new Date(a.updated_at || a.updatedAt || a.created_at || a.createTime).getTime();
const timeB = new Date(b.updated_at || b.updatedAt || b.created_at || b.createTime).getTime();
return timeB - timeA;
}) })
// 进行分页处理 // 进行分页处理

Loading…
Cancel
Save