与牧同行-小程序用户端
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.

165 lines
5.8 KiB

1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
  1. <wxs module="tool" src="../../../utils/tool.wxs"></wxs>
  2. <view class="detail-page">
  3. <!-- 药品图片轮播 -->
  4. <view class="medicine-images">
  5. <swiper
  6. class="detail-swiper"
  7. indicator-dots="{{imageUrl && imageUrl.length > 0}}"
  8. indicator-color="rgba(255, 255, 255, 0.5)"
  9. indicator-active-color="#3a7ff3"
  10. autoplay="true"
  11. interval="3000"
  12. duration="500"
  13. >
  14. <block wx:for="{{imageUrl}}" wx:key="index">
  15. <swiper-item>
  16. <image
  17. src="{{baseUr+item}}"
  18. class="detail-image"
  19. mode="aspectFill"
  20. bindtap="previewImage"
  21. data-index="{{index}}"
  22. />
  23. </swiper-item>
  24. </block>
  25. </swiper>
  26. <!-- 药品标签 -->
  27. <view class="detail-tag {{tool.medicineType(medicineData.medicineType)}}">
  28. {{medicineData.medicineType}}
  29. <view class="hot-badge" wx:if="{{medicineData.salesType}}">{{medicineData.salesType}}</view>
  30. </view>
  31. </view>
  32. <!-- 药品基本信息 -->
  33. <view class="basic-info-section">
  34. <view class="medicine-name">{{medicineData.medicineName}}</view>
  35. <view class="medicine-spec">{{medicineData.specification}}</view>
  36. <view class="manufacturer">{{medicineData.manufacturer}}</view>
  37. <!-- 价格信息 -->
  38. <view class="price-info">
  39. <view class="current-price">
  40. <text class="price-symbol">¥</text>
  41. <text class="price-value">{{medicineData.price}}</text>
  42. </view>
  43. <view class="original-price" wx:if="{{medicineData.originalPrice}}">
  44. 原价:¥{{medicineData.originalPrice}}
  45. </view>
  46. <view class="sales-count">
  47. 已售:{{medicineData.soldQuantity}}件
  48. </view>
  49. </view>
  50. </view>
  51. <!-- 适用症状 -->
  52. <view class="info-section">
  53. <view class="section-title">适用症状</view>
  54. <view class="section-content">{{medicineData.indications}}</view>
  55. </view>
  56. <!-- 专家推荐信息 -->
  57. <view class="expert-section">
  58. <view class="section-title">专家推荐</view>
  59. <view class="expert-card">
  60. <view class="expert-header">
  61. <image
  62. src="{{baseUr+medicineData.expertAvatar}}"
  63. class="expert-avatar"
  64. mode="aspectFill"
  65. />
  66. <view class="expert-info">
  67. <view class="expert-name">{{medicineData.expertName}}<text class="expert-title"> | {{medicineData.expertExpert}}</text></view>
  68. <view class="expert-hospital">{{medicineData.expertExpertiseArea}}</view>
  69. <view class="expert-experience">
  70. <text class="experience-label">从业:</text>{{medicineData.expertWorkExperience}}
  71. </view>
  72. </view>
  73. </view>
  74. <view class="expert-reason">
  75. <view class="reason-title">推荐理由</view>
  76. <view class="reason-content">{{medicineData.recommendReason}}</view>
  77. </view>
  78. <view class="recommend-time">推荐时间:{{medicineData.recommendTime}}</view>
  79. </view>
  80. </view>
  81. <!-- 店铺信息 -->
  82. <view class="store-section">
  83. <view class="section-title">推荐店铺</view>
  84. <view class="store-card">
  85. <view class="store-header">
  86. <view class="store-name">{{medicineData.storeName}}</view>
  87. </view>
  88. <view class="store-info">
  89. <view class="info-item">
  90. <text class="info-icon">📍</text>
  91. <text class="info-text">{{medicineData.storeAddress}}</text>
  92. </view>
  93. <view class="info-item">
  94. <text class="info-icon">📞</text>
  95. <text class="info-text">{{medicineData.storePhone}}</text>
  96. </view>
  97. <view class="info-item">
  98. <text class="info-icon">🕒</text>
  99. <text class="info-text">{{medicineData.businessHours}}</text>
  100. </view>
  101. <view class="info-item" wx:if="{{medicineData.storeRemark}}">
  102. <text class="info-icon">⭐</text>
  103. <text class="info-text">{{medicineData.storeRemark}}</text>
  104. </view>
  105. </view>
  106. <!-- 店铺图片 -->
  107. <view class="store-images" wx:if="{{medicineData.store.images && medicineData.store.images.length > 0}}">
  108. <scroll-view class="store-images-scroll" scroll-x="true">
  109. <block wx:for="{{medicineData.store.images}}" wx:key="index">
  110. <view class="store-image-item" bindtap="previewStoreImage" data-index="{{index}}">
  111. <image src="{{item}}" class="store-image" mode="aspectFill" />
  112. </view>
  113. </block>
  114. </scroll-view>
  115. </view>
  116. <!-- 店铺操作按钮 -->
  117. <view class="store-actions">
  118. <button class="action-btn map-btn" bindtap="openLocation">
  119. <text class="btn-icon">🗺️</text>
  120. <text class="btn-text">查看位置</text>
  121. </button>
  122. <button class="action-btn call-btn" bindtap="makePhoneCall">
  123. <text class="btn-icon">📱</text>
  124. <text class="btn-text">联系店铺</text>
  125. </button>
  126. </view>
  127. </view>
  128. </view>
  129. <!-- 药品详细信息 -->
  130. <view class="details-section">
  131. <view class="section-title">药品详情</view>
  132. <view class="details-grid">
  133. <view class="detail-item">
  134. <view class="item-label">用法用量</view>
  135. <view class="item-value">{{medicineData.usageDosage}}</view>
  136. </view>
  137. <view class="detail-item">
  138. <view class="item-label">注意事项</view>
  139. <view class="item-value">{{medicineData.precautions}}</view>
  140. </view>
  141. <view class="detail-item">
  142. <view class="item-label">贮藏方式</view>
  143. <view class="item-value">{{medicineData.storageMethod}}</view>
  144. </view>
  145. <view class="detail-item">
  146. <view class="item-label">有效期</view>
  147. <view class="item-value">{{medicineData.expiryDate}}</view>
  148. </view>
  149. </view>
  150. </view>
  151. </view>