Browse Source

Merge branch 'master' of http://git.ius.plus/melon.yin/fis_lib_measure

melon.yin 2 years ago
parent
commit
03080b9e6e

+ 1 - 1
lib/interfaces/process/workspace/application.dart

@@ -29,7 +29,7 @@ abstract class IApplication {
   /// 是否第三方
   bool get isThirdPart;
 
-  /// 是否是需要自适应的颈动脉2D
+  /// 是否是需要自适应的颈动脉2D,如果颈动脉2D图像超出范围需要缩放,则需要置为 true
   bool get isAdaptiveCarotid2D;
   set isAdaptiveCarotid2D(bool value);
 

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

@@ -2,8 +2,10 @@ import 'dart:async';
 
 import 'package:fis_i18n/i18n.dart';
 import 'package:fis_measure/interfaces/process/workspace/exam_info.dart';
+import 'package:fis_measure/interfaces/process/workspace/measure_3d_view_controller.dart';
 import 'package:fis_measure/interfaces/process/workspace/measure_controller.dart';
 import 'package:fis_measure/process/workspace/application.dart';
+import 'package:fis_measure/process/workspace/measure_3d_view_controller.dart';
 import 'package:fis_measure/process/workspace/third_part/application.dart';
 import 'package:fis_measure/utils/prompt_box.dart';
 import 'package:fis_measure/view/measure/operate_type_change_button.dart';
@@ -34,6 +36,7 @@ class MeasureController implements IMeasureController {
 
   late final MeasureImagesFetchFunc _imagesFetchFunc;
   final measureData = Get.find<MeasureDataController>();
+  final measure3DViewController = Get.find<Measure3DViewController>();
 
   MeasureController(String code,
       {required MeasureImagesFetchFunc imagesFetchFunc}) {
@@ -157,6 +160,11 @@ class MeasureController implements IMeasureController {
         }
       }
     }
+
+    /// 非颈动脉2D模式下需要将 isAdaptiveCarotid2D 置为 false
+    if (measure3DViewController.curMeasureMode != MeasureMode.carotid2DMode) {
+      workingApplication.isAdaptiveCarotid2D = false;
+    }
   }
 
   void _onFrameUpdated(Object sender, VidUsImage frame) {

+ 0 - 2
lib/view/3d_view/carotid_player.dart

@@ -61,12 +61,10 @@ class _CarotidPlayerState extends State<CarotidPlayer> {
 
   @override
   void dispose() {
-    application.isAdaptiveCarotid2D = false;
     widget.measure3DViewController.onUpdateCarotid2DImage
         .removeListener(_loadCarotidImageBytes);
     widget.measure3DViewController.updatePlayerMode
         .removeListener(_onModeChanged);
-
     image?.dispose();
     super.dispose();
   }

+ 5 - 1
lib/view/3d_view/measure_3d_view.dart

@@ -82,6 +82,7 @@ class _Measure3DViewState extends State<Measure3DView> {
   @override
   void initState() {
     super.initState();
+
     measure3DViewController.onShellLoadedMdlFile.addListener(_mdlFileLoaded);
     measure3DViewController.adjustPlaneImage.addListener(_adjustedImage);
   }
@@ -112,7 +113,10 @@ class _Measure3DViewState extends State<Measure3DView> {
                 debugPrint('The page has finished loading');
                 _setSurface().then((value) => _notifyShellToLoad());
               },
-              // jsContent: _loadJSFromAssets('assets/js/webviewx.js'),
+              jsContent: {
+                EmbeddedJsContent(
+                    js: "var isCurrentChinese = ${i18nBook.isCurrentChinese}")
+              },
               dartCallBacks: {
                 DartCallback(
                     name: 'Dart_getClipPlaneData',

+ 19 - 3
lib/view/menu_button_group/menu_button_group.dart

@@ -379,16 +379,21 @@ class FCustomLeftTooltip extends FStatefulWidget {
   final FWidget? child;
 
   @override
-  FState<FCustomLeftTooltip> createState() => FCustomRightTooltipState();
+  FState<FCustomLeftTooltip> createState() => FCustomLeftTooltipState();
 }
 
-class FCustomRightTooltipState extends FState<FCustomLeftTooltip> {
+class FCustomLeftTooltipState extends FState<FCustomLeftTooltip> {
   OverlayEntry? _entry;
 
   void _showTooltip() {
     _createNewEntry();
   }
 
+  void _hideTooltip() {
+    _entry?.remove();
+    _entry = null;
+  }
+
   void _createNewEntry() {
     final OverlayState overlayState = Overlay.of(
       context,
@@ -440,10 +445,21 @@ class FCustomRightTooltipState extends FState<FCustomLeftTooltip> {
       onEnter: (event) {
         _showTooltip();
       },
-      onExit: (event) => _entry?.remove(),
+      onExit: (event) {
+        _hideTooltip();
+      },
       child: FContainer(
         child: widget.child,
       ),
     );
   }
+
+  @override
+  void dispose() {
+    super.dispose();
+    if (_entry != null) {
+      _entry?.remove();
+      _entry = null;
+    }
+  }
 }

+ 1 - 1
lib/view/result/results_panel.dart

@@ -38,7 +38,7 @@ class _MeasureResultPanelState extends State<MeasureResultPanel> {
       child: Container(
         margin: const EdgeInsets.only(left: 20, top: 2, right: 20, bottom: 2),
         constraints: const BoxConstraints(
-          maxWidth: 300,
+          maxWidth: 600,
           minWidth: 150,
           maxHeight: 400,
         ),

+ 2 - 2
pubspec.yaml

@@ -66,7 +66,7 @@ dependencies:
   fis_i18n:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git
-      ref: 71bdfc1d72
+      ref: bcce140
   fis_lib_qrcode:
     git:
       url: http://git.ius.plus/jimmy.jiang/fis_lib_qrcode.git
@@ -96,7 +96,7 @@ dependency_overrides:
   fis_i18n:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git
-      ref: "0e26570"
+      ref: f670aee
   fis_jsonrpc:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git