Browse Source

fixed: 0018697: 【一体机】【基础检查工作站】填写血压数值提交成功后,再次点击检测查看血压,输入框中不显示已填写的血压和心率数值

loki.wu 10 months ago
parent
commit
b288065437
1 changed files with 32 additions and 4 deletions
  1. 32 4
      lib/pages/medical/widgets/exam_blood_pressure.dart

+ 32 - 4
lib/pages/medical/widgets/exam_blood_pressure.dart

@@ -292,7 +292,8 @@ class _ExamBloodPressureState extends State<ExamBloodPressure> {
   @override
   Widget build(BuildContext context) {
     final nibp = controller.diagnosisDataValue['NIBP'];
-    if (nibp != null) {
+    String pulsebeat = "";
+    if (nibp != null && nibp is Map) {
       // 左侧收缩压(高压)
       leftHightValue = nibp['Sbp_Left']?.toString() ?? '';
       // 左侧舒张压(低压)
@@ -301,8 +302,14 @@ class _ExamBloodPressureState extends State<ExamBloodPressure> {
       rightHightValue = nibp['Sbp_Right']?.toString() ?? '';
       // 右侧舒张压(低压)
       rightLowValue = nibp['Dbp_Right']?.toString() ?? '';
+      if (nibp.containsKey("Pulse_Beat")) {
+        pulsebeat = nibp['Pulse_Beat'];
+      }
       setState(() {});
     }
+    if (controller.diagnosisDataValue.containsKey("Pulse_Beat")) {
+      pulsebeat = controller.diagnosisDataValue['Pulse_Beat'];
+    }
     return Stack(
       children: [
         ExamCard(
@@ -368,9 +375,7 @@ class _ExamBloodPressureState extends State<ExamBloodPressure> {
                   ),
                   const Expanded(child: SizedBox()),
                   Text(
-                    controller.diagnosisDataValue['NIBP']?['Pulse_Beat']
-                            .toString() ??
-                        '',
+                    pulsebeat,
                     style: const TextStyle(
                       fontSize: 45,
                       color: Colors.black,
@@ -554,7 +559,9 @@ class _ExamBloodPressureState extends State<ExamBloodPressure> {
     String sbp = "";
     String dbp = "";
     String heart = "";
+    Map<String, dynamic> diagnosisDataValue = controller.diagnosisDataValue;
 
+    ///结构化的数据填充
     if (controller.diagnosisDataValue.containsKey("NIBP")) {
       var nibp = controller.diagnosisDataValue["NIBP"];
       if (nibp is Map) {
@@ -582,6 +589,27 @@ class _ExamBloodPressureState extends State<ExamBloodPressure> {
       }
     }
 
+    ///平铺方式的数据填充
+    if (pressureStatus == PressureStatus.left) {
+      if (diagnosisDataValue.containsKey("Sbp_Left")) {
+        sbp = diagnosisDataValue["Sbp_Left"];
+      }
+      if (diagnosisDataValue.containsKey("Dbp_Left")) {
+        dbp = diagnosisDataValue["Dbp_Left"];
+      }
+    } else {
+      if (diagnosisDataValue.containsKey("Sbp_Right")) {
+        sbp = diagnosisDataValue["Sbp_Left"];
+      }
+      if (diagnosisDataValue.containsKey("Dbp_Right")) {
+        dbp = diagnosisDataValue["Dbp_Right"];
+      }
+    }
+
+    if (diagnosisDataValue.containsKey("Pulse_Beat")) {
+      heart = diagnosisDataValue["Pulse_Beat"];
+    }
+
     String? result = await VDialogBloodPressure(
       title: '血压',
       initialValue: [