Ver código fonte

fix(caritid): 颈动脉3D入口移至图像层右上

gavin.chen 2 anos atrás
pai
commit
35599358f8

+ 0 - 95
lib/view/3d_view/measure_3d_view_switcher.dart

@@ -1,95 +0,0 @@
-import 'package:fis_i18n/i18n.dart';
-import 'package:fis_measure/index.dart';
-import 'package:fis_measure/interfaces/process/player/play_controller.dart';
-import 'package:fis_measure/interfaces/process/workspace/measure_3d_view_controller.dart';
-import 'package:fis_measure/process/workspace/measure_3d_view_controller.dart';
-import 'package:fis_ui/index.dart';
-import 'package:flutter/material.dart';
-import 'package:get/get.dart';
-
-class Measure3DViewSwitcher extends StatefulWidget implements FWidget {
-  const Measure3DViewSwitcher(this.measure3DViewController, {Key? key})
-      : super(key: key);
-  final Measure3DViewController measure3DViewController;
-  @override
-  State<StatefulWidget> createState() => _Measure3DViewSwitcherState();
-}
-
-class _Measure3DViewSwitcherState extends State<Measure3DViewSwitcher> {
-  bool enable3DView = false;
-  bool ifShow3DSwitcher = false;
-  final playerController = Get.find<IPlayerController>() as VidPlayerController;
-  @override
-  void initState() {
-    super.initState();
-    enable3DView = widget.measure3DViewController.curMeasureMode ==
-        MeasureMode.carotid3DMode;
-    widget.measure3DViewController.updatePlayerMode.addListener(_onModeChanged);
-  }
-
-  /// 模式改变触发更新
-  void _onModeChanged(Object s, MeasureMode mode) {
-    switch (mode) {
-      case MeasureMode.vidMode:
-        setState(() {
-          enable3DView = false;
-          ifShow3DSwitcher = false;
-        });
-        break;
-      case MeasureMode.carotid2DMode:
-        setState(() {
-          ifShow3DSwitcher = true;
-        });
-        break;
-      case MeasureMode.carotid3DMode:
-        setState(() {
-          ifShow3DSwitcher = false;
-          enable3DView = true;
-        });
-        break;
-    }
-  }
-
-  @override
-  void dispose() {
-    widget.measure3DViewController.updatePlayerMode
-        .removeListener(_onModeChanged);
-    super.dispose();
-  }
-
-  @override
-  FWidget build(BuildContext context) {
-    return FContainer(
-      width: 300,
-      padding: const EdgeInsets.all(10),
-      child: FColumn(mainAxisSize: MainAxisSize.min, children: [switcher()]),
-    );
-  }
-
-  FWidget switcher() {
-    return FRow(
-        mainAxisAlignment: MainAxisAlignment.center,
-        mainAxisSize: MainAxisSize.min,
-        children: [
-          FSizedBox(
-              width: 90,
-              child: FText(i18nBook.measure.carotid3DMode.t + ":",
-                  style: const TextStyle(color: Colors.white))),
-          FSwitch(
-            value: enable3DView,
-            onChanged: (value) {
-              playerController.pause();
-              if (value) {
-                widget.measure3DViewController.changeModeTo3DMode();
-              } else {
-                widget.measure3DViewController.backToVidMode();
-                playerController.resetCurrentFrame();
-              }
-              setState(() {
-                enable3DView = value;
-              });
-            },
-          ),
-        ]);
-  }
-}

+ 19 - 5
lib/view/button_group/button_group.dart

@@ -48,7 +48,10 @@ class _ButtonGroupState extends State<ButtonGroup> {
     DiagnosisConclusionEnum.BenignAndMalignant
   ].contains(measureData.diagnosisConclusion);
 
-  bool canShowModeButton = false;
+  bool ifShowModeButton = false;
+  bool ifShowVidModeButton = true;
+  get exist3DData => measure3DViewController.exist3DData;
+
   @override
   void initState() {
     super.initState();
@@ -66,17 +69,19 @@ class _ButtonGroupState extends State<ButtonGroup> {
     switch (mode) {
       case MeasureMode.vidMode:
         setState(() {
-          canShowModeButton = false;
+          ifShowModeButton = false;
+          ifShowVidModeButton = true;
         });
         break;
       case MeasureMode.carotid2DMode:
         setState(() {
-          canShowModeButton = true;
+          ifShowModeButton = true;
+          ifShowVidModeButton = false;
         });
         break;
       case MeasureMode.carotid3DMode:
         setState(() {
-          canShowModeButton = false;
+          ifShowModeButton = false;
         });
         break;
     }
@@ -145,7 +150,16 @@ class _ButtonGroupState extends State<ButtonGroup> {
           },
         ),
       ],
-      if (canShowModeButton) ...[
+      if (exist3DData && ifShowVidModeButton) ...[
+        _buildTitleButton(
+          FIcons.three_dimensional,
+          i18nBook.measure.carotid3DMode.t,
+          () {
+            measure3DViewController.changeModeTo3DMode();
+          },
+        ),
+      ],
+      if (exist3DData && ifShowModeButton) ...[
         _buildTitleButton(
           FIcons.three_dimensional,
           i18nBook.measure.carotid3DMode.t,