Browse Source

手机端测量时支持写报告

loki.wu 1 year ago
parent
commit
6f04579305

+ 13 - 2
lib/view/mobile_view/mobile_measure_main_view.dart

@@ -44,7 +44,12 @@ import 'package:fis_measure/view/player/controller.dart';
 import 'package:fis_measure/view/player/player.dart';
 
 class MobileMeasureMainView extends StatefulWidget implements FWidget {
-  const MobileMeasureMainView({Key? key}) : super(key: key);
+  const MobileMeasureMainView(
+      {this.isCanWriteReport = false, this.onEditReport, Key? key})
+      : super(key: key);
+
+  final bool isCanWriteReport;
+  final void Function()? onEditReport;
 
   @override
   State<StatefulWidget> createState() => _MobileMeasureMainViewState();
@@ -449,7 +454,13 @@ class _MobileMeasureMainViewState extends State<MobileMeasureMainView> {
               ),
             ),
             const MobileRightPanel(),
-            ifShowTopMenu ? MobileTopMenu(capturePng: capturePng) : Container(),
+            ifShowTopMenu
+                ? MobileTopMenu(
+                    capturePng: capturePng,
+                    isCanWriteReport: widget.isCanWriteReport,
+                    onEditReport: widget.onEditReport,
+                  )
+                : Container(),
             ifShowBottomMenu ? const MobileBottomMenu() : Container(),
           ],
         ),

+ 17 - 5
lib/view/mobile_view/mobile_measure_view.dart

@@ -15,16 +15,24 @@ import 'package:flutter/services.dart';
 
 /// 测量主页面
 class MobileMeasureMainPage extends StatefulWidget implements FWidget {
-  const MobileMeasureMainPage(this.token, this.recordCode, this.patientCode,
-      this.remedicalCode, this.remedicalAISelectedInfoCode,
-      {Key? key})
-      : super(key: key);
+  const MobileMeasureMainPage(
+    this.token,
+    this.recordCode,
+    this.patientCode,
+    this.remedicalCode,
+    this.remedicalAISelectedInfoCode, {
+    this.isCanWriteReport = false,
+    this.onEditReport,
+    Key? key,
+  }) : super(key: key);
 
   final String token;
   final String patientCode;
   final String remedicalCode;
   final String recordCode;
   final String? remedicalAISelectedInfoCode;
+  final bool isCanWriteReport;
+  final void Function()? onEditReport;
 
   @override
   State<StatefulWidget> createState() => _MobileMeasureMainPageState();
@@ -226,7 +234,11 @@ class _MobileMeasureMainPageState extends State<MobileMeasureMainPage> {
                           child: FCircularProgressIndicator(),
                         )
                       : MobileMeasureMainView(
-                          key: ValueKey(measureData.itemCurrentImage),
+                          key: ValueKey(
+                            measureData.itemCurrentImage,
+                          ),
+                          isCanWriteReport: widget.isCanWriteReport,
+                          onEditReport: widget.onEditReport,
                         ),
                 )
               ],

+ 17 - 0
lib/view/mobile_view/mobile_top_menu.dart

@@ -16,9 +16,14 @@ class MobileTopMenu extends StatefulWidget {
   final VoidCallback capturePng;
   const MobileTopMenu({
     Key? key,
+    this.isCanWriteReport = false,
+    this.onEditReport,
     required this.capturePng,
   }) : super(key: key);
 
+  final bool isCanWriteReport;
+  final void Function()? onEditReport;
+
   @override
   State<StatefulWidget> createState() => _MobileTopMenuState();
 }
@@ -83,6 +88,9 @@ class _MobileTopMenuState extends State<MobileTopMenu> {
           _fillEmptySpace(),
           _saveBtn(),
           // _editBtn(),
+          if (widget.isCanWriteReport) ...[
+            _editReportButton(),
+          ],
           _shareBtn(),
           _fillCustomSpace(150)
         ];
@@ -215,4 +223,13 @@ class _MobileTopMenuState extends State<MobileTopMenu> {
       ],
     );
   }
+
+  Widget _editReportButton() {
+    return LoadingAnimatedIconButton(
+      icon: Icons.edit,
+      onPressed: () {
+        widget.onEditReport?.call();
+      },
+    );
+  }
 }

+ 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:
@@ -174,8 +174,8 @@ packages:
     dependency: "direct main"
     description:
       path: "."
-      ref: "7d1e2f1"
-      resolved-ref: "7d1e2f1380fe564b024f6e071489489b5ff134a3"
+      ref: "3a008fb"
+      resolved-ref: "3a008fb97c07fbd501ae112be3d6f6776691ceab"
       url: "http://git.ius.plus:88/Project-Wing/fis_lib_i18n.git"
     source: git
     version: "0.0.1"
@@ -183,8 +183,8 @@ packages:
     dependency: "direct main"
     description:
       path: "."
-      ref: "9fe5e10"
-      resolved-ref: "9fe5e108994bd8a455ae8a8b2f290ae9a4f5b437"
+      ref: "558d6f1539"
+      resolved-ref: "558d6f153933c8a633096b69e20285217f4399e4"
       url: "http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git"
     source: git
     version: "0.0.1"
@@ -192,8 +192,8 @@ packages:
     dependency: "direct overridden"
     description:
       path: "."
-      ref: "33166353fb"
-      resolved-ref: "33166353fb2c4a50346d416ca2488150a0d61fba"
+      ref: ee4e18a
+      resolved-ref: ee4e18a6f8985586e1f8b2b057a7fbaa8658ff00
       url: "http://git.ius.plus/Project-Wing/fis_lib_business_components.git"
     source: git
     version: "0.0.1"
@@ -405,10 +405,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:
@@ -421,10 +421,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:
@@ -602,10 +602,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:
@@ -642,10 +642,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: