diff --git a/assets/img/heartPic1.png b/assets/img/heartPic1.png new file mode 100644 index 0000000..a558a2d Binary files /dev/null and b/assets/img/heartPic1.png differ diff --git a/assets/img/heartPic2.png b/assets/img/heartPic2.png new file mode 100644 index 0000000..7883094 Binary files /dev/null and b/assets/img/heartPic2.png differ diff --git a/assets/img/heartPic3.png b/assets/img/heartPic3.png new file mode 100644 index 0000000..20a42f7 Binary files /dev/null and b/assets/img/heartPic3.png differ diff --git a/assets/img/heartPic4.png b/assets/img/heartPic4.png new file mode 100644 index 0000000..27cdbb2 Binary files /dev/null and b/assets/img/heartPic4.png differ diff --git a/assets/langs/en_US.json b/assets/langs/en_US.json index e371472..a630526 100644 --- a/assets/langs/en_US.json +++ b/assets/langs/en_US.json @@ -552,5 +552,10 @@ "MAC号": "MAC Address", "微信用户": "WeChat User", "其他设备正在绑定中,是否终止其他设备绑定?": "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" } \ No newline at end of file diff --git a/assets/langs/zh_CN.json b/assets/langs/zh_CN.json index 89a6c78..91a7158 100644 --- a/assets/langs/zh_CN.json +++ b/assets/langs/zh_CN.json @@ -116,7 +116,7 @@ }, "绑定成功": { "标题": "绑定完成", - "绑定成功": "配置成功! ", + "绑定成功": "绑定成功! ", "分享标题": "是否进行分享?", "分享内容": "设备绑定成功后,如需对朋友或家人共享我的睡眠情况,可以进行立即分享,分享成功后,对方即可享受查看该设备权限,可以收到该设备的睡眠报告。", "立即分享": "立即分享", @@ -554,5 +554,10 @@ "睡眠报告提示": "本页内容非医疗标准,数据仅供参考", "MAC号": "MAC号", "微信用户": "微信用户", - "其他设备正在绑定中,是否终止其他设备绑定?": "其他设备正在绑定中,是否终止其他设备绑定?" + "其他设备正在绑定中,是否终止其他设备绑定?": "其他设备正在绑定中,是否终止其他设备绑定?", + "图形参考":"图像参考", + "正常心率窦性图":"正常心率窦性图", + "窦性心律不齐图":"窦性心律不齐图", + "持续性房颤图":"持续性房颤图", + "阵法性房颤图":"阵法性房颤图" } \ No newline at end of file diff --git a/assets/langs/zh_TW.json b/assets/langs/zh_TW.json index 3c47e92..5cf42aa 100644 --- a/assets/langs/zh_TW.json +++ b/assets/langs/zh_TW.json @@ -549,5 +549,10 @@ "MAC号": "MAC號", "微信用户": "微信用戶", "其他设备正在绑定中,是否终止其他设备绑定?": "其他設備正在綁定中,是否終止其他設備綁定?", - "未配置网络提示": "當前設備未進行網路配置,是否確認跳過網路配置?" + "未配置网络提示": "當前設備未進行網路配置,是否確認跳過網路配置?", + "图形参考": "圖形參考", + "正常心率窦性图": "正常心率竇性圖", + "窦性心律不齐图": "竇性心律不齊圖", + "持续性房颤图": "持續性房顫圖", + "阵法性房颤图": "陣法性房顫圖" } \ No newline at end of file diff --git a/assets/mhlangs/en_US.json b/assets/mhlangs/en_US.json index e551a76..cc415b4 100644 --- a/assets/mhlangs/en_US.json +++ b/assets/mhlangs/en_US.json @@ -629,5 +629,10 @@ "睡眠报告通知": "Sleep Report Notification", "糖管家": "SweetyKeeper", "蓝牙已断开,请点击下方刷新按钮重试": "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" } \ No newline at end of file diff --git a/assets/mhlangs/zh_CN.json b/assets/mhlangs/zh_CN.json index 0d8cdd0..57e584d 100644 --- a/assets/mhlangs/zh_CN.json +++ b/assets/mhlangs/zh_CN.json @@ -615,18 +615,18 @@ "在床时长": "在床时长", "生命体征指的是睡眠周期的整体数据。": "生命体征指的是睡眠周期的整体数据。", "头像限制": "头像图片不能超过5MB", - "睡眠报告提示":"本页内容非医疗标准,数据仅供参考", + "睡眠报告提示": "本页内容非医疗标准,数据仅供参考", "MAC号": "MAC号", - "web控制更新":"web控制更新", + "web控制更新": "web控制更新", "新版本号": "新版本号", "点击确认退出app,重新进入": "点击确认退出app,重新进入", - "设备升级": "设备升级", - "最新版本": "最新版本", + "设备升级": "设备升级", + "最新版本": "最新版本", "升级进度": "升级进度", "立即升级": "立即升级", "取消升级": "取消升级", "通知设置": "通知设置", - "睡眠报告通知":"睡眠报告通知", + "睡眠报告通知": "睡眠报告通知", "糖管家": "糖管家", "蓝牙连接成功": "蓝牙连接成功", "蓝牙已断开,请点击下方刷新按钮重试": "蓝牙已断开,请点击下方刷新按钮重试", @@ -636,6 +636,10 @@ "重置": "重置", "升级": "升级", "自动升级": "自动升级", - "超出数量限制,请等待": "超出数量限制,请等待" - + "超出数量限制,请等待": "超出数量限制,请等待", + "图形参考": "图像参考", + "正常心率窦性图": "正常心率窦性图", + "窦性心律不齐图": "窦性心律不齐图", + "持续性房颤图": "持续性房颤图", + "阵法性房颤图": "阵法性房颤图" } \ No newline at end of file diff --git a/assets/mhlangs/zh_TW.json b/assets/mhlangs/zh_TW.json index 042941b..ba5ad90 100644 --- a/assets/mhlangs/zh_TW.json +++ b/assets/mhlangs/zh_TW.json @@ -625,9 +625,14 @@ "立即升级": "立即升級", "取消升级": "取消升級", "通知设置": "通知設置", - "睡眠报告通知":"睡眠報告通知", - "糖管家":"糖管家", - "蓝牙连接成功":"糖管家", + "睡眠报告通知": "睡眠報告通知", + "糖管家": "糖管家", + "蓝牙连接成功": "糖管家", "蓝牙已断开,请点击下方刷新按钮重试": "蓝牙已斷開,請點擊下方刷新按鈕重試", - "设备维护": "設備維護" + "设备维护": "設備維護", + "图形参考": "圖形參考", + "正常心率窦性图": "正常心率竇性圖", + "窦性心律不齐图": "竇性心律不齊圖", + "持续性房颤图": "持續性房顫圖", + "阵法性房颤图": "陣法性房顫圖" } \ No newline at end of file diff --git a/lib/pages/device/instant_body_page.dart b/lib/pages/device/instant_body_page.dart index c9f943a..fb22c5f 100644 --- a/lib/pages/device/instant_body_page.dart +++ b/lib/pages/device/instant_body_page.dart @@ -611,29 +611,32 @@ class _InstantBodyPageState extends State SizedBox( height: 40.rpx, ), - Column( - children: [ - Text( - "MAC号".tr + - ": ${widget.personInfo['mac'] ?? '未知数据'.tr}", - style: TextStyle( - color: themeController.currentColor.sc4, - fontSize: - AppConstants().middler_text_fontSize, + Padding( + padding: EdgeInsets.fromLTRB(46.rpx, 0, 46.rpx, 0), + child: Column( + children: [ + Text( + "MAC号".tr + + ": ${widget.personInfo['mac'] ?? '未知数据'.tr}", + style: TextStyle( + color: themeController.currentColor.sc4, + fontSize: + AppConstants().middler_text_fontSize, + ), ), - ), - SizedBox( - height: 4.rpx, - ), - Text( - "睡眠报告提示".tr, - style: TextStyle( - color: themeController.currentColor.sc4, - fontSize: - AppConstants().middler_text_fontSize, + SizedBox( + height: 4.rpx, ), - ), - ], + Text( + "睡眠报告提示".tr, + style: TextStyle( + color: themeController.currentColor.sc4, + fontSize: + AppConstants().middler_text_fontSize, + ), + ), + ], + ), ), SizedBox( height: 40.rpx, diff --git a/lib/pages/device_bind/blueteeth_device_page.dart b/lib/pages/device_bind/blueteeth_device_page.dart index 5755d25..9f6546c 100644 --- a/lib/pages/device_bind/blueteeth_device_page.dart +++ b/lib/pages/device_bind/blueteeth_device_page.dart @@ -694,9 +694,47 @@ class _BlueteethDevicePageState extends State { ), ), ), + // 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(() { if (blueteethBindController .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( child: Container( width: double.infinity, @@ -704,10 +742,9 @@ class _BlueteethDevicePageState extends State { child: Column( mainAxisSize: MainAxisSize.max, children: [ - ...blueteethBindController.model.blelist! + ...sortedList .map((device) { return SingleBlueteethDeviceCompoentWidget( - // device: device, bleDevice: device, ); }) diff --git a/lib/pages/sleep_report/chart/DataShowWidget.dart b/lib/pages/sleep_report/chart/DataShowWidget.dart index 475053d..0b652b4 100644 --- a/lib/pages/sleep_report/chart/DataShowWidget.dart +++ b/lib/pages/sleep_report/chart/DataShowWidget.dart @@ -50,7 +50,7 @@ class _DataShowWidgetState extends State { children: [ // 放入传入的 widget1 Container( - width: MediaQuery.sizeOf(context).width * 0.33, // 固定宽度 + width: MediaQuery.sizeOf(context).width * 0.35, // 固定宽度 decoration: BoxDecoration(), child: Align( alignment: Alignment.centerLeft, @@ -64,7 +64,7 @@ class _DataShowWidgetState extends State { ), // 放入传入的 widget2 Container( - width: MediaQuery.sizeOf(context).width * 0.15, // 固定宽度 + width: MediaQuery.sizeOf(context).width * 0.21, // 固定宽度 decoration: BoxDecoration(), child: Align( alignment: widget.alignment == MainAxisAlignment.start @@ -77,7 +77,7 @@ class _DataShowWidgetState extends State { ), // 放入传入的 widget3 Container( - width: MediaQuery.sizeOf(context).width * 0.25, // 固定宽度 + width: MediaQuery.sizeOf(context).width * 0.29, // 固定宽度 decoration: BoxDecoration(), child: Align( alignment: widget.alignment == MainAxisAlignment.start @@ -89,18 +89,18 @@ class _DataShowWidgetState extends State { ), ), // 放入传入的 widget4 - Container( - width: MediaQuery.sizeOf(context).width * 0.12, // 固定宽度 - decoration: BoxDecoration(), - child: Align( - alignment: widget.alignment == MainAxisAlignment.start - ? Alignment.centerLeft - : widget.alignment == MainAxisAlignment.center - ? Alignment.center - : Alignment.centerRight, // 同样设置对齐 - child: widget.widget4, // 显示传入的 widget4 - ), - ), + // Container( + // width: MediaQuery.sizeOf(context).width * 0.12, // 固定宽度 + // decoration: BoxDecoration(), + // child: Align( + // alignment: widget.alignment == MainAxisAlignment.start + // ? Alignment.centerLeft + // : widget.alignment == MainAxisAlignment.center + // ? Alignment.center + // : Alignment.centerRight, // 同样设置对齐 + // child: widget.widget4, // 显示传入的 widget4 + // ), + // ), ], ), ), diff --git a/lib/pages/sleep_report/component/BreathPauseWidget.dart b/lib/pages/sleep_report/component/BreathPauseWidget.dart index 03a6b9d..4d7fd60 100644 --- a/lib/pages/sleep_report/component/BreathPauseWidget.dart +++ b/lib/pages/sleep_report/component/BreathPauseWidget.dart @@ -126,7 +126,7 @@ class _BreathPauseWidgetState extends State { ), ); } catch (e) { - es.EasyDartModule.logger.error("打鼾监测绘制异常${e}"); + es.EasyDartModule.logger.error("打鼾监测绘制异常${e}"); return Container(); } } diff --git a/lib/pages/sleep_report/component/BreathePauseNewWidget.dart b/lib/pages/sleep_report/component/BreathePauseNewWidget.dart index ca8ba03..b9b8dba 100644 --- a/lib/pages/sleep_report/component/BreathePauseNewWidget.dart +++ b/lib/pages/sleep_report/component/BreathePauseNewWidget.dart @@ -77,6 +77,8 @@ class _SnoreViewWidgetWidgetState extends State { 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( diff --git a/lib/pages/sleep_report/component/HeartChangeWidget.dart b/lib/pages/sleep_report/component/HeartChangeWidget.dart index 141f941..7d5b605 100644 --- a/lib/pages/sleep_report/component/HeartChangeWidget.dart +++ b/lib/pages/sleep_report/component/HeartChangeWidget.dart @@ -76,7 +76,8 @@ class _HeartChangeWidgetState extends State { 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 { 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 { }; }).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; + } + } } diff --git a/lib/pages/sleep_report/component/HeartPointWidget.dart b/lib/pages/sleep_report/component/HeartPointWidget.dart index b42225a..35ac49b 100644 --- a/lib/pages/sleep_report/component/HeartPointWidget.dart +++ b/lib/pages/sleep_report/component/HeartPointWidget.dart @@ -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 { ), ), ), - // 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)), + ), ], ), ), diff --git a/lib/pages/sleep_report/new_sleep_report_page.dart b/lib/pages/sleep_report/new_sleep_report_page.dart index 442d90e..2486fca 100644 --- a/lib/pages/sleep_report/new_sleep_report_page.dart +++ b/lib/pages/sleep_report/new_sleep_report_page.dart @@ -877,63 +877,64 @@ class _NewSleepReportPageState extends State { // } // }), Obx(() { - - if (sleepReportController.isLoading.value) { - return Center( - child: CircularProgressIndicator( - strokeWidth: 2, - valueColor: AlwaysStoppedAnimation( - themeController.currentColor.sc1, - ), + if (sleepReportController.isLoading.value) { + return Center( + child: CircularProgressIndicator( + strokeWidth: 2, + valueColor: AlwaysStoppedAnimation( + themeController.currentColor.sc1, ), + ), + ); + } + switch (sleepReportController.model.type) { + case 1: + return DailyDataWidget( + sleepReport, + sleepCardKey, + heartRateCardKey, + breatheCardKey, + widget.data); + case 2: + return WeekDataWidget( + sleepReport, + widget.data, ); - } - switch (sleepReportController.model.type) { - case 1: - return DailyDataWidget( - sleepReport, - sleepCardKey, - heartRateCardKey, - breatheCardKey, - widget.data); - case 2: - return WeekDataWidget( - sleepReport, - widget.data, - ); - case 3: - return MonthDataWidget( - sleepReport, - widget.data, - ); - default: - return NullDataWidget(); - } - + case 3: + return MonthDataWidget( + sleepReport, + widget.data, + ); + default: + return NullDataWidget(); + } }), - Column( - children: [ - Text( - "MAC号".tr + - ": ${widget.data['mac'] ?? '未知数据'.tr}", - style: TextStyle( - color: themeController.currentColor.sc4, - fontSize: - AppConstants().middler_text_fontSize, + Padding( + padding: EdgeInsets.fromLTRB(46.rpx, 0, 46.rpx, 0), + child: Column( + children: [ + Text( + "MAC号".tr + + ": ${widget.data['mac'] ?? '未知数据'.tr}", + style: TextStyle( + color: themeController.currentColor.sc4, + fontSize: + AppConstants().middler_text_fontSize, + ), ), - ), - SizedBox( - height: 4.rpx, - ), - Text( - "睡眠报告提示".tr, - style: TextStyle( - color: themeController.currentColor.sc4, - fontSize: - AppConstants().middler_text_fontSize, + SizedBox( + height: 4.rpx, ), - ), - ], + Text( + "睡眠报告提示".tr, + style: TextStyle( + color: themeController.currentColor.sc4, + fontSize: + AppConstants().middler_text_fontSize, + ), + ), + ], + ), ), SizedBox( height: 40.rpx,