|
@@ -1,9 +1,11 @@
|
|
|
import 'dart:convert';
|
|
|
|
|
|
import 'package:fis_jsonrpc/rpc.dart';
|
|
|
+import 'package:flutter/material.dart';
|
|
|
import 'package:get/get.dart';
|
|
|
import 'package:uuid/uuid.dart';
|
|
|
import 'package:vitalapp/architecture/utils/prompt_box.dart';
|
|
|
+import 'package:vitalapp/components/alert_dialog.dart';
|
|
|
import 'package:vnote_device_plugin/consts/types.dart';
|
|
|
import 'package:vitalapp/architecture/defines.dart';
|
|
|
import 'package:vitalapp/architecture/storage/text_storage.dart';
|
|
@@ -131,6 +133,30 @@ class MedicalController extends FControllerBase {
|
|
|
return cachedRecord.deleteDirectory();
|
|
|
}
|
|
|
|
|
|
+ Future<void> submitDiagnosis(List<DiagnosisItem> diagnosisItems) async {
|
|
|
+ state.currentTab = '-1';
|
|
|
+ SubmitDiagnosisRequest submitDiagnosisRequest = SubmitDiagnosisRequest(
|
|
|
+ appDataId: appDataId,
|
|
|
+ patientCode: patientCode,
|
|
|
+ diagnosisItems: diagnosisItems,
|
|
|
+ diagnosisTime: DateTime.now().toUtc(),
|
|
|
+ );
|
|
|
+ print(submitDiagnosisRequest.toJson());
|
|
|
+
|
|
|
+ final result =
|
|
|
+ await _diagnosisManager.submitDiagnosisAsync(submitDiagnosisRequest);
|
|
|
+ if (result) {
|
|
|
+ PromptBox.toast('提交成功');
|
|
|
+ await saveCachedAppDataId();
|
|
|
+
|
|
|
+ await deleteDirectory();
|
|
|
+ await readCachedRecord();
|
|
|
+ Future.delayed(const Duration(milliseconds: 10), () {
|
|
|
+ state.currentTab = state.medicalMenuList[0].key;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Future<void> createDiagnosis() async {
|
|
|
if (Store.user.teamName.isEmpty) {
|
|
|
PromptBox.toast('未设置团队无法提交检测数据');
|
|
@@ -155,26 +181,26 @@ class MedicalController extends FControllerBase {
|
|
|
PromptBox.toast('不能提交空数据');
|
|
|
return;
|
|
|
}
|
|
|
- state.currentTab = '-1';
|
|
|
- SubmitDiagnosisRequest submitDiagnosisRequest = SubmitDiagnosisRequest(
|
|
|
- appDataId: appDataId,
|
|
|
- patientCode: patientCode,
|
|
|
- diagnosisItems: diagnosisItems,
|
|
|
- diagnosisTime: DateTime.now().toUtc(),
|
|
|
- );
|
|
|
- print(submitDiagnosisRequest.toJson());
|
|
|
-
|
|
|
- final result =
|
|
|
- await _diagnosisManager.submitDiagnosisAsync(submitDiagnosisRequest);
|
|
|
- if (result) {
|
|
|
- PromptBox.toast('提交成功');
|
|
|
- await saveCachedAppDataId();
|
|
|
-
|
|
|
- await deleteDirectory();
|
|
|
- await readCachedRecord();
|
|
|
- Future.delayed(const Duration(milliseconds: 10), () {
|
|
|
- state.currentTab = state.medicalMenuList[0].key;
|
|
|
- });
|
|
|
+ if (state.medicalMenuList.length > diagnosisDataValue.length) {
|
|
|
+ Get.dialog(
|
|
|
+ VAlertDialog(
|
|
|
+ title: '提示',
|
|
|
+ content: Container(
|
|
|
+ margin: const EdgeInsets.only(bottom: 20),
|
|
|
+ child: const Text(
|
|
|
+ '当前检测项目未完成,请确定是否提交本次检测',
|
|
|
+ style: TextStyle(fontSize: 20),
|
|
|
+ textAlign: TextAlign.center,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ showCancel: true,
|
|
|
+ onConfirm: () {
|
|
|
+ submitDiagnosis(diagnosisItems);
|
|
|
+ },
|
|
|
+ onCanceled: () {},
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ return;
|
|
|
}
|
|
|
}
|
|
|
}
|