Эх сурвалжийг харах

Fix bug 0012245: 【AI结果编辑】病灶帧上存在多个病灶时,不在第一个AI结果页签下点击“编辑AI结果”,弹出的编辑页面都是默认打开第一个病灶信息

Jimmy 1 жил өмнө
parent
commit
257db68da4

+ 4 - 0
lib/view/ai_result_modifier/view.dart

@@ -22,9 +22,11 @@ class AiResultModifierDialog extends FisView<AiResultModifierController>
     required this.remedicalCode,
     required this.currFrameIndex,
     required this.currFrame,
+    required this.currentLabel,
   }) : super(key: key);
   final String remedicalCode;
   final int currFrameIndex;
+  final int currentLabel;
   final VidUsImage currFrame;
   @override
   String get pageName => "ai_result_modifier";
@@ -39,6 +41,8 @@ class AiResultModifierDialog extends FisView<AiResultModifierController>
       ),
       id: "ai_result_modifier",
       builder: (_) {
+        print("1: current lable is ${currentLabel}");
+        controller.currentAiDetectedObjectIndex = currentLabel;
         return FDialog(
           shape: RoundedRectangleBorder(
             borderRadius: BorderRadius.circular(8),

+ 14 - 0
lib/view/paint/parts/ai_result.dart

@@ -123,6 +123,7 @@ class _AIResultPanelState extends State<AIResultPanel> {
                                   remedicalCode: remedicalCode,
                                   currFrameIndex: currFrameIndex,
                                   currFrame: currFrame,
+                                  currentLabel: _getCurrentAIIndex(),
                                 ),
                               );
                             },
@@ -149,4 +150,17 @@ class _AIResultPanelState extends State<AIResultPanel> {
       ],
     );
   }
+
+  int _getCurrentAIIndex() {
+    var selectedAIResultIndex = aiPatintController.state.aiResultIndex;
+    var maxLegalIndex = -1;
+    widget.aiDetectedObject.forEach((element) {
+      if (element.descriptions?.isNotEmpty ?? false) {
+        maxLegalIndex++;
+      }
+    });
+    return selectedAIResultIndex >= maxLegalIndex
+        ? maxLegalIndex
+        : selectedAIResultIndex;
+  }
 }