state.dart 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import 'package:get/get.dart';
  2. import 'package:fis_jsonrpc/rpc.dart';
  3. import 'package:vitalapp/managers/interfaces/models/selected_model.dart';
  4. class ConsultationRecordViewState {
  5. // title
  6. final _title = "".obs;
  7. set title(value) => _title.value = value;
  8. get title => _title.value;
  9. final Rx<int> _referTab = Rx(0);
  10. final _selectedTabIndex = RxInt(0);
  11. final RxList<RemedicalAISelectedInfoDTO> _aiImages =
  12. RxList<RemedicalAISelectedInfoDTO>();
  13. final Rx<RemedicalListResult> _remedicalListResult =
  14. Rx(RemedicalListResult());
  15. final RxList<RemedicalMeasuredInfoDTO> _measureImages =
  16. RxList<RemedicalMeasuredInfoDTO>();
  17. final RxList<ReportDTO> _reports = RxList<ReportDTO>();
  18. final Rx<CarotidScanTypeEnum?> _carotidVAS = Rx(null);
  19. CarotidScanTypeEnum? get carotidVAS => _carotidVAS.value;
  20. set carotidVAS(CarotidScanTypeEnum? v) => _carotidVAS.value = v;
  21. ///报告列表
  22. List<ReportDTO> get reports => _reports;
  23. set reports(List<ReportDTO> v) => _reports.value = v;
  24. ///Tab选中值,云端图像0,测量图像1,报告列表2
  25. int get selectedTabIndex => _selectedTabIndex.value;
  26. set selectedTabIndex(int v) => _selectedTabIndex.value = v;
  27. ///云端图像结果集合(包含所有云端图像)
  28. RemedicalListResult get remedicalListResult => _remedicalListResult.value;
  29. set remedicalListResult(RemedicalListResult v) =>
  30. _remedicalListResult.value = v;
  31. List<RemedicalInfoDTO> get allCloudImages {
  32. List<RemedicalInfoDTO> imageInfos = [];
  33. for (RemedicalItemList info
  34. in remedicalListResult.remedicalItemList ?? []) {
  35. ///左颈动脉图像集合
  36. var carotidLeftImages = info.remedicalList
  37. ?.where((element) =>
  38. element.carotidResult?.carotidScanType ==
  39. CarotidScanTypeEnum.CarotidLeft)
  40. .toList() ??
  41. [];
  42. imageInfos.addAll(carotidLeftImages);
  43. ///右颈动脉图像集合
  44. var carotidRightImages = info.remedicalList
  45. ?.where((element) =>
  46. element.carotidResult?.carotidScanType ==
  47. CarotidScanTypeEnum.CarotidRight)
  48. .toList() ??
  49. [];
  50. imageInfos.addAll(carotidRightImages);
  51. ///非颈动脉(或未识别左右颈)图像集合
  52. var notCarotidImages = info.remedicalList
  53. ?.where(
  54. (element) => ![
  55. CarotidScanTypeEnum.CarotidRight,
  56. CarotidScanTypeEnum.CarotidLeft
  57. ].contains(element.carotidResult?.carotidScanType),
  58. )
  59. .toList() ??
  60. [];
  61. imageInfos.addAll(notCarotidImages);
  62. }
  63. return imageInfos;
  64. }
  65. ///测量图像
  66. List<RemedicalMeasuredInfoDTO> get measureImages => _measureImages;
  67. set measureImages(List<RemedicalMeasuredInfoDTO> v) =>
  68. _measureImages.value = v;
  69. ///AI图像
  70. List<RemedicalAISelectedInfoDTO> get aiImages => _aiImages;
  71. set aiImages(List<RemedicalAISelectedInfoDTO> v) => _aiImages.value = v;
  72. final Rx<List<FMutiSelectModel>> _organizationLocatedList =
  73. Rx(<FMutiSelectModel>[]);
  74. final Rx<List<FMutiSelectModel>> _personDeviceList = Rx(<FMutiSelectModel>[]);
  75. final Rx<List<String>> _selectedOrganizationLocated = Rx(<String>[]);
  76. final Rx<List<String>> _selectedpersonDevice = Rx(<String>[]);
  77. ///医院类型
  78. OrganizationPatientTypeEnum patientType = OrganizationPatientTypeEnum.Person;
  79. /// 所属医院
  80. set organizationLocatedList(List<FMutiSelectModel> value) =>
  81. _organizationLocatedList(value);
  82. List<FMutiSelectModel> get organizationLocatedList =>
  83. _organizationLocatedList.value;
  84. /// 个人设备列表
  85. set personDeviceList(List<FMutiSelectModel> value) =>
  86. _personDeviceList(value);
  87. List<FMutiSelectModel> get personDeviceList => _personDeviceList.value;
  88. /// 选中的所属医院
  89. set selectedOrganizationLocated(List<String> value) =>
  90. _selectedOrganizationLocated(value);
  91. List<String> get selectedOrganizationLocated =>
  92. _selectedOrganizationLocated.value;
  93. /// 选中的个人设备
  94. set selectedpersonDevice(List<String> value) => _selectedpersonDevice(value);
  95. List<String> get selectedpersonDevice => _selectedpersonDevice.value;
  96. /// 转诊申请或者转诊历史
  97. set referTab(value) => _referTab.value = value;
  98. get referTab => _referTab.value;
  99. }