upload.wxml 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <wxs src="../common/utils.wxs" module="_" />
  2. <view style="{{_._style([style, customStyle])}}" class="{{classPrefix}} {{prefix}}-class">
  3. <t-grid gutter="{{gutter}}" border="{{false}}" align="center" column="{{column}}">
  4. <!-- 图片/视频 -->
  5. <t-grid-item
  6. wx:for="{{customFiles}}"
  7. wx:key="index"
  8. wx:for-item="file"
  9. t-class="{{classPrefix}}__grid {{classPrefix}}__grid-file"
  10. t-class-content="{{classPrefix}}__grid-content"
  11. >
  12. <view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}">
  13. <t-image
  14. wx:if="{{file.type !== 'video'}}"
  15. bindtap="onProofTap"
  16. data-index="{{index}}"
  17. t-class="{{classPrefix}}__thumbnail"
  18. src="{{file.url}}"
  19. mode="{{imageProps.mode}}"
  20. error="{{imageProps.error}}"
  21. lazy="{{imageProps.lazy}}"
  22. loading="{{imageProps.loading}}"
  23. shape="{{imageProps.shape || 'round'}}"
  24. webp="{{imageProps.webp}}"
  25. showMenuByLongpress="{{image.showMenuByLongpress}}"
  26. />
  27. <video
  28. wx:if="{{file.type === 'video'}}"
  29. class="{{classPrefix}}__thumbnail"
  30. src="{{file.url}}"
  31. controls
  32. autoplay="{{false}}"
  33. objectFit="contain"
  34. />
  35. <!-- 失败重试 -->
  36. <view
  37. data-index="{{index}}"
  38. wx:if="{{file.status && file.status != 'done'}}"
  39. class="{{classPrefix}}__progress-mask"
  40. data-file="{{file}}"
  41. bind:tap="onFileClick"
  42. >
  43. <block wx:if="{{file.status == 'loading'}}">
  44. <t-icon t-class="{{classPrefix}}__progress-loading" name="loading" size="24" />
  45. <view class="{{classPrefix}}__progress-text">{{file.percent ? file.percent + '%' : '上传中...'}}</view>
  46. </block>
  47. <t-icon wx:else name="{{file.status == 'reload' ? 'refresh' : 'close-circle'}}" size="24" />
  48. <view wx:if="{{file.status == 'reload' || file.status == 'failed'}}" class="{{classPrefix}}__progress-text"
  49. >{{file.status == 'reload' ? '重新上传' : '上传失败'}}</view
  50. >
  51. </view>
  52. <!-- 删除 -->
  53. <view wx:if="{{isdelete}}" class="{{classPrefix}}__close-btn hotspot-expanded" bindtap="onDelete" data-index="{{index}}">
  54. <t-icon name="close" size="16" color="#fff" />
  55. </view>
  56. </view>
  57. </t-grid-item>
  58. <!-- 添加 -->
  59. <t-grid-item
  60. wx:if="{{customLimit > 0}}"
  61. t-class="{{classPrefix}}__grid"
  62. t-class-content="{{classPrefix}}__grid-content"
  63. bindclick="onAddTap"
  64. >
  65. <view class="{{classPrefix}}__wrapper" style="{{gridItemStyle}}">
  66. <slot name="add-content" />
  67. <block wx:if="{{addContent}}">{{addContent}}</block>
  68. <view wx:else class="{{classPrefix}}__add-icon">
  69. <t-icon name="add" />
  70. </view>
  71. </view>
  72. </t-grid-item>
  73. </t-grid>
  74. </view>