Quellcode durchsuchen

图像测量支持质控

loki.wu vor 1 Jahr
Ursprung
Commit
9774aef98c

+ 12 - 1
lib/view/measure/measure_images_bar.dart

@@ -14,7 +14,12 @@ import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 
 class MeasureImagesBar extends StatefulWidget implements FWidget {
-  const MeasureImagesBar({Key? key}) : super(key: key);
+  const MeasureImagesBar({
+    Key? key,
+    this.hasQualityControlPermission = false,
+  }) : super(key: key);
+
+  final bool hasQualityControlPermission;
 
   @override
   State<MeasureImagesBar> createState() => _MeasureImagesBarState();
@@ -105,6 +110,8 @@ class _MeasureImagesBarState extends State<MeasureImagesBar>
                   scrollController: scrollController,
                   globalKey: globalKey,
                   remedicalList: measureData.remedicalList,
+                  hasQualityControlPermission:
+                      widget.hasQualityControlPermission,
                 ),
               ),
               _buildImageListIcon(
@@ -219,6 +226,7 @@ class ScrollableImageList extends StatefulWidget implements FWidget {
     required this.scrollController,
     required this.globalKey,
     required this.remedicalList,
+    this.hasQualityControlPermission = false,
     Key? key,
     this.description = '',
   }) : super(key: key);
@@ -230,6 +238,7 @@ class ScrollableImageList extends StatefulWidget implements FWidget {
 
   final List<RemedicalInfoDTO> remedicalList;
   final String? description;
+  final bool hasQualityControlPermission;
   @override
   State<ScrollableImageList> createState() => _ScrollableImageListState();
 }
@@ -429,6 +438,8 @@ class _ScrollableImageListState extends State<ScrollableImageList> {
             serialNo: index + 1,
             description: _translateDescription(item),
             locationDescription: _translateLocationDescription(item),
+            isQualityControlled:
+                widget.hasQualityControlPermission && item.isQualityControlled,
           );
 
           bool isCurrentSelect = index == currentIndex;

+ 9 - 1
lib/view/measure/measure_panel_head.dart

@@ -11,9 +11,14 @@ import 'package:get/get.dart';
 
 /// 工具箱 样式配置之类
 class LeftSiderHold extends StatefulWidget implements FWidget {
-  const LeftSiderHold({Key? key, this.ifHideConfig = false}) : super(key: key);
+  const LeftSiderHold({
+    Key? key,
+    this.customWidgets = const [],
+    this.ifHideConfig = false,
+  }) : super(key: key);
   // 是否隐藏测量项配置入口
   final bool ifHideConfig;
+  final List<FWidget> customWidgets;
   @override
   State<LeftSiderHold> createState() => _LeftSiderHoldState();
 }
@@ -69,6 +74,9 @@ class _LeftSiderHoldState extends State<LeftSiderHold> {
             children: [
               if (isShowSetting)
                 SettingButton(ifHideConfig: widget.ifHideConfig),
+              if (widget.customWidgets.isNotEmpty) ...[
+                ...widget.customWidgets,
+              ],
             ],
           ),
           // const _LeftSiderTabBar(),

+ 8 - 2
lib/view/measure/measure_tool_panel.dart

@@ -26,9 +26,13 @@ import 'package:get/get.dart';
 
 /// 测量左侧工具面板
 class MeasureToolPanel extends StatefulWidget implements FInteractiveContainer {
-  const MeasureToolPanel({Key? key}) : super(key: key);
+  const MeasureToolPanel({
+    Key? key,
+    this.customWidgets = const [],
+  }) : super(key: key);
   @override
   final String pageName = 'MeasureLeftBoard';
+  final List<FWidget> customWidgets;
   @override
   State<MeasureToolPanel> createState() => MeasureToolPanelState();
 }
@@ -164,7 +168,9 @@ class MeasureToolPanelState extends State<MeasureToolPanel> {
         FOffstage(
           offstage: hideMeasureItems,
           child: LeftSiderHold(
-              ifHideConfig: showCarotid2DSelectMeasure || isThirdPart),
+            ifHideConfig: showCarotid2DSelectMeasure || isThirdPart,
+            customWidgets: widget.customWidgets,
+          ),
         ),
         FOffstage(
           offstage: hideMeasureItems || hideCommentTab,

+ 13 - 3
lib/view/measure/measure_view.dart

@@ -18,7 +18,6 @@ import 'package:fis_measure/view/measure/measure_view_controller.dart';
 import 'package:fis_measure/view/player/control_board/operate_bar.dart';
 import 'package:fis_ui/index.dart';
 import 'package:fis_ui/interface/interactive_container.dart';
-
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 
@@ -34,6 +33,8 @@ class MeasureMainPage extends StatefulWidget
     this.enableLoopPlayback = false,
     this.onLoopPlaybackEnableChanged,
     this.remedicalAISelectedInfoCode,
+    this.customWidgets = const [],
+    this.hasQualityControlPermission = false,
     Key? key,
   }) : super(key: key);
 
@@ -45,6 +46,8 @@ class MeasureMainPage extends StatefulWidget
   final bool enableLoopPlayback;
   final ValueCallback<bool>? onLoopPlaybackEnableChanged;
   final String? remedicalAISelectedInfoCode;
