consultation-record.wxml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <!--module/chats/pages/consultation-record/consultation-record.wxml-->
  2. <t-navbar title="{{i18n.consultChat.title}}" left-arrow />
  3. <scroll-view
  4. id="scrollview"
  5. class="page-scroll__container"
  6. type="list"
  7. scroll-y
  8. enhanced="{{true}}"
  9. enable-passive
  10. style="height: calc(100vh - 180rpx);"
  11. bindscrolltolower="onScrollToLower"
  12. lower-threshold="{{50}}"
  13. >
  14. <view class="consultation-container">
  15. <block wx:for="{{consultationList}}" wx:key="id">
  16. <!-- 开始咨询 -->
  17. <view class="consultation-session">
  18. <view class="timestamp">{{item.startTime}}</view>
  19. <view class="status-message">开始{{i18n.consultChat._}}</view>
  20. <!-- 消息列表 -->
  21. <view class="messages-list">
  22. <block wx:for="{{item.items}}" wx:key="id" wx:for-item="message">
  23. <!-- 系统消息 -->
  24. <view wx:if="{{message.sendType === '3'}}" class="message-item message-item--system">
  25. <view class="message-bubble message-bubble--system">
  26. <view class="timestamp">{{item.startTime}}</view>
  27. <text class="message-text message-text--system">{{message.messageContent}}</text>
  28. </view>
  29. </view>
  30. <!-- 患者消息 (sendType === '1') - 右侧显示 -->
  31. <view wx:elif="{{message.sendType === '1'}}" class="message-item message-item--user">
  32. <view class="message-bubble {{message.messageType==='1'?'message-bubble--user':''}}">
  33. <!-- 文本消息 -->
  34. <block wx:if="{{message.messageType === '1'}}">
  35. <text class="message-text message-text--user">{{message.messageContent}}</text>
  36. </block>
  37. <!-- 图片消息 -->
  38. <block wx:elif="{{message.messageType === '2'}}">
  39. <image class="message-image" src="{{message.messageContent}}" mode="aspectFill" show-menu-by-longpress="true" bind:tap="previewImage" data-url="{{message.messageContent}}" />
  40. </block>
  41. </view>
  42. <t-avatar class="message-avatar" icon="user" size="40px" />
  43. </view>
  44. <!-- 医生/AI消息 (sendType === '2' 或 '4') - 左侧显示 -->
  45. <view wx:else class="message-item message-item--agent">
  46. <t-avatar class="message-avatar message-avatar--agent" icon="{{message.sendType === '2' ? 'user' : 'service'}}" size="40px" />
  47. <view class="message-bubble {{message.messageType==='1'?'message-bubble--agent':''}}">
  48. <!-- 文本消息 -->
  49. <block wx:if="{{message.messageType === '1'}}">
  50. <text class="message-text">{{message.messageContent}}</text>
  51. </block>
  52. <!-- 图片消息 -->
  53. <block wx:elif="{{message.messageType === '2'}}">
  54. <image class="message-image" src="{{message.messageContent}}" mode="aspectFill" show-menu-by-longpress="true" bind:tap="previewImage" data-url="{{message.messageContent}}" />
  55. </block>
  56. </view>
  57. </view>
  58. </block>
  59. </view>
  60. <!-- 咨询结束 -->
  61. <view class="timestamp">{{item.endTime}}</view>
  62. <view class="status-message">{{i18n.consultChat._}}结束</view>
  63. </view>
  64. </block>
  65. <!-- 加载更多/无更多数据提示 -->
  66. <view class="loading-container" style="text-align: center; padding: 20rpx; color: #999; font-size: 24rpx;" wx:if="{{isPage}}">
  67. <view wx:if="{{isLoading}}">加载中...</view>
  68. <view wx:elif="{{!hasMore}}">没有更多数据了</view>
  69. </view>
  70. </view>
  71. </scroll-view>