detail.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <view class="patientInfo-wrap">
  3. <uni-list>
  4. <uni-list-item title="姓名" :rightText="info.name"></uni-list-item>
  5. <uni-list-item title="手机号" :rightText="info.phone"></uni-list-item>
  6. <uni-list-item title="检测时间" :rightText="info.createTime"></uni-list-item>
  7. <uni-list-item title="heartTime" :rightText="info.heartTime|formateRightText"></uni-list-item>
  8. <uni-list-item title="hzTime" :rightText="info.hzTime|formateRightText"></uni-list-item>
  9. <uni-list-item title="medicalHistory" :rightText="info.medicalHistory"></uni-list-item>
  10. <uni-list-item title="xtTime" :rightText="info.xtTime|formateRightText"></uni-list-item>
  11. <uni-list-item title="xyTime" :rightText="info.xyTime|formateRightText"></uni-list-item>
  12. <uni-list-item title="ypTime" :rightText="info.ypTime|formateRightText"></uni-list-item>
  13. <uni-list-item title="其他信息" :rightText="info.otherInfo"></uni-list-item>
  14. </uni-list>
  15. <button class="chat-bt" @click="showDrawer" type="primary" size="mini">聊天</button>
  16. <uni-drawer ref="showRight" mode="right" :mask-click="true">
  17. <view class="user-wrap">
  18. <uni-list>
  19. <uni-list-item
  20. v-for="(item,index) in doctorList"
  21. :key="index" @click="linkUser(item)"
  22. :title="item.doctorTitle"
  23. :rightText="item.name" clickable>
  24. </uni-list-item>
  25. </uni-list>
  26. </view>
  27. </uni-drawer>
  28. </view>
  29. </template>
  30. <script>
  31. import {parseTime} from'@/libs';
  32. import {getDetailByIdApi} from '@/api/patient';
  33. import {getListAll} from '@/api/doctor.js';
  34. export default {
  35. filters:{
  36. formateRightText(value){
  37. if(value){
  38. if(typeof(value)==="number"){
  39. value=value.toString();
  40. }
  41. }else{value="未填写"}
  42. return value;
  43. }
  44. },
  45. data() {
  46. return {
  47. info:{},
  48. doctorList:[]
  49. }
  50. },
  51. onShow() {
  52. this.init()
  53. },
  54. methods: {
  55. init(){
  56. let patientInfo=uni.getStorageSync('patientInfo');
  57. let id=patientInfo.id;
  58. getDetailByIdApi(id).then((res)=>{
  59. this.info=res.data;
  60. })
  61. getListAll().then((res)=>{
  62. this.doctorList=res.data;
  63. })
  64. },
  65. linkUser(item){
  66. uni.setStorageSync('chat-info',item);
  67. uni.navigateTo({
  68. url:'/pages/chatconnect/chatconnect?id='+item.userId
  69. })
  70. },
  71. showDrawer() {
  72. this.$refs.showRight.open();
  73. },
  74. closeDrawer() {
  75. this.$refs.showRight.close();
  76. }
  77. }
  78. }
  79. </script>
  80. <style>
  81. .chat-bt{
  82. position: fixed;
  83. top: 200px;
  84. right: 10px;
  85. z-index: 9;
  86. }
  87. .user-wrap{
  88. height: 100%;
  89. overflow-y: auto;
  90. }
  91. </style>