更新
This commit is contained in:
@@ -126,7 +126,7 @@ class _BreathPauseWidgetState extends State<BreathPauseWidget> {
|
||||
),
|
||||
);
|
||||
} catch (e) {
|
||||
es.EasyDartModule.logger.error("打鼾监测绘制异常${e}");
|
||||
es.EasyDartModule.logger.error("打鼾监测绘制异常${e}");
|
||||
return Container();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,6 +77,8 @@ class _SnoreViewWidgetWidgetState extends State<BreathePauseNewWidget> {
|
||||
int roundedMaxTimes = (maxTimes / 10).ceil() * 10;
|
||||
var startTime = widget.sleepReport['startTime'];
|
||||
var endTime = widget.sleepReport['endTime'];
|
||||
|
||||
if (showLabel.isEmpty) return const SizedBox();
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
decoration: BoxDecoration(
|
||||
|
||||
@@ -76,7 +76,8 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||
borderRadius: 0.rpx, // 圆形点击区域
|
||||
onTap: () {
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (AppConstants().ent_type ==
|
||||
APPPackageType.MHT.code) {
|
||||
showTipDialog(
|
||||
context,
|
||||
Container(
|
||||
@@ -251,7 +252,9 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
color: themeController.currentColor.sc3,
|
||||
color:
|
||||
getColorByRange(data['value'], data['range']),
|
||||
// color: themeController.currentColor.sc3,
|
||||
fontSize: AppConstants().normal_text_fontSize,
|
||||
),
|
||||
),
|
||||
@@ -334,4 +337,33 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
||||
};
|
||||
}).toList();
|
||||
}
|
||||
|
||||
getColorByRange(double value, String? range) {
|
||||
try {
|
||||
// 1. 空、"-"、null 都直接返回默认颜色
|
||||
if (range == null || range.toString().isEmpty || range == "-") {
|
||||
return themeController.currentColor.sc3;
|
||||
}
|
||||
// 2. 拆分范围,例如 "70-150"
|
||||
final parts = range.split('-');
|
||||
if (parts.length != 2) {
|
||||
return themeController.currentColor.sc3; // 格式不对直接默认
|
||||
}
|
||||
|
||||
final min = int.parse(parts[0].trim());
|
||||
final max = int.parse(parts[1].trim());
|
||||
|
||||
// 3. 判断是否在范围内
|
||||
if (value < min || value > max) {
|
||||
// 不在范围 → 返回 danger 色
|
||||
return themeController.currentColor.sc9;
|
||||
}
|
||||
|
||||
// 在范围 → 正常色
|
||||
return themeController.currentColor.sc3;
|
||||
} catch (e) {
|
||||
// 任意解析错误都回默认
|
||||
return themeController.currentColor.sc3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,9 +4,11 @@ import 'package:ef/ef.dart';
|
||||
import 'package:fl_chart/fl_chart.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/base/THFlutterFlowDropDown.dart';
|
||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||
@@ -174,9 +176,222 @@ class _HeartPointWidgetState extends State<HeartPointWidget> {
|
||||
),
|
||||
),
|
||||
),
|
||||
// SizedBox(
|
||||
// height: 31.rpx,
|
||||
// ),
|
||||
SizedBox(
|
||||
height: 31.rpx,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Text(
|
||||
"图形参考".tr,
|
||||
style: TextStyle(
|
||||
color: themeController.currentColor.sc3,
|
||||
fontSize: AppConstants().middler_text_fontSize),
|
||||
),
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 31.rpx,
|
||||
),
|
||||
// Row(
|
||||
// // 使用 start 避免 spaceBetween 抵消 divide 的间隔
|
||||
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
// children: [
|
||||
// // 第 1 个
|
||||
// Column(
|
||||
// mainAxisSize: MainAxisSize.min,
|
||||
// children: [
|
||||
// Image.asset(
|
||||
// "assets/img/heartPic1.png",
|
||||
// width: 120.rpx,
|
||||
// height: 120.rpx,
|
||||
// ),
|
||||
// SizedBox(height: 10),
|
||||
// Text(
|
||||
// '正常心率窦性图'.tr, // ← 替换文字
|
||||
// style: TextStyle(
|
||||
// fontSize: AppConstants().small_text_fontSize,
|
||||
// color: themeController.currentColor.sc3),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
|
||||
// // 第 2 个
|
||||
// Column(
|
||||
// mainAxisSize: MainAxisSize.min,
|
||||
// children: [
|
||||
// Image.asset(
|
||||
// "assets/img/heartPic2.png",
|
||||
// width: 120.rpx,
|
||||
// height: 120.rpx,
|
||||
// ),
|
||||
// SizedBox(height: 10),
|
||||
// Text(
|
||||
// '窦性心律不齐图'.tr, // ← 替换文字
|
||||
// style: TextStyle(
|
||||
// fontSize: AppConstants().small_text_fontSize,
|
||||
// color: themeController.currentColor.sc3),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
|
||||
// // 第 3 个
|
||||
// Column(
|
||||
// mainAxisSize: MainAxisSize.min,
|
||||
// children: [
|
||||
// Image.asset(
|
||||
// "assets/img/heartPic3.png",
|
||||
// width: 120.rpx,
|
||||
// height: 120.rpx,
|
||||
// ),
|
||||
// SizedBox(height: 10),
|
||||
// Text(
|
||||
// '持续性房颤图'.tr, // ← 替换文字
|
||||
// style: TextStyle(
|
||||
// fontSize: AppConstants().small_text_fontSize,
|
||||
// color: themeController.currentColor.sc3),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
|
||||
// // 第 4 个
|
||||
// Column(
|
||||
// mainAxisSize: MainAxisSize.min,
|
||||
// children: [
|
||||
// Image.asset(
|
||||
// "assets/img/heartPic3.png",
|
||||
// width: 120.rpx,
|
||||
// height: 120.rpx,
|
||||
// ),
|
||||
// SizedBox(height: 10),
|
||||
// Text(
|
||||
// '阵法性房颤图'.tr, // ← 替换文字
|
||||
// style: TextStyle(
|
||||
// fontSize: AppConstants().small_text_fontSize,
|
||||
// color: themeController.currentColor.sc3),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ].divide(
|
||||
// SizedBox(width: 20.rpx),
|
||||
// ),
|
||||
// )
|
||||
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
// 第 1 个
|
||||
SizedBox(
|
||||
width: (MediaQuery.sizeOf(context).width - 60.rpx * 3) / 4,
|
||||
child: Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
"assets/img/heartPic1.png",
|
||||
width: 120.rpx,
|
||||
height: 120.rpx,
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
SizedBox(
|
||||
height: 60.rpx, // 👈 固定说明文字高度
|
||||
child: Text(
|
||||
'正常心率窦性图'.tr,
|
||||
maxLines: 2,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: AppConstants().small_text_fontSize,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
// 第 2 个
|
||||
SizedBox(
|
||||
width: (MediaQuery.sizeOf(context).width - 60.rpx * 3) / 4,
|
||||
child: Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
"assets/img/heartPic2.png",
|
||||
width: 120.rpx,
|
||||
height: 120.rpx,
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
SizedBox(
|
||||
height: 60.rpx,
|
||||
child: Text(
|
||||
'窦性心律不齐图'.tr,
|
||||
maxLines: 2,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: AppConstants().small_text_fontSize,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
// 第 3 个
|
||||
SizedBox(
|
||||
width: (MediaQuery.sizeOf(context).width - 60.rpx * 3) / 4,
|
||||
child: Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
"assets/img/heartPic3.png",
|
||||
width: 120.rpx,
|
||||
height: 120.rpx,
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
SizedBox(
|
||||
height: 60.rpx,
|
||||
child: Text(
|
||||
'持续性房颤图'.tr,
|
||||
maxLines: 2,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: AppConstants().small_text_fontSize,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
// 第 4 个
|
||||
SizedBox(
|
||||
width: (MediaQuery.sizeOf(context).width - 60.rpx * 3) / 4,
|
||||
child: Column(
|
||||
children: [
|
||||
Image.asset(
|
||||
"assets/img/heartPic3.png",
|
||||
width: 120.rpx,
|
||||
height: 120.rpx,
|
||||
),
|
||||
SizedBox(height: 10),
|
||||
SizedBox(
|
||||
height: 60.rpx,
|
||||
child: Text(
|
||||
'阵法性房颤图'.tr,
|
||||
maxLines: 2,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
textAlign: TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: AppConstants().small_text_fontSize,
|
||||
color: themeController.currentColor.sc3,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
].divide(SizedBox(width: 20.rpx)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user