state.dart 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import 'dart:collection';
  2. import 'package:fis_jsonrpc/rpc.dart';
  3. import 'package:get/get.dart';
  4. import 'package:vnoteapp/architecture/utils/datetime.dart';
  5. import 'package:vnoteapp/consts/rpc_enum_labels.dart';
  6. class ServicePackageContractState {
  7. /// 病人编号
  8. String patientCode = "";
  9. /// 姓名
  10. String get name => _dto.value.patientName!;
  11. /// 年龄
  12. int get age => DataTimeUtils.calculateAge(_dto.value.birthday!);
  13. /// 手机号
  14. String get phone => _dto.value.phone!;
  15. /// 地址
  16. String get address => _dto.value.patientAddress!;
  17. /// 性别
  18. String get genderDesc => RpcEnumLabels.gender[_dto.value.patientGender]!;
  19. /// 人群分类编号集合
  20. List<String>? get crowdLabelCodes => _dto.value.crowdLabels;
  21. // final RxList<dynamic> _servicePackageItems = RxList.empty();
  22. final RxList<ServicePackDTO> _servicePackageItems = RxList();
  23. final RxList<ServiceItemDTO> _serviceItems = RxList();
  24. final RxList<ServicePackDTO> _selectedServicePackage =
  25. RxList<ServicePackDTO>();
  26. final RxString _selectedServicePackageName = RxString('');
  27. final RxString _selectedServicePackageCode = RxString('');
  28. final Rx<PatientDTO> _dto = Rx<PatientDTO>(
  29. PatientDTO(
  30. patientName: "",
  31. patientGender: GenderEnum.Unknown,
  32. phone: "",
  33. birthday: DateTime(1900, 1, 1),
  34. patientAddress: "",
  35. crowdLabels: null,
  36. ),
  37. );
  38. final Rx<DateTime> _serviceStartDate = Rx(DateTime.now());
  39. final RxBool _isExpendPatient = RxBool(false);
  40. /// 服务包集合
  41. List<ServicePackDTO> get servicePackageItems =>
  42. UnmodifiableListView(_servicePackageItems.toList());
  43. set servicePackageItems(List<ServicePackDTO> val) =>
  44. _servicePackageItems.value = val;
  45. /// 服务包集合
  46. List<ServiceItemDTO> get serviceItems =>
  47. UnmodifiableListView(_serviceItems.toList());
  48. set serviceItems(List<ServiceItemDTO> val) => _serviceItems.value = val;
  49. /// 选择的服务包集合
  50. List<ServicePackDTO> get selectedServicePackage =>
  51. _selectedServicePackage.toList();
  52. set selectedServicePackage(List<ServicePackDTO> val) =>
  53. _selectedServicePackage.value = val;
  54. /// 服务包名
  55. String get selectedServicePackageName => _selectedServicePackageName.value;
  56. set selectedServicePackageName(String val) =>
  57. _selectedServicePackageName.value = val;
  58. /// 服务包code
  59. String get selectedServicePackageCode => _selectedServicePackageCode.value;
  60. set selectedServicePackageCode(String val) =>
  61. _selectedServicePackageCode.value = val;
  62. /// 是否展开
  63. bool get isExpendPatient => _isExpendPatient.value;
  64. set isExpendPatient(bool val) => _isExpendPatient.value = val;
  65. /// 服务开始时间
  66. DateTime get serviceStartDate => _serviceStartDate.value;
  67. set serviceStartDate(DateTime val) => _serviceStartDate.value = val;
  68. void updateDto(PatientDTO dto) {
  69. _dto.value = dto;
  70. }
  71. }