瀏覽代碼

0018763: 【健康一体机】【体检系统】【新需求】十二道心电测量完成增加手动出具报告功能

finlay 10 月之前
父節點
當前提交
b9d3ffac04

+ 16 - 2
lib/pages/medical/widgets/twelve_ecg_view/controller.dart

@@ -114,6 +114,14 @@ class TwelveEcgViewController extends GetxController {
 
   /// 打开全屏心电图弹窗
   void openFullScreenDialog() {
+    var startDate =
+        medicalController.diagnosisDataValue['TwelveHeart']?['StartDate'] ?? "";
+
+    var endDate =
+        medicalController.diagnosisDataValue['TwelveHeart']?['EndDate'] ?? '';
+    if (startDate.toString() != "" && endDate.toString() != "")
+      state.rangeValues = RangeValues(
+          double.parse(startDate.toString()), double.parse(endDate.toString()));
     Get.dialog(
       const FullScreenEcgDataDialog(),
     );
@@ -152,7 +160,7 @@ class TwelveEcgViewController extends GetxController {
       yMaxList: yMaxList,
     );
     final bgPainter =
-        GridBackgroundPainterForAll(rangeValues: state.rangeValues);
+        GridBackgroundPainterForAll(rangeValues: RangeValues(0, 0));
     const size = Size(5000, 650);
     // 使用离屏Canvas绘制
     final Uint8List? bytes =
@@ -186,6 +194,10 @@ class TwelveEcgViewController extends GetxController {
   updateEcgImage() async {
     medicalController.diagnosisDataValue['TwelveHeart']?['ECG12'] =
         await getFiveImageBase64();
+    medicalController.diagnosisDataValue['TwelveHeart']?['StartDate'] =
+        state.rangeValues.start.toString();
+    medicalController.diagnosisDataValue['TwelveHeart']?['EndDate'] =
+        state.rangeValues.end.toString();
   }
 
   /// 获取五秒图心电图的base64(带base64头)
@@ -198,7 +210,9 @@ class TwelveEcgViewController extends GetxController {
       yMaxList: yMaxList,
     );
     final bgPainter = GridBackgroundPainterForFive();
-    const size = Size(833, 650);
+    // double width =
+    //     ((state.rangeValues.end - state.rangeValues.start) / 30) * 3200;
+    Size size = Size(833, 650);
     // 使用离屏Canvas绘制
     final Uint8List? bytes =
         await _capturePainterToImage(painter, bgPainter, size);

+ 4 - 0
lib/pages/medical/widgets/twelve_ecg_view/widgets/full_screen_ecg_data_dialog.dart

@@ -30,6 +30,10 @@ class FullScreenEcgDataDialog extends GetView<TwelveEcgViewController> {
         child: Column(
           children: [
             _buildHead(),
+            Text(
+              "当前默认截取心电图像的最后5s作为报告图像,若需要更改图像截取范围,请滑动下方的滑动条,来修改截取范围。",
+              style: TextStyle(fontSize: 20),
+            ),
             Row(
               children: [
                 SizedBox(

+ 2 - 2
lib/pages/medical/widgets/twelve_ecg_view/widgets/grid_background_painter_for_all.dart

@@ -132,7 +132,7 @@ class GridBackgroundPainterForAll extends CustomPainter {
       // );
     }
 
-    /// 每隔5秒绘制一根竖粗线
+    /// 每隔1秒绘制一根竖粗线
     final boldLinePaint = Paint()
       ..color = Colors.grey.withOpacity(0.5)
       ..style = PaintingStyle.stroke
@@ -146,7 +146,7 @@ class GridBackgroundPainterForAll extends CustomPainter {
           boldLinePaint,
         );
       }
-      if (i % 125 == 0) {
+      if (i % 25 == 0) {
         final offsetX = i * xGridSize;
         canvas.drawLine(
           Offset(offsetX, 0),