与牧同行-兽医端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

201 lines
7.2 KiB

  1. <view class="wzbox">
  2. <!-- 顶部标题栏 -->
  3. <view class="header">
  4. <view class="header-content">
  5. <view class="title-section">
  6. <text class="title">远程诊疗</text>
  7. <text class="subtitle">专业兽医在线解答</text>
  8. </view>
  9. </view>
  10. <view class="header-decoration">
  11. <view class="decoration-circle circle-1"></view>
  12. <view class="decoration-circle circle-2"></view>
  13. </view>
  14. </view>
  15. <!-- 问诊记录列表 -->
  16. <scroll-view class="record-list" scroll-y enable-back-to-top>
  17. <!-- 空状态 -->
  18. <view wx:if="{{diagnosisList.length === 0}}" class="empty-state">
  19. <image class="empty-icon" src="/pagesA/images/kzt.png" mode="widthFix"></image>
  20. <text class="empty-text">暂无问诊记录</text>
  21. <text class="empty-tip">开始您的第一次问诊吧</text>
  22. </view>
  23. <!-- 问诊记录卡片 -->
  24. <view wx:else class="records-container">
  25. <view wx:for="{{diagnosisList}}" wx:key="id" class="record-card">
  26. <view bindtap="viewDetail" data-value="{{item}}">
  27. <!-- 卡片头部:用户信息 + 状态 -->
  28. <view class="card-header">
  29. <view class="user-section">
  30. <image class="user-avatar" src="{{baseUrl+item.avatar || '/pages/images/tx.png'}}"></image>
  31. <text class="user-name">{{item.farmerName || '用户'}}</text>
  32. </view>
  33. <view class="status-tag {{item.status === '已回复' ? 'status-replied' : 'status-pending'}}">
  34. {{item.status}}
  35. </view>
  36. </view>
  37. <!-- 牲畜信息 -->
  38. <view class="livestock-section">
  39. <view class="livestock-title-wrapper">
  40. <view class="livestock-title-line"></view>
  41. <view class="livestock-title-content">
  42. <text class="livestock-title-text">牲畜信息</text>
  43. </view>
  44. <view class="livestock-title-line"></view>
  45. </view>
  46. <view class="livestock-tags">
  47. <view class="livestock-tag type-tag">
  48. <text class="tag-text">{{item.animalType}}</text>
  49. </view>
  50. <view class="livestock-tag age-tag">
  51. <text class="tag-text">{{item.animalAge}}</text>
  52. </view>
  53. <view class="livestock-tag gender-tag">
  54. <text class="tag-text">{{item.animalGender}}</text>
  55. </view>
  56. </view>
  57. </view>
  58. <!-- 症状描述 -->
  59. <view class="symptom-section">
  60. <view class="symptom-content">
  61. <text class="symptom-text">{{item.description}}</text>
  62. </view>
  63. </view>
  64. </view>
  65. <!-- 卡片底部 -->
  66. <view class="card-footer">
  67. <view class="footer-left">
  68. <view class="time-info">
  69. <text class="time-text">{{item.createdTime}}</text>
  70. </view>
  71. </view>
  72. <view class="footer-right">
  73. <view class="reply-info">
  74. <text class="reply-count" bindtap="bindPlan" data-id="{{item.formId}}">制定方案</text>
  75. </view>
  76. </view>
  77. </view>
  78. </view>
  79. </view>
  80. <!-- 列表底部提示 -->
  81. <view wx:if="{{diagnosisList.length > 0}}" class="list-footer">
  82. <text class="footer-text">已显示全部记录</text>
  83. </view>
  84. </scroll-view>
  85. <!-- 制定方案弹窗 -->
  86. <view class="plan-popup" wx:if="{{showPlanPopup}}">
  87. <!-- 遮罩层 -->
  88. <view class="popup-mask" bindtap="closePlanPopup"></view>
  89. <!-- 弹窗主体(从底部滑入) -->
  90. <view class="popup-content">
  91. <view class="popup-header">
  92. <text class="popup-title">制定诊疗方案</text>
  93. <text class="popup-close" bindtap="closePlanPopup">✕</text>
  94. </view>
  95. <scroll-view scroll-y class="popup-form" enhanced show-scrollbar="{{false}}">
  96. <!-- 方案标题(新增字段) -->
  97. <view class="form-item">
  98. <view class="item-label-wrapper">
  99. <text class="item-label">方案标题</text>
  100. <text class="required-star">*</text>
  101. </view>
  102. <input
  103. class="item-input"
  104. type="text"
  105. placeholder="请输入方案标题,如:呼吸道感染治疗方案"
  106. placeholder-class="placeholder-style"
  107. value="{{planForm.title}}"
  108. bindinput="onTitleInput"
  109. maxlength="100"
  110. />
  111. </view>
  112. <!-- 诊断结果 -->
  113. <view class="form-item">
  114. <view class="item-label-wrapper">
  115. <text class="item-label">诊断结果</text>
  116. <text class="required-star">*</text>
  117. </view>
  118. <input
  119. class="item-input"
  120. type="text"
  121. placeholder="请输入诊断结果,如:细菌性肠炎"
  122. placeholder-class="placeholder-style"
  123. value="{{planForm.diagnosis}}"
  124. bindinput="onDiagnosisInput"
  125. maxlength="100"
  126. />
  127. </view>
  128. <!-- 治疗方式 -->
  129. <view class="form-item">
  130. <view class="item-label-wrapper">
  131. <text class="item-label">治疗方式</text>
  132. <text class="required-star">*</text>
  133. </view>
  134. <input
  135. class="item-input"
  136. type="text"
  137. placeholder="请输入治疗方式,如:西药治疗、手术治疗等"
  138. placeholder-class="placeholder-style"
  139. value="{{planForm.treatmentMethod}}"
  140. bindinput="onTreatmentMethodInput"
  141. maxlength="50"
  142. />
  143. </view>
  144. <!-- 治疗方案描述(文本域) -->
  145. <view class="form-item">
  146. <view class="item-label-wrapper">
  147. <text class="item-label">治疗方案描述</text>
  148. <text class="required-star">*</text>
  149. </view>
  150. <textarea
  151. class="item-textarea"
  152. placeholder="详细描述治疗方案,包括用药、剂量、疗程等"
  153. placeholder-class="placeholder-style"
  154. value="{{planForm.treatmentDesc}}"
  155. bindinput="onTreatmentDescInput"
  156. maxlength="500"
  157. auto-height
  158. />
  159. <text class="word-count">{{planForm.treatmentDesc.length || 0}}/500</text>
  160. </view>
  161. <!-- 注意事项(文本域) -->
  162. <view class="form-item">
  163. <view class="item-label-wrapper">
  164. <text class="item-label">注意事项</text>
  165. <text class="optional-tip">(选填)</text>
  166. </view>
  167. <textarea
  168. class="item-textarea"
  169. placeholder="饮食、护理、复诊提醒等注意事项"
  170. placeholder-class="placeholder-style"
  171. value="{{planForm.precautions}}"
  172. bindinput="onPrecautionsInput"
  173. maxlength="300"
  174. auto-height
  175. />
  176. <text class="word-count">{{planForm.precautions.length || 0}}/300</text>
  177. </view>
  178. </scroll-view>
  179. <!-- 弹窗底部按钮 -->
  180. <view class="popup-footer">
  181. <button class="btn-cancel" bindtap="closePlanPopup">取消</button>
  182. <button class="btn-submit" bindtap="submitPlan">提交方案</button>
  183. </view>
  184. </view>
  185. </view>
  186. </view>