Browse Source

Merge remote-tracking branch 'origin/master' into feature/gavin_mobile_vid_0908

gavin.chen 2 years ago
parent
commit
2fdf52478b

+ 8 - 0
lib/process/workspace/measure_data_controller.dart

@@ -31,6 +31,7 @@ abstract class IMeasureDataController {
   late FEventHandler<MeasureSystemSettingDTO> measureSystemSettingChanged;
   late FEventHandler<List<VidUsMode>> applicationModesChanged;
   late FEventHandler<List<ItemMeta>> getItemMetaListChanged;
+  late FEventHandler<List<String>> getCommentsListChanged;
 
   /// 该图像下面的应用
   List<ItemMetaDTO> get itemMetaList;
@@ -159,6 +160,8 @@ class MeasureDataController implements IMeasureDataController {
 
   @override
   var getItemMetaListChanged = FEventHandler<List<ItemMeta>>();
+  @override
+  var getCommentsListChanged = FEventHandler<List<String>>();
 
   @override
   List<ItemMeta> get getItemMetaList => _getItemMetaList;
@@ -195,6 +198,7 @@ class MeasureDataController implements IMeasureDataController {
   set getCommentsList(List<String> value) {
     if (value != _getCommentsList) {
       _getCommentsList = value;
+      _onGetCommentsListChanged();
     }
   }
 
@@ -430,4 +434,8 @@ class MeasureDataController implements IMeasureDataController {
   void _onGetItemMetaListChanged() {
     getItemMetaListChanged.emit(this, getItemMetaList);
   }
+
+  void _onGetCommentsListChanged() {
+    getCommentsListChanged.emit(this, getCommentsList);
+  }
 }

+ 6 - 0
lib/view/measure/measure_left_annotation.dart

@@ -26,17 +26,23 @@ class _MeasureLeftAnnotationState extends State<MeasureLeftAnnotation> {
   /// 数据
   late final measureData = Get.find<MeasureDataController>();
 
+  void getCommentsListChanged(sender, e) {
+    setState(() {});
+  }
+
   @override
   void initState() {
     Future.delayed(const Duration(milliseconds: 1000), () {
       application.switchAnnotation(
           AnnotationType.label, measureData.getCommentsList[0]);
     });
+    measureData.getCommentsListChanged.addListener(getCommentsListChanged);
     super.initState();
   }
 
   @override
   void dispose() {
+    measureData.getCommentsListChanged.removeListener(getCommentsListChanged);
     super.dispose();
   }
 

+ 8 - 2
lib/view/measure/measure_search_input.dart

@@ -8,11 +8,17 @@ import 'package:fis_ui/index.dart';
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 
-class LeftSelectInput extends StatelessWidget implements FWidget {
+class LeftSelectInput extends FStatefulWidget {
+  @override
+  FState<LeftSelectInput> createState() => _LeftSelectInputState();
+}
+
+class _LeftSelectInputState extends FState<LeftSelectInput> {
   late final application = Get.find<IApplication>();
 
   /// 数据
   late final measureData = Get.find<MeasureDataController>();
+
   late final measureHandler = Get.find<MeasureHandler>();
 
   String commentItem = '';
@@ -71,9 +77,9 @@ class LeftSelectInput extends StatelessWidget implements FWidget {
                       measureCommentItemList,
                     );
                     if (result ?? false) {
-                      getNoteCommentsList();
                       measureHandler.changedTab = TagEnum.MeasureTool;
                       measureHandler.changedTab = TagEnum.NodesTool;
+                      getNoteCommentsList();
                     } else {
                       PromptBox.toast("添加注释失败");
                     }

+ 1 - 3
lib/view/measure/measure_view.dart

@@ -49,7 +49,6 @@ class _MeasureMainPageState extends State<MeasureMainPage> {
 
   /// webview 控制器
   final measure3DViewController = Get.find<Measure3DViewController>();
-  late final application = Get.find<IApplication>();
 
   final mouseState = Get.put<IMouseState>(MouseState());
 
@@ -327,7 +326,6 @@ class _MeasureLeftBoard extends StatefulWidget implements FWidget {
 
 class _MeasureLeftBoardState extends State<_MeasureLeftBoard> {
   final measureHandler = Get.find<MeasureHandler>();
-  late final application = Get.find<IApplication>();
   final playerController = Get.find<IPlayerController>();
   final measure3DViewController = Get.find<Measure3DViewController>();
 
@@ -445,7 +443,7 @@ class _MeasureArrow extends FStatefulWidget {
 class _MeasureArrowState extends FState<_MeasureArrow> {
   final measureHandler = Get.find<MeasureHandler>();
 
-  final application = Get.find<IApplication>();
+  late final application = Get.find<IApplication>();
   bool get isArrowMeasureAnnotationType =>
       measureHandler.changedAnnotationType == AnnotationType.arrow;
 

+ 23 - 19
lib/view/paint/parts/ai_result.dart

@@ -75,25 +75,29 @@ class _AIResultPanelState extends State<AIResultPanel> {
                 height: 10,
               ),
               Obx(() {
-                aiDetectedObjectItem = widget
-                    .aiDetectedObject[aiPatintController.state.aiResultIndex];
-                if (aiDetectedObjectItem.label != 0) {
-                  return Column(
-                    children: [
-                      ResultInfo(
-                        widget.aiDetectedObject,
-                      ),
-                      const SizedBox(
-                        height: 10,
-                      ),
-                      aiDetectedObjectItem.descriptions?.isNotEmpty ?? false
-                          ? FeatureAnalysis(
-                              aiDetectedObjectItem.descriptions,
-                            )
-                          : const SizedBox(),
-                    ],
-                  );
-                } else {
+                try {
+                  aiDetectedObjectItem = widget
+                      .aiDetectedObject[aiPatintController.state.aiResultIndex];
+                  if (aiDetectedObjectItem.label != 0) {
+                    return Column(
+                      children: [
+                        ResultInfo(
+                          widget.aiDetectedObject,
+                        ),
+                        const SizedBox(
+                          height: 10,
+                        ),
+                        aiDetectedObjectItem.descriptions?.isNotEmpty ?? false
+                            ? FeatureAnalysis(
+                                aiDetectedObjectItem.descriptions,
+                              )
+                            : const SizedBox(),
+                      ],
+                    );
+                  } else {
+                    return const SizedBox();
+                  }
+                } catch (e) {
                   return const SizedBox();
                 }
               })

+ 1 - 1
pubspec.yaml

@@ -96,7 +96,7 @@ dependency_overrides:
   fis_jsonrpc:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git
-      ref: a2f6096
+      ref: 0d8e47b
   fis_lib_business_components:
     git:
       url: http://git.ius.plus/bakamaka.guan/fis_lib_business_components.git