更新
This commit is contained in:
BIN
assets/img/heartPic1.png
Normal file
BIN
assets/img/heartPic1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
BIN
assets/img/heartPic2.png
Normal file
BIN
assets/img/heartPic2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
BIN
assets/img/heartPic3.png
Normal file
BIN
assets/img/heartPic3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
BIN
assets/img/heartPic4.png
Normal file
BIN
assets/img/heartPic4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 62 KiB |
@@ -552,5 +552,10 @@
|
|||||||
"MAC号": "MAC Address",
|
"MAC号": "MAC Address",
|
||||||
"微信用户": "WeChat User",
|
"微信用户": "WeChat User",
|
||||||
"其他设备正在绑定中,是否终止其他设备绑定?": "Another device is binding. Terminate?",
|
"其他设备正在绑定中,是否终止其他设备绑定?": "Another device is binding. Terminate?",
|
||||||
"未配置网络提示": "Network Not Configured"
|
"未配置网络提示": "Network Not Configured",
|
||||||
|
"图形参考": "Graph Reference",
|
||||||
|
"正常心率窦性图": "Normal Sinus Rhythm Chart",
|
||||||
|
"窦性心律不齐图": "Sinus Arrhythmia Chart",
|
||||||
|
"持续性房颤图": " Continuous Ventricular Flutter Chart",
|
||||||
|
"阵法性房颤图": " Arrhythmia Chart"
|
||||||
}
|
}
|
||||||
@@ -116,7 +116,7 @@
|
|||||||
},
|
},
|
||||||
"绑定成功": {
|
"绑定成功": {
|
||||||
"标题": "绑定完成",
|
"标题": "绑定完成",
|
||||||
"绑定成功": "配置成功! ",
|
"绑定成功": "绑定成功! ",
|
||||||
"分享标题": "是否进行分享?",
|
"分享标题": "是否进行分享?",
|
||||||
"分享内容": "设备绑定成功后,如需对朋友或家人共享我的睡眠情况,可以进行立即分享,分享成功后,对方即可享受查看该设备权限,可以收到该设备的睡眠报告。",
|
"分享内容": "设备绑定成功后,如需对朋友或家人共享我的睡眠情况,可以进行立即分享,分享成功后,对方即可享受查看该设备权限,可以收到该设备的睡眠报告。",
|
||||||
"立即分享": "立即分享",
|
"立即分享": "立即分享",
|
||||||
@@ -554,5 +554,10 @@
|
|||||||
"睡眠报告提示": "本页内容非医疗标准,数据仅供参考",
|
"睡眠报告提示": "本页内容非医疗标准,数据仅供参考",
|
||||||
"MAC号": "MAC号",
|
"MAC号": "MAC号",
|
||||||
"微信用户": "微信用户",
|
"微信用户": "微信用户",
|
||||||
"其他设备正在绑定中,是否终止其他设备绑定?": "其他设备正在绑定中,是否终止其他设备绑定?"
|
"其他设备正在绑定中,是否终止其他设备绑定?": "其他设备正在绑定中,是否终止其他设备绑定?",
|
||||||
|
"图形参考":"图像参考",
|
||||||
|
"正常心率窦性图":"正常心率窦性图",
|
||||||
|
"窦性心律不齐图":"窦性心律不齐图",
|
||||||
|
"持续性房颤图":"持续性房颤图",
|
||||||
|
"阵法性房颤图":"阵法性房颤图"
|
||||||
}
|
}
|
||||||
@@ -549,5 +549,10 @@
|
|||||||
"MAC号": "MAC號",
|
"MAC号": "MAC號",
|
||||||
"微信用户": "微信用戶",
|
"微信用户": "微信用戶",
|
||||||
"其他设备正在绑定中,是否终止其他设备绑定?": "其他設備正在綁定中,是否終止其他設備綁定?",
|
"其他设备正在绑定中,是否终止其他设备绑定?": "其他設備正在綁定中,是否終止其他設備綁定?",
|
||||||
"未配置网络提示": "當前設備未進行網路配置,是否確認跳過網路配置?"
|
"未配置网络提示": "當前設備未進行網路配置,是否確認跳過網路配置?",
|
||||||
|
"图形参考": "圖形參考",
|
||||||
|
"正常心率窦性图": "正常心率竇性圖",
|
||||||
|
"窦性心律不齐图": "竇性心律不齊圖",
|
||||||
|
"持续性房颤图": "持續性房顫圖",
|
||||||
|
"阵法性房颤图": "陣法性房顫圖"
|
||||||
}
|
}
|
||||||
@@ -629,5 +629,10 @@
|
|||||||
"睡眠报告通知": "Sleep Report Notification",
|
"睡眠报告通知": "Sleep Report Notification",
|
||||||
"糖管家": "SweetyKeeper",
|
"糖管家": "SweetyKeeper",
|
||||||
"蓝牙已断开,请点击下方刷新按钮重试": "Bluetooth disconnected, please click the refresh button below to retry",
|
"蓝牙已断开,请点击下方刷新按钮重试": "Bluetooth disconnected, please click the refresh button below to retry",
|
||||||
"设备维护": "Device Maintenance"
|
"设备维护": "Device Maintenance",
|
||||||
|
"图形参考": "Graph Reference",
|
||||||
|
"正常心率窦性图": "Normal Sinus Rhythm Chart",
|
||||||
|
"窦性心律不齐图": "Sinus Arrhythmia Chart",
|
||||||
|
"持续性房颤图": " Continuous Ventricular Flutter Chart",
|
||||||
|
"阵法性房颤图": " Arrhythmia Chart"
|
||||||
}
|
}
|
||||||
@@ -615,9 +615,9 @@
|
|||||||
"在床时长": "在床时长",
|
"在床时长": "在床时长",
|
||||||
"生命体征指的是睡眠周期的整体数据。": "生命体征指的是睡眠周期的整体数据。",
|
"生命体征指的是睡眠周期的整体数据。": "生命体征指的是睡眠周期的整体数据。",
|
||||||
"头像限制": "头像图片不能超过5MB",
|
"头像限制": "头像图片不能超过5MB",
|
||||||
"睡眠报告提示":"本页内容非医疗标准,数据仅供参考",
|
"睡眠报告提示": "本页内容非医疗标准,数据仅供参考",
|
||||||
"MAC号": "MAC号",
|
"MAC号": "MAC号",
|
||||||
"web控制更新":"web控制更新",
|
"web控制更新": "web控制更新",
|
||||||
"新版本号": "新版本号",
|
"新版本号": "新版本号",
|
||||||
"点击确认退出app,重新进入": "点击确认退出app,重新进入",
|
"点击确认退出app,重新进入": "点击确认退出app,重新进入",
|
||||||
"设备升级": "设备升级",
|
"设备升级": "设备升级",
|
||||||
@@ -626,7 +626,7 @@
|
|||||||
"立即升级": "立即升级",
|
"立即升级": "立即升级",
|
||||||
"取消升级": "取消升级",
|
"取消升级": "取消升级",
|
||||||
"通知设置": "通知设置",
|
"通知设置": "通知设置",
|
||||||
"睡眠报告通知":"睡眠报告通知",
|
"睡眠报告通知": "睡眠报告通知",
|
||||||
"糖管家": "糖管家",
|
"糖管家": "糖管家",
|
||||||
"蓝牙连接成功": "蓝牙连接成功",
|
"蓝牙连接成功": "蓝牙连接成功",
|
||||||
"蓝牙已断开,请点击下方刷新按钮重试": "蓝牙已断开,请点击下方刷新按钮重试",
|
"蓝牙已断开,请点击下方刷新按钮重试": "蓝牙已断开,请点击下方刷新按钮重试",
|
||||||
@@ -636,6 +636,10 @@
|
|||||||
"重置": "重置",
|
"重置": "重置",
|
||||||
"升级": "升级",
|
"升级": "升级",
|
||||||
"自动升级": "自动升级",
|
"自动升级": "自动升级",
|
||||||
"超出数量限制,请等待": "超出数量限制,请等待"
|
"超出数量限制,请等待": "超出数量限制,请等待",
|
||||||
|
"图形参考": "图像参考",
|
||||||
|
"正常心率窦性图": "正常心率窦性图",
|
||||||
|
"窦性心律不齐图": "窦性心律不齐图",
|
||||||
|
"持续性房颤图": "持续性房颤图",
|
||||||
|
"阵法性房颤图": "阵法性房颤图"
|
||||||
}
|
}
|
||||||
@@ -625,9 +625,14 @@
|
|||||||
"立即升级": "立即升級",
|
"立即升级": "立即升級",
|
||||||
"取消升级": "取消升級",
|
"取消升级": "取消升級",
|
||||||
"通知设置": "通知設置",
|
"通知设置": "通知設置",
|
||||||
"睡眠报告通知":"睡眠報告通知",
|
"睡眠报告通知": "睡眠報告通知",
|
||||||
"糖管家":"糖管家",
|
"糖管家": "糖管家",
|
||||||
"蓝牙连接成功":"糖管家",
|
"蓝牙连接成功": "糖管家",
|
||||||
"蓝牙已断开,请点击下方刷新按钮重试": "蓝牙已斷開,請點擊下方刷新按鈕重試",
|
"蓝牙已断开,请点击下方刷新按钮重试": "蓝牙已斷開,請點擊下方刷新按鈕重試",
|
||||||
"设备维护": "設備維護"
|
"设备维护": "設備維護",
|
||||||
|
"图形参考": "圖形參考",
|
||||||
|
"正常心率窦性图": "正常心率竇性圖",
|
||||||
|
"窦性心律不齐图": "竇性心律不齊圖",
|
||||||
|
"持续性房颤图": "持續性房顫圖",
|
||||||
|
"阵法性房颤图": "陣法性房顫圖"
|
||||||
}
|
}
|
||||||
@@ -611,7 +611,9 @@ class _InstantBodyPageState extends State<InstantBodyPage>
|
|||||||
SizedBox(
|
SizedBox(
|
||||||
height: 40.rpx,
|
height: 40.rpx,
|
||||||
),
|
),
|
||||||
Column(
|
Padding(
|
||||||
|
padding: EdgeInsets.fromLTRB(46.rpx, 0, 46.rpx, 0),
|
||||||
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"MAC号".tr +
|
"MAC号".tr +
|
||||||
@@ -635,6 +637,7 @@ class _InstantBodyPageState extends State<InstantBodyPage>
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 40.rpx,
|
height: 40.rpx,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -694,9 +694,47 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
// Obx(() {
|
||||||
|
// if (blueteethBindController
|
||||||
|
// .model.betDevicelist!.isNotEmpty) {
|
||||||
|
// return Expanded(
|
||||||
|
// child: Container(
|
||||||
|
// width: double.infinity,
|
||||||
|
// child: SingleChildScrollView(
|
||||||
|
// child: Column(
|
||||||
|
// mainAxisSize: MainAxisSize.max,
|
||||||
|
// children: [
|
||||||
|
// ...blueteethBindController.model.blelist!
|
||||||
|
// .map((device) {
|
||||||
|
// return SingleBlueteethDeviceCompoentWidget(
|
||||||
|
// // device: device,
|
||||||
|
// bleDevice: device,
|
||||||
|
// );
|
||||||
|
// })
|
||||||
|
// .toList()
|
||||||
|
// .divide(SizedBox(height: 30.rpx))
|
||||||
|
// .addToEnd(SizedBox(height: 30.rpx)),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// return Container();
|
||||||
|
// }),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
if (blueteethBindController
|
if (blueteethBindController
|
||||||
.model.betDevicelist!.isNotEmpty) {
|
.model.betDevicelist!.isNotEmpty) {
|
||||||
|
// 对 blelist 进行排序(按 rssi 降序)
|
||||||
|
final sortedList = [
|
||||||
|
...blueteethBindController.model.blelist!
|
||||||
|
];
|
||||||
|
sortedList.sort((a, b) {
|
||||||
|
final rssiA = a.rssi ?? -999; // 防止空值
|
||||||
|
final rssiB = b.rssi ?? -999;
|
||||||
|
return rssiB.compareTo(rssiA); // rssi 大的排前面
|
||||||
|
});
|
||||||
|
|
||||||
return Expanded(
|
return Expanded(
|
||||||
child: Container(
|
child: Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
@@ -704,10 +742,9 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
|
|||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
children: [
|
children: [
|
||||||
...blueteethBindController.model.blelist!
|
...sortedList
|
||||||
.map((device) {
|
.map((device) {
|
||||||
return SingleBlueteethDeviceCompoentWidget(
|
return SingleBlueteethDeviceCompoentWidget(
|
||||||
// device: device,
|
|
||||||
bleDevice: device,
|
bleDevice: device,
|
||||||
);
|
);
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ class _DataShowWidgetState extends State<DataShowWidget> {
|
|||||||
children: [
|
children: [
|
||||||
// 放入传入的 widget1
|
// 放入传入的 widget1
|
||||||
Container(
|
Container(
|
||||||
width: MediaQuery.sizeOf(context).width * 0.33, // 固定宽度
|
width: MediaQuery.sizeOf(context).width * 0.35, // 固定宽度
|
||||||
decoration: BoxDecoration(),
|
decoration: BoxDecoration(),
|
||||||
child: Align(
|
child: Align(
|
||||||
alignment: Alignment.centerLeft,
|
alignment: Alignment.centerLeft,
|
||||||
@@ -64,7 +64,7 @@ class _DataShowWidgetState extends State<DataShowWidget> {
|
|||||||
),
|
),
|
||||||
// 放入传入的 widget2
|
// 放入传入的 widget2
|
||||||
Container(
|
Container(
|
||||||
width: MediaQuery.sizeOf(context).width * 0.15, // 固定宽度
|
width: MediaQuery.sizeOf(context).width * 0.21, // 固定宽度
|
||||||
decoration: BoxDecoration(),
|
decoration: BoxDecoration(),
|
||||||
child: Align(
|
child: Align(
|
||||||
alignment: widget.alignment == MainAxisAlignment.start
|
alignment: widget.alignment == MainAxisAlignment.start
|
||||||
@@ -77,7 +77,7 @@ class _DataShowWidgetState extends State<DataShowWidget> {
|
|||||||
),
|
),
|
||||||
// 放入传入的 widget3
|
// 放入传入的 widget3
|
||||||
Container(
|
Container(
|
||||||
width: MediaQuery.sizeOf(context).width * 0.25, // 固定宽度
|
width: MediaQuery.sizeOf(context).width * 0.29, // 固定宽度
|
||||||
decoration: BoxDecoration(),
|
decoration: BoxDecoration(),
|
||||||
child: Align(
|
child: Align(
|
||||||
alignment: widget.alignment == MainAxisAlignment.start
|
alignment: widget.alignment == MainAxisAlignment.start
|
||||||
@@ -89,18 +89,18 @@ class _DataShowWidgetState extends State<DataShowWidget> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
// 放入传入的 widget4
|
// 放入传入的 widget4
|
||||||
Container(
|
// Container(
|
||||||
width: MediaQuery.sizeOf(context).width * 0.12, // 固定宽度
|
// width: MediaQuery.sizeOf(context).width * 0.12, // 固定宽度
|
||||||
decoration: BoxDecoration(),
|
// decoration: BoxDecoration(),
|
||||||
child: Align(
|
// child: Align(
|
||||||
alignment: widget.alignment == MainAxisAlignment.start
|
// alignment: widget.alignment == MainAxisAlignment.start
|
||||||
? Alignment.centerLeft
|
// ? Alignment.centerLeft
|
||||||
: widget.alignment == MainAxisAlignment.center
|
// : widget.alignment == MainAxisAlignment.center
|
||||||
? Alignment.center
|
// ? Alignment.center
|
||||||
: Alignment.centerRight, // 同样设置对齐
|
// : Alignment.centerRight, // 同样设置对齐
|
||||||
child: widget.widget4, // 显示传入的 widget4
|
// child: widget.widget4, // 显示传入的 widget4
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -77,6 +77,8 @@ class _SnoreViewWidgetWidgetState extends State<BreathePauseNewWidget> {
|
|||||||
int roundedMaxTimes = (maxTimes / 10).ceil() * 10;
|
int roundedMaxTimes = (maxTimes / 10).ceil() * 10;
|
||||||
var startTime = widget.sleepReport['startTime'];
|
var startTime = widget.sleepReport['startTime'];
|
||||||
var endTime = widget.sleepReport['endTime'];
|
var endTime = widget.sleepReport['endTime'];
|
||||||
|
|
||||||
|
if (showLabel.isEmpty) return const SizedBox();
|
||||||
return Container(
|
return Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
|
|||||||
@@ -76,7 +76,8 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
14.rpx, 10.rpx, 14.rpx, 10.rpx), //
|
||||||
borderRadius: 0.rpx, // 圆形点击区域
|
borderRadius: 0.rpx, // 圆形点击区域
|
||||||
onTap: () {
|
onTap: () {
|
||||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
if (AppConstants().ent_type ==
|
||||||
|
APPPackageType.MHT.code) {
|
||||||
showTipDialog(
|
showTipDialog(
|
||||||
context,
|
context,
|
||||||
Container(
|
Container(
|
||||||
@@ -251,7 +252,9 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: themeController.currentColor.sc3,
|
color:
|
||||||
|
getColorByRange(data['value'], data['range']),
|
||||||
|
// color: themeController.currentColor.sc3,
|
||||||
fontSize: AppConstants().normal_text_fontSize,
|
fontSize: AppConstants().normal_text_fontSize,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -334,4 +337,33 @@ class _HeartChangeWidgetState extends State<HeartChangeWidget> {
|
|||||||
};
|
};
|
||||||
}).toList();
|
}).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:fl_chart/fl_chart.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_svg/svg.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/color/appConstants.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.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/component/tool/ClickableContainer.dart';
|
||||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||||
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
import 'package:vbvs_app/pages/device_bind/componnet/bind_dialog.dart';
|
||||||
@@ -174,9 +176,222 @@ class _HeartPointWidgetState extends State<HeartPointWidget> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
// SizedBox(
|
SizedBox(
|
||||||
// height: 31.rpx,
|
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)),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -877,7 +877,6 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
// }
|
// }
|
||||||
// }),
|
// }),
|
||||||
Obx(() {
|
Obx(() {
|
||||||
|
|
||||||
if (sleepReportController.isLoading.value) {
|
if (sleepReportController.isLoading.value) {
|
||||||
return Center(
|
return Center(
|
||||||
child: CircularProgressIndicator(
|
child: CircularProgressIndicator(
|
||||||
@@ -909,9 +908,10 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
default:
|
default:
|
||||||
return NullDataWidget();
|
return NullDataWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
}),
|
}),
|
||||||
Column(
|
Padding(
|
||||||
|
padding: EdgeInsets.fromLTRB(46.rpx, 0, 46.rpx, 0),
|
||||||
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"MAC号".tr +
|
"MAC号".tr +
|
||||||
@@ -935,6 +935,7 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 40.rpx,
|
height: 40.rpx,
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user