careDetail.wxml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. <view class="fullscreen-bg">
  2. <t-navbar title="服务包详情" left-arrow />
  3. <scroll-view
  4. class="page-scroll__container"
  5. scroll-y
  6. >
  7. <block wx:if="{{!loading}}">
  8. <block wx:if="{{isShow}}">
  9. <!-- 调理中卡片 -->
  10. <view class="info-card card-content">
  11. <view class="status-tag">
  12. {{statusText}}
  13. </view>
  14. <view class="detail-container">
  15. <view class="detail-box">
  16. <view class="row"><text class="label">开具时间:</text>{{careDetail.createTime}}</view>
  17. <view class="row"><text class="label">开具医生:</text>{{careDetail.createBy}}</view>
  18. <view class="delivery" wx:if="{{isShowDelivery}}">
  19. <view style="margin-bottom:10px">
  20. <text class="label">配送:</text>
  21. <text>是</text>
  22. </view>
  23. <view class="address-block">
  24. <view>
  25. {{careDetail.provinceName}}{{careDetail.cityName}}{{careDetail.areaName}}{{careDetail.detailAddress}}
  26. </view>
  27. <view>
  28. <text style="margin-right:10px"> {{patientName}}</text>
  29. <text>{{careDetail.phone}}</text>
  30. </view>
  31. </view>
  32. </view>
  33. <view class="row"><text class="label">价格:</text>{{careDetail.cost}}元</view>
  34. </view>
  35. </view>
  36. </view>
  37. <!-- 健康状况卡片 -->
  38. <view class="info-card status-card">
  39. <view class="row">
  40. <image class="icon" src="../../assets/icon/icon_health@2x.png" mode="heightFix" />
  41. <text class="card-title">健康状况</text>
  42. </view>
  43. <view class="content-box">
  44. <view class="row"><text class="label">程度:</text>{{careDetail.healthAnalysisReport.willillDegreeName}}</view>
  45. <view class="row"><text class="label">表现:</text>{{careDetail.healthAnalysisReport.willillFunctionName}}</view>
  46. <view class="row"><text class="label">体质:</text>{{careDetail.healthAnalysisReport.constitutionGroupName}}</view>
  47. <view class="row"><text class="label">证素:</text>{{careDetail.healthAnalysisReport.factorItemSummary}}</view>
  48. <view class="row"><text class="label">证型:</text>{{careDetail.healthAnalysisReport.diagnoseSyndromeSummary}}</view>
  49. </view>
  50. </view>
  51. <!-- 调养方案 -->
  52. <view class="info-card status-card">
  53. <view class="row">
  54. <image class="icon" src="../../assets/icon/icon_scheme@2x.png" mode="heightFix" />
  55. <text class="card-title">调养方案</text>
  56. </view>
  57. <view wx:for="{{careDetail.items}}" wx:key="id">
  58. <!-- 线下操作-->
  59. <view class="scheme-card" wx:if="{{item.conditioningProgramDetail.isOffline && item.conditioningProgramDetail.isOffline==='Y'}}">
  60. <view class="scheme-title" wx:if="{{item.conditioningProgramDetail && item.conditioningProgramDetail.name && item.conditioningProgramDetail.name!=='null'}}">{{item.conditioningProgramDetail.name}}</view>
  61. <view class="divider"></view>
  62. <image class="scheme-img" src="{{item.conditioningProgramDetail.photo}}" mode="aspectFill" wx:if="{{item.conditioningProgramDetail.photo}}" />
  63. <view class="scheme-row light"><text class="text-gray" wx:if="{{item.arrangeDate || item.arrangeDate!==null}}">下次时间:</text>{{item.arrangeDate}}</view>
  64. <view class="scheme-row between">
  65. <text>
  66. <text class="text-gray">已完成:</text>
  67. <text class="success">
  68. <text> {{item.finishCount}}次</text>
  69. <text style="margin:0 5px;color:black">/</text>
  70. <text style="color:black">{{item.totalMeasure}}次</text>
  71. </text>
  72. </text>
  73. <text class="link" bindtap="onRecord" data-id="{{item.id}}" wx:if="{{item.conditioningProgramDetail.isOffline && item.conditioningProgramDetail.isOffline==='Y'}}">核销记录</text>
  74. </view>
  75. <view class="scheme-row">
  76. <text class="text-gray">频次:</text>
  77. 每 {{item.frequencyType}}天{{item.frequencyMeasure}}{{item.conditioningProgramDetail.cpFixedPricingRule.convertUnit || '次'}}
  78. </view>
  79. <view class="scheme-row">
  80. <text class="text-gray">机构:</text>
  81. {{item.conditioningProgramDetail.conditioningProgramSupplierName}}
  82. </view>
  83. <view class="scheme-bottom" wx:if="{{item.actualStartDate}}">
  84. <text class="next-time" wx:if="{{item.arrangeDate}}">下一次时间:{{item.arrangeDate}}</text>
  85. <view class="link opt-box" bindtap="onOffline" data-id="{{item.id}}">
  86. <t-icon name="app" size="24rpx" color="#1976d2" />
  87. <text style="margin-left:10px">线下操作</text>
  88. </view>
  89. </view>
  90. </view>
  91. <!-- 线上操作 -->
  92. <view class="scheme-card" wx:if="{{item.conditioningProgramDetail.isOffline && item.conditioningProgramDetail.isOffline==='N'}}">
  93. <view class="scheme-title">{{item.conditioningProgramDetail.name}}</view>
  94. <view class="divider"></view>
  95. <image class="scheme-img" src="{{item.conditioningProgramDetail.photo}}" mode="aspectFill" wx:if="{{item.conditioningProgramDetail.photo}}" />
  96. <view class="scheme-row light">
  97. <text class="text-gray">数量:</text>
  98. {{item.totalMeasure}}
  99. </view>
  100. <view class="scheme-row between">
  101. <text>
  102. <text class="label between">频次:</text>
  103. <text>每{{item.frequencyType}}天{{item.frequencyMeasure}}{{item.conditioningProgramDetail.cpFixedPricingRule.convertUnit}}</text>
  104. </text>
  105. <text class="link" bindtap="onCardRecord" data-id="{{item.id}}" wx:if="{{item.conditioningProgramDetail.isOffline && item.conditioningProgramDetail.isOffline==='N'}}">打卡记录</text>
  106. </view>
  107. <view class="desc-row">
  108. <text class="desc-label">{{item.remark || ''}}</text>
  109. </view>
  110. </view>
  111. <!-- 健康评估-->
  112. <view class="scheme-card" wx:if="{{item.conditioningProgramDetail.conditioningProgramType && item.conditioningProgramDetail.conditioningProgramType==='健康评估'}}">
  113. <view class="scheme-title">{{item.conditioningProgramDetail.name}}</view>
  114. <view class="divider"></view>
  115. <image class="scheme-img" src="{{item.conditioningProgramDetail.photo}}" mode="aspectFill" wx:if="{{item.conditioningProgramDetail.photo}}" />
  116. <view class="scheme-row between" style="margin-top:15px">
  117. <text>
  118. <text class="text-gray">已完成:</text>
  119. <text class="success">
  120. <text> {{item.finishCount}}次</text>
  121. <text style="margin:0 5px;color:black">/</text>
  122. <text style="color:black">{{item.totalMeasure}}次</text>
  123. </text>
  124. </text>
  125. <text class="link" bindtap="onReport" data-id="{{item.id}}" wx:if="{{item.conditioningProgramDetail.conditioningProgramType && item.conditioningProgramDetail.conditioningProgramType==='健康评估'}}">健康分析报告</text>
  126. </view>
  127. <view class="scheme-row">
  128. <text class="text-gray">频次:</text>
  129. <view wx:if="{{item.frequencyType==='不限'}}">{{item.frequencyType}}{{item.conditioningProgramDetail.cpFixedPricingRule.convertUnit}}</view>
  130. <view wx:else>
  131. 每 {{item.frequencyType}}天{{item.frequencyMeasure}}{{item.conditioningProgramDetail.cpFixedPricingRule.convertUnit}}
  132. </view>
  133. </view>
  134. <view class="desc-row">
  135. <text class="text-gray">操作指南:</text>
  136. <text class="desc-label">{{item.remark}}</text>
  137. </view>
  138. </view>
  139. </view>
  140. </view>
  141. <!--调养效果 -->
  142. <view class="info-card status-card">
  143. <view class="row">
  144. <image class="icon" src="../../assets/icon/icon_effect@3x.png" mode="heightFix" />
  145. <text class="header-title">调养效果</text>
  146. </view>
  147. <!--调养效果 -->
  148. <record-care></record-care>
  149. <!--舌象 -->
  150. <view class="tongue-list-outer">
  151. <view class="tongue-list-title">舌象</view>
  152. <view class="tongue-list-table">
  153. <view class="table-header">
  154. <view class="header-cell date-cell">日期</view>
  155. <view class="header-cell">舌面</view>
  156. <view class="header-cell">舌底</view>
  157. </view>
  158. <block wx:for="{{healthReports}}" wx:key="healthAnalysisReportId">
  159. <view class="table-row">
  160. <view class="cell date-cell">
  161. <view>{{item.time4}}</view>
  162. <view class="report-btn" bindtap="onSeeReport" data-date="{{item.time4}}" data-id="{{item.healthAnalysisReportId}}">
  163. <t-icon name="file" size="20rpx" color="#1976d2" />
  164. <text>查看报告</text>
  165. </view>
  166. </view>
  167. <view class="cell">
  168. <t-image wx:if="{{item.upImg}}" src="{{item.upImg}}" mode="aspectFit" width="80rpx" height="80rpx" shape="round" bind:tap="onPreviewImage" data-url="{{item.upImg}}" />
  169. <t-icon wx:else name="image" size="48rpx" color="#ccc" />
  170. </view>
  171. <view class="cell">
  172. <t-image wx:if="{{item.downImg}}" src="{{item.downImg}}" mode="aspectFit" width="80rpx" height="80rpx" shape="round" bind:tap="onPreviewImage" data-url="{{item.downImg}}" />
  173. <t-icon wx:else name="image" size="48rpx" color="#ccc" />
  174. </view>
  175. </view>
  176. </block>
  177. </view>
  178. </view>
  179. <!--面象 -->
  180. <view class="tongue-list-outer">
  181. <view class="tongue-list-title">面象</view>
  182. <view class="tongue-list-table">
  183. <view class="table-header">
  184. <view class="header-cell date-cell">日期</view>
  185. <view class="header-cell">面部</view>
  186. </view>
  187. <block wx:for="{{healthReports}}" wx:key="healthAnalysisReportId">
  188. <view class="table-row">
  189. <view class="cell date-cell">
  190. <view>{{item.time4}}</view>
  191. <view class="report-btn" bindtap="onSeeReport" data-date="{{item.time4}}" data-id="{{item.healthAnalysisReportId}}">
  192. <t-icon name="file" size="20rpx" color="#1976d2" />
  193. <text>查看报告</text>
  194. </view>
  195. </view>
  196. <view class="cell">
  197. <t-image wx:if="{{item.faceImg}}" src="{{item.faceImg}}" mode="aspectFit" width="80rpx" height="80rpx" shape="round" bind:tap="onPreviewImage" data-url="{{item.faceImg}}" />
  198. <t-icon wx:else name="image" size="48rpx" color="#ccc" />
  199. </view>
  200. </view>
  201. </block>
  202. </view>
  203. </view>
  204. <!--症状 -->
  205. <view class="symptom-list-outer">
  206. <view class="symptom-list-title">症状</view>
  207. <view class="container">
  208. <!-- 表头 -->
  209. <view class="table-headers">
  210. <view class="date-header">日期</view>
  211. <view class="symptoms-header-scroll">
  212. <view class="symptoms-header">症状</view>
  213. </view>
  214. </view>
  215. <!-- 表格内容 -->
  216. <view class="table-body">
  217. <!-- 固定日期列 -->
  218. <view class="date-column">
  219. <view wx:for="{{healthReports}}" wx:key="healthAnalysisReportId" class="date-cells">
  220. {{item.time4}}
  221. </view>
  222. </view>
  223. <!-- 可滚动症状列 -->
  224. <scroll-view class="symptoms-column" scroll-x>
  225. <view class="symptoms-grid">
  226. <view wx:for="{{healthReports}}" wx:key="healthAnalysisReportId" class="symptoms-row">
  227. <view wx:for="{{item.symptoms}}" wx:key="index" class="symptom-cells" wx:for-item="symptom">
  228. {{symptom.name || ' '}}
  229. </view>
  230. </view>
  231. </view>
  232. </scroll-view>
  233. </view>
  234. </view>
  235. </view>
  236. <!--指标 -->
  237. <view class="index-container">
  238. <view class="index-title">指标</view>
  239. <record-index></record-index>
  240. </view>
  241. </view>
  242. </block>
  243. <block wx:else>
  244. <t-empty icon="info-circle-filled" description="暂无数据" />
  245. </block>
  246. </block>
  247. </scroll-view>
  248. </view>