Browse Source

1、fixed:0018483: 【孕产妇健康管理】填写孕产妇表格内容+处方,点击保存后打开记录,只显示处方,不显示已填写的表格内容

guanxinyi 11 months ago
parent
commit
34c3e38eb1

+ 4 - 4
lib/managers/follow_up.dart

@@ -18,7 +18,7 @@ class FollowUpManager implements IFollowUpManager {
       );
       return examCode;
     } catch (e) {
-      logger.e("DoctorManager sync user info error.", e);
+      logger.e("FollowUpManager createFollowUp error.", e);
       return '';
     }
   }
@@ -32,7 +32,7 @@ class FollowUpManager implements IFollowUpManager {
       );
       return result;
     } catch (e) {
-      logger.e("FollowUpManager sync user info error.", e);
+      logger.e("FollowUpManager updateFollowUp error.", e);
       return null;
     }
   }
@@ -49,7 +49,7 @@ class FollowUpManager implements IFollowUpManager {
       );
       return result;
     } catch (e) {
-      logger.e("FollowUpManager sync user info error.", e);
+      logger.e("FollowUpManager removeFollowUpAsync error.", e);
     }
     return false;
   }
@@ -64,7 +64,7 @@ class FollowUpManager implements IFollowUpManager {
       );
       return result.pageData;
     } catch (e) {
-      logger.e("DoctorManager sync user info error.", e);
+      logger.e("FollowUpManager getFollowUpPage error.", e);
       return null;
     }
   }

+ 1 - 1
lib/pages/check/children_follow_up_record/controller.dart

@@ -94,7 +94,7 @@ class ChildrenFollowUpRecordController extends FControllerBase {
     return _offlineSyncTemp;
   }
 
