瀏覽代碼

0018336: 【严重精神病障碍】【随访表】行为及治疗下,用药情况和指导下,缺少每日/每月选项

finlay 11 月之前
父節點
當前提交
ea9b9b18fc

+ 21 - 3
lib/components/dialog_medication.dart

@@ -3,6 +3,7 @@ import 'package:get/get.dart';
 import 'package:vitalapp/components/cell.dart';
 import 'package:vitalapp/components/dialog_input.dart';
 import 'package:vitalapp/components/dialog_number.dart';
+import 'package:vitalapp/components/dialog_select.dart';
 import 'package:vitalapp/pages/check/models/form.dart';
 
 import 'alert_dialog.dart';
@@ -47,7 +48,7 @@ class _VDialogMedicationState extends State<VDialogMedication> {
       title: "主要用药情况填写",
       width: 600,
       content: Container(
-        height: 220,
+        height: 280,
         padding: const EdgeInsets.symmetric(horizontal: 24),
         alignment: Alignment.center,
         child: VListFormCellGroup(
@@ -66,11 +67,28 @@ class _VDialogMedicationState extends State<VDialogMedication> {
               },
             ),
             _buildFormCell(
-              label: '用法:每日(月)/次',
+              label: '频率:每日(月)',
+              content: medicationModel.monthOrDay,
+              onTap: () async {
+                String? result = await VDialogSelect<String, String>(
+                  source: [
+                    "每月",
+                    "每日",
+                  ],
+                  labelGetter: (data) => data,
+                  valueGetter: (data) => data,
+                ).show();
+                setState(() {
+                  medicationModel.monthOrDay = result;
+                });
+              },
+            ),
+            _buildFormCell(
+              label: '用法(次)',
               content: medicationModel.usage,
               onTap: () async {
                 final result = await _showNumberDialog(
-                  title: '用法:每日(月)/次',
+                  title: '用法(次)',
                   initialValue: medicationModel.usage ?? '',
                 );
                 setState(() {

+ 6 - 1
lib/pages/check/models/form.dart

@@ -362,15 +362,19 @@ class MedicationModel {
   ///用法
   String? usage;
 
+  ///月或日
+  String? monthOrDay;
+
   ///剂量
   String? dosages;
 
-  MedicationModel({this.name, this.usage, this.dosages});
+  MedicationModel({this.name, this.monthOrDay, this.usage, this.dosages});
 
   factory MedicationModel.fromJson(Map<String, dynamic> json) {
     return MedicationModel(
       name: json['name'] ?? "",
       usage: json['usage'] ?? "",
+      monthOrDay: json['monthOrDay'] ?? "",
       dosages: json['dosages'] ?? "",
     );
   }
@@ -379,6 +383,7 @@ class MedicationModel {
     return {
       'name': name ?? '',
       'usage': usage ?? '',
+      'monthOrDay': monthOrDay ?? '',
       'dosages': dosages ?? '',
     };
   }

+ 1 - 1
lib/pages/check/widgets/exam_configurable/exam_medication.dart

@@ -40,7 +40,7 @@ class ExamMedication extends StatelessWidget {
                   children: [
                     Expanded(
                       child: Text(
-                        "药物${entry.key + 1}:${medicationModel.name}     用法:每日(月)${medicationModel.usage}次   每次剂量${medicationModel.dosages} mg",
+                        "药物${entry.key + 1}:${medicationModel.name}     用法:${medicationModel.monthOrDay}${medicationModel.usage}次   每次剂量${medicationModel.dosages} mg",
                         style: TextStyle(fontSize: 18, color: Colors.black54),
                         textAlign: TextAlign.left,
                       ),

+ 1 - 1
lib/pages/id_card_scan/controller.dart

@@ -361,7 +361,7 @@ class IdCardScanController extends GetxController with WidgetsBindingObserver {
               DateTime birthday = format.parse(formattedDateString);
               result = PatientBaseDTO(
                 isSuccess: true,
-                cardNo: idCardRecogResultInfo.idNumber,
+                cardNo: idCardRecogResultInfo.idNumber?.toUpperCase(),
                 patientName: idCardRecogResultInfo.name,
                 patientAddress: idCardRecogResultInfo.address,
                 patientGender: idCardRecogResultInfo.gender == "女"

+ 1 - 0
lib/pages/medical_checkup_station/registration/widgets/form/index.dart

@@ -75,6 +75,7 @@ class _RegistrationFormDialogState extends State<RegistrationFormDialog> {
                   if (widget.patient == null) {
                     return;
                   }
+                  result = result.toString().toUpperCase();
                   final patient = widget.patient!;
                   patient.cardNo = result;
                   patient.birthday = _getBirthDayofIdNumber(result);

+ 4 - 2
lib/pages/patient_info/view.dart

@@ -92,9 +92,11 @@ class PatientInfomationPage extends GetView<PatientInfomationController> {
                 showCancel: true,
               ).show();
               if (result != null && result is String) {
-                final passed = await controller.onCardNoChanged(result);
+                final passed =
+                    await controller.onCardNoChanged(result.toUpperCase());
                 if (passed) {
-                  await controller.checkOfflinePatientExists(result);
+                  await controller
+                      .checkOfflinePatientExists(result.toUpperCase());
                 }
               }
             }