Przeglądaj źródła

Merge branch 'physical_exam_system_0228' of http://git.ius.plus/Project-Vital/VitalApp into physical_exam_system_0228

loki.wu 1 rok temu
rodzic
commit
703738b1f6

+ 24 - 0
lib/global.dart

@@ -1,3 +1,4 @@
+import 'package:fis_common/web/web_asset_bundle.dart';
 import 'package:fis_i18n/i18n.dart';
 import 'package:fis_lib_report/pages/theme.dart';
 import 'package:fis_theme/theme.dart';
@@ -19,6 +20,7 @@ import 'package:vitalapp/store/store.dart';
 import 'package:fis_common/logger/logger.dart';
 import 'package:fis_measure/process/workspace/rpc_bridge.dart';
 import 'package:fis_common/env/env.dart';
+import 'package:universal_html/js.dart' as js;
 
 import 'architecture/app_parameters.dart';
 import 'architecture/services/index.dart';
@@ -29,6 +31,10 @@ bool get kIsOnline => netChecker.isOnline;
 FPlatformEnum get platform => FPlatform.current;
 
 abstract class Global {
+  static AssetBundle? _assetBundle;
+
+  /// 资源包
+  static AssetBundle get assetBundle => _assetBundle!;
   static Future<void> init() async {
     // 日志
     if (kReleaseMode) {
@@ -42,6 +48,9 @@ abstract class Global {
 
     logger.i("Global init start...");
 
+    // 资源包
+    _initAssetBundle();
+
     // 锁定横屏
     await SystemChrome.setPreferredOrientations([
       DeviceOrientation.landscapeLeft,
@@ -117,6 +126,21 @@ abstract class Global {
     logger.i("Global init finish...");
   }
 
+  /// 初始化资源包
+  static void _initAssetBundle() {
+    if (kIsWeb) {
+      final jsVersion = js.context["serviceWorkerVersion"];
+      String version = jsVersion?.toString() ??
+          "debug_${DateTime.now().millisecondsSinceEpoch}";
+      _assetBundle = WebPlatformAssetBundle(
+        rootPath: js.context["STATIC_ROOT"]!.toString(),
+        version: version,
+      );
+    } else {
+      _assetBundle = rootBundle;
+    }
+  }
+
   static void _initRpc() {
     RpcSettingCache.setRpcHostPath(Store.app.serverUrl);
   }

+ 3 - 2
lib/pages/home/view.dart

@@ -62,7 +62,7 @@ class HomePage extends GetView<HomeController> {
     return Row(
       mainAxisSize: MainAxisSize.max,
       children: [
-        controller.state.currentSelectMenu.length != 1
+        controller.state.menuItems.length != 1
             ? Container(
                 width: 120,
                 // color: const Color.fromRGBO(10, 32, 48, .8),
@@ -330,6 +330,7 @@ class HomePage extends GetView<HomeController> {
         HeaderStatusBar(),
         Center(
           child: IconButton(
+            padding: EdgeInsets.all(0),
             onPressed: () {
               Get.lazyPut(() => DevicesSettingController());
               Get.lazyPut(() => ServerSettingController());
@@ -344,7 +345,7 @@ class HomePage extends GetView<HomeController> {
             icon: Icon(
               Icons.settings,
               color: Colors.white,
-              size: 30,
+              size: 36,
             ),
           ),
         ),

+ 1 - 1
lib/pages/medical/views/blood_check.dart

@@ -31,7 +31,7 @@ class BloodCheck extends StatelessWidget {
           checkKey: "HEIBloodRoutine",
           editBiochemOrBlood: (value) {
             List<TableElementConfig> tableDataConfig = [];
-            MockData.mockBiochemistryTestData.forEach((element) {
+            MockData.mockBloodRoutineTestData.forEach((element) {
               tableDataConfig.add(
                 TableElementConfig(
                   id: element.id,

+ 2 - 1
lib/pages/medical/widgets/health_check/view.dart

@@ -6,6 +6,7 @@ import 'package:fis_jsonrpc/rpc.dart';
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
 import 'package:vitalapp/architecture/types/index.dart';
+import 'package:vitalapp/components/no_data_view.dart';
 import 'package:vitalapp/managers/interfaces/dictionary.dart';
 import 'package:vitalapp/pages/medical/controller.dart';
 import 'package:vitalapp/pages/medical/widgets/health_check/health_check_left/index.dart';
@@ -159,7 +160,7 @@ class HealthCheck extends GetView<HealthCheckListController> {
       id: "health_detail",
       builder: (_) {
         if (controller.tableData == null || controller.tableData == [[]])
-          return Container();
+          return VNoDataView();
         return Column(
           children: [
             LastRecordTable(

+ 16 - 8
lib/pages/medical/widgets/health_heart_check/view.dart

@@ -3,8 +3,10 @@
 import 'dart:convert';
 
 import 'package:fis_jsonrpc/rpc.dart';
+import 'package:flutter/foundation.dart';
 import 'package:flutter/material.dart';
 import 'package:get/get.dart';
+import 'package:vitalapp/components/no_data_view.dart';
 import 'package:vitalapp/managers/interfaces/dictionary.dart';
 import 'package:vitalapp/pages/medical/controller.dart';
 import 'package:vitalapp/pages/medical/widgets/health_heart_check/health_check_left/index.dart';
@@ -29,23 +31,25 @@ class HeartTableCheck extends GetView<HeartCheckListController> {
             onRowTap: (value) async {
               final medicalController = await Get.put(MedicalController());
               medicalController.diagnosisDataValue.clear();
-              controller.tableData == null;
-              controller.update(['health_detail']);
+
               if (value.physicalExamNumber?.isEmpty ?? true) {
                 return;
               }
               ElectrocardiogramRecord? electrocardiogramRecord =
                   await controller.registrationManager
                       .getElectrocardiogramRecordByPhysicalExamNumberAsync(
-                          physicalExamNumber: value.physicalExamNumber ?? '');
+                physicalExamNumber: value.physicalExamNumber ?? '',
+              );
               if (electrocardiogramRecord?.examData == null) {
+                controller.tableData == null;
+                controller.update(['heart_detail']);
               } else {
                 controller.tableData = await getTableData(
                   electrocardiogramRecord?.examData ?? '',
                 );
                 controller.update(['heart_detail']);
               }
-              Get.dialog(checkDialog ?? Container());
+              if (!kIsWeb) Get.dialog(checkDialog ?? Container());
             },
           ),
         ),
@@ -70,10 +74,14 @@ class HeartTableCheck extends GetView<HeartCheckListController> {
       id: "heart_detail",
       builder: (_) {
         if (controller.tableData == null || controller.tableData?.length == 0)
-          return Container();
-        return LastRecordTable(
-          columnNames: const ['检测项目', '检测结果', '单位'],
-          tableData: controller.tableData ?? [[]],
+          return VNoDataView();
+        return Column(
+          children: [
+            LastRecordTable(
+              columnNames: const ['检测项目', '检测结果', '单位'],
+              tableData: controller.tableData ?? [[]],
+            )
+          ],
         );
       },
     );

+ 8 - 4
lib/pages/medical_checkup_station/registration/controller/list.dart

@@ -145,7 +145,7 @@ class RegistrationListController {
       ),
       TableColumn<ResidentModel>(
         headerText: "年龄",
-        maxWidth: 30,
+        maxWidth: 80,
         render: (rowData, index) => Text(
           rowData.age != null ? rowData.age.toString() : "",
           style: textStyle,
@@ -153,7 +153,7 @@ class RegistrationListController {
       ),
       TableColumn<ResidentModel>(
         headerText: "身份证号",
-        maxWidth: 150,
+        maxWidth: 200,
         render: (rowData, index) => Text(
           rowData.idNumber,
           style: textStyle,
@@ -170,7 +170,7 @@ class RegistrationListController {
       // ),
       TableColumn<ResidentModel>(
         headerText: "手机号",
-        maxWidth: 100,
+        maxWidth: 120,
         render: (rowData, index) => Center(
           child: Text(
             rowData.phone ?? '',
@@ -180,7 +180,7 @@ class RegistrationListController {
       ),
       TableColumn<ResidentModel>(
         headerText: "体检状态",
-        maxWidth: 100,
+        maxWidth: 120,
         render: (rowData, index) => Center(
           child: Text(
             rowData.physicalExamStatus ?? "",
@@ -198,6 +198,10 @@ class RegistrationListController {
             if (!kIsWeb)
               TextButton(
                 onPressed: () {
+                  if (registrationController.printInfo == null) {
+                    PromptBox.toast("打印出错");
+                    return;
+                  }
                   Get.dialog(
                     Center(
                       child: Stack(

+ 2 - 3
lib/pages/widgets/qr_view_example.dart

@@ -1,6 +1,7 @@
 import 'package:fis_common/logger/logger.dart';
 import 'package:flutter/material.dart';
 import 'package:qr_code_scanner/qr_code_scanner.dart';
+import 'package:vitalapp/components/appbar.dart';
 
 class QRViewExample extends StatefulWidget {
   final Function(String) onPressed;
@@ -19,9 +20,7 @@ class _QRViewExampleState extends State<QRViewExample> {
   @override
   Widget build(BuildContext context) {
     return Scaffold(
-      appBar: AppBar(
-        title: Text('扫一扫'),
-      ),
+      appBar: VAppBar(titleText: "扫一扫"),
       body: Column(
         children: <Widget>[
           Expanded(

+ 0 - 14
web/js/index.js

@@ -93,22 +93,8 @@ function minimizeWindow(name) {
     }
 }
 
-function hideSplash() {
-    console.log("onhide splash");
-    var splash = document.getElementsByClassName("splash")[0];
-
-    setTimeout(function () {
-        splash.style.zIndex = 0;
-    });
-    var loading = document.getElementsByClassName("full-screen-center")[0];
-    setTimeout(function () {
-        loading.style.zIndex = 0;
-    });
-}
-
 window.addEventListener("flutter-first-frame", function () {
     console.log("flutter-first-frame");
-    hideSplash();
 });
 
 function loadService() {

+ 6 - 0
web/version.json

@@ -0,0 +1,6 @@
+{
+    "app_name": "FLYINSONO_VITAL",
+    "version": "2.0.1",
+    "build_number": "",
+    "package_name": "flyinsono_vital"
+}