diff --git a/pages/goods-detail/goods-detail.js b/pages/goods-detail/goods-detail.js
index 58ac482..8ccc31d 100644
--- a/pages/goods-detail/goods-detail.js
+++ b/pages/goods-detail/goods-detail.js
@@ -2539,12 +2539,16 @@ Page({
// 格式化日期
const updatedAt = goods.updated_at || goods.updatedAt;
- // 检查商品状态,如果为sold_out则显示"已售空",否则显示格式化日期
+ // 检查商品状态,只有status === 'sold_out'时显示售出时间
+ // 其他售空状态使用已售空标签
const isSoldOut = goods.status === 'sold_out' ||
goods.status === 'sold' ||
goods.status === 'out_of_stock' ||
(goods.supplyStatus && goods.supplyStatus.includes('售空'));
- const formattedDate = isSoldOut ? '已售空' : formatDateTime(updatedAt);
+ // 只有status === 'sold_out'时显示售出时间,其他状态隐藏时间
+ const formattedDate = goods.status === 'sold_out' ? formatDateTime(updatedAt) : '';
+ // 标记是否显示已售空标签(除了status === 'sold_out'的其他售空状态)
+ const isSoldOutLabel = isSoldOut && goods.status !== 'sold_out';
return {
...goods,
@@ -2552,7 +2556,8 @@ Page({
mediaItems: processMediaUrls(goods.imageUrls),
weightQuantityData: weightQuantityData,
province: province, // 添加省份字段
- formattedDate: formattedDate // 添加格式化的日期字段
+ formattedDate: formattedDate, // 添加格式化的日期字段
+ isSoldOutLabel: isSoldOutLabel // 添加是否显示已售空标签的标记
};
}).filter(goods => {
// 1. 先过滤相同种类(category)的商品
@@ -2767,12 +2772,16 @@ Page({
// 格式化日期
const updatedAt = product.updated_at || product.updatedAt;
- // 检查商品状态,如果为sold_out则显示"已售空",否则显示格式化日期
+ // 检查商品状态,只有status === 'sold_out'时显示售出时间
+ // 其他售空状态使用已售空标签
const isSoldOut = product.status === 'sold_out' ||
product.status === 'sold' ||
product.status === 'out_of_stock' ||
(product.supplyStatus && product.supplyStatus.includes('售空'));
- const formattedDate = isSoldOut ? '已售空' : formatDateTime(updatedAt);
+ // 只有status === 'sold_out'时显示售出时间,其他状态隐藏时间
+ const formattedDate = product.status === 'sold_out' ? formatDateTime(updatedAt) : '';
+ // 标记是否显示已售空标签(除了status === 'sold_out'的其他售空状态)
+ const isSoldOutLabel = isSoldOut && product.status !== 'sold_out';
return {
...product,
@@ -2780,7 +2789,8 @@ Page({
mediaItems: processMediaUrls(product.imageUrls),
province: province, // 添加省份字段
weightQuantityData: weightQuantityData, // 添加价格处理数据
- formattedDate: formattedDate // 添加格式化的日期字段
+ formattedDate: formattedDate, // 添加格式化的日期字段
+ isSoldOutLabel: isSoldOutLabel // 添加是否显示已售空标签的标记
};
});
console.log('所有商品详情获取完成,有效商品数量:', validProducts.length);
@@ -2834,7 +2844,16 @@ Page({
// 格式化日期
const updatedAt = product.updated_at || product.updatedAt;
- const formattedDate = formatDateTime(updatedAt);
+ // 检查商品状态,只有status === 'sold_out'时显示售出时间
+ // 其他售空状态使用已售空标签
+ const isSoldOut = product.status === 'sold_out' ||
+ product.status === 'sold' ||
+ product.status === 'out_of_stock' ||
+ (product.supplyStatus && product.supplyStatus.includes('售空'));
+ // 只有status === 'sold_out'时显示售出时间,其他状态隐藏时间
+ const formattedDate = product.status === 'sold_out' ? formatDateTime(updatedAt) : '';
+ // 标记是否显示已售空标签(除了status === 'sold_out'的其他售空状态)
+ const isSoldOutLabel = isSoldOut && product.status !== 'sold_out';
return {
...product,
@@ -2842,7 +2861,8 @@ Page({
mediaItems: processMediaUrls(product.imageUrls),
province: province, // 添加省份字段
weightQuantityData: weightQuantityData, // 添加价格处理数据
- formattedDate: formattedDate // 添加格式化的日期字段
+ formattedDate: formattedDate, // 添加格式化的日期字段
+ isSoldOutLabel: isSoldOutLabel // 添加是否显示已售空标签的标记
};
});
diff --git a/pages/goods-detail/goods-detail.wxml b/pages/goods-detail/goods-detail.wxml
index 5bc3e93..4cda168 100644
--- a/pages/goods-detail/goods-detail.wxml
+++ b/pages/goods-detail/goods-detail.wxml
@@ -265,6 +265,8 @@
mode="aspectFill"
lazy-load="true"
>
+
+ 已售空
{{item.name}}
@@ -279,7 +281,7 @@
- {{item.province || item.region || '暂无地区'}} | {{item.formattedDate === '已售空' ? '' : '售出时间:'}}{{item.formattedDate || '暂无时间'}}
+ {{item.province || item.region || '暂无地区'}}{{item.formattedDate ? ' | 售出时间:' + item.formattedDate : ''}}
@@ -314,6 +316,8 @@
mode="aspectFill"
lazy-load="true"
>
+
+ 已售空
{{item.name}}
@@ -328,7 +332,7 @@
- {{item.province || item.region || '暂无地区'}} | {{item.formattedDate === '已售空' ? '' : '售出时间:'}}{{item.formattedDate || '暂无时间'}}
+ {{item.province || item.region || '暂无地区'}}{{item.formattedDate ? ' | 售出时间:' + item.formattedDate : ''}}
diff --git a/pages/goods-detail/goods-detail.wxss b/pages/goods-detail/goods-detail.wxss
index 39879be..390dd7a 100644
--- a/pages/goods-detail/goods-detail.wxss
+++ b/pages/goods-detail/goods-detail.wxss
@@ -989,4 +989,19 @@ video.slider-media .wx-video-volume-icon {
.goods-detail-page {
position: relative;
z-index: 1;
+}
+
+/* 已售空标签样式 */
+.sold-out-label {
+ position: absolute;
+ bottom: 8rpx;
+ right: 8rpx;
+ background-color: #ff4d4f;
+ color: white;
+ font-size: 24rpx;
+ padding: 4rpx 8rpx;
+ border-radius: 6rpx;
+ box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.2);
+ font-weight: 600;
+ z-index: 10;
}
\ No newline at end of file