|
|
@ -108,7 +108,7 @@ |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- 骨架屏加载 --> |
|
|
<!-- 骨架屏加载 - 只在初始加载时显示,筛选时不显示 --> |
|
|
<view wx:if="{{isLoading && goods.length === 0}}" class="skeleton-container"> |
|
|
<view wx:if="{{isLoading && goods.length === 0}}" class="skeleton-container"> |
|
|
<view class="skeleton-grid"> |
|
|
<view class="skeleton-grid"> |
|
|
<view class="skeleton-grid-item" wx:for="{{[1,2,3,4,5,6,7,8]}}" wx:key="index"> |
|
|
<view class="skeleton-grid-item" wx:for="{{[1,2,3,4,5,6,7,8]}}" wx:key="index"> |
|
|
@ -123,7 +123,7 @@ |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- 商品列表区域 --> |
|
|
<!-- 商品列表区域 --> |
|
|
<view class="goods-section"> |
|
|
<view class="goods-section" wx:if="{{filteredGoods.length > 0}}"> |
|
|
<scroll-view |
|
|
<scroll-view |
|
|
class="goods-list" |
|
|
class="goods-list" |
|
|
id="goodsScrollView" |
|
|
id="goodsScrollView" |
|
|
@ -180,10 +180,10 @@ |
|
|
<view wx:if="{{item.supplyStatus === '预售'}}" class="promo-tag presale">预售</view> |
|
|
<view wx:if="{{item.supplyStatus === '预售'}}" class="promo-tag presale">预售</view> |
|
|
<view wx:if="{{item.supplyStatus === '现货'}}" class="promo-tag in-stock">现货</view> |
|
|
<view wx:if="{{item.supplyStatus === '现货'}}" class="promo-tag in-stock">现货</view> |
|
|
</view> |
|
|
</view> |
|
|
<view class="product-info" style="height: 181rpx; display: flex; box-sizing: border-box"> |
|
|
<view class="product-info" style="height: 190rpx; display: flex; box-sizing: border-box"> |
|
|
<view class="product-title" style="height: 35rpx; display: -webkit-box; box-sizing: border-box">{{item.name}}</view> |
|
|
<view class="product-title" style="height: 38rpx; display: -webkit-box; box-sizing: border-box">{{item.name}}</view> |
|
|
<view class="product-spec" style="width: 308rpx; height: 29rpx; display: block; box-sizing: border-box">{{item.displaySpecification}}<text wx:if="{{item.displayYolk}}"> | {{item.displayYolk}}</text></view> |
|
|
<view class="product-spec" style="width: 308rpx; height: 29rpx; display: block; box-sizing: border-box">{{item.displaySpecification}}<text wx:if="{{item.displayYolk}}"> | {{item.displayYolk}}</text></view> |
|
|
<view class="product-status-row" style="width: 325rpx; display: block; box-sizing: border-box; height: 60rpx"> |
|
|
<view class="product-status-row" style="width: 339rpx; display: block; box-sizing: border-box; height: 60rpx; left: -10rpx; top: 0rpx"> |
|
|
<view class="status-tag source-{{item.sourceType === '三方认证' ? 'third' : (item.sourceType === '平台货源' ? 'platform' : 'unverified')}}">{{item.sourceType || ''}}</view> |
|
|
<view class="status-tag source-{{item.sourceType === '三方认证' ? 'third' : (item.sourceType === '平台货源' ? 'platform' : 'unverified')}}">{{item.sourceType || ''}}</view> |
|
|
<view class="status-tag negotiate-{{item.negotiateStatus === '可议价' ? 'yes' : 'no'}}" style="width: 70rpx; display: inline-block; box-sizing: border-box">{{item.negotiateStatus}}</view> |
|
|
<view class="status-tag negotiate-{{item.negotiateStatus === '可议价' ? 'yes' : 'no'}}" style="width: 70rpx; display: inline-block; box-sizing: border-box">{{item.negotiateStatus}}</view> |
|
|
<view class="status-tag item-count">库存:{{item.totalStock && item.totalStock !== '充足' ? item.totalStock + '件' : (item.totalStock || '充足')}}</view> |
|
|
<view class="status-tag item-count">库存:{{item.totalStock && item.totalStock !== '充足' ? item.totalStock + '件' : (item.totalStock || '充足')}}</view> |
|
|
@ -217,6 +217,13 @@ |
|
|
</view> |
|
|
</view> |
|
|
</scroll-view> |
|
|
</scroll-view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 无商品时显示(初始加载时) --> |
|
|
|
|
|
<view wx:if="{{!isLoading && filteredGoods.length === 0}}" class="empty-goods" style="margin-top: 100rpx;"> |
|
|
|
|
|
<view class="empty-icon">📦</view> |
|
|
|
|
|
<text class="empty-text">暂无商品数据</text> |
|
|
|
|
|
<text class="empty-hint">下拉刷新试试</text> |
|
|
|
|
|
</view> |
|
|
<!-- 登录弹窗 --> |
|
|
<!-- 登录弹窗 --> |
|
|
<view wx:if="{{showOneKeyLoginModal}}" class="auth-modal-overlay"> |
|
|
<view wx:if="{{showOneKeyLoginModal}}" class="auth-modal-overlay"> |
|
|
<view class="auth-modal-container"> |
|
|
<view class="auth-modal-container"> |
|
|
|