Sfoglia il codice sorgente

fixed:0018072: 【体检系统】没有报告和有报告的检查记录下查看报告,来回点,出现有报告的体检记录也不显示报告

loki.wu 1 anno fa
parent
commit
4192fe444a

+ 2 - 2
lib/architecture/utils/advance_debounce.dart

@@ -41,11 +41,11 @@ class Debouncer {
   static Duration delay = const Duration(seconds: 1);
   static bool _isAvailable = true;
 
-  static void run(VoidCallback action) {
+  static void run(VoidCallback action, {Duration? duration}) {
     if (_isAvailable) {
       _isAvailable = false;
       action();
-      Timer(delay, () {
+      Timer(duration ?? delay, () {
         _isAvailable = true;
       });
     }

+ 10 - 0
lib/architecture/utils/prompt_box.dart

@@ -88,6 +88,16 @@ class PromptBox {
     EasyLoading.showToast(text);
   }
 
+  /// 轻提示
+  ///
+  /// [text] 提示内容
+  static void showToast(String text, {EasyLoadingMaskType? maskType}) {
+    if (!_enable) return;
+
+    _resetStyle();
+    EasyLoading.showToast(text, maskType: maskType);
+  }
+
   /// 成功提示
   ///
   /// [text] 自定义提示文案

+ 2 - 1
lib/managers/report_manager.dart

@@ -9,6 +9,7 @@ import 'package:fis_lib_report/report_info/report_info.dart';
 import 'package:fis_ui/index.dart';
 import 'package:flutter/material.dart';
 import 'package:flutter/services.dart';
+import 'package:flutter_easyloading/flutter_easyloading.dart';
 import 'package:flutter_sms/flutter_sms.dart';
 import 'package:fluwx/fluwx.dart';
 import 'package:get/get.dart';
@@ -558,7 +559,7 @@ class ReportManager extends BaseManager implements IReportManager {
     try {
       final reports = await findReportsAsync(recordCode);
       if (reports.isEmpty) {
-        PromptBox.toast("暂无报告");
+        EasyLoading.showToast("暂无报告",dismissOnTap: true);
         return;
       }
       _openReportPreview(token, reportCode, recordCode);

+ 2 - 1
lib/pages/check/health_check_record/controllers/list_controller.dart

@@ -5,6 +5,7 @@ import 'package:fis_jsonrpc/rpc.dart';
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:fis_common/event/event_type.dart';
+import 'package:flutter_easyloading/flutter_easyloading.dart';
 import 'package:flutter_screenutil/flutter_screenutil.dart';
 import 'package:get/get.dart';
 import 'package:intl/intl.dart';
@@ -314,7 +315,7 @@ class ListController {
               ),
             );
           } else {
-            PromptBox.toast("暂无报告");
+            EasyLoading.showToast("暂无报告", dismissOnTap: true);
           }
         });
       },

+ 7 - 1
lib/pages/medical_checkup_station/registration/controller/list.dart

@@ -3,6 +3,7 @@ import 'package:fis_common/logger/logger.dart';
 import 'package:fis_jsonrpc/rpc.dart';
 import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter_easyloading/flutter_easyloading.dart';
 import 'package:get/get.dart';
 import 'package:vitalapp/architecture/utils/advance_debounce.dart';
 import 'package:vitalapp/architecture/utils/datetime.dart';
@@ -452,6 +453,7 @@ class RegistrationListController {
       onPressed: () {
         Debouncer.run(
           () async {
+            PromptBox.dismiss();
             Store.app.busy = true;
             List<ReportDTO2>? reportList = await registrationController
                 .registrationManager
@@ -469,9 +471,13 @@ class RegistrationListController {
                 ),
               );
             } else {
-              PromptBox.toast("暂无报告");
+              PromptBox.showToast(
+                '暂无报告',
+                maskType: EasyLoadingMaskType.none, // 设置为none以允许用户操作其他控件
+              );
             }
           },
+          duration: Duration(milliseconds: 300),
         );
       },
       child: const Text(