projectDetail.wxml 9.1 KB

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