瀏覽代碼

超声工作站功能完善

loki.wu 11 月之前
父節點
當前提交
d941436655

+ 1 - 1
.vscode/launch.json

@@ -9,7 +9,7 @@
       "name": "vital_app",
       "request": "launch",
       "type": "dart",
-      "args": ["--web-port=8080", "--web-hostname=127.0.0.1","--dart-define=FLUTTER_WEB_CANVASKIT_URL=\"/canvaskit/\"",]
+      "args": ["--web-port=8081", "--web-hostname=127.0.0.1","--dart-define=FLUTTER_WEB_CANVASKIT_URL=\"/canvaskit/\"",]
       
     },
     {

+ 8 - 1
lib/managers/interfaces/scanning_image.dart

@@ -1,5 +1,12 @@
+import 'package:fis_jsonrpc/rpc.dart';
+
 abstract class IScanningImage {
   Future<bool> startScan(String recordCode);
 
-   Future<bool> checkCollectingImgAsync() ;
+  Future<bool> checkCollectingImgAsync();
+
+  Future<RecordInfoDTO> getVitalRecordByPhysicalExamNumberAsync(
+      String physicalExamNumber);
+
+  Future<bool> endScan(String recordCode);
 }

+ 2 - 1
lib/managers/remedical_Manager.dart

@@ -282,7 +282,7 @@ class RemedicalManager extends BaseManager implements IRemedicalManager {
     int pageSize = 20,
   }) async {
     try {
-      return await rpc.remoteUltrasound.vitalFindRecordPagesAsync(
+      var records = await rpc.remoteUltrasound.vitalFindRecordPagesAsync(
         FindRecordPagesRequest(
           token: token,
           pageIndex: pageIndex,
@@ -299,6 +299,7 @@ class RemedicalManager extends BaseManager implements IRemedicalManager {
               UtcDateConverter.getDayStartOrEndUTCTime(endTime, isEnd: true),
         ),
       );
+      return records;
     } catch (e) {
       logger.e('RemedicalManager findRecordPages ex:$e');
       return PageResult<SimpleRecordInfoDTO>();

+ 22 - 0
lib/managers/scanning_image.dart

@@ -38,4 +38,26 @@ class ScanningImage extends BaseManager implements IScanningImage {
     }
     return result;
   }
+
+  @override
+  Future<RecordInfoDTO> getVitalRecordByPhysicalExamNumberAsync(
+      String physicalExamNumber) async {
+    return rpc.vitalHealthExamBooking.getVitalRecordByPhysicalExamNumberAsync(
+        GetVitalRecordByPhysicalExamNumberRequest(
+      physicalExamNumber: physicalExamNumber,
+      token: token,
+    ));
+  }
+
+  @override
+  Future<bool> endScan(String recordCode) async {
+    final finishRecordAsync = await rpc.recordInfo.finishRecordAsync(
+      FinishRecordRequest(
+        recordCode: recordCode,
+        token: Store.user.token,
+        isVital: true,
+      ),
+    );
+    return finishRecordAsync;
+  }
 }

+ 4 - 1
lib/pages/consultation_record_view/controller.dart

@@ -922,7 +922,9 @@ class ConsultationRecordViewController extends GetxController
       var scanningImageManager = Get.find<IScanningImage>();
       bool canScanning = await scanningImageManager.checkCollectingImgAsync();
       if (canScanning) {
-        scanningImageManager.startScan(queryData.code ?? '');
+        var recordInfo = await scanningImageManager
+            .getVitalRecordByPhysicalExamNumberAsync(medicalNumber);
+        scanningImageManager.startScan(recordInfo.recordCode ?? '');
         Get.dialog(
           VAlertDialog(
             title: "图像采集-居民[${queryData.name}]",
@@ -932,6 +934,7 @@ class ConsultationRecordViewController extends GetxController
             confirmLabel: "完成",
             onConfirm: () {
               Get.back();
+              scanningImageManager.endScan(recordInfo.recordCode ?? '');
             },
           ),
         );

+ 19 - 4
lib/pages/consultation_record_view/widgets/operation_buttons_row.dart

@@ -4,6 +4,7 @@ import 'package:fis_ui/values/paddings.dart';
 import 'package:flutter/material.dart';
 import 'package:fis_ui/interface/interactive_container.dart';
 import 'package:get/get.dart';
+import 'package:vitalapp/managers/interfaces/scanning_image.dart';
 import 'package:vitalapp/pages/consultation_record_view/widgets/button_group.dart';
 import '../index.dart';
 import 'package:fis_i18n/i18n.dart';
@@ -34,18 +35,33 @@ class OperationButtonsRow extends GetView<ConsultationRecordViewController>
         i18nBook.remedical.examinationDetails.t,
         () => controller.showInspectionDetailsDialog(),
       ),
+      SizedBox(width: 8),
       if (controller.currentRecordData?.isCanCreateReport ?? false) ...[
         _buildTextButton(
           i18nBook.remedical.writeReport.t,
           () => controller.editReport(),
         ),
+        SizedBox(width: 8),
       ],
-      if (controller.isCanDelete)
+      if (controller.isCanDelete) ...[
         _buildTextButton(
           i18nBook.common.delete.t,
           () => controller.deleteRecord(
               controller.desktopListSelectedRecordCode, this),
         ),
+        SizedBox(width: 8),
+      ],
+      if (controller.currentRecordData?.isCollecting ?? false) ...[
+        _buildTextButton(
+          "结束扫查",
+          () {
+            Get.find<IScanningImage>()
+                .endScan(controller.desktopListSelectedRecordCode);
+            controller.findRecordPages();
+          },
+        ),
+        SizedBox(width: 8),
+      ],
     ];
 
     return Container(
@@ -62,9 +78,8 @@ class OperationButtonsRow extends GetView<ConsultationRecordViewController>
       ),
       child: Align(
         alignment: Alignment.center,
-        child: ButtonGroup(
-          buttonPadding: FPaddings.MINI_BUTTON,
-          spacing: FSpacings.MINI_BUTTON,
+        child: Row(
+          mainAxisAlignment: MainAxisAlignment.center,
           children: children,
         ),
       ),

+ 2 - 2
pubspec.lock

@@ -407,8 +407,8 @@ packages:
     dependency: "direct main"
     description:
       path: "."
-      ref: "1cfb365"
-      resolved-ref: "1cfb365a7e779cc6a0b814796f9265389a2b789b"
+      ref: a4f9963
+      resolved-ref: a4f9963351ec13cad26bc336b3a827462793adeb
       url: "http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git"
     source: git
     version: "0.0.1"

+ 1 - 1
pubspec.yaml

@@ -162,7 +162,7 @@ dependency_overrides:
   fis_jsonrpc:
     git:
       url: http://git.ius.plus:88/Project-Wing/fis_lib_jsonrpc.git
-      ref: 1cfb365
+      ref: a4f9963
     #path: ../fis_lib_jsonrpc
   fis_theme:
     git: