goods-specs-popup.wxml 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <t-popup visible="{{show}}" placement="bottom" bind:visible-change="handlePopupHide">
  2. <view class="popup-container">
  3. <view class="popup-close" bindtap="handlePopupHide">
  4. <t-icon name="close" size="36rpx" />
  5. </view>
  6. <view class="popup-sku-header">
  7. <t-image t-class="popup-sku-header__img" src="{{src}}" />
  8. <view class="popup-sku-header__goods-info">
  9. <view class="popup-sku__goods-name">{{title}}</view>
  10. <view class="goods-price-container">
  11. <slot name="goods-price" />
  12. </view>
  13. <!-- 已选规格 -->
  14. <view class="popup-sku__selected-spec">
  15. <!-- <view style="flex-shrink: 0;">选择:</view> -->
  16. <view style="flex: 1; display: flex;flex-wrap: wrap;">
  17. <view wx:for="{{specList}}" wx:key="specId">
  18. <view class="popup-sku__selected-item" wx:for="{{item.specValueList}}" wx:for-item="selectedItem" wx:if="{{selectedItem.isChoosed}}" wx:key="specValueId">
  19. {{selectedItem.specValue}}
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. </view>
  25. </view>
  26. <view class="popup-sku-body">
  27. <view class="popup-sku-group-container">
  28. <view class="popup-sku-row" wx:for="{{specList}}" wx:key="specId">
  29. <view class="popup-sku-row__title">{{item.title}}</view>
  30. <block wx:for="{{item.specValueList}}" wx:for-item="valuesItem" wx:for-index="valuesIndex" wx:key="specValueId">
  31. <view class="popup-sku-row__item {{valuesItem.isChoosed ? 'popup-sku-row__item--active' : ''}} {{!valuesItem.hasStockObj.hasStock || !isStock ? 'disabled-sku-selected' : ''}}" data-specid="{{item.specId}}" data-id="{{valuesItem.specValueId}}" data-val="{{valuesItem.specValue}}" data-hasStock="{{valuesItem.hasStockObj.hasStock}}" bindtap="toChooseItem">
  32. <view wx:if="{{valuesItem.image && valuesItem.image.length > 0}}">
  33. <image src="{{valuesItem.image}}" mode="widthFix" />
  34. </view>
  35. <view>{{valuesItem.specValue}}</view>
  36. </view>
  37. </block>
  38. </view>
  39. </view>
  40. <view class="popup-sku-stepper-stock" wx:if="{{!outEditStatus}}">
  41. <view class="popup-sku-stepper-container">
  42. <view class="popup-sku__stepper-title">
  43. 购买数量
  44. <view class="limit-text" wx:if="{{limitBuyInfo}}">
  45. ({{limitBuyInfo}})
  46. </view>
  47. </view>
  48. <view class="popup-stepper popup-sku__stepper">
  49. <view class="input-btn popup-stepper__minus" bindtap="handleBuyNumMinus">
  50. <t-icon name="remove" size="24rpx" />
  51. </view>
  52. <view class="input-num-wrap">
  53. <input maxlength="{{limitCount}}" class="input-num" type="number" value="{{buyNum}}" bindblur="handleBuyNumChange" />
  54. </view>
  55. <view class="input-btn popup-stepper__plus" bindtap="handleBuyNumPlus">
  56. <t-icon name="add" size="24rpx" />
  57. </view>
  58. </view>
  59. </view>
  60. </view>
  61. </view>
  62. <view wx:if="{{outOperateStatus}}" class="single-confirm-btn {{!isStock ? 'disabled' : ''}}" bindtap="specsConfirm">
  63. 加入购物车
  64. </view>
  65. <view wx:if="{{outEditStatus}}" class="single-confirm-btn {{!isStock ? 'disabled' : ''}}" bindtap="specsConfirm">
  66. 确认
  67. </view>
  68. <view class="popup-sku-actions flex flex-between {{!isStock ? 'popup-sku-disabled' : ''}}" wx:if="{{!outOperateStatus && !outEditStatus}}">
  69. <view class="sku-operate">
  70. <view class="selected-sku-btn sku-operate-addCart {{!isStock ? 'disabled' : ''}}" bindtap="addCart">
  71. 加入购物车
  72. </view>
  73. </view>
  74. <view class="sku-operate">
  75. <view class="selected-sku-btn sku-operate-buyNow {{!isStock ? 'disabled' : ''}}" bindtap="buyNow">
  76. 立即购买
  77. </view>
  78. </view>
  79. </view>
  80. <slot name="bottomSlot" />
  81. </view>
  82. </t-popup>
  83. <t-toast id="t-toast" />
  84. <wxs module="col">
  85. var stringify = function (val) {
  86. return JSON.stringify(val)
  87. }
  88. module.exports = {
  89. stringify: stringify
  90. }
  91. </wxs>