competitionRecords.wxml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <view class="container">
  2. <header text="赛事记录"></header>
  3. <scroll-view
  4. class="content"
  5. scroll-y="true"
  6. bindscrolltolower="onReachBottom"
  7. lower-threshold="50"
  8. refresher-enabled="true"
  9. refresher-triggered="{{refreshing}}"
  10. bindrefresherrefresh="onPullDownRefresh"
  11. >
  12. <!-- 数据列表 -->
  13. <block wx:if="{{cardList.length > 0}}">
  14. <view class="card-box {{ index === 0 ? 'first-card' : '' }}" wx:for="{{cardList}}" wx:key="index">
  15. <view class="card-top">
  16. <view class="card-title-box">
  17. <view class="card-title">{{item.marathon_name}}</view>
  18. <view class="card-time">{{item.register_time}}</view>
  19. </view>
  20. <!-- <image class="card-img" src="{{item.img}}" mode="aspectFit"/> -->
  21. </view>
  22. <view class="cell-box">
  23. <view>
  24. <view class="cell-item">
  25. <image class="cell-img" src="/static/image/register/cshm.png" mode="aspectFit"/>
  26. <view class="cell-bg"></view>
  27. </view>
  28. <view class="cell-text">{{item.competition_no}}</view>
  29. </view>
  30. <view>
  31. <view class="cell-item">
  32. <image class="cell-img" src="/static/image/register/zm.png" mode="aspectFit"/>
  33. <view class="cell-bg"></view>
  34. </view>
  35. <view class="uploader" wx:if="{{item.competition_image}}">
  36. <image src="{{item.competition_image}}" class="preview-img" mode="aspectFill" data-src="{{item.competition_image}}" bindtap="previewImage"/>
  37. </view>
  38. <view class="uploader" wx:if="{{!item.competition_image}}">
  39. <!-- 已选择文件 -->
  40. <block wx:if="{{filePath}}">
  41. <block wx:if="{{fileType === 'image'}}">
  42. <view class="preview-wrap">
  43. <image src="{{filePath}}" class="preview-img" mode="aspectFill" data-src="{{filePath}}" bindtap="previewImage"/>
  44. <view class="delete-btn" bindtap="removeFile">
  45. <van-icon name="cross" color="#fff" size="16" class="delete-btn-icon"/>
  46. </view>
  47. </view>
  48. </block>
  49. <block wx:elif="{{fileType === 'pdf'}}">
  50. <view class="preview-wrap-pdf">
  51. <view class="pdf-preview">📄 已选择 PDF 文件</view>
  52. <text class="delete-btn-pdf" bindtap="removeFile">✖</text>
  53. </view>
  54. </block>
  55. </block>
  56. <!-- 未选择文件 -->
  57. <block wx:if="{{!filePath}}">
  58. <view class="uploader-text" bindtap="chooseFile" data-item="{{item}}">
  59. <image class="uploader-img" src="/static/image/xj.png" mode="aspectFit"/>
  60. <view>完赛证明上传</view>
  61. </view>
  62. </block>
  63. </view>
  64. </view>
  65. </view>
  66. </view>
  67. </block>
  68. <!-- 空状态 -->
  69. <van-empty wx:if="{{!loadingMore && cardList.length === 0}}" description="暂无数据" />
  70. </scroll-view>
  71. <!-- 分页到底提示 -->
  72. <view wx:if="{{!loadingMore && noMore && cardList.length > 0}}" class="loading">
  73. 没有更多数据了
  74. </view>
  75. </view>