|
@@ -1,7 +1,9 @@
|
|
|
import 'dart:async';
|
|
|
|
|
|
+import 'package:flutter/foundation.dart';
|
|
|
import 'package:flutter/material.dart';
|
|
|
import 'package:get/get.dart';
|
|
|
+import 'package:vitalapp/architecture/app_parameters.dart';
|
|
|
import 'package:vitalapp/architecture/utils/prompt_box.dart';
|
|
|
import 'package:vitalapp/components/button.dart';
|
|
|
import 'package:vitalapp/components/dialog_input.dart';
|
|
@@ -30,6 +32,7 @@ class Urinalysis extends StatefulWidget {
|
|
|
|
|
|
class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
var controller = Get.find<MedicalController>();
|
|
|
+ bool get isPureSoftwareMode => AppParameters.data.isPureSoftwareMode;
|
|
|
DeviceControllerManager? urinaly;
|
|
|
UrineDeviceWorker? worker;
|
|
|
UrineExamData? urineExamData;
|
|
@@ -207,57 +210,18 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
return Stack(
|
|
|
children: [
|
|
|
_buildUrinalysis(),
|
|
|
- if (!isConnectFail)
|
|
|
- DeviceStatusPosition(
|
|
|
- deviceStatus: DeviceStatus(connectStatus: connectStatus),
|
|
|
- )
|
|
|
- else
|
|
|
- _buildErrorButton(),
|
|
|
- // _buildAutoTest(),
|
|
|
+ if (!isPureSoftwareMode) ...[
|
|
|
+ if (!isConnectFail)
|
|
|
+ DeviceStatusPosition(
|
|
|
+ deviceStatus: DeviceStatus(connectStatus: connectStatus),
|
|
|
+ )
|
|
|
+ else
|
|
|
+ _buildErrorButton(),
|
|
|
+ ],
|
|
|
],
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- Widget _buildAutoTest() {
|
|
|
- Widget autoTestStatus;
|
|
|
-
|
|
|
- if (isAutoTesting) {
|
|
|
- autoTestStatus = const SizedBox();
|
|
|
- // CountdownPage(
|
|
|
- // seconds: 60,
|
|
|
- // title: "等待测试",
|
|
|
- // );
|
|
|
- } else {
|
|
|
- autoTestStatus = VButton(
|
|
|
- onTap: () {
|
|
|
- worker!.autoTest();
|
|
|
- isAutoTesting = true;
|
|
|
- _value = {};
|
|
|
- setState(() {});
|
|
|
- },
|
|
|
- child: const Center(
|
|
|
- child: Text(
|
|
|
- "采样",
|
|
|
- style: TextStyle(fontSize: 24),
|
|
|
- ),
|
|
|
- ),
|
|
|
- );
|
|
|
- }
|
|
|
- if (connectStatus == WorkerStatus.connected) {
|
|
|
- return Positioned(
|
|
|
- top: 16,
|
|
|
- left: 120,
|
|
|
- child: SizedBox(
|
|
|
- width: 200,
|
|
|
- height: 50,
|
|
|
- child: autoTestStatus,
|
|
|
- ),
|
|
|
- );
|
|
|
- } else {
|
|
|
- return const SizedBox();
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
Widget _buildErrorButton() {
|
|
|
return DeviceStatusPosition(
|
|
|
deviceStatus: Row(
|
|
@@ -295,7 +259,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
constraints: const BoxConstraints(minHeight: 50),
|
|
|
child: GridView.count(
|
|
|
shrinkWrap: true,
|
|
|
- childAspectRatio: 4,
|
|
|
+ childAspectRatio: kIsWeb ? 4.5 : 4,
|
|
|
crossAxisCount: 2, // 列数为2,即两列布局
|
|
|
children: urinalysis.map((item) {
|
|
|
return _buildUrineItem(item);
|
|
@@ -340,7 +304,7 @@ class _ExamUrinalysisState extends State<Urinalysis> {
|
|
|
),
|
|
|
),
|
|
|
Container(
|
|
|
- height: 65,
|
|
|
+ height: 55,
|
|
|
width: 140,
|
|
|
alignment: Alignment.centerLeft,
|
|
|
child: Text(
|