order.wxml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. <!--order.wxml-->
  2. <view class="container">
  3. <!-- 选项卡切换 -->
  4. <view class="tab-bar">
  5. <view class="tab-item {{currentTab === 0 ? 'active' : ''}}" bindtap="switchTab" data-tab="0">
  6. <text>医院选择</text>
  7. </view>
  8. <view class="tab-item {{currentTab === 1 ? 'active' : ''}}" bindtap="switchTab" data-tab="1">
  9. <text>药品比价</text>
  10. </view>
  11. </view>
  12. <!-- 医院选择页面 -->
  13. <view class="tab-content" wx:if="{{currentTab === 0}}">
  14. <!-- 搜索框 -->
  15. <view class="search-section">
  16. <view class="search-box">
  17. <image class="search-icon" src="/images/search-icon.png"></image>
  18. <input class="search-input" placeholder="搜索医院名称" bindinput="onHospitalSearch" value="{{hospitalKeyword}}" />
  19. </view>
  20. </view>
  21. <!-- 医院列表 -->
  22. <view class="hospital-list">
  23. <view class="hospital-item" wx:for="{{filteredHospitals}}" wx:key="id" bindtap="selectHospital" data-hospital="{{item}}">
  24. <image class="hospital-image" src="{{item.image}}" mode="aspectFill"></image>
  25. <view class="hospital-info">
  26. <text class="hospital-name">{{item.name}}</text>
  27. <text class="hospital-address">{{item.address}}</text>
  28. <view class="hospital-details">
  29. <text class="rating">{{item.rating}}分</text>
  30. <text class="distance">{{item.distance}}</text>
  31. <text class="case-count">{{item.cases.length}}个病例单</text>
  32. </view>
  33. </view>
  34. </view>
  35. </view>
  36. </view>
  37. <!-- 药品比价页面 -->
  38. <view class="tab-content" wx:if="{{currentTab === 1}}">
  39. <!-- 搜索框 -->
  40. <view class="search-section">
  41. <view class="search-box">
  42. <image class="search-icon" src="/images/search-icon.png"></image>
  43. <input class="search-input" placeholder="输入药品名称" bindinput="onMedicineSearch" value="{{medicineKeyword}}" />
  44. </view>
  45. </view>
  46. <!-- 药品比价结果 -->
  47. <view class="price-comparison" wx:if="{{medicineKeyword}}">
  48. <view class="medicine-title">
  49. <text>药品:{{medicineKeyword}}</text>
  50. </view>
  51. <view class="price-list">
  52. <view class="price-item" wx:for="{{priceResults}}" wx:key="hospital" bindtap="selectByPrice" data-price="{{item}}">
  53. <view class="hospital-info">
  54. <text class="hospital-name">{{item.hospital}}</text>
  55. <text class="price">¥{{item.price}}</text>
  56. </view>
  57. <view class="action">
  58. <text class="select-btn">选择</text>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. <!-- 热门药品推荐 -->
  64. <view class="hot-medicines" wx:if="{{!medicineKeyword}}">
  65. <view class="section-title">
  66. <text>热门药品</text>
  67. </view>
  68. <view class="medicine-grid">
  69. <view class="medicine-item" wx:for="{{hotMedicines}}" wx:key="name" bindtap="selectHotMedicine" data-medicine="{{item.name}}">
  70. <text class="medicine-name">{{item.name}}</text>
  71. <text class="medicine-price">¥{{item.minPrice}}起</text>
  72. </view>
  73. </view>
  74. </view>
  75. </view>
  76. <!-- 病例单选择模态框 -->
  77. <view class="modal" wx:if="{{showCaseModal}}">
  78. <view class="modal-content">
  79. <view class="modal-header">
  80. <text class="modal-title">选择病例单</text>
  81. <text class="modal-close" bindtap="closeCaseModal">×</text>
  82. </view>
  83. <view class="case-list">
  84. <view class="case-item" wx:for="{{selectedHospital.cases}}" wx:key="id" bindtap="selectCase" data-case="{{item}}">
  85. <view class="case-info">
  86. <text class="case-date">{{item.date}}</text>
  87. <text class="case-doctor">{{item.doctor}} - {{item.department}}</text>
  88. <text class="case-diagnosis">诊断:{{item.diagnosis}}</text>
  89. </view>
  90. <view class="case-arrow">
  91. <text>></text>
  92. </view>
  93. </view>
  94. </view>
  95. </view>
  96. </view>
  97. <!-- 药品选择模态框 -->
  98. <view class="modal" wx:if="{{showMedicineModal}}">
  99. <view class="modal-content">
  100. <view class="modal-header">
  101. <text class="modal-title">选择药品</text>
  102. <text class="modal-close" bindtap="closeMedicineModal">×</text>
  103. </view>
  104. <view class="medicine-list">
  105. <view class="medicine-item" wx:for="{{selectedCase.medicines}}" wx:key="id">
  106. <view class="medicine-info">
  107. <text class="medicine-name">{{item.name}}</text>
  108. <text class="medicine-price">¥{{item.price}}</text>
  109. </view>
  110. <view class="medicine-action">
  111. <text class="quantity-control">
  112. <text class="btn minus" bindtap="decreaseQuantity" data-medicine="{{item}}">-</text>
  113. <text class="quantity">{{item.quantity || 0}}</text>
  114. <text class="btn plus" bindtap="increaseQuantity" data-medicine="{{item}}">+</text>
  115. </text>
  116. </view>
  117. </view>
  118. </view>
  119. <view class="modal-footer">
  120. <view class="total-price">
  121. <text>总计:¥{{totalPrice}}</text>
  122. </view>
  123. <view class="action-buttons">
  124. <button class="btn cancel" bindtap="closeMedicineModal">取消</button>
  125. <button class="btn confirm" bindtap="confirmOrder">确认下单</button>
  126. </view>
  127. </view>
  128. </view>
  129. </view>
  130. </view>