index.axml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. <wrapper>
  2. <view class="result-root {{ 'root-' + result.status }}">
  3. <!-- 预约成功 -->
  4. <block a:if="{{ result.status === 1 }}">
  5. <view class="result-block">
  6. <view class="result-block-top">
  7. <view class="result-block-row center">
  8. <icon type="success" size="40" color="#22b35e"/>
  9. <text class="result-block-success">预约成功</text>
  10. </view>
  11. <view class="result-block-row" a:for="{{ viewItem.slice(0, 4) }}" key="{{ index }}">
  12. <view class="result-form-label">{{ item.label }}</view>
  13. <view class="result-form-val" a:if="{{ item.key === 'date' }}">{{ result.date }}({{ result.day }}){{ result.am }}</view>
  14. <view class="result-form-val" a:elif="{{ item.key === 'time' }}">
  15. <text a:if="{{ result.time }}">{{ result.time }}</text>
  16. <text a:if="{{ result.queueNum }}" style="margin-left: 20rpx;">{{ result.queueNum }}号</text>
  17. </view>
  18. <view class="result-form-val" a:else >{{ result[item.key] || '-' }}</view>
  19. </view>
  20. </view>
  21. <view class="result-block-dashed" />
  22. <view class="result-card">
  23. <view class="result-card-row" a:for="{{ viewItem.slice(4) }}" key="{{ index }}">
  24. <block a:if="{{ item.key === 'price' }}">
  25. <view class="result-card-label">{{ item.label }}</view>
  26. <view class="result-card-val">
  27. <text class="{{ result.payType === '就诊时支付' ? 'light' : '' }}">
  28. <text a:if="{{ result.payType === '就诊时支付' }}">(就诊时支付)</text>
  29. <text a:else>(已支付)</text>
  30. <text>¥{{ result.amount }}</text>
  31. </text>
  32. </view>
  33. </block>
  34. <block a:elif="{{ item.key === 'name' }}">
  35. <view class="result-card-label">{{ item.label }}</view>
  36. <view class="result-card-val">
  37. {{ result.userName }}
  38. <text a:if="{{ result.sex }}">,{{ result.sex }}</text>
  39. <text a:if="{{ result.age }}">,{{ result.age }}岁</text>
  40. </view>
  41. </block>
  42. <block a:elif="{{ item.key === 'doctor' }}">
  43. <view class="result-card-label">{{ item.label }}</view>
  44. <view class="result-card-val">{{ result.level ? result.level + ' | ' + result.doctorName : result.doctorName }}</view>
  45. </block>
  46. <block a:elif="{{ item.key === 'card' }}">
  47. <block a:if="{{ result.cardNum }}">
  48. <view class="result-card-label">{{ item.label }}</view>
  49. <view class="result-card-val">
  50. <view>{{ result.cardNum }}</view>
  51. </view>
  52. </block>
  53. <view a:else class="result-card-support">
  54. <icon class="icon" type="warn" size="12" color="#ff6430"></icon>
  55. <text>该就诊人还未办理医院就诊卡,就诊当天请先去窗口/自助机凭身份证/医保卡办理就诊卡</text>
  56. </view>
  57. </block>
  58. <block a:else>
  59. <view class="result-card-label">{{ item.label }}</view>
  60. <view class="result-card-val">{{ result[item.key] || '--' }}</view>
  61. </block>
  62. </view>
  63. </view>
  64. </view>
  65. <static-block />
  66. <view class="footer-container">
  67. <view class="back-to-home" onTap="toBackHome">回到首页</view>
  68. <view class="result-button" onTap="onCancel"><text class="txt">取消预约</text></view>
  69. </view>
  70. </block>
  71. <!-- 叫号中 -->
  72. <block a:if="{{ result.status === 2 }}">
  73. <view class="result-block result-center">
  74. <view class="result-block-big">
  75. <text class="theme line">88号</text>
  76. <text>前面就诊 <text class="theme">{{ result.num }}</text> 位</text>
  77. </view>
  78. <view class="theme result-tip">排队中</view>
  79. <view class="result-gray">请不要走远,过号后将顺延3人</view>
  80. </view>
  81. <template is="from" data="{{ viewItem, result }}" />
  82. <view class="result-block">
  83. <view class="result-block-title">
  84. <view>如何就诊</view>
  85. </view>
  86. <view>取号后请到门诊4楼403眼科门诊候诊</view>
  87. <view class="result-block-btn">
  88. <text class="result-block-t" onTap="toH5" data-url="https://hospitalupgrade-dev.alipay-eco.com/page/hospital-navigation.html">查看路线</text>
  89. <text onTap="hrefTo">刷医保</text>
  90. </view>
  91. </view>
  92. <view class="result-block">
  93. <view class="result-block-title">
  94. <view>注意事项</view>
  95. </view>
  96. <view>1. 请严格按照提示时段就诊,过时作废</view>
  97. <view>2. 就诊时需携带本人身份证</view>
  98. <view>3. 就诊时必须携带口罩并请提前准备好健康码</view>
  99. </view>
  100. <view class="footer-container">
  101. <view class="back-to-home" onTap="toBackHome">回到首页</view>
  102. </view>
  103. </block>
  104. <!-- 待支付/已就诊/预期未就诊/取消预约 -->
  105. <block a:if="{{ result.status === 0 || result.status === 7 || result.status === 8 || result.status === 9 }}">
  106. <block a:if="{{ result.status === 0 }}">
  107. </block>
  108. <view class="result-block result-block-cansel" a:if="{{ result.status === 0 }}">
  109. <icon type="waiting" size="32" color="#ff6330"/>
  110. <view class="result-block-waiting">待支付,剩余 {{ countown }}</view>
  111. <view class="result-block-tip">15分钟未支付,订单将自动取消</view>
  112. </view>
  113. <view class="result-block result-block-cansel success" a:elif="{{ result.status === 7 }}">
  114. <icon type="success" size="32" color="#22b35e"></icon>
  115. <view>已就诊</view>
  116. </view>
  117. <view class="result-block result-block-cansel" a:elif="{{ result.status === 8 }}">
  118. <icon type="cancel" size="32" color="#ff3141"></icon>
  119. <view>逾期未就诊</view>
  120. </view>
  121. <view class="result-block result-block-cansel cansel" a:elif="{{ result.status === 9 }}">
  122. <icon type="cancel" size="32" color="#999"></icon>
  123. <view>已取消</view>
  124. </view>
  125. <template is="from" data="{{ viewItem, result }}" />
  126. <view class="result-block" a:if="{{ result.status === 8 || result.status === 9 }}">
  127. <view class="result-block-title">
  128. <view>关于退款</view>
  129. </view>
  130. <view>预约时间前24小时取消预约,已支付金额将会原路退还至支付账户</view>
  131. <view class="result-block-flex">
  132. <image a:for="{{ refund }}" key="{{ index }}" class="result-block-image" src="{{ item }}" />
  133. </view>
  134. </view>
  135. <view a:if="{{ result.status === 0 }}" class="order-button-wrap">
  136. <view class="order-pay-tip">暂不支持医保支付,如有需要请去人工窗口/自助机挂号</view>
  137. <view class="order-button-f">
  138. <view>挂号费<text class="coder-pay-price">¥{{ result.amount }}</text></view>
  139. <button type="primary" class="button" onTap="onPay">支付</button>
  140. </view>
  141. </view>
  142. <view a:else class="result-button" onTap="reAppoint"><text class="txt">再次预约</text></view>
  143. </block>
  144. </view>
  145. <modal
  146. show="{{ modalOpened }}"
  147. showClose="{{ false }}"
  148. onButtonClick="onButtonClick"
  149. buttons="{{ buttons }}"
  150. zIndex="10"
  151. >
  152. <view slot="header">确认取消预约?</view>
  153. 预约来之不易,取消后需重新预约
  154. </modal>
  155. </wrapper>
  156. <subscribe-msg ref="saveRef" />
  157. <template name="from">
  158. <view class="result-block tmp">
  159. <view class="result-block-title">
  160. <view>挂号信息</view>
  161. </view>
  162. <view class="result-card">
  163. <view class="result-card-row" a:for="{{ viewItem }}" key="{{ index }}">
  164. <block a:if="{{ item.key === 'price' }}">
  165. <view class="result-card-label">{{ item.label }}</view>
  166. <view class="result-card-val">
  167. <text class="{{ result.payType === '就诊时支付' ? 'light' : '' }}">
  168. <text a:if="{{ result.payType === '就诊时支付' }}">(就诊时支付)</text>
  169. <text a:else>(已支付)</text>
  170. <text>¥{{ result.amount }}</text>
  171. </text>
  172. </view>
  173. </block>
  174. <block a:elif="{{ item.key === 'date' }}">
  175. <view class="result-card-label">{{ item.label }}</view>
  176. <view class="result-card-val">{{ result.date }}({{ result.day }}){{ result.am }}</view>
  177. </block>
  178. <block a:elif="{{ item.key === 'time' }}">
  179. <view class="result-card-label">{{ item.label }}</view>
  180. <view class="result-card-val">{{ result.time }} {{ result.queueNum }}号</view>
  181. </block>
  182. <block a:elif="{{ item.key === 'name' }}">
  183. <view class="result-card-label">{{ item.label }}</view>
  184. <view class="result-card-val">
  185. {{ result.userName }}
  186. <text a:if="{{ result.sex }}">,{{ result.sex }}</text>
  187. <text a:if="{{ result.age }}">,{{ result.age }}岁</text>
  188. </view>
  189. </block>
  190. <block a:elif="{{ item.key === 'doctor' }}">
  191. <view class="result-card-label">{{ item.label }}</view>
  192. <view class="result-card-val">{{ result.level ? result.doctorName + ' | ' + result.level : result.doctorName }}</view>
  193. </block>
  194. <block a:elif="{{ item.key === 'card' }}">
  195. <block a:if="{{ result.cardNum }}">
  196. <view class="result-card-label">{{ item.label }}</view>
  197. <view class="result-card-val">
  198. <view>{{ result.cardNum }}</view>
  199. </view>
  200. </block>
  201. <view a:else class="result-card-support">
  202. <icon class="icon" type="warn" size="12" color="#ff6430"></icon>
  203. <text>该就诊人还未办理医院就诊卡,就诊当天请先去窗口/自助机凭身份证/医保卡办理就诊卡</text>
  204. </view>
  205. </block>
  206. <block a:else>
  207. <view class="result-card-label">{{ item.label }}</view>
  208. <view class="result-card-val">{{ result[item.key] || '--' }}</view>
  209. </block>
  210. </view>
  211. </view>
  212. </view>
  213. </template>