与牧同行-小程序用户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
5.6 KiB

  1. <view class="xqbox">
  2. <!-- 页面内容 -->
  3. <scroll-view class="page-content" scroll-y refresher-enabled refresher-triggered="{{refreshing}}" bindrefresherrefresh="onRefresh">
  4. <!-- 用户问诊卡片 -->
  5. <view class="user-query-card card-enter">
  6. <!-- 用户信息 -->
  7. <view class="user-info-section">
  8. <view class="avatar-wrapper">
  9. <image class="user-avatar" src="/pages/images/tx.png"></image>
  10. </view>
  11. <view class="user-details">
  12. <view class="user-name-row">
  13. <text class="user-name">{{diagnosisData.farmerName || '用户'}}</text>
  14. <view class="status-badge {{diagnosisData.status === '已回复' ? 'status-replied' : 'status-pending'}} pulse">
  15. {{diagnosisData.status}}
  16. </view>
  17. </view>
  18. <view class="pet-info">
  19. <view class="pet-info-tags">
  20. <view class="pet-tag gradient-blue">{{diagnosisData.animalType}}</view>
  21. <view class="pet-tag gradient-orange">{{diagnosisData.animalAge}}</view>
  22. <view class="pet-tag gradient-pink">{{diagnosisData.animalGender}}</view>
  23. </view>
  24. <view class="time-info">
  25. <text class="time-text">{{diagnosisData.createdTime}}</text>
  26. </view>
  27. </view>
  28. </view>
  29. </view>
  30. <!-- 症状描述 -->
  31. <view class="symptom-section">
  32. <view class="section-header">
  33. <text class="section-title">症状描述</text>
  34. <view class="title-decoration"></view>
  35. </view>
  36. <view class="symptom-content">
  37. <view class="quote-left">
  38. <text>"</text>
  39. </view>
  40. <text class="symptom-text">{{diagnosisData.description}}</text>
  41. </view>
  42. </view>
  43. <!-- 相关图片 -->
  44. <view class="image-section" wx:if="{{images && images.length > 0}}">
  45. <view class="section-header">
  46. <text class="section-title">相关图片</text>
  47. <text class="image-count gradient-blue">{{images.length}}张</text>
  48. </view>
  49. <scroll-view class="images-scroll" scroll-x>
  50. <view class="images-container">
  51. <block wx:for="{{images}}" wx:key="*this" wx:for-index="index">
  52. <view class="image-wrapper">
  53. <image
  54. class="symptom-image"
  55. src="{{baseUrl+item}}"
  56. mode="aspectFill"
  57. bindtap="previewImage"
  58. data-url="{{baseUrl+item}}"
  59. data-urls="{{images}}"
  60. ></image>
  61. </view>
  62. </block>
  63. </view>
  64. </scroll-view>
  65. </view>
  66. <!-- 卡片装饰 -->
  67. <view class="card-decoration">
  68. <view class="decoration-dot dot-1"></view>
  69. <view class="decoration-dot dot-2"></view>
  70. <view class="decoration-dot dot-3"></view>
  71. </view>
  72. </view>
  73. <!-- 兽医回复区域 -->
  74. <view class="replies-section">
  75. <view class="section-header">
  76. <text class="section-title">兽医回复</text>
  77. <view class="reply-count gradient-purple">
  78. <text class="count-number">{{replies.length}}</text>
  79. <text class="count-text">条回复</text>
  80. </view>
  81. </view>
  82. <!-- 回复列表 -->
  83. <view class="replies-list">
  84. <block wx:for="{{replies}}" wx:key="id" wx:for-index="index">
  85. <view class="vet-reply-card fade-in-up" style="animation-delay: {{index * 0.1}}s;">
  86. <!-- 兽医信息 -->
  87. <view class="vet-info">
  88. <view class="avatar-wrapper">
  89. <image class="vet-avatar" src="{{item.avatar?baseUrl+item.avatar:'/pages/images/tx.png'}}"></image>
  90. <view class="vet-verified"></view>
  91. </view>
  92. <view class="vet-details">
  93. <view class="vet-name-row">
  94. <text class="vet-name">{{item.replyName}}</text>
  95. <view class="vet-badge gradient-gold">
  96. <text class="vet-title">{{item.title}}</text>
  97. </view>
  98. </view>
  99. <view class="vet-meta">
  100. <view class="meta-item">
  101. <text class="vet-hospital">{{item.hospital}}</text>
  102. </view>
  103. <view class="meta-item">
  104. <text class="vet-experience">{{item.experience}}</text>
  105. </view>
  106. </view>
  107. </view>
  108. </view>
  109. <!-- 回复内容 -->
  110. <view class="reply-content">
  111. <view class="reply-bubble">
  112. <text class="reply-text">{{item.content}}</text>
  113. </view>
  114. </view>
  115. <!-- 回复底部 -->
  116. <view class="reply-footer">
  117. <view class="reply-time">
  118. <text class="time-text">{{item.createdAt}}</text>
  119. </view>
  120. </view>
  121. </view>
  122. </block>
  123. <!-- 无回复状态 -->
  124. <view wx:if="{{diagnosisData.replies.length === 0}}" class="no-replies fade-in">
  125. <image class="no-replies-icon" src="/images/waiting.png"></image>
  126. <text class="no-replies-title">等待兽医回复中</text>
  127. <text class="no-replies-desc">专业兽医通常会在24小时内为您解答</text>
  128. <view class="waiting-animation">
  129. <view class="loading-dot dot-1"></view>
  130. <view class="loading-dot dot-2"></view>
  131. <view class="loading-dot dot-3"></view>
  132. </view>
  133. </view>
  134. </view>
  135. </view>
  136. <!-- 底部安全区域 -->
  137. <view class="page-bottom"></view>
  138. </scroll-view>
  139. </view>