order-detail.wxml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <!--module/order/pages/select-goods/select-goods.wxml-->
  2. <t-navbar title="{{title}}" left-arrow />
  3. <scroll-view class="page-scroll__container {{orderStatus==='pending'?'':'bottom'}}" type="list" scroll-y style="{{containerStyle}}">
  4. <view class="info-box {{ showDetail ? 'show-bttom' : '' }}">
  5. <!-- 收货人信息卡片 -->
  6. <view class="address-card {{orderStatus==='pending' ? 'address-card--clickable' : 'address-card--disabled'}}" bindtap="{{orderStatus==='pending' ? 'changeAddress' : ''}}" wx:if="{{orderDetail.isDelivery==='Y'}}" data-status="{{orderDetail.orderStatus}}">
  7. <view class="delivery-address" wx:if="{{showDetail}}">
  8. 请选择配送地址
  9. </view>
  10. <view class="address-content" wx:else>
  11. <!-- 左侧位置图标 -->
  12. <view class="address-icon-wrapper">
  13. <image class="address-icon" src="/assets/icon/icon_location@3x.png" mode="aspectFit" />
  14. </view>
  15. <!-- 中间地址信息 -->
  16. <view class="address-info">
  17. <view class="address-header">
  18. <text class="address-name">{{name}}</text>
  19. <text class="address-phone">{{phone}}</text>
  20. </view>
  21. <view class="address-detail">
  22. {{address}}
  23. </view>
  24. </view>
  25. <!-- 右侧操作图标 -->
  26. <view class="address-actions" wx:if="{{orderStatus==='pending'}}">
  27. <t-icon name="edit" class="edit-icon" />
  28. <text class="arrow-icon">›</text>
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. <!-- 商品列表 -->
  34. <view class="goods-list" wx:for="{{goodsList}}" wx:key="category">
  35. <!-- 分类标题 -->
  36. <view class="category-title">{{item.category}}</view>
  37. <!-- 商品项 -->
  38. <view class="goods-item" wx:for="{{item.goods}}" wx:for-item="goods" wx:for-index="goodsIndex" wx:key="id">
  39. <!-- 商品图片 -->
  40. <image class="goods-image" src="{{goods.image}}" mode="aspectFill" wx:if="{{goods.image}}" />
  41. <view class="service-package-placeholder" wx:else>
  42. <text class="placeholder-icon">📦</text>
  43. </view>
  44. <!-- 商品信息 -->
  45. <view class="goods-info">
  46. <text class="goods-name">{{goods.name}}</text>
  47. <text class="goods-desc" wx:if="{{goods.description}}">{{goods.description}}</text>
  48. </view>
  49. <!-- 价格和数量(右侧) -->
  50. <view class="goods-price-info">
  51. <text class="goods-price">¥{{goods.price}}</text>
  52. <view class="quantity-text">x{{goods.quantity}}</view>
  53. </view>
  54. </view>
  55. </view>
  56. <!-- 商品总价 -->
  57. <view class="price-total-wrapper">
  58. <view class="price-total">
  59. <text class="price-label">商品总价:</text>
  60. <text class="price-value">¥{{orderDetail.cost}}</text>
  61. </view>
  62. </view>
  63. <!-- 实际付款 -->
  64. <view class="price-summary-section">
  65. <view class="price-summary-card price-row">
  66. <text class="price-label">应付款:</text>
  67. <text class="price-value payable-value">¥{{orderDetail.cost}}</text>
  68. </view>
  69. </view>
  70. <view class="order-info-section">
  71. <!-- 备注 -->
  72. <view class="info-card">
  73. <view class="remark-item">
  74. <text class="info-label">备注</text>
  75. <view class="remark-input-wrapper">
  76. <textarea class="remark-textarea" placeholder="请输入备注信息" value="{{orderDetail.remark}}" maxlength="200" bindinput="onRemarkInput" auto-height show-confirm-bar="{{false}}" disabled="{{orderStatus!=='pending'}}" />
  77. <view class="remark-count">
  78. <text class="remark-count-text">{{remarkLength}}/200</text>
  79. </view>
  80. </view>
  81. </view>
  82. </view>
  83. <!-- 订单详情 -->
  84. <view class="info-card">
  85. <view class="info-item" wx:if="{{orderDetail.orderNo}}">
  86. <text class="info-label" style="font-weight:600">订单编号</text>
  87. <view class="info-value-row">
  88. <text class="info-value" style="color:#9b9797">{{orderDetail.orderNo || ''}}</text>
  89. <text class="copy-btn" bindtap="copyOrderNo" data-orderno="{{orderDetail.orderNo}}">复制</text>
  90. </view>
  91. </view>
  92. <view class="info-divider"></view>
  93. <view class="info-item">
  94. <text class="info-label">创建时间</text>
  95. <text class="info-value" style="color:#9b9797">{{orderDetail.operateTime || ''}}</text>
  96. </view>
  97. </view>
  98. <!-- 服务包详情 -->
  99. <view class="info-card">
  100. <view class="info-item" wx:if="{{orderDetail.conditioningWrapName}}">
  101. <text class="info-label" style="font-weight:600">服务包</text>
  102. <text class="info-value">{{orderDetail.conditioningWrapName || ''}}</text>
  103. </view>
  104. <view class="info-divider"></view>
  105. <view class="info-item" wx:if="{{orderDetail.operateBy}}">
  106. <text class="info-label">开具医生</text>
  107. <text class="info-value">{{orderDetail.operateBy || ''}}</text>
  108. </view>
  109. <view class="info-divider"></view>
  110. <view class="info-item" wx:if="{{orderDetail.operateTime}}">
  111. <text class="info-label">开具时间</text>
  112. <text class="info-value">{{orderDetail.operateTime || ''}}</text>
  113. </view>
  114. <view class="info-divider"></view>
  115. <view class="info-item" wx:if="{{orderDetail.estimatedStartDate}}">
  116. <text class="info-label">开始调养日期</text>
  117. <text class="info-value">{{orderDetail.estimatedStartDate || ''}}</text>
  118. </view>
  119. </view>
  120. </view>
  121. </scroll-view>
  122. <!-- 立即支付 -->
  123. <view class="footer-bar" style="padding-bottom: {{orderStatus==='pending' ? container.safeBottomOffset : 0}}px;" wx:if="{{orderStatus==='pending'}}">
  124. <view class="footer-center">
  125. <text class="footer-text" style="margin-right:10px">共{{totalGoodsCount}}件 </text>
  126. <text class="footer-text">合计: </text>
  127. <text class="footer-price">¥{{orderDetail.cost}}</text>
  128. </view>
  129. <view class="footer-right">
  130. <view class="checkout-btn {{isPaymentLoading ? 'checkout-btn--loading' : ''}}" bind:tap="onPayment">
  131. <text wx:if="{{isPaymentLoading}}">支付中...</text>
  132. <text wx:else>立即支付</text>
  133. </view>
  134. </view>
  135. </view>