page-inquiry.component.html 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <ion-header [translucent]="true">
  2. <ion-toolbar class="searchbar">
  3. <ion-button color="light" slot="start">
  4. <ion-back-button defaultHref="/" ></ion-back-button>
  5. </ion-button>
  6. <ion-title>AI问诊</ion-title>
  7. </ion-toolbar>
  8. </ion-header>
  9. <ion-content>
  10. <ion-segment [(ngModel)]="selectedSegment" (ionChange)="segmentChanged($event)" scrollable>
  11. <ion-segment-button *ngFor="let segment of segments" [value]="segment">
  12. {{segment}}
  13. </ion-segment-button>
  14. </ion-segment>
  15. <div>
  16. <ion-grid>
  17. <ion-row>
  18. <ion-col size="6" *ngFor="let doctor of doctorList">
  19. <ion-card class="ioncard">
  20. <ion-item class="ionitem" lines="none" (click)="openInquiry(doctor)">
  21. <ion-avatar slot="start">
  22. <img [src]="doctor.get('avatar')" />
  23. </ion-avatar>
  24. <ion-label>
  25. <h2>{{ doctor.get('name') }}({{ doctor.get('age') }}岁)</h2>
  26. <p>{{ doctor.get('title') }},{{ doctor.get('depart')?.name }}</p>
  27. </ion-label>
  28. </ion-item>
  29. <ion-item lines="none" class="hospital-infom">
  30. <ion-label>
  31. <!-- <p>{{doctor.hospital}}</p> -->
  32. <p>智养互联网医院</p>
  33. <div class="badges">
  34. <!-- <ion-badge color="success">{{doctor.hospitalLevel}}</ion-badge>
  35. <span>{{doctor.hospitalType}}</span> -->
  36. <ion-badge color="success">三甲</ion-badge>
  37. <span>百强医院</span>
  38. </div>
  39. </ion-label>
  40. </ion-item>
  41. </ion-card>
  42. </ion-col>
  43. </ion-row>
  44. </ion-grid>
  45. </div>
  46. <!-- <h1>科室</h1>
  47. <ion-input [value]="keshi" placeholder="请输入科室" (ionInput)="keshiInput($event)"></ion-input> -->
  48. <!-- 文本域:生成提示词 -->
  49. <!-- <h1>症状的描述</h1>
  50. <ion-textarea [value]="userPrompt" placeholder="请描述您的症状" (ionInput)="promptInput($event)" autoGrow="true"></ion-textarea> -->
  51. <!-- 按钮:执行消息生成函数 -->
  52. <!-- <ion-button (click)="sendMessage()" expand="block">初步诊断</ion-button> -->
  53. <!-- 展示:返回消息内容 -->
  54. <!-- 消息传输过程中,实时预览 -->
  55. <!-- @if(!isComplete){
  56. <div>{{responseMsg}}</div>
  57. } -->
  58. <!-- 消息传输完成后,实时预览Markdown格式 -->
  59. <!-- @if(isComplete){
  60. <fm-markdown-preview class="content-style" [content]="responseMsg"></fm-markdown-preview>
  61. } -->
  62. <!-- <ion-button (click)="doInqueryTask()">执行问诊任务集</ion-button> -->
  63. <ul>
  64. @for(step of taskList;track step.title;){
  65. <div>
  66. <!-- 待开始 -->
  67. @if(step.progress==0 && !step.error){
  68. <ion-icon name="radio-button-off-outline"></ion-icon>
  69. }
  70. <!-- 进行中 -->
  71. @if(step.progress!=0 && step.progress!=1){
  72. <ion-icon name="reload-outline"></ion-icon>
  73. }
  74. <!-- 已完成 -->
  75. @if(step.progress==1){
  76. <ion-icon name="checkmark-circle-outline"></ion-icon>
  77. }
  78. <!-- 已出错 -->
  79. @if(step.error){
  80. <ion-icon name="close-circle-outline"></ion-icon>
  81. }
  82. {{step.title}}
  83. @if(step.progress){
  84. <span>{{step.progress * 100 | number:"2.0-0"}}%</span>
  85. }
  86. @if(step.error){
  87. <span style="color:red;">{{step.error}}</span>
  88. }
  89. </div>
  90. }
  91. </ul>
  92. <!-- 问诊报告生成结果 -->
  93. @if(shareData.diagResult){
  94. <h1>{{shareData.diagResult.title}}</h1>
  95. <h2>{{shareData.diagResult.desc}}</h2>
  96. <p>{{shareData.diagResult.content}}</p>
  97. }
  98. <!-- <div>
  99. <ion-card>
  100. <ion-card-header>
  101. <ion-card-title>权威医生</ion-card-title>
  102. <ion-card-subtitle>医生简介</ion-card-subtitle>
  103. </ion-card-header>
  104. <ion-card-content>
  105. <ion-list>
  106. <ion-item (click)="openInquiry(doctor)" *ngFor="let doctor of doctorList" lines="none">
  107. <ion-thumbnail slot="start">
  108. <img [src]="doctor.get('avatar') || '../../assets/image/doctor7.png'" [alt]="doctor.get('name')" />
  109. </ion-thumbnail>
  110. <div class="doctor-info">
  111. <h3>{{ doctor.get('name') }}({{ doctor.get('age') }}岁)</h3>
  112. <p>{{ doctor.get('title') }},{{ doctor.get('depart')?.name }}</p>
  113. <p>飞码互联网医院</p>
  114. </div>
  115. </ion-item>
  116. </ion-list>
  117. </ion-card-content>
  118. </ion-card>
  119. </div> -->
  120. </ion-content>
  121. <ion-footer>
  122. <ion-toolbar>
  123. <div class="createai">
  124. <ion-button aria-setsize="large" expand="block" (click)="createAI()" color="primary" slot="start">创建ai医生</ion-button>
  125. </div>
  126. </ion-toolbar>
  127. </ion-footer>