/// 心电的列表 import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:vitalapp/architecture/utils/advance_debounce.dart'; import 'package:vitalapp/components/appbar.dart'; import 'package:vitalapp/components/button.dart'; import 'package:vitalapp/pages/medical/widgets/health_heart_check/view.dart'; import 'package:vitalapp/pages/medical/widgets/twelve_ecg.dart'; import 'package:vnote_device_plugin/consts/types.dart'; import 'package:vitalapp/pages/medical/controller.dart'; import 'package:vitalapp/store/store.dart'; import 'table_input_dialog/widgets/physical_exam_electrocardiogram.dart'; class HeartCheckNew extends GetView { const HeartCheckNew({super.key}); @override Widget build(BuildContext context) { return Scaffold( resizeToAvoidBottomInset: false, body: Container( height: double.maxFinite, color: Colors.white, child: HeartTableCheck( checkDialog: PhysicalExamElectrocardiogramPage(), checkKey: "HEIECG", ), ), ); } } class PhysicalExamElectrocardiogramPage extends GetView { final String? recordCode; PhysicalExamElectrocardiogramPage({this.recordCode}); @override Widget build(BuildContext context) { return PhysicalExamElectrocardiogram( _buildDeviceImage(DeviceTypes.TWELVEHEART), _buildMedicalInput(DeviceTypes.TWELVEHEART), _buildSaveButton()); } Widget _buildMedicalInput(String? currentTab) { return Expanded( flex: currentTab == DeviceTypes.TWELVEHEART ? 18 : 11, child: Stack( children: [ Container( padding: const EdgeInsets.all(16), child: Column( children: [ _buildContent(), ], ), ), ], ), ); } String _deviceImageUrl(String? currentTab) { switch (currentTab) { case DeviceTypes.TEMP: return 'assets/images/healthCheck/temp.png'; case DeviceTypes.SUGAR: return 'assets/images/healthCheck/sugar.png'; case DeviceTypes.NIBP: return 'assets/images/healthCheck/nibp.png'; case DeviceTypes.SPO2: return 'assets/images/healthCheck/spo2.png'; case DeviceTypes.WEIGHT: return 'assets/images/healthCheck/bmi.png'; case DeviceTypes.URINE: return 'assets/images/healthCheck/urine.png'; case DeviceTypes.WAIST: return 'assets/images/healthCheck/whb.png'; default: return 'assets/images/exam/normalMeasurementChart.png'; } } Widget _buildDeviceImage(String? currentTab) { if (currentTab == DeviceTypes.TWELVEHEART) { return const SizedBox(); } return Expanded( flex: 7, child: Container( alignment: Alignment.topCenter, margin: const EdgeInsets.all(16).copyWith(top: 10), child: Obx( () => ClipRect( child: Align( alignment: Alignment.bottomCenter, heightFactor: 0.8, child: controller.state.currentTab != null ? Image.asset( _deviceImageUrl(controller.state.currentTab), height: double.infinity, fit: BoxFit.contain, // 设置图像的适应方式 ) : Container(), ), ), ), ), ); } Widget _buildSaveButton() { return Obx(() { if (Store.user.currentSelectRegisterPersonInfo == null) { return const SizedBox(); } return VButton( // backgroundColor: Theme.of(context).primaryColor, onTap: () { Debouncer.run( () => controller.createHeart( Store.user.currentSelectRegisterPersonInfo?.physicalExamNumber ?? '', 'HEIECG', recordCode ?? '', ), ); }, child: const SizedBox( width: 240, height: 60, child: Center( child: Text( '提交', style: TextStyle( fontSize: 26, color: Colors.white, ), ), ), ), ); }); } Widget _buildContent() { return const TwelveHeartRate(); } }