|
@@ -581,8 +581,38 @@ class _MobileMeasureSelector extends FState<MobileMeasureSelector> {
|
|
|
|
|
|
/// 过滤出当前支持的所有测量项
|
|
|
List<ItemMetaDTO> _currSupportedItemFilter(MeasureModeDTO mode) {
|
|
|
+ final supportedMeasureTypeName = [
|
|
|
+ 'TimeSpan', // StraightLine
|
|
|
+ 'Distance', // StraightLine
|
|
|
+ "VerticalDistance", // StraightLine
|
|
|
+ 'AreaPerimeterTrace', // Trace
|
|
|
+ "Depth", // Location
|
|
|
+ "Velocity", // Location
|
|
|
+ "MDepth", // Location
|
|
|
+ "HipOneRay", // TwoRay
|
|
|
+ "HipTwoRay", // ThreeRay
|
|
|
+ "DepthToBaseLine", // DepthToBaseLine
|
|
|
+ "AbRatioTwoVelocity", // TwoLocation
|
|
|
+ "ResistivityIndexTwoLocationByEd", // TwoLocation
|
|
|
+ "MaxPgTwoLocation", // TwoLocation
|
|
|
+ "VolumeThreeDistance", // LWHStraightLine
|
|
|
+ "ThreeDistanceMean", // LWHStraightLine
|
|
|
+ "ThreeDistanceMax", // LWHStraightLine
|
|
|
+ "AbRatioTwoArea", // TwoArea
|
|
|
+ "StenosisTwoArea", // TwoArea
|
|
|
+ "AreaStraightLine", // AreaStraightLine
|
|
|
+ "AreaPerimeterSpline", // Spline
|
|
|
+ "CurveLengthSpline", // Spline
|
|
|
+ "AreaPerimeterPolyline", // Polyline
|
|
|
+ "CurveLengthPolyline", // Polyline
|
|
|
+ "PolyLineAngle", // PolyLineAngle
|
|
|
+ "CardiacAxis", // TwolineAngle
|
|
|
+ "Afi", // Afi
|
|
|
+ "VolumeEllipse", // Ellipse
|
|
|
+ "AreaPerimeterEllipse", // Ellipse
|
|
|
+ "DopplerTrace", // MultiTrace
|
|
|
+ ];
|
|
|
List<ItemMetaDTO> _supportedItems = [];
|
|
|
- List<ItemMetaDTO> _unSupportedItems = [];
|
|
|
if (mode.availableGroups == null || mode.availableGroups!.isEmpty) {
|
|
|
return _supportedItems;
|
|
|
}
|
|
@@ -596,22 +626,46 @@ class _MobileMeasureSelector extends FState<MobileMeasureSelector> {
|
|
|
}
|
|
|
for (ItemMetaDTO items in folder.availableItems!) {
|
|
|
bool isSupported = false;
|
|
|
- if (!MeasureUnsupportedTerms.items.contains(items.name)) {
|
|
|
- isSupported = true;
|
|
|
+ if (supportedMeasureTypeName.contains(items.measureTypeName)) {
|
|
|
_supportedItems.add(items);
|
|
|
+ isSupported = true;
|
|
|
+ }
|
|
|
+ if (items.multiMethodItems != null &&
|
|
|
+ items.multiMethodItems!.isNotEmpty) {
|
|
|
+ for (var item in items.multiMethodItems!) {
|
|
|
+ if (supportedMeasureTypeName.contains(item.measureTypeName)) {
|
|
|
+ if (item.isWorking) {
|
|
|
+ _supportedItems.add(items);
|
|
|
+ isSupported = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /// 筛选支持的组合测量项
|
|
|
+ if (items.methodChildItems != null &&
|
|
|
+ items.methodChildItems!.isNotEmpty) {
|
|
|
+ bool isAdd = true;
|
|
|
+ for (var item in items.methodChildItems!) {
|
|
|
+ if (!supportedMeasureTypeName.contains(item.measureTypeName)) {
|
|
|
+ isAdd = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (isAdd) {
|
|
|
+ _supportedItems.add(items);
|
|
|
+ isSupported = true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (isSupported) {
|
|
|
// print("✅ 支持的测量项:${items.name} | ${items.measureTypeName}}");
|
|
|
} else {
|
|
|
- // print("❌ 暂不支持的测量项:${items.name} | ${items.measureTypeName}}");
|
|
|
- _unSupportedItems.add(items);
|
|
|
+ // print("❌ 不支持的测量项:${items.name} | ${items.measureTypeName}}");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // print("${mode.modeName} 模式下过滤出支持的 ${_supportedItems.length} 项");
|
|
|
- // print("${mode.modeName} 模式下过滤出不支持的 ${_unSupportedItems.length} 项");
|
|
|
+ print("${mode.modeName} 模式下过滤出 ${_supportedItems.length} 项");
|
|
|
return _supportedItems;
|
|
|
}
|
|
|
}
|