projectDetail.wxml 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <import src="/components/local/wxParse/wxParse.wxml" />
  2. <wxs src="./../../utils/wxsUtil.wxs" module="wxsUtil" />
  3. <view class="swiper-box">
  4. <swiper autoplay circular current="{{topBannerCurrentSwiper}}" bindchange="swiperChange">
  5. <swiper-item wx:for="{{projectData.banner_urls}}" wx:key="index">
  6. <image src="{{item}}"></image>
  7. </swiper-item>
  8. </swiper>
  9. <view class="swiper-dots flex-align-center flex-column">
  10. <block wx:for="{{projectData.banner_urls}}" wx:key="index">
  11. <view class="swiper-dot{{index == topBannerCurrentSwiper ? ' swiper-dot-active' : ''}}"></view>
  12. </block>
  13. </view>
  14. </view>
  15. <view class="project-bgc" style="margin: 20rpx 20rpx 0;">
  16. <view class="project-desc">
  17. <view class="price flex-align-center" style="align-items: baseline;">
  18. <text style="font-family: PingFangSC-Semibold;font-size: 56rpx;color: #FF3007; font-weight: 500;"><text style="font-size: 24rpx;color: #FF3007;">¥</text>{{projectData.is_member ? projectData.member_price : projectData.price}}</text>
  19. <view class="newPeoplePrice" wx:if="{{source=='project'&&isNewUser==1&&projectData.new_price!=0}}"><text>新人价</text><text>¥</text>{{projectData.new_price}}</view>
  20. <text class="vip-origin-price">¥{{projectData.original_price}}</text>
  21. <image wx:if="{{projectData.is_member}}" src="/images/icon_11.png" style="width: 88rpx;height: 30rpx;margin-left: 20rpx;"></image>
  22. <text wx:if="{{projectData.is_member}}" class="flex1" style="margin-left:24rpx;font-size: 32rpx;color: #999999;text-decoration:line-through;">¥{{projectData.price}}</text>
  23. <text class="flex1" style="text-align: right;font-size: 24rpx;color: #999999;">{{projectData.buy_num}}人已买</text>
  24. </view>
  25. <text class="desc ellipsis2" style="font-family: PingFangSC-Semibold;">{{projectData.name}}</text>
  26. <view class="tags ellipsis2" wx:if="{{projectData.tags}}">
  27. <text class="tags tags-item" wx:for="{{ wxsUtil.split(projectData.tags, ' ') }}" wx:key="index">{{item}}</text>
  28. </view>
  29. </view>
  30. <view class="project-change" wx:if="{{source != 'cardgoods'}}">
  31. <!-- <view class="item flex-align-center" bindtap="onPopupState" data-key="visible" data-value="{{true}}" id="selectTime">
  32. <text>预约时间段选择</text>
  33. <image src="/images/icon_nav_01.png"></image>
  34. <text class="flex1" style="text-align:right;" wx:if="{{currentChangeDevice}}">{{currentChangeTime.order_day}} {{currentChangeTime.order_time}}</text>
  35. </view> -->
  36. <!-- <view class="item flex-align-center" wx:if="{{currentChangeDevice}}">
  37. <text>预约设备选择</text>
  38. <image src="/images/icon_nav_01.png"></image>
  39. <text class="flex1 ellipsis" style="text-align:right;margin-left: 40rpx;" wx:if="{{currentChangeDevice}}">{{currentChangeDevice.device_name}}/{{currentChangeDevice.store_name}}</text>
  40. </view> -->
  41. </view>
  42. <view class="project-change" style="margin-top: 20rpx;" wx:if="{{source=='goods'}}">
  43. <view class="item flex-align-center location">
  44. <text class="text">仅支持到店自取(10:00-22:00)</text>
  45. </view>
  46. </view>
  47. </view>
  48. <view class="flex-center" style="height: 74rpx;">
  49. <view style="height: 2rpx;width:130rpx;background: #E9E9E9;"></view>
  50. <text style="font-size: 24rpx;color: #666;margin: 0 20rpx;">{{navBarTitles[source]||'项目详情'}}</text>
  51. <view style="height: 2rpx;width:130rpx;background: #E9E9E9;"></view>
  52. </view>
  53. <view class="project-detail">
  54. <!-- <view class="title flex-center">
  55. <view class="line"></view>
  56. <text style="font-size:28rpx;margin:0 40rpx;">项目详情</text>
  57. <view class="line"></view>
  58. </view> -->
  59. <!-- <view class="title flex-align-center">
  60. <view class="line"></view>
  61. <text style="margin:0 12rpx;">项目详情</text>
  62. </view> -->
  63. <view class="detail flex-column">
  64. <template is="wxParse" data="{{wxParseData:article.nodes}}" />
  65. </view>
  66. </view>
  67. <view style="height:170rpx;"></view>
  68. <view class="buy flex-center" hidden="{{source=='one'?true:false}}">
  69. <!-- <navigator url="/pages/reserveProject/reserveProject?projectData={{projectData}}" hover-class="none">
  70. <view class="buy-btn flex-center">立即预约</view>
  71. </navigator> -->
  72. <view class="goods-btn" wx:if="{{source=='goods'}}">
  73. <view class="goods-shop" bindtap="addGoods">添加购物车</view>
  74. <view class="goods-buy {{source=='goods'&&projectData.num==0?'disabled':''}}" bindtap="addOrder">立即购买</view>
  75. </view>
  76. <view wx:else class="buy-btn flex-center" bindtap="addOrder" id="addOrder">
  77. {{source=='project' ? '加入购物车' : '立即购买'}}
  78. </view>
  79. <!-- <navigator url="/pages/orderConfirm/orderConfirm" hover-class="none">
  80. <view class="buy-btn flex-center" bindtap="addOrder">立即购买</view>
  81. </navigator> -->
  82. </view>
  83. <wux-popup class="popup-radius" position="bottom" catchtouchmove="isShow" visible="{{ visible }}" bind:close="onPopupState" data-key="visible" data-value="{{false}}" wx:if="{{false}}">
  84. <view class="device-popup popup">
  85. <view class="top flex-align-center">
  86. <text bindtap="onPopupState" style="font-size: 36rpx;" data-key="visible" data-value="{{false}}">取消</text>
  87. <text bindtap="onConfirmDate" style="font-size: 36rpx;font-family: PingFangSC-Medium;color: #FA7D22;">确定</text>
  88. </view>
  89. <picker-time projectData="{{projectData}}" bind:change="onVisibleChange" wx:if="{{ projectData }}"></picker-time>
  90. </view>
  91. </wux-popup>
  92. <wux-popup class="popup-radius" position="bottom" catchtouchmove="isShow" visible="{{ visible2 }}" bind:close="onPopupState" data-key="visible2" data-value="{{false}}" wx:if="{{false}}">
  93. <view class="device-popup popup">
  94. <view class="top flex-align-center">
  95. <text bindtap="onPopupState" style="font-size: 36rpx;" data-key="visible2" data-value="{{false}}">取消</text>
  96. <text bindtap="onConfirmDevice" style="font-size: 36rpx;font-family: PingFangSC-Medium;color: #FA7D22;">确定</text>
  97. </view>
  98. <scroll-view scroll-y>
  99. <view class="list">
  100. <view class="item flex flex-align-center {{item.status== 0 ? 'no-change' : ''}}" wx:for="{{deviceList}}" wx:key="index" bindtap="onDeviceChange" data-index="{{index}}" data-status="{{item.status}}">
  101. <image class="device-img" src="{{item.cover_url}}"></image>
  102. <view class="device-info flex-column flex1 flex-start">
  103. <text style="font-family: PingFangSC-Semibold;">{{item.device_name}}\n{{item.store_name}}</text>
  104. </view>
  105. <view class="radio flex-align-center">
  106. <text wx:if="{{item.status == 0}}">不可预约</text>
  107. <text wx:else style="color:#FA7D22">可预约</text>
  108. <image wx:if="{{currentDevice != index && item.status == 1}}" src="/images/icon_radio_01.png"></image>
  109. <image wx:if="{{currentDevice == index && item.status == 1}}" src="/images/my/select_ok.png"></image>
  110. <image wx:if="{{item.status == 0}}" src="/images/icon_radio_03.png"></image>
  111. </view>
  112. </view>
  113. </view>
  114. </scroll-view>
  115. </view>
  116. </wux-popup>
  117. <!-- 下面是选择项目的弹出框 -->
  118. <wux-popup class="popup-radius" position="bottom" catchtouchmove="true" visible="{{ showProducePup }}" bind:close="onClosePay">
  119. <scroll-view scroll-y="true" class="coupon-popup">
  120. <view class="showline"></view>
  121. <view class="select-product">
  122. <image class="v2-select-image" src="{{toSelectProduct.cover_url}}"></image>
  123. <view class="v2-select-content">
  124. <view class="v2-select-content-name">
  125. <view class="v2-select-content-names">{{toSelectProduct.name}}</view>
  126. <image src="/images/icon_20.png" class="close-img" bindtap="onClosePay" />
  127. </view>
  128. <view class="v2-desc" wx:if="{{toSelectProduct.desc}}">
  129. <view class="desc-item" wx:for="{{ wxsUtil.split(toSelectProduct.desc, ' ') }}" wx:key="t_index" wx:for-item="t_item">{{t_item}}</view>
  130. </view>
  131. <view class="flex1In"></view>
  132. <view class="v2-select-ontent-money"><text>¥</text>{{toSelectProduct.price}}</view>
  133. </view>
  134. </view>
  135. <view class="v2-select-title" hidden="{{selectProductData.upgrade.length==0?true:false}}">精选耗材</view>
  136. <view class="v2-material">
  137. <view class="{{selectProductIndex==index?'onSelectProduct':'material-item'}}" catchtap="selectProduct" data-index="{{index}}" wx:for="{{selectProductData.upgrade}}" wx:key="index">
  138. <image class="material-images" src="{{item.cover_url}}"></image>
  139. <view class="material-content">
  140. <view class="material-name {{selectProductIndex==index?'onSelectName':''}}">{{item.name}}</view>
  141. </view>
  142. <view class="material-price"><text>¥</text>{{item.price}}</view>
  143. </view>
  144. </view>
  145. <view class="bottom-select"></view>
  146. <view class="submit_bottom" catchtap="submit_bottom">加入购物车</view>
  147. </scroll-view>
  148. </wux-popup>