56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
|
|
<t-popup visible="{{show}}" placement="bottom" z-index="{{zIndex}}" bind:visible-change="onClose">
|
||
|
|
<view class="specs-popup">
|
||
|
|
<view class="popup-close" bindtap="onClose">
|
||
|
|
<t-icon name="close" size="36rpx" />
|
||
|
|
</view>
|
||
|
|
|
||
|
|
<!-- 商品信息 -->
|
||
|
|
<view class="popup-header">
|
||
|
|
<goods-card data="{{goods}}" layout="horizontal-wrap" thumb-mode="{{thumbMode}}" />
|
||
|
|
</view>
|
||
|
|
|
||
|
|
<!-- 加载中 -->
|
||
|
|
<view wx:if="{{loading}}" class="loading-container">
|
||
|
|
<t-loading theme="circular" size="40rpx" text="加载中..." />
|
||
|
|
</view>
|
||
|
|
|
||
|
|
<!-- 规格选择 -->
|
||
|
|
<view wx:else class="spec-selection">
|
||
|
|
<view class="spec-group" wx:for="{{specList}}" wx:key="specId">
|
||
|
|
<view class="spec-group-title">{{item.title}}</view>
|
||
|
|
<view class="spec-options">
|
||
|
|
<view
|
||
|
|
wx:for="{{item.specValueList}}"
|
||
|
|
wx:for-item="specValue"
|
||
|
|
wx:key="specValueId"
|
||
|
|
class="spec-option {{specValue.isSelected ? 'spec-option--active' : ''}}"
|
||
|
|
data-specid="{{item.specId}}"
|
||
|
|
data-id="{{specValue.specValueId}}"
|
||
|
|
bindtap="toChooseItem"
|
||
|
|
>
|
||
|
|
{{specValue.specValue}}
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
|
||
|
|
<!-- 数量选择 -->
|
||
|
|
<view class="quantity-section">
|
||
|
|
<view class="quantity-label">购买数量</view>
|
||
|
|
<t-stepper
|
||
|
|
value="{{buyNum}}"
|
||
|
|
min="{{1}}"
|
||
|
|
max="{{999}}"
|
||
|
|
theme="filled"
|
||
|
|
bind:change="handleBuyNumChange"
|
||
|
|
/>
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
|
||
|
|
<!-- 确认按钮 -->
|
||
|
|
<view class="bottom-btn {{!isAllSelectedSku ? 'bottom-btn--disabled' : ''}}" hover-class="bottom-btn--active" bindtap="onConfirm">
|
||
|
|
确认
|
||
|
|
</view>
|
||
|
|
</view>
|
||
|
|
</t-popup>
|
||
|
|
<t-toast id="t-toast" />
|