+  final List<FWidget> customWidgets;
+  final bool hasQualityControlPermission;
 
   @override
   final String pageName = 'MeasureMainPage';
@@ -212,7 +215,9 @@ class _MeasureMainPageState extends State<MeasureMainPage> {
           child: FRow(
             children: [
               FOffstage(
-                  child: const MeasureToolPanel(),
+                  child: MeasureToolPanel(
+                    customWidgets: widget.customWidgets,
+                  ),
                   offstage: measureHandler.fullScreenState ||
                       !measureHandler.toolPanelState),
               const FVerticalDivider(),
@@ -270,7 +275,12 @@ class _MeasureMainPageState extends State<MeasureMainPage> {
                       : const FSizedBox()
                 ],
               ),
-              const FExpanded(child: MeasureImagesBar())
+              FExpanded(
+                child: MeasureImagesBar(
+                  hasQualityControlPermission:
+                      widget.hasQualityControlPermission,
+                ),
+              ),
             ]),
             offstage: measureHandler.fullScreenState),
       ]);

+ 18 - 18
pubspec.lock

@@ -29,10 +29,10 @@ packages:
     dependency: transitive
     description:
       name: async
-      sha256: "271b8899fc99f9df4f4ed419fa14e2fff392c7b2c162fbb87b222e2e963ddc73"
+      sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.9.0"
+    version: "2.10.0"
   audio_video_progress_bar:
     dependency: "direct main"
     description:
@@ -45,10 +45,10 @@ packages:
     dependency: transitive
     description:
       name: boolean_selector
-      sha256: "5bbf32bc9e518d41ec49718e2931cd4527292c9b0c6d2dffcf7fe6b9a8a8cf72"
+      sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "2.1.0"
+    version: "2.1.1"
   characters:
     dependency: transitive
     description:
@@ -77,10 +77,10 @@ packages:
     dependency: transitive
     description:
       name: collection
-      sha256: ef7e3a5529178ce8f37a9d0b11cbbc8b1e025940f9cf9f76c42da6796301219d
+      sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "1.16.0"
+    version: "1.17.0"
   convert:
     dependency: transitive
     description:
@@ -175,8 +175,8 @@ packages:
     dependency: "direct main"
     description:
       path: "."
-      ref: c3c961d
-      resolved-ref: c3c961d45d6d205a37195cb18b9206a78e3347da
+      ref: f74744a
+      resolved-ref: f74744ac193a11997d0ed6ec5976a72e7d64e81f
       url: "http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git"
     source: git
     version: "0.0.1"
@@ -184,8 +184,8 @@ packages:
     dependency: "direct overridden"
     description:
       path: "."
-      ref: ee4e18a
-      resolved-ref: ee4e18a6f8985586e1f8b2b057a7fbaa8658ff00
+      ref: "211f0f8"
+      resolved-ref: "211f0f8ccdbc464047e806e354ac6d41300f9c0e"
       url: "http://git.ius.plus/Project-Wing/fis_lib_business_components.git"
     source: git
     version: "0.0.1"
@@ -389,10 +389,10 @@ packages:
     dependency: transitive
     description:
       name: js
-      sha256: a5e201311cb08bf3912ebbe9a2be096e182d703f881136ec1e81a2338a9e120d
+      sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.6.4"
+    version: "0.6.5"
   lints:
     dependency: transitive
     description:
@@ -405,10 +405,10 @@ packages:
     dependency: transitive
     description:
       name: matcher
-      sha256: "80c2989398773fa06e2457e9ff08580f24e9858b28462a722241cb53e5613478"
+      sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72"
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.12.12"
+    version: "0.12.13"
   material_color_utilities:
     dependency: transitive
     description:
@@ -570,10 +570,10 @@ packages:
     dependency: transitive
     description:
       name: stack_trace
-      sha256: f8d9f247e2f9f90e32d1495ff32dac7e4ae34ffa7194c5ff8fcc0fd0e52df774
+      sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "1.10.0"
+    version: "1.11.0"
   stream_channel:
     dependency: transitive
     description:
@@ -610,10 +610,10 @@ packages:
     dependency: transitive
     description:
       name: test_api
-      sha256: ceeddf59d613e862e77f4b506cfc2945ac9637ce0b4c00f4f4c1ac639f3e9731
+      sha256: c9aba3b3dbfe8878845dfab5fa096eb8de7b62231baeeb1cea8e3ee81ca8c6d8
       url: "https://pub.flutter-io.cn"
     source: hosted
-    version: "0.4.14"
+    version: "0.4.15"
   typed_data:
     dependency: transitive
     description:

+ 2 - 2
pubspec.yaml

@@ -100,11 +100,11 @@ dependency_overrides:
   fis_jsonrpc:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git
-      ref: c3c961d
+      ref: f74744a
   fis_lib_business_components:
     git:
       url: http://git.ius.plus/Project-Wing/fis_lib_business_components.git
-      ref: ee4e18a
+      ref: 211f0f8
     # path: ../fis_lib_business_components
 dev_dependencies:
   flutter_test: