state.dart 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. import 'package:fis_jsonrpc/rpc.dart';
  2. import 'package:get/get.dart';
  3. import 'package:fis_ui/index.dart';
  4. import 'package:vitalapp/managers/interfaces/models/report_edit_source.dart';
  5. import 'package:vitalapp/managers/interfaces/models/report_tag_key.dart';
  6. class ReportEditState {
  7. final Rx<ReportTemplateDTO> _selectedTemplate = Rx(ReportTemplateDTO());
  8. final RxMap<ReportTagKey, List<String>> _allReportTags =
  9. RxMap<ReportTagKey, List<String>>();
  10. final RxList<String> _selectedTags = RxList<String>();
  11. final RxList<String> _selectClassifications = RxList<String>();
  12. final RxMap<ReportTagKey, String> _selectedLabes =
  13. RxMap<ReportTagKey, String>();
  14. final RxMap<String, ThesaurusAllDTO> _entrys =
  15. RxMap(<String, ThesaurusAllDTO>{});
  16. final RxList<FSelectOptionModel<String?>> _templates =
  17. RxList(<FSelectOptionModel<String?>>[]);
  18. final Rx<int> _selectImageIndex = Rx(0);
  19. final Rx<List<VocabularyEntryModel>> _vocabularyEntryList =
  20. Rx(<VocabularyEntryModel>[]);
  21. final Rx<String> _selectedTag = Rx('');
  22. final Rx<String> _selectedClassification = Rx('');
  23. final RxList<ThesaurusDTO> _entryInfos = RxList(<ThesaurusDTO>[]);
  24. ///病人信息,(用于初始化报告中一些字段)
  25. final Rx<String> _patientName = Rx('');
  26. final Rx<String> _patientId = Rx('');
  27. final RxString _selectedEntryCode = RxString('');
  28. final Rx<String> _patientSex = Rx('');
  29. final Rx<String> _patientAge = Rx('');
  30. final Rx<String> _orgName = Rx('');
  31. final Rx<String> _referralRecordCode = Rx('');
  32. final Rx<String> _reportCode = Rx('');
  33. final Rx<String> _recordCode = Rx('');
  34. final Rx<String> _consultationCode = Rx('');
  35. final Rx<bool> _isRemeber = Rx(false);
  36. final Rx<bool> _isEntryDisplayed = Rx(false);
  37. final RxList<ConsultationFileDTO> _consultationImages =
  38. RxList(<ConsultationFileDTO>[]);
  39. final RxList<RemedicalInfoDTO> _remedicalItemList =
  40. RxList<RemedicalInfoDTO>();
  41. final RxList<String> _selectedImages = RxList(<String>[]);
  42. final Rx<List<RemedicalMeasuredInfoDTO>> _remedicalMeasured =
  43. Rx(<RemedicalMeasuredInfoDTO>[]);
  44. final Rx<List<RemedicalAISelectedInfoDTO>> _remedicalAISelectedInfos =
  45. Rx(<RemedicalAISelectedInfoDTO>[]);
  46. final RxList<RemedicalInfoDTO> _cloudCarotidLeftImages =
  47. RxList<RemedicalInfoDTO>();
  48. final RxList<RemedicalInfoDTO> _cloudCarotidRightImages =
  49. RxList<RemedicalInfoDTO>();
  50. final Rx<CarotidScanTypeEnum?> _carotidVAS = Rx(null);
  51. final RxList<ThesaurusItemDTO> _allThesaurusList =
  52. RxList(<ThesaurusItemDTO>[]);
  53. ///所有词条信息
  54. List<ThesaurusDTO> get entryInfos => _entryInfos;
  55. set entryInfos(List<ThesaurusDTO> v) => _entryInfos.value = v;
  56. ///所有词条项(树形结构中的所有节点)
  57. List<ThesaurusItemDTO> get allThesaurusList => _allThesaurusList;
  58. set allThesaurusList(List<ThesaurusItemDTO> v) => _allThesaurusList.value = v;
  59. ///选中的词条
  60. String get selectedEntryCode => _selectedEntryCode.value;
  61. set selectedEntryCode(String v) => _selectedEntryCode.value = v;
  62. ///是否显示词条
  63. bool get isEntryDisplayed => _isEntryDisplayed.value;
  64. set isEntryDisplayed(bool v) => _isEntryDisplayed.value = v;
  65. ///模板列表
  66. List<FSelectOptionModel<String?>> get templates => _templates;
  67. set templates(List<FSelectOptionModel<String?>> v) => _templates.value = v;
  68. CarotidScanTypeEnum? get carotidVAS => _carotidVAS.value;
  69. set carotidVAS(CarotidScanTypeEnum? v) => _carotidVAS.value = v;
  70. ///已选中的图像
  71. List<String> get selectedImages => _selectedImages;
  72. set selectedImages(List<String> v) => _selectedImages.value = v;
  73. ///会诊图片
  74. List<ConsultationFileDTO> get consultationImages => _consultationImages;
  75. set consultationImages(List<ConsultationFileDTO> consultationImages) {
  76. _consultationImages.value = consultationImages;
  77. }
  78. /// 测量图像
  79. set remedicalMeasured(List<RemedicalMeasuredInfoDTO> value) =>
  80. _remedicalMeasured(value);
  81. List<RemedicalMeasuredInfoDTO> get remedicalMeasured =>
  82. _remedicalMeasured.value;
  83. /// AI图像
  84. set remedicalAISelectedInfos(List<RemedicalAISelectedInfoDTO> value) =>
  85. _remedicalAISelectedInfos(value);
  86. List<RemedicalAISelectedInfoDTO> get remedicalAISelectedInfos =>
  87. _remedicalAISelectedInfos.value;
  88. ///是否记住不再提醒
  89. bool get isRemeber => _isRemeber.value;
  90. set isRemeber(bool v) => _isRemeber.value = v;
  91. ///组织名称
  92. String get orgName => _orgName.value;
  93. set orgName(String name) => _orgName.value = name;
  94. ///转诊Code
  95. String get referralRecordCode => _referralRecordCode.value;
  96. set referralRecordCode(String name) => _referralRecordCode.value = name;
  97. ///当前标签
  98. String get selectedTag => _selectedTag.value;
  99. set selectedTag(String name) => _selectedTag.value = name;
  100. ///当前分类
  101. String get selectedClassification => _selectedClassification.value;
  102. set selectedClassification(String name) =>
  103. _selectedClassification.value = name;
  104. ///分类列表
  105. List<String> get selectClassifications => _selectClassifications;
  106. set selectClassifications(List<String> value) =>
  107. _selectClassifications.value = value;
  108. ///选中分类
  109. Map<ReportTagKey, String> get selectedLabes => _selectedLabes;
  110. set selectedLabes(Map<ReportTagKey, String> value) =>
  111. _selectedLabes.value = value;
  112. ///标签列表
  113. Map<ReportTagKey, List<String>> get allReportTags => _allReportTags;
  114. set allReportTags(Map<ReportTagKey, List<String>> value) =>
  115. _allReportTags.value = value;
  116. ///选中标签列表
  117. List<String> get selectedTags => _selectedTags;
  118. set seletedTags(List<String> value) => _selectedTags.value = value;
  119. ///所有图像信息(不含左颈右颈)
  120. List<RemedicalInfoDTO> get remedicalItemList => _remedicalItemList;
  121. set remedicalItemList(List<RemedicalInfoDTO> values) =>
  122. _remedicalItemList.value = values;
  123. ///左颈动脉图像
  124. List<RemedicalInfoDTO> get cloudCarotidLeftImages => _cloudCarotidLeftImages;
  125. set cloudCarotidLeftImages(List<RemedicalInfoDTO> v) =>
  126. _cloudCarotidLeftImages.value = v;
  127. ///右颈动脉图像
  128. List<RemedicalInfoDTO> get cloudCarotidRightImages =>
  129. _cloudCarotidRightImages;
  130. set cloudCarotidRightImages(List<RemedicalInfoDTO> v) =>
  131. _cloudCarotidRightImages.value = v;
  132. /// 报告Id
  133. set reportCode(String value) => _reportCode.value = value;
  134. String get reportCode => _reportCode.value;
  135. /// 病例Code
  136. set recordCode(String value) => _recordCode.value = value;
  137. String get recordCode => _recordCode.value;
  138. /// 会诊Code
  139. set consultationCode(String value) => _consultationCode.value = value;
  140. String get consultationCode => _consultationCode.value;
  141. /// 病人Id
  142. set patientId(String value) => _patientId.value = value;
  143. String get patientId => _patientId.value;
  144. /// 病人年龄
  145. set patientAge(String value) => _patientAge.value = value;
  146. String get patientAge => _patientAge.value;
  147. /// 病人性别
  148. set patientSex(String value) => _patientSex.value = value;
  149. String get patientSex => _patientSex.value;
  150. /// 病人名
  151. set patientName(String value) => _patientName.value = value;
  152. String get patientName => _patientName.value;
  153. ///病人ID
  154. String devicePatientId = '';
  155. ///当前选中的模板
  156. ReportTemplateDTO get selectedTemplate => _selectedTemplate.value;
  157. set selectedTemplate(ReportTemplateDTO value) =>
  158. _selectedTemplate.value = value;
  159. /// 选中图片位置
  160. set selectImageTabIndex(int value) => _selectImageIndex.value = value;
  161. int get selectImageTabIndex => _selectImageIndex.value;
  162. ///报告词条
  163. List<VocabularyEntryModel> get vocabularyEntryList =>
  164. _vocabularyEntryList.value;
  165. set vocabularyEntryList(List<VocabularyEntryModel> value) =>
  166. _vocabularyEntryList.value = value;
  167. ///报告编辑的来源
  168. ReportEditSource? reportEditSource;
  169. }
  170. class VocabularyEntryModel {
  171. VocabularyEntryModel({
  172. required this.title,
  173. required this.code,
  174. });
  175. final String title;
  176. final String code;
  177. }