Ver código fonte

1、取消使用fobx状态变更

bakamaka.guan 1 ano atrás
pai
commit
c9cc76ec92

+ 9 - 2
lib/view/ai_result_modifier/controller.dart

@@ -49,6 +49,8 @@ class AiResultModifierController extends GetxController {
   final int _horizontalLengthInPixel = 0;
   // 当前横线像素长度
   final int _verticalLengthInPixel = 0;
+  // 当前AI病灶下标
+  int currentAiDetectedObjectIndex = 0;
 
   GlobalKey framePlayerKey = GlobalKey();
   // 画布组件的大小
@@ -117,6 +119,12 @@ class AiResultModifierController extends GetxController {
     update(['ai_result_modifier']);
   }
 
+  /// 切换ai病灶
+  void changeAiDetectedObjectIndex(int index) {
+    currentAiDetectedObjectIndex = index;
+    update(['ai_result_modifier', 'ai_result_panel']);
+  }
+
   /// 获取AI模块的翻译值
   String getValuesFromAiLanguage(String code) {
     final value = measureLanguage.t('ai', code);
@@ -151,7 +159,7 @@ class AiResultModifierController extends GetxController {
       keyPoints = await _queryAllKeyPoints();
       _updateCurrContoursPoints();
       _updateCurrKeyPoints();
-      _getDiagnosisEnumItemsAsync();
+      await _getDiagnosisEnumItemsAsync();
       update(['ai_result_canvas', 'ai_result_panel']);
     } catch (e) {
       print(e);
@@ -404,7 +412,6 @@ class AiResultModifierController extends GetxController {
       ),
     );
     _diagnosisEnumItems = getDiagnosisEnumItems.source ?? [];
-    update(['ai_result_panel']);
   }
 
   void _initData() {

+ 5 - 5
lib/view/ai_result_modifier/state.dart

@@ -1,11 +1,11 @@
 import 'package:get/get.dart';
 
 class AiResultModifierState {
-  final Rx<int> _currentAiDetectedObjectIndex = Rx(0);
+  // final Rx<int> _currentAiDetectedObjectIndex = Rx(0);
 
-  get currentAiDetectedObjectIndex => _currentAiDetectedObjectIndex.value;
+  // get currentAiDetectedObjectIndex => _currentAiDetectedObjectIndex.value;
 
-  /// 当前ai病灶下标
-  set currentAiDetectedObjectIndex(value) =>
-      _currentAiDetectedObjectIndex.value = value;
+  // /// 当前ai病灶下标
+  // set currentAiDetectedObjectIndex(value) =>
+  //     _currentAiDetectedObjectIndex.value = value;
 }

+ 22 - 30
lib/view/ai_result_modifier/widgets/ai_conclusion_result.dart

@@ -18,24 +18,19 @@ class AiConclusionResult extends FisView<AiResultModifierController>
     return FColumn(
       children: [
         _buildAiDetectedObjects(),
-        FObx(
-          () => AiDiagnosticResult(
-            controller.aiDetectedObjectList[
-                controller.state.currentAiDetectedObjectIndex],
-            controller.diagnosisOrgan,
-          ),
+        AiDiagnosticResult(
+          controller
+              .aiDetectedObjectList[controller.currentAiDetectedObjectIndex],
+          controller.diagnosisOrgan,
         ),
         const FSizedBox(
           height: 15,
         ),
         FExpanded(
-          child: FObx(
-            () => AiFeatureAnalysis(
-              controller
-                  .aiDetectedObjectList[
-                      controller.state.currentAiDetectedObjectIndex]
-                  .descriptions,
-            ),
+          child: AiFeatureAnalysis(
+            controller
+                .aiDetectedObjectList[controller.currentAiDetectedObjectIndex]
+                .descriptions,
           ),
         ),
       ],
@@ -58,26 +53,23 @@ class AiConclusionResult extends FisView<AiResultModifierController>
             (index) {
               return FGestureDetector(
                 onTap: () {
-                  controller.state.currentAiDetectedObjectIndex = index;
+                  controller.changeAiDetectedObjectIndex(index);
                 },
                 businessParent: this,
                 name: 'AiDetectedObjects',
-                child: FObx(
-                  () => FContainer(
-                    decoration: BoxDecoration(
-                      color:
-                          controller.state.currentAiDetectedObjectIndex == index
-                              ? const Color.fromRGBO(54, 169, 206, 1)
-                              : Colors.grey,
-                    ),
-                    width: 38,
-                    height: 35,
-                    child: FCenter(
-                      child: FText(
-                        '${index + 1}',
-                        style: const TextStyle(
-                          color: Colors.white,
-                        ),
+                child: FContainer(
+                  decoration: BoxDecoration(
+                    color: controller.currentAiDetectedObjectIndex == index
+                        ? const Color.fromRGBO(54, 169, 206, 1)
+                        : Colors.grey,
+                  ),
+                  width: 38,
+                  height: 35,
+                  child: FCenter(
+                    child: FText(
+                      '${index + 1}',
+                      style: const TextStyle(
+                        color: Colors.white,
                       ),
                     ),
                   ),