prenatal_followup_form.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import 'base_form_value.dart';
  2. import 'form_info.dart';
  3. class PrenatalFollowupForm extends BaseFormValueChange {
  4. static PrenatalFollowupForm? _prenatalFollowupForm;
  5. PrenatalFollowupForm._internal();
  6. ///第 1 次产前检查服务记录表的值
  7. static PrenatalFollowupForm get instance {
  8. _prenatalFollowupForm ??= PrenatalFollowupForm._internal();
  9. return _prenatalFollowupForm!;
  10. }
  11. void initListener(int times) {
  12. FormInfo.instance.onValueChange.addListener(_onValueChange);
  13. Future.delayed(Duration(milliseconds: 300), () {
  14. if (times <= 3) {
  15. //第2、3次随访,不需要显示分娩准备、
  16. FormInfo.instance.onChangeTargetValue.emit(
  17. this,
  18. TargetFormArgs(
  19. "Guidance_Delivery_Preparation",
  20. isHidden: true,
  21. ),
  22. );
  23. }
  24. if (times == 2) {
  25. //第2次随访,不需要显示自我监测\母乳喂养
  26. FormInfo.instance.onChangeTargetValue.emit(
  27. this,
  28. TargetFormArgs(
  29. "Guidance_5",
  30. isHidden: true,
  31. ),
  32. );
  33. FormInfo.instance.onChangeTargetValue.emit(
  34. this,
  35. TargetFormArgs(
  36. "Guidance_Breast_Feeding",
  37. isHidden: true,
  38. ),
  39. );
  40. }
  41. });
  42. }
  43. void dispose() {
  44. FormInfo.instance.onValueChange.removeListener(_onValueChange);
  45. }
  46. void _onValueChange(Object sender, UpdateFormArgs e) {
  47. String sourceKey = e.sourceKey;
  48. switch (sourceKey) {
  49. case "Referral":
  50. onReferralChange(e);
  51. }
  52. }
  53. }