other-detail.wxml 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <!--module/order/pages/select-goods/select-goods.wxml-->
  2. <t-navbar title="{{title}}" left-arrow />
  3. <scroll-view class="page-scroll__container" type="list" scroll-y style="{{containerStyle}}">
  4. <view class="info-box">
  5. </view>
  6. <!-- 实体商品 -->
  7. <view>
  8. <view class="goods-list" wx:if="{{sellTypeFirstItems.length > 0}}">
  9. <view class="category-title">实体商品</view>
  10. <view wx:for="{{sellTypeFirstItems}}" wx:for-item="goods" wx:for-index="goodsIndex" wx:key="id">
  11. <!-- 线下取货小标题:当遇到第一个线下取货商品时显示 -->
  12. <view class="offline-title" wx:if="{{goods.receiptType === '1' && (goodsIndex === 0 || sellTypeFirstItems[goodsIndex - 1].receiptType === '0')}}">线下取货</view>
  13. <!-- 快递信息 -->
  14. <view class="express-info" wx:if="{{goods.receiptType === '0' && goods.expressTypeName && goods.expressNo && goods.receiptStatus === '1'}}">
  15. <view class="express-text">
  16. <view style="font-weight:600;margin-right: 10rpx;display: flex;align-items: center;">
  17. <text style="font-size: 25rpx;"> 快件{{goodsIndex + 1}}</text>
  18. <i class="iconfont {{goods.expressTypeIcon}}" style="font-size:15px" wx:if="{{goods.expressTypeIcon}}"></i>
  19. </view>
  20. <view style="color:#9b9797;font-size: 25rpx;">{{goods.expressTypeName}} {{goods.expressNo}}</view>
  21. </view>
  22. <t-icon name="chevron-right" color="#000" size="40rpx" slot="note" />
  23. </view>
  24. <view>
  25. <view class="goods-status {{goods.statusClass}}" wx:if="{{goods.statusText && orderStatus !== 'closed'}}">{{goods.statusText}}</view>
  26. <view class="goods-item">
  27. <image class="goods-image" src="{{goods.image}}" mode="aspectFill" wx:if="{{goods.image}}" />
  28. <view class="service-package-placeholder" wx:else>
  29. <text class="placeholder-icon">📦</text>
  30. </view>
  31. <view class="goods-info">
  32. <view class="goods-name-row">
  33. <text class="goods-name">{{goods.name}}</text>
  34. <text class="goods-price">¥{{goods.price}}</text>
  35. </view>
  36. <view class="goods-desc-row">
  37. <view class="goods-desc" wx:if="{{goods.description}}">{{goods.description}}</view>
  38. <view class="quantity-text">x{{goods.quantity}}</view>
  39. </view>
  40. <!-- 确认收货按钮 -->
  41. <view class="confirm-receipt-btn" wx:if="{{goods.receiptStatus === '1'}}" bindtap="onConfirmReceipt" data-patientConditioningRecordId="{{goods.patientConditioningRecordId}}" data-index="{{goodsIndex}}">
  42. 确认收货
  43. </view>
  44. </view>
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. <!-- 线下服务商品 -->
  50. <view class="goods-list" wx:if="{{sellTypeSecondItems.length > 0}}">
  51. <view class="category-title">线下服务商品</view>
  52. <view wx:for="{{sellTypeSecondItems}}" wx:for-item="goods" wx:for-index="goodsIndex" wx:key="id" data-id="{{goods.id}}" bindtap="goAppointment">
  53. <view>
  54. <view class="goods-status {{goods.statusClass}}" wx:if="{{goods.statusText && orderStatus !== 'closed'}}">{{goods.statusText}}</view>
  55. <view class="goods-item">
  56. <image class="goods-image" src="{{goods.image}}" mode="aspectFill" wx:if="{{goods.image}}" />
  57. <view class="service-package-placeholder" wx:else>
  58. <text class="placeholder-icon">📦</text>
  59. </view>
  60. <view class="goods-info">
  61. <view class="goods-name-row">
  62. <text class="goods-name">{{goods.name}}</text>
  63. <text class="goods-price">¥{{goods.price}}</text>
  64. </view>
  65. <view class="goods-desc-row">
  66. <view class="goods-desc" wx:if="{{goods.description}}">{{goods.description}}</view>
  67. <view class="quantity-text">x{{goods.quantity}}</view>
  68. </view>
  69. </view>
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. <!-- 线上权益商品 -->
  75. <view class="goods-list" wx:if="{{sellTypeThirdItems.length > 0}}">
  76. <view class="category-title">线上权益商品</view>
  77. <view wx:for="{{sellTypeThirdItems}}" wx:for-item="goods" wx:for-index="goodsIndex" wx:key="id">
  78. <view>
  79. <view class="goods-status {{goods.statusClass}}" wx:if="{{goods.statusText && orderStatus !== 'closed'}}">{{goods.statusText}}</view>
  80. <view class="goods-item">
  81. <image class="goods-image" src="{{goods.image}}" mode="aspectFill" wx:if="{{goods.image}}" />
  82. <view class="service-package-placeholder" wx:else>
  83. <text class="placeholder-icon">📦</text>
  84. </view>
  85. <view class="goods-info">
  86. <view class="goods-name-row">
  87. <text class="goods-name">{{goods.name}}</text>
  88. <text class="goods-price">¥{{goods.price}}</text>
  89. </view>
  90. <view class="goods-desc-row">
  91. <view class="goods-desc" wx:if="{{goods.description}}">{{goods.description}}</view>
  92. <view class="quantity-text">x{{goods.quantity}}</view>
  93. </view>
  94. </view>
  95. </view>
  96. </view>
  97. </view>
  98. </view>
  99. <!-- 商品总价 -->
  100. <view class="price-total-wrapper">
  101. <view class="price-total">
  102. <text class="price-label">商品总价:</text>
  103. <text class="price-value">¥{{orderDetail.cost}}</text>
  104. </view>
  105. </view>
  106. </view>
  107. <!-- 实际付款 -->
  108. <view class="price-summary-section">
  109. <view class="price-summary-card price-row">
  110. <text class="price-label">{{orderStatus==='closed'?'应付款':'实付款'}}:</text>
  111. <text class="price-value payable-value">¥{{orderStatus === 'received' ? orderDetail.realAmount : orderDetail.cost}}</text>
  112. </view>
  113. </view>
  114. <!-- 最下方的信息 -->
  115. <view class="order-info-section">
  116. <!-- 备注 -->
  117. <view class="info-card">
  118. <view class="remark-item">
  119. <text class="info-label">备注</text>
  120. <view class="remark-input-wrapper">
  121. <textarea class="remark-textarea" placeholder="请输入备注信息" value="{{orderDetail.remark || '无'}}" maxlength="200" bindinput="onRemarkInput" auto-height show-confirm-bar="{{false}}" disabled="{{orderStatus!=='pending'}}" />
  122. <view class="remark-count">
  123. <text class="remark-count-text" wx:if="{{orderDetail.remark}}">{{remarkLength}}/200</text>
  124. </view>
  125. </view>
  126. </view>
  127. </view>
  128. <!-- 订单详情 -->
  129. <view class="info-card">
  130. <view class="info-item" wx:if="{{orderDetail.orderNo}}">
  131. <text class="info-label" style="font-weight:600">订单编号</text>
  132. <view class="info-value-row">
  133. <text class="info-value">{{orderDetail.orderNo || ''}}</text>
  134. <text class="copy-btn" bindtap="copyOrderNo" data-orderno="{{orderDetail.orderNo}}">复制</text>
  135. </view>
  136. </view>
  137. <view class="info-divider"></view>
  138. <view class="info-item">
  139. <text class="info-label">创建时间</text>
  140. <text class="info-value">{{orderDetail.operateTime || ''}}</text>
  141. </view>
  142. <view class="info-divider"></view>
  143. <view class="info-item" wx:if="{{orderStatus!=='closed'}}">
  144. <text class="info-label">付款时间</text>
  145. <text class="info-value">{{orderDetail.payTime || ''}}</text>
  146. </view>
  147. <view class="info-divider" wx:if="{{orderStatus!=='closed'}}"></view>
  148. <view class="info-item" wx:if="{{orderStatus==='completed'}}">
  149. <text class="info-label">成交时间</text>
  150. <text class="info-value">{{orderDetail.finishTime || ''}}</text>
  151. </view>
  152. <view class="info-divider" wx:if="{{orderStatus==='completed'}}"></view>
  153. <view class="info-item" wx:if="{{orderStatus==='closed'}}">
  154. <text class="info-label">关闭时间</text>
  155. <text class="info-value">{{orderDetail.cancelTime || ''}}</text>
  156. </view>
  157. <view class="info-divider" wx:if="{{orderStatus==='closed'}}"></view>
  158. <view class="info-item" wx:if="{{orderStatus!=='closed'}}">
  159. <text class="info-label">微信交易号</text>
  160. <text class="info-value">{{orderDetail.payTransactionNo || ''}}</text>
  161. </view>
  162. </view>
  163. <!-- 服务包详情 -->
  164. <view class="info-card">
  165. <view class="info-item" wx:if="{{orderDetail.conditioningWrapName}}">
  166. <text class="info-label" style="font-weight:600">服务包</text>
  167. <text class="info-value">{{orderDetail.conditioningWrapName || ''}}</text>
  168. </view>
  169. <view class="info-divider" wx:if="{{orderDetail.operateBy}}"></view>
  170. <view class="info-item" wx:if="{{orderDetail.operateBy}}">
  171. <text class="info-label">开具医生</text>
  172. <text class="info-value">{{orderDetail.operateBy || ''}}</text>
  173. </view>
  174. <view class="info-divider" wx:if="{{orderDetail.operateTime}}"></view>
  175. <view class="info-item" wx:if="{{orderDetail.operateTime}}">
  176. <text class="info-label">开具时间</text>
  177. <text class="info-value">{{orderDetail.operateTime || ''}}</text>
  178. </view>
  179. <view class="info-divider" wx:if="{{orderDetail.estimatedStartDate}}"></view>
  180. <view class="info-item" wx:if="{{orderDetail.estimatedStartDate}}">
  181. <text class="info-label">开始调养日期</text>
  182. <text class="info-value">{{orderDetail.estimatedStartDate || ''}}</text>
  183. </view>
  184. </view>
  185. </view>
  186. </scroll-view>