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

fix 0018963: 【图像测量】【小动物】PW模式下的PI测量项,测量结果为空,应与超声机结果一致

Melon 9 сар өмнө
parent
commit
057917a707

+ 12 - 11
lib/process/calcuators/velocity.dart

@@ -1,6 +1,3 @@
-import 'package:fis_measure/interfaces/date_types/point.dart';
-import 'package:fis_measure/process/items/item_feature.dart';
-
 import '../primitives/location.dart';
 import 'calculator.dart';
 
@@ -10,14 +7,18 @@ class VelocityCal extends Calculator<Location, double> {
   @override
   void calculate() {
     if (ref.feature == null) return;
-    final viewport = ref.feature!.hostVisualArea!.viewport!;
-    final layout = ref.feature!.hostVisualArea!.displayRegion;
-    final point = ref.feature!.point.clone();
-    point.addOffset(-layout.left, -layout.top);
-    // final physicalPoint = viewport.physical!.convert(point);
-    final physicalPoint = viewport.convert(point);
-    final coordinateOffset = viewport.region;
-    final value = -physicalPoint.y + coordinateOffset.top;
+
+    final feature = ref.feature!;
+    // final viewport = ref.feature!.hostVisualArea!.viewport!;
+    // final layout = ref.feature!.hostVisualArea!.displayRegion;
+    // final point = ref.feature!.point.clone();
+    // point.addOffset(-layout.left, -layout.top);
+    // // final physicalPoint = viewport.physical!.convert(point);
+    // final physicalPoint = viewport.convert(point);
+    // final coordinateOffset = viewport.region;
+    // final value = -physicalPoint.y + coordinateOffset.top;
+    final physicalPoint = convertTimeMotionPoint(feature, feature.point);
+    final value = physicalPoint.y;
     updateFloatValue(value, useUnitY: true);
   }
 }

+ 3 - 4
lib/process/items/item_meta_convert.dart

@@ -19,13 +19,11 @@ class ItemMetaConverter {
     } else if (dto.methodChildItems != null &&
         dto.methodChildItems!.isNotEmpty) {
       _loadCombo();
+      _outputs = _convetOutputsFromCalc(dto.calculator!);
     } else {
       _loadSimple();
+      _outputs = _convetOutputsFromCalc(dto.calculator!);
     }
-    if (dto.name == "LV Study") {
-      print("!!!!");
-    }
-    _outputs = _convetOutputsFromCalc(dto.calculator!);
 
     final meta = ItemMeta(
       dto.name!,
@@ -62,6 +60,7 @@ class ItemMetaConverter {
         _childItems.add(_convertChildItem(child));
       }
     }
+    _outputs = _convetOutputsFromCalc(workingItem.calculator!);
   }
 
   static ItemMeta _convertChildItem(ChildItemMetaDTO c) {

+ 2 - 2
lib/process/unit/convert/convert.dart

@@ -6,7 +6,7 @@ import 'package:vid/us/vid_us_unit.dart';
 
 import 'abstract.dart';
 import 'volume.dart';
-import 'volume_per_time.dart';
+import 'pressure.dart';
 import 'weight.dart';
 
 /// 单位数值转换器
@@ -49,7 +49,7 @@ class UnitValueConverter {
     _add(AreaMap());
     _add(VolumeMap());
     _add(WeightMap());
-    _add(VolumePerTimeMap());
+    _add(PressureMap());
   }
 
   void _add(UnitMapBase item) {

+ 2 - 2
lib/process/unit/convert/volume_per_time.dart → lib/process/unit/convert/pressure.dart

@@ -2,8 +2,8 @@ import 'package:vid/us/vid_us_unit.dart';
 
 import 'abstract.dart';
 
-class VolumePerTimeMap extends UnitMapBase {
-  VolumePerTimeMap() : super(VidUsUnit.cm3s);
+class PressureMap extends UnitMapBase {
+  PressureMap() : super(VidUsUnit.cm3s);
 
   @override
   void initMap() {