index.wxml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335
  1. <wxs src="../../../../utils//totalprices.wxs" module="total" />
  2. <nav type="back" background-color="#4F9AF7" frontColor="#000000" title="参与活动" />
  3. <view class="box">
  4. <view class="banner">
  5. <swiper class="swiper" indicator-dots="true" autoplay="true" circular="ture">
  6. <swiper-item wx:for="{{activity.cover}}" wx:key="index">
  7. <image data-img="{{item}}" bindtap="imagePreview" src="{{item}}" style="width: 100vw;height: 100%;" mode="aspectFill" />
  8. </swiper-item>
  9. </swiper>
  10. <view class="linear"></view>
  11. </view>
  12. <view class="detail">
  13. <view class="name">
  14. <view class="title" bindtap="getThumbs">
  15. {{activity.title}}
  16. </view>
  17. <view class="desc">
  18. {{activity.desc}}
  19. </view>
  20. </view>
  21. <block wx:if="{{userInfo}}">
  22. <van-tabs active="{{ active }}" bind:change="changeTab" color="#4F9AF7">
  23. <van-tab title="活动详情"></van-tab>
  24. <van-tab title="排行榜"></van-tab>
  25. </van-tabs>
  26. <block wx:if="{{active==0}}">
  27. <view class="date">
  28. <view></view>
  29. <view class="tip" style="color: {{(tips.isCanSign||tips.isCanRevise)?'#7F56B2':'gray'}};">
  30. {{tips.title}}
  31. </view>
  32. </view>
  33. <block wx:for="{{optionKeyList}}" wx:key="index">
  34. <view class="item">
  35. <view class="title">
  36. {{item}}
  37. </view>
  38. <view class="common">{{activity.limitOptions[item]}}</view>
  39. </view>
  40. </block>
  41. <view class="item" wx:if="{{booking}}">
  42. <view class="title">
  43. 预约时间
  44. </view>
  45. <view>
  46. <view class="common" style="font-weight: bold;color: red;">{{registerList[registerList.length-1].bookObj.from}} - {{registerList[registerList.length-1].bookObj.to}}</view>
  47. </view>
  48. </view>
  49. <view class="item" wx:if="{{booking}}">
  50. <view class="title">
  51. 预约服务位置
  52. </view>
  53. <view class="common" style="font-weight: bold;color: red;">{{registerList[registerList.length-1].shop.storeName||'未知'}}</view>
  54. </view>
  55. <block wx:if="{{activity.signFromTo.from&&activity.signFromTo.to}}">
  56. <view class="item">
  57. <view class="title">
  58. 报名时间
  59. </view>
  60. <view class="common">{{activity.signFromTo.from}} - {{activity.signFromTo.to}}</view>
  61. </view>
  62. </block>
  63. <block wx:if="{{activity.merber>0}}">
  64. <view class="item">
  65. <view class="title">
  66. 报名人数
  67. </view>
  68. <view class="common">{{count}}人 /{{activity.merber}}</view>
  69. </view>
  70. </block>
  71. <block wx:if="{{activity.start&&activity.end}}">
  72. <view class="item">
  73. <view class="title">
  74. 活动时间
  75. </view>
  76. <view class="common">{{activity.start}} - {{activity.end}}</view>
  77. </view>
  78. </block>
  79. <block wx:if="{{activity.isEnabled}}">
  80. <view class="item">
  81. <view class="title">
  82. 活动状态
  83. </view>
  84. <view class="common">{{activity.isEnabled?'已开启':'未开启'}}</view>
  85. </view>
  86. </block>
  87. <block wx:if="{{activity.mobile}}">
  88. <view class="item">
  89. <view class="title">
  90. 联系电话
  91. </view>
  92. <view class="common">{{activity.mobile}}</view>
  93. </view>
  94. </block>
  95. <block wx:if="{{registerList.length>0}}">
  96. <view class="item">
  97. <view class="title">
  98. 报名记录
  99. </view>
  100. <block wx:if="{{registerList.length==1}}">
  101. <view class="common">
  102. <block wx:for="{{registerList}}" wx:key="index">
  103. <view data-index="{{index}}" bind:tap="lookLog" class="arLog">
  104. <text>{{item.shopStore.storeName}} {{item.booking}}</text>
  105. <van-icon name="{{tips.isEdit?'edit':'medal' }}" size="40rpx" />
  106. </view>
  107. </block>
  108. </view>
  109. </block>
  110. </view>
  111. <view class="item" wx:if="{{registerList.length>1}}">
  112. <view class="title">
  113. <text decode="{{true}}">&emsp;&emsp;&emsp;&emsp;</text>
  114. </view>
  115. <view class="common">
  116. <block wx:for="{{registerList}}" wx:key="index">
  117. <view data-index="{{index}}" bind:tap="lookLog" class="arLog">
  118. <text>{{item.shopStore.storeName}} {{item.booking}}</text>
  119. <van-icon name="{{tips.isEdit?'edit':'medal-o' }}" size="40rpx" />
  120. </view>
  121. </block>
  122. </view>
  123. </view>
  124. </block>
  125. <button bindtap="application" wx:if="{{activity.shopStore.length>0&&tips.isCanSign}}" class="btn">
  126. <text wx:if="{{activity.price}}" style="color: red;font-weight: bold;margin-right: 10rpx;font-size: 28rpx;margin: 10rpx 0;">¥{{activity.price}}</text>
  127. 前 往 报 名
  128. </button>
  129. </block>
  130. <block wx:if="{{active==1}}">
  131. <block wx:for="{{meRank}}" wx:key="index">
  132. <view class="meItem">
  133. <view class="h3">我的成绩</view>
  134. <view class="avatar">
  135. <image src="{{item.avatar}}" mode="" />
  136. </view>
  137. <view class="name">{{item.booking||''}}</view>
  138. <view class="name"><text style="font-weight: bold;">{{item.al_steps}}</text> 步</view>
  139. <view class="rang"><text style="font-weight: bold;">{{item.al_sportDate}}</text> 秒</view>
  140. </view>
  141. </block>
  142. <view class="rankbox">
  143. <view class="ran-top">
  144. <view class="top-til">{{changetitleMap[changetitle]}}排行榜</view>
  145. <view class="top-box" bindtap="change">
  146. 切换
  147. <image style="width: 22rpx;height: 22rpx;" src="https://file-cloud.fmode.cn/qpFbRRSZrO/20241226/fejv43122812199.png"></image>
  148. </view>
  149. <view class="top-box" style="margin-left: 20rpx;" bindtap="changeup">
  150. {{rank=='ASC'?'逆序':'正序'}}
  151. <image src="https://file-cloud.fmode.cn/qpFbRRSZrO/20241226/8lu1od115228414.png"></image>
  152. </view>
  153. </view>
  154. <block wx:for="{{rankList}}" wx:key="index">
  155. <view class="cardbox">
  156. <view class="image1" wx:if="{{index==0}}">1</view>
  157. <view class="image2" wx:if="{{index==1}}">2</view>
  158. <view class="image3" wx:if="{{index==2}}">3</view>
  159. <view class="paiming" wx:if="{{index>=3}}">{{index+1}}</view>
  160. <image class="avarter" src="{{item.avatar}}"></image>
  161. <view class="name">
  162. {{item.nickname}}
  163. <view class="name2">{{item.booking||''}}</view>
  164. </view>
  165. <view class="num">{{item.al_steps}}步</view>
  166. <view class="num">{{item.al_sportDate}}秒</view>
  167. </view>
  168. </block>
  169. <block wx:if="{{rankList.length<=0}}">
  170. <van-empty description="榜单静悄悄,运动一下吧~">
  171. </van-empty>
  172. </block>
  173. </view>
  174. </block>
  175. </block>
  176. <block wx:else>
  177. <button bind:tap="login">登录后可报名</button>
  178. </block>
  179. </view>
  180. </view>
  181. <van-popup style="height: 70vh;" show="{{ showpopup }}" bind:click-overlay='onClose' round position="bottom" bind:close="onClose">
  182. <view class="popup">
  183. <view class="topTitle topBox">报名信息</view>
  184. <view class="topBox">报名信息</view>
  185. <van-cell-group>
  186. <van-field model:value="{{ name }}" required clearable label="姓名" placeholder="请输入姓名" />
  187. </van-cell-group>
  188. <view class="registerStartDate">
  189. <view class="title">
  190. <text>*</text>
  191. 姓别
  192. </view>
  193. <view class="date">
  194. <van-radio-group direction='horizontal' model:value="{{ sex }}" bind:change="onChangeSex">
  195. <van-radio icon-size="35rpx" name="男">男</van-radio>
  196. <van-radio icon-size="35rpx" name="女">女</van-radio>
  197. </van-radio-group>
  198. </view>
  199. </view>
  200. <van-cell-group>
  201. <van-field model:value="{{ idcard }}" type="number" required clearable label="身份证号" />
  202. <van-field model:value="{{ birthdate }}" required clearable label="出生日期" />
  203. <van-field model:value="{{ address }}" required clearable label="现居住地" />
  204. <van-field model:value="{{ mobile }}" type="number" required clearable label="联系电话" placeholder="请输入联系电话" />
  205. <van-field model:value="{{ classType }}" required clearable label="血型" />
  206. <van-field model:value="{{ teacher }}" required clearable label="紧急联系人" />
  207. <van-field model:value="{{ tel }}" type="number" required clearable label="联系人电话" placeholder="紧急联系人电话" />
  208. </van-cell-group>
  209. <view class="registerStartDate">
  210. <view class="title">
  211. <text>*</text>
  212. 服装尺码
  213. </view>
  214. </view>
  215. <view class="registerStartDate">
  216. <view class="title"></view>
  217. <view class="date">
  218. <van-radio-group model:value="{{ centerDesc }}" bind:change="onChangecenterDesc">
  219. <van-radio icon-size="35rpx" name="S码(90斤以下)">S码(90斤以下) </van-radio>
  220. <van-radio icon-size="35rpx" name="M码(90斤-105斤)">M码(90斤-105斤)</van-radio>
  221. <van-radio icon-size="35rpx" name="L码(105斤-120斤)">L码(105斤-120斤)</van-radio>
  222. <van-radio icon-size="35rpx" name="XL码(120斤-135斤)">XL码(120斤-135斤)</van-radio>
  223. <van-radio icon-size="35rpx" name="2XL码(135斤-150斤)">2XL码(135斤-150斤)</van-radio>
  224. <van-radio icon-size="35rpx" name="3XL码(150斤-165斤)">3XL码(150斤-165斤)</van-radio>
  225. <van-radio icon-size="35rpx" name="4XL码(165斤-190斤)">4XL码(165斤-190斤)</van-radio>
  226. <van-radio icon-size="35rpx" name="5XL码(190斤-220斤)">5XL码(190斤-220斤)</van-radio>
  227. </van-radio-group>
  228. </view>
  229. </view>
  230. <view class="registerStartDate" bindtap="openStore">
  231. <view class="title">
  232. <text>*</text>
  233. 位置
  234. </view>
  235. <view class="date">{{shop.storeName||'选择位置'}}</view>
  236. </view>
  237. <view class="registerStartDate" bindtap="onDisplay">
  238. <view class="title">
  239. <text>*</text>
  240. 预约日期
  241. </view>
  242. <view class="date" wx:if="{{(!checkDate)&&aRegister.id}}">{{bookObj.from+' - '+bookObj.to}}</view>
  243. <view class="date" wx:else>{{checkDate?checkDate:'选择日期'}}</view>
  244. </view>
  245. <view class="registerStartTime" wx:if="{{checkDate}}">
  246. <view class="title">
  247. <text>*</text>
  248. 选择时间
  249. </view>
  250. <block wx:if="{{checkTimeList&&checkTimeList.length>0}}">
  251. <block wx:for="{{checkTimeList}}" wx:key="index">
  252. <view class="box">
  253. <view class="time">
  254. <view class="from">
  255. <van-icon name="underway-o" />
  256. {{item.from}}
  257. </view>
  258. <view class="to">
  259. <van-icon name="stop-circle-o" />
  260. {{item.to}}
  261. </view>
  262. </view>
  263. <view>
  264. <view wx:if="{{activity.price}}" style="display: flex;flex-direction: column;align-items: center;">
  265. <text style="color: red;font-weight: bold;margin-right: 10rpx;font-size: 28rpx;margin: 10rpx 0;">¥{{activity.price}}</text>
  266. </view>
  267. <block wx:if="{{tips.isEdit}}">
  268. <view class="btn" data-from="{{item.fromDate}}" data-to="{{item.toDate}}" bindtap="enlists">
  269. {{aRegister.id?'更改为本时间':'立即预约'}}
  270. </view>
  271. </block>
  272. </view>
  273. </view>
  274. </block>
  275. </block>
  276. <van-empty wx:else description="当天无可预约时间" />
  277. </view>
  278. <view class="registerStartDate">
  279. <view style="font-size: 30rpx;">
  280. <van-radio-group value="{{ isAttachment }}" bind:change="onChangeSexIsAttachment">
  281. <van-radio icon-size="35rpx" label-disabled name="同意">
  282. 我已阅读并同意
  283. <text bind:tap="openFile" style="color: red;">《参赛选手免责声明》</text>
  284. </van-radio>
  285. </van-radio-group>
  286. </view>
  287. </view>
  288. <van-calendar color="#4F9AF7" formatter="{{ formatter }}" min-date="{{minDate}}" max-date="{{maxDate}}" show="{{ showDate }}" bind:close="onCloseDate" bind:confirm="onConfirm" />
  289. <view class="btn_btm">
  290. <button wx:if="{{tips.isEdit&&aRegister.id&&!checkDate}}" class="revise" bindtap="enlists">确认修改</button>
  291. <button wx:if="{{aRegister.id&&isAttend}}" class="revise" bind:tap="goUrl">前往参与</button>
  292. </view>
  293. <view style="height: 200rpx;"></view>
  294. </view>
  295. </van-popup>
  296. <van-popup show="{{ showStorePopup }}" bind:click-overlay='closeStore' round position="bottom" bind:close="closeStore">
  297. <view style="height: 70vh;">
  298. <view style="padding: 20rpx;border-bottom: 1rpx solid rgb(206, 206, 206);text-align: center;font-weight: bold;">选择位置</view>
  299. <van-empty wx:if="{{!shopList.length}}" description="暂无可选地址" />
  300. <scroll-view style="height:calc(70vh - 200rpx) ;" scroll-y="{{true}}">
  301. <view class="company">
  302. <block wx:for="{{shopList}}" wx:key="index">
  303. <view data-index="{{index}}" bindtap="chooseShop" class="name" style="color: {{shop.objectId==item.objectId?'#4F9AF7':'gray'}};">{{item.storeName}}
  304. <van-icon wx:if="{{shop.objectId==item.objectId}}" name="success" />
  305. </view>
  306. </block>
  307. </view>
  308. </scroll-view>
  309. </view>
  310. </van-popup>
  311. <block wx:if="{{activity.price}}">
  312. <payment style="z-index: 99999;" id='payMent' show="{{showPay}}" showType="wxpay" tradeNo="{{tradeNo}}" bind:payResult='acceptResult' price="{{activity.price}}" />
  313. </block>