-  Future<void> updateFollowUp(key, code, data) async {
+  Future<void> updateFollowUp(String key, String? code, String data) async {
     List<String> followUpPhotos = [];
     if (_followUpController.state.followUpPhoto?.isNotEmpty ?? false) {
       followUpPhotos = [_followUpController.state.followUpPhoto!];

+ 14 - 4
lib/pages/check/maternal_health_management/controller.dart

@@ -50,6 +50,7 @@ class MaternalHealthManagementController extends GetxController {
   String templateCode = "";
 
   FollowUpModeEnum followUpMode = FollowUpModeEnum.Outpatient;
+  Map<String, dynamic> maternalFormValue = FormInfo.instance.formValue;
 
   @override
   void onReady() {
@@ -199,17 +200,19 @@ class MaternalHealthManagementController extends GetxController {
     var datas = jsonDecode(dataDto.followUpData ?? '');
     if (datas is Map<String, dynamic>) {
       FormInfo.instance.formValue = datas;
+      maternalFormValue = datas;
       var key = dataDto.key;
       if (key == firstFollowUpkey) {
         Get.to(FirstMaternalHealthManagementForm(
           onClickPrescribe: () async {
+            maternalFormValue = FormInfo.instance.formValue;
             await Get.to(
               PrescriptionCollection(
                 recordCode,
                 isChild: false,
                 isCreateFromOldDto: isCreateFromOldDto,
                 createFollowUpOnly: () async {
-                  await save("PostnatalVisitRecord");
+                  await save(key!);
                   if (recordCode.isNotEmpty) {
                     isEdit = true;
                   }
@@ -217,6 +220,7 @@ class MaternalHealthManagementController extends GetxController {
                 },
               ),
             );
+            FormInfo.instance.formValue = maternalFormValue;
           },
         ));
       } else if (key == prenatalFollowupKey) {
@@ -224,13 +228,14 @@ class MaternalHealthManagementController extends GetxController {
         Get.to(AntenatalVisitForm(
           times,
           onClickPrescribe: () async {
+            maternalFormValue = FormInfo.instance.formValue;
             await Get.to(
               PrescriptionCollection(
                 recordCode,
                 isChild: false,
                 isCreateFromOldDto: isCreateFromOldDto,
                 createFollowUpOnly: () async {
-                  await save("PostpartumHealthCheckup42Days");
+                  await save(key!);
                   if (recordCode.isNotEmpty) {
                     isEdit = true;
                   }
@@ -238,18 +243,20 @@ class MaternalHealthManagementController extends GetxController {
                 },
               ),
             );
+            FormInfo.instance.formValue = maternalFormValue;
           },
         ));
       } else if (key == postnatalVisitKey) {
         Get.to(PostpartumFormView(
           onClickPrescribe: () async {
+            maternalFormValue = FormInfo.instance.formValue;
             await Get.to(
               PrescriptionCollection(
                 recordCode,
                 isChild: false,
                 isCreateFromOldDto: isCreateFromOldDto,
                 createFollowUpOnly: () async {
-                  await save("MaternalHealthManagement");
+                  await save(key!);
                   if (recordCode.isNotEmpty) {
                     isEdit = true;
                   }
@@ -257,18 +264,20 @@ class MaternalHealthManagementController extends GetxController {
                 },
               ),
             );
+            FormInfo.instance.formValue = maternalFormValue;
           },
         ));
       } else if (key == postpartumHealthCheckup42DaysKey) {
         Get.to(PostpartumHealthCheckup42DaysForm(
           onClickPrescribe: () async {
+            maternalFormValue = FormInfo.instance.formValue;
             await Get.to(
               PrescriptionCollection(
                 recordCode,
                 isChild: false,
                 isCreateFromOldDto: isCreateFromOldDto,
                 createFollowUpOnly: () async {
-                  await save("PrenatalFollowupServiceRecord");
+                  await save(key!);
                   if (recordCode.isNotEmpty) {
                     isEdit = true;
                   }
@@ -276,6 +285,7 @@ class MaternalHealthManagementController extends GetxController {
                 },
               ),
             );
+            FormInfo.instance.formValue = maternalFormValue;
           },
         ));
       }

+ 17 - 0
lib/pages/check/maternal_health_management/view.dart

@@ -54,6 +54,9 @@ class MaternalHealthManagement
                         if (isAfterFirst) {
                           Get.to(PostpartumFormView(
                             onClickPrescribe: () async {
+                              /// 因为孕产妇使用的是单例和处方是同个数据
+                              controller.maternalFormValue =
+                                  FormInfo.instance.formValue;
                               await Get.to(
                                 PrescriptionCollection(
                                   controller.recordCode,
@@ -69,11 +72,15 @@ class MaternalHealthManagement
                                   },
                                 ),
                               );
+                              FormInfo.instance.formValue =
+                                  controller.maternalFormValue;
                             },
                           ));
                         } else {
                           Get.to(PostpartumHealthCheckup42DaysForm(
                             onClickPrescribe: () async {
+                              controller.maternalFormValue =
+                                  FormInfo.instance.formValue;
                               await Get.to(
                                 PrescriptionCollection(
                                   controller.recordCode,
@@ -89,6 +96,8 @@ class MaternalHealthManagement
                                   },
                                 ),
                               );
+                              FormInfo.instance.formValue =
+                                  controller.maternalFormValue;
                             },
                           ));
                         }
@@ -97,6 +106,8 @@ class MaternalHealthManagement
                       if (time == 1) {
                         Get.to(FirstMaternalHealthManagementForm(
                           onClickPrescribe: () async {
+                            controller.maternalFormValue =
+                                FormInfo.instance.formValue;
                             await Get.to(
                               PrescriptionCollection(
                                 controller.recordCode,
@@ -112,6 +123,8 @@ class MaternalHealthManagement
                                 },
                               ),
                             );
+                            FormInfo.instance.formValue =
+                                controller.maternalFormValue;
                           },
                         ));
                       } else if (time >= 2 && time <= 5) {
@@ -119,6 +132,8 @@ class MaternalHealthManagement
                           AntenatalVisitForm(
                             time,
                             onClickPrescribe: () async {
+                              controller.maternalFormValue =
+                                  FormInfo.instance.formValue;
                               await Get.to(
                                 PrescriptionCollection(
                                   controller.recordCode,
@@ -134,6 +149,8 @@ class MaternalHealthManagement
                                   },
                                 ),
                               );
+                              FormInfo.instance.formValue =
+                                  controller.maternalFormValue;
                             },
                           ),
                         );

+ 8 - 2
lib/pages/check/prescription/pediatric_prescription_collection.dart

@@ -89,7 +89,11 @@ class PrescriptionCollectionState extends State<PrescriptionCollection> {
                 ///创建处方
                 await createOrUpdatePrescription(k, value ?? {});
               }
-              FormInfo.instance.formValue.clear();
+
+              /// 儿童就需要清除
+              if (widget.isChild) {
+                FormInfo.instance.formValue.clear();
+              }
               Get.back();
             },
             label: Text(
@@ -100,7 +104,9 @@ class PrescriptionCollectionState extends State<PrescriptionCollection> {
           ),
         ],
         iconBack: () {
-          FormInfo.instance.formValue.clear();
+          if (widget.isChild) {
+            FormInfo.instance.formValue.clear();
+          }
         },
       ),
       body: Row(