Browse Source

fix item convert bug

melon.yin 2 years ago
parent
commit
30d2a9b0af

+ 11 - 0
lib/interfaces/process/items/terms.dart

@@ -1,5 +1,16 @@
 // ignore_for_file: constant_identifier_names
 
+class MeasureUnsupportedTerms {
+  static const items = [
+    PSAD,
+    AntPelvic_Rest,
+    AntPelvic_Valsalva,
+  ];
+  static const PSAD = "PSAD";
+  static const AntPelvic_Rest = "Ant. Pelvic(Rest)";
+  static const AntPelvic_Valsalva = "Ant. Pelvic(Valsalva)";
+}
+
 class MeasureTerms {
   /* AI [begin]*/
   /// 前壁

+ 2 - 2
lib/values/strings.dart

@@ -3,6 +3,6 @@
 class MeasureStrings {
   static const PackageName = "fis_measure";
   static const LayoutConfigurationAsset =
-      // "packages/$PackageName/assets/layout.json";
-      "assets/layout.json"; //TODO: melon - wait remove
+      "packages/$PackageName/assets/layout.json";
+  // "assets/layout.json"; //TODO: melon - wait remove
 }

+ 6 - 6
lib/view/measure/measure_player.dart

@@ -62,12 +62,12 @@ class _MeasureRightBoardState extends State<MeasureRightBoard> {
   FWidget buildView() {
     return FStack(
       children: [
-        FOffstage(
-          offstage: !enableMeasure3DView,
-          child: Measure3DView(
-            key: ValueKey(measureData.itemCurrentImage),
-          ),
-        ),
+        // FOffstage(
+        //   offstage: !enableMeasure3DView,
+        //   child: Measure3DView(
+        //     key: ValueKey(measureData.itemCurrentImage),
+        //   ),
+        // ),
         FOffstage(
             offstage: enableMeasure3DView,
             child: MeasureMainView(

+ 20 - 4
lib/view/measure/measure_tool.dart

@@ -1,6 +1,7 @@
 import 'package:fis_common/logger/logger.dart';
 import 'package:fis_measure/interfaces/process/items/item.dart';
 import 'package:fis_measure/interfaces/process/items/item_metas.dart';
+import 'package:fis_measure/interfaces/process/items/terms.dart';
 import 'package:fis_measure/interfaces/process/player/play_controller.dart';
 import 'package:fis_measure/interfaces/process/workspace/application.dart';
 import 'package:fis_measure/process/items/item_meta_convert.dart';
@@ -123,10 +124,25 @@ class LeftSiderSelectMeasureState extends FState<LeftSiderSelectMeasure> {
             measureData.getMeasureApplicationList =
                 folders[0].workingItemNames ?? [];
             if (folders[0].availableItems != null) {
-              measureData.itemMetaList =
-                  folders[0].availableItems!.map((element) {
-                return ItemMetaConverter(element).output();
-              }).toList();
+              measureData.itemMetaList = folders[0]
+                  .availableItems!
+                  // 排除不支持的测量项
+                  .where((element) =>
+                      !MeasureUnsupportedTerms.items.contains(element.name))
+                  .map((element) {
+                    try {
+                      return ItemMetaConverter(element).output();
+                    } catch (e) {
+                      logger.e(
+                        "Item meta -[${element.name}] convert error; JSON-Text: ${element.toJson()}",
+                        e,
+                      );
+                      return null;
+                    }
+                  })
+                  .where((element) => element != null)
+                  .map((e) => e!)
+                  .toList();
               comboList();
             }
             print('测量方法集: ${measureData.getMeasureApplicationList.toString()}');

+ 4 - 2
lib/view/measure/measure_tools_title.dart

@@ -73,8 +73,10 @@ class _LeftMeasureToolsState extends State<LeftMeasureTools> {
           measureData.getMeasureApplicationList =
               folders[0].workingItemNames ?? [];
           if (folders[0].availableItems != null) {
-            measureData.itemMetaList =
-                folders[0].availableItems!.map((element) {
+            measureData.itemMetaList = folders[0]
+                .availableItems!
+                .where((element) => element.name != 'PSAD')
+                .map((element) {
               return ItemMetaConverter(element).output();
             }).toList();
             comboList();