import 'package:fis_jsonrpc/rpc.dart'; import 'package:get/get.dart'; import 'package:fis_ui/index.dart'; import 'package:vitalapp/managers/interfaces/models/report_edit_source.dart'; import 'package:vitalapp/managers/interfaces/models/report_tag_key.dart'; class ReportEditState { final Rx _selectedTemplate = Rx(ReportTemplateDTO()); final RxMap> _allReportTags = RxMap>(); final RxList _selectedTags = RxList(); final RxList _selectClassifications = RxList(); final RxMap _selectedLabes = RxMap(); final RxMap _entrys = RxMap({}); final RxList> _templates = RxList(>[]); final Rx _selectImageIndex = Rx(0); final Rx> _vocabularyEntryList = Rx([]); final Rx _selectedTag = Rx(''); final Rx _selectedClassification = Rx(''); final RxList _entryInfos = RxList([]); ///病人信息,(用于初始化报告中一些字段) final Rx _patientName = Rx(''); final Rx _patientId = Rx(''); final RxString _selectedEntryCode = RxString(''); final Rx _patientSex = Rx(''); final Rx _patientAge = Rx(''); final Rx _orgName = Rx(''); final Rx _referralRecordCode = Rx(''); final Rx _reportCode = Rx(''); final Rx _recordCode = Rx(''); final Rx _consultationCode = Rx(''); final Rx _isRemeber = Rx(false); final Rx _isEntryDisplayed = Rx(false); final RxList _consultationImages = RxList([]); final RxList _remedicalItemList = RxList(); final RxList _selectedImages = RxList([]); final Rx> _remedicalMeasured = Rx([]); final Rx> _remedicalAISelectedInfos = Rx([]); final RxList _cloudCarotidLeftImages = RxList(); final RxList _cloudCarotidRightImages = RxList(); final Rx _carotidVAS = Rx(null); final RxList _allThesaurusList = RxList([]); ///所有词条信息 List get entryInfos => _entryInfos; set entryInfos(List v) => _entryInfos.value = v; ///所有词条项(树形结构中的所有节点) List get allThesaurusList => _allThesaurusList; set allThesaurusList(List v) => _allThesaurusList.value = v; ///选中的词条 String get selectedEntryCode => _selectedEntryCode.value; set selectedEntryCode(String v) => _selectedEntryCode.value = v; ///是否显示词条 bool get isEntryDisplayed => _isEntryDisplayed.value; set isEntryDisplayed(bool v) => _isEntryDisplayed.value = v; ///模板列表 List> get templates => _templates; set templates(List> v) => _templates.value = v; CarotidScanTypeEnum? get carotidVAS => _carotidVAS.value; set carotidVAS(CarotidScanTypeEnum? v) => _carotidVAS.value = v; ///已选中的图像 List get selectedImages => _selectedImages; set selectedImages(List v) => _selectedImages.value = v; ///会诊图片 List get consultationImages => _consultationImages; set consultationImages(List consultationImages) { _consultationImages.value = consultationImages; } /// 测量图像 set remedicalMeasured(List value) => _remedicalMeasured(value); List get remedicalMeasured => _remedicalMeasured.value; /// AI图像 set remedicalAISelectedInfos(List value) => _remedicalAISelectedInfos(value); List get remedicalAISelectedInfos => _remedicalAISelectedInfos.value; ///是否记住不再提醒 bool get isRemeber => _isRemeber.value; set isRemeber(bool v) => _isRemeber.value = v; ///组织名称 String get orgName => _orgName.value; set orgName(String name) => _orgName.value = name; ///转诊Code String get referralRecordCode => _referralRecordCode.value; set referralRecordCode(String name) => _referralRecordCode.value = name; ///当前标签 String get selectedTag => _selectedTag.value; set selectedTag(String name) => _selectedTag.value = name; ///当前分类 String get selectedClassification => _selectedClassification.value; set selectedClassification(String name) => _selectedClassification.value = name; ///分类列表 List get selectClassifications => _selectClassifications; set selectClassifications(List value) => _selectClassifications.value = value; ///选中分类 Map get selectedLabes => _selectedLabes; set selectedLabes(Map value) => _selectedLabes.value = value; ///标签列表 Map> get allReportTags => _allReportTags; set allReportTags(Map> value) => _allReportTags.value = value; ///选中标签列表 List get selectedTags => _selectedTags; set seletedTags(List value) => _selectedTags.value = value; ///所有图像信息(不含左颈右颈) List get remedicalItemList => _remedicalItemList; set remedicalItemList(List values) => _remedicalItemList.value = values; ///左颈动脉图像 List get cloudCarotidLeftImages => _cloudCarotidLeftImages; set cloudCarotidLeftImages(List v) => _cloudCarotidLeftImages.value = v; ///右颈动脉图像 List get cloudCarotidRightImages => _cloudCarotidRightImages; set cloudCarotidRightImages(List v) => _cloudCarotidRightImages.value = v; /// 报告Id set reportCode(String value) => _reportCode.value = value; String get reportCode => _reportCode.value; /// 病例Code set recordCode(String value) => _recordCode.value = value; String get recordCode => _recordCode.value; /// 会诊Code set consultationCode(String value) => _consultationCode.value = value; String get consultationCode => _consultationCode.value; /// 病人Id set patientId(String value) => _patientId.value = value; String get patientId => _patientId.value; /// 病人年龄 set patientAge(String value) => _patientAge.value = value; String get patientAge => _patientAge.value; /// 病人性别 set patientSex(String value) => _patientSex.value = value; String get patientSex => _patientSex.value; /// 病人名 set patientName(String value) => _patientName.value = value; String get patientName => _patientName.value; ///病人ID String devicePatientId = ''; ///当前选中的模板 ReportTemplateDTO get selectedTemplate => _selectedTemplate.value; set selectedTemplate(ReportTemplateDTO value) => _selectedTemplate.value = value; /// 选中图片位置 set selectImageTabIndex(int value) => _selectImageIndex.value = value; int get selectImageTabIndex => _selectImageIndex.value; ///报告词条 List get vocabularyEntryList => _vocabularyEntryList.value; set vocabularyEntryList(List value) => _vocabularyEntryList.value = value; ///报告编辑的来源 ReportEditSource? reportEditSource; } class VocabularyEntryModel { VocabularyEntryModel({ required this.title, required this.code, }); final String title; final String code; }