瀏覽代碼

修正体检记录检测数值未自动填充之前的已有的数值

loki.wu 10 月之前
父節點
當前提交
9e65b362de
共有 1 個文件被更改,包括 24 次插入48 次删除
  1. 24 48
      lib/pages/check/health_check_record/controllers/list_controller.dart

+ 24 - 48
lib/pages/check/health_check_record/controllers/list_controller.dart

@@ -14,7 +14,9 @@ import 'package:vitalapp/architecture/utils/advance_debounce.dart';
 import 'package:vitalapp/components/appbar.dart';
 import 'package:vitalapp/components/button.dart';
 import 'package:vitalapp/components/table/table_column.dart';
+import 'package:vitalapp/managers/interfaces/diagnosis.dart';
 import 'package:vitalapp/managers/interfaces/exam.dart';
+import 'package:vitalapp/managers/interfaces/models/diagnosis_aggregation_record_model.dart';
 import 'package:vitalapp/managers/interfaces/registration.dart';
 import 'package:vitalapp/pages/check/examination/controller.dart';
 import 'package:vitalapp/pages/check/examination/view.dart';
@@ -177,7 +179,7 @@ class ListController {
             Positioned(
               left: 16,
               bottom: 16,
-              child: _buildMedicalButton(),
+              child: _buildMedicalButton(rowData.idNumber),
             )
           ],
         ),
@@ -205,13 +207,33 @@ class ListController {
     );
   }
 
-  Widget _buildMedicalButton() {
+  Widget _buildMedicalButton(String patientCode) {
     if (_hasHealthMonitor()) {
       return Container(
         width: 214,
         margin: EdgeInsets.only(right: 10),
         child: VButton(
           onTap: () async {
+            var diagnosis = await Get.find<IDiagnosisManager>()
+                .getDiagnosisAggregationPageAsync(patientCode, 1, 10);
+            if (diagnosis?.pageData?.isNotEmpty ?? false) {
+              try {
+                Map<String, dynamic> diagnosisDataValue = {};
+                for (DiagnosisAggregationRecordModel data
+                    in diagnosis!.pageData!) {
+                  if (data.diagnosisAggregationData?.isNotEmpty ?? false) {
+                    for (DiagnosisAggregationData diaData
+                        in data.diagnosisAggregationData!) {
+                      diagnosisDataValue[diaData.key ?? ''] =
+                          jsonDecode(diaData.diagnosisData ?? '');
+                    }
+                    break;
+                  }
+                }
+                var medicalController = Get.find<MedicalController>();
+                medicalController.diagnosisDataValue = diagnosisDataValue;
+              } catch (e) {}
+            }
             Get.dialog<MedicalController>(
               Scaffold(
                 body: ExamMedicalPage(
@@ -244,52 +266,6 @@ class ListController {
     return hasAuth;
   }
 
-  /// 编辑按钮
-  // Widget _buildEditRegistration(ResidentModel rowData) {
-  //   return TextButton(
-  //     onPressed: () async {
-  //       final PatientDTO? patient = PatientDTO(
-  //         patientName: rowData.name,
-  //         phone: rowData.phone,
-  //         patientAddress: rowData.homeAddress,
-  //         cardNo: rowData.idNumber,
-  //         code: rowData.code,
-  //         birthday: rowData.birthDay,
-  //         patientGender: rowData.sex == "男"
-  //             ? GenderEnum.Male
-  //             : rowData.sex == "女"
-  //                 ? GenderEnum.Female
-  //                 : GenderEnum.Unknown,
-  //       );
-  //       bool isTempPutRegController = false;
-  //       if (!Get.isRegistered<RegistrationController>()) {
-  //         Get.put(RegistrationController());
-  //         isTempPutRegController = true;
-  //       }
-  //       final PatientDTO? result = await Get.dialog<PatientDTO>(
-  //         RegistrationFormDialog(
-  //           patient: patient,
-  //           isEdit: true,
-  //         ),
-  //         barrierDismissible: false,
-  //       );
-
-  //       await Get.find<RegistrationController>()
-  //           .formController
-  //           .editResident(result);
-  //       //controller.editResident(result);
-  //       if (isTempPutRegController) {
-  //         Get.delete<RegistrationController>();
-  //       }
-  //       await controller.initData();
-  //     },
-  //     child: const Text(
-  //       "编辑",
-  //       style: TextStyle(fontSize: 18),
-  //     ),
-  //   );
-  // }
-
   ///  查看报告
   Widget _buildShowReport(ResidentModel rowData) {
     return TextButton(