add-data-modal.component.html 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <ion-header>
  2. <ion-toolbar>
  3. <ion-title>添加健康数据</ion-title>
  4. <ion-buttons slot="end">
  5. <ion-button (click)="cancel()">取消</ion-button>
  6. </ion-buttons>
  7. </ion-toolbar>
  8. </ion-header>
  9. <ion-content class="ion-padding">
  10. <ion-segment [(ngModel)]="selectedType">
  11. <ion-segment-button value="bloodGlucose">
  12. <ion-label>血糖</ion-label>
  13. </ion-segment-button>
  14. <ion-segment-button value="bloodPressure">
  15. <ion-label>血压</ion-label>
  16. </ion-segment-button>
  17. <ion-segment-button value="heartRate">
  18. <ion-label>心率</ion-label>
  19. </ion-segment-button>
  20. </ion-segment>
  21. <form (ngSubmit)="save()">
  22. <!-- 血糖表单 -->
  23. <div *ngIf="selectedType === 'bloodGlucose'">
  24. <ion-item>
  25. <ion-label position="floating">血糖值 (mmol/L)</ion-label>
  26. <ion-input type="number" [(ngModel)]="formData.value" name="glucoseValue" required></ion-input>
  27. </ion-item>
  28. <ion-item>
  29. <ion-label position="floating">测量类型</ion-label>
  30. <ion-select [(ngModel)]="formData.measurementType" name="measurementType">
  31. <ion-select-option *ngFor="let type of measurementTypes" [value]="type">{{type}}</ion-select-option>
  32. </ion-select>
  33. </ion-item>
  34. </div>
  35. <!-- 血压表单 -->
  36. <div *ngIf="selectedType === 'bloodPressure'">
  37. <ion-item>
  38. <ion-label position="floating">血压值 (mmHg)</ion-label>
  39. <ion-input type="text" [(ngModel)]="formData.value" name="bloodPressure" placeholder="例如: 120/80" required></ion-input>
  40. </ion-item>
  41. <ion-item>
  42. <ion-label position="floating">脉搏 (次/分)</ion-label>
  43. <ion-input type="number" [(ngModel)]="formData.pulse" name="pulse"></ion-input>
  44. </ion-item>
  45. </div>
  46. <!-- 心率表单 -->
  47. <div *ngIf="selectedType === 'heartRate'">
  48. <ion-item>
  49. <ion-label position="floating">心率值 (次/分)</ion-label>
  50. <ion-input type="number" [(ngModel)]="formData.value" name="heartRate" required></ion-input>
  51. </ion-item>
  52. <ion-item>
  53. <ion-label position="floating">测量方法</ion-label>
  54. <ion-select [(ngModel)]="formData.measurementMethod" name="measurementMethod">
  55. <ion-select-option *ngFor="let method of measurementMethods" [value]="method">{{method}}</ion-select-option>
  56. </ion-select>
  57. </ion-item>
  58. </div>
  59. <ion-item>
  60. <ion-label position="floating">备注</ion-label>
  61. <ion-textarea [(ngModel)]="formData.notes" name="notes"></ion-textarea>
  62. </ion-item>
  63. <ion-button expand="block" type="submit" [disabled]="!validateForm()">保存</ion-button>
  64. </form>
  65. </ion-content>