goods-evaluate.wxml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!--module/order/pages/evaluate/evaluate.wxml 评价页-->
  2. <t-navbar wx:if="{{!videoFullscreen}}" title="评价" left-arrow />
  3. <scroll-view class="page-scroll__container" type="list" scroll-y style="{{containerStyle}}">
  4. <view class="evaluate-container">
  5. <!-- 商品信息 -->
  6. <view class="product-card" wx:if="{{product.name}}">
  7. <image class="product-img" src="{{product.image}}" mode="aspectFill" />
  8. <view class="product-info">
  9. <view class="product-name-row">
  10. <text class="product-name">{{product.name}}</text>
  11. <text class="product-divider" wx:if="{{product.description}}">|</text>
  12. <text class="product-spec" wx:if="{{product.description}}">{{product.description}}</text>
  13. </view>
  14. </view>
  15. </view>
  16. <!-- 描述相符 评分(半星) -->
  17. <view class="rate-row">
  18. <text class="rate-label">描述相符</text>
  19. <view class="rate-wrap">
  20. <t-rate
  21. value="{{score}}"
  22. count="{{5}}"
  23. color="{{rateColor}}"
  24. show-text="{{false}}"
  25. placement=""
  26. bind:change="onScoreChange"
  27. />
  28. <text class="rate-score">{{score || '0'}}分</text>
  29. </view>
  30. </view>
  31. <!-- 评价输入 -->
  32. <view class="comment-section">
  33. <textarea
  34. class="comment-input"
  35. placeholder="展开说说对商品的想法吧"
  36. placeholder-class="comment-placeholder"
  37. value="{{content}}"
  38. bindinput="onContentInput"
  39. maxlength="{{500}}"
  40. show-confirm-bar="{{false}}"
  41. />
  42. <view class="comment-count" wx:if="{{content.length > 0}}">{{content.length}}/500</view>
  43. </view>
  44. <!-- 图/视频 上传(图片+视频总数不超过9个,添加按钮在最后,一行4个) -->
  45. <view class="upload-section">
  46. <view class="media-grid">
  47. <view class="media-item" wx:for="{{mediaList}}" wx:key="path">
  48. <image wx:if="{{item.type === 'image'}}" class="media-thumb" src="{{item.path}}" mode="aspectFill" bindtap="onPreviewImage" data-url="{{item.path}}" />
  49. <view wx:else class="media-item-video" bindtap="onPreviewVideo" data-index="{{index}}">
  50. <video id="goods-video-{{index}}" class="media-thumb" src="{{item.path}}" show-center-play-btn="{{true}}" object-fit="cover" controls="{{true}}" bindfullscreenchange="onVideoFullscreenChange" />
  51. <view class="media-item-play"><t-icon name="play-circle-filled" size="56rpx" color="rgba(255,255,255,0.95)" /></view>
  52. </view>
  53. <view class="media-delete" catchtap="onRemoveMedia" data-index="{{index}}">
  54. <t-icon name="close" size="32rpx" color="#fff" />
  55. </view>
  56. </view>
  57. <view class="upload-trigger" wx:if="{{mediaList.length < 9}}" bindtap="onChooseMedia">
  58. <t-icon name="add" size="48rpx" color="#999" />
  59. <text class="upload-label">图/视频</text>
  60. </view>
  61. </view>
  62. </view>
  63. </view>
  64. </scroll-view>
  65. <!-- 发布按钮(视频全屏时隐藏,避免遮挡进度条) -->
  66. <view class="publish-footer" wx:if="{{!videoFullscreen}}" style="padding-bottom: {{container.safeBottomOffset}}px;">
  67. <view class="publish-btn {{canPublish ? '' : 'disabled'}}" bindtap="onPublish">发布</view>
  68. </view>