|
@@ -13,13 +13,16 @@ import 'package:vitalapp/managers/interfaces/template.dart';
|
|
|
import 'package:vitalapp/pages/form/form_info.dart';
|
|
|
import 'package:vitalapp/store/store.dart';
|
|
|
|
|
|
+import 'antenatal_visit.dart';
|
|
|
import 'first_form.dart';
|
|
|
import 'state.dart';
|
|
|
|
|
|
class MaternalHealthManagementController extends GetxController {
|
|
|
MaternalHealthManagementController();
|
|
|
|
|
|
- final String followUpType = "MaternalHealthManagement";
|
|
|
+ final String firstFollowUpkey = "MaternalHealthManagement";
|
|
|
+
|
|
|
+ final String prenatalFollowupKey = "PrenatalFollowupServiceRecord";
|
|
|
|
|
|
final _followUpManager = Get.find<IFollowUpManager>();
|
|
|
final _templateManager = Get.find<ITemplateManager>();
|
|
@@ -45,7 +48,7 @@ class MaternalHealthManagementController extends GetxController {
|
|
|
_initData();
|
|
|
}
|
|
|
|
|
|
- Future<bool> save() async {
|
|
|
+ Future<bool> save(String key) async {
|
|
|
List<String> followUpPhotos = [];
|
|
|
DateTime followUpTime = DateTime.now();
|
|
|
String? followUpData;
|
|
@@ -67,7 +70,7 @@ class MaternalHealthManagementController extends GetxController {
|
|
|
if (isEdit) {
|
|
|
result = await _followUpManager.updateFollowUp(
|
|
|
UpdateFollowUpRequest(
|
|
|
- key: "MaternalHealthManagement",
|
|
|
+ key: key,
|
|
|
followUpData: followUpData,
|
|
|
followUpTime: followUpTime,
|
|
|
nextFollowUpTime: nextFollowUpTime,
|
|
@@ -80,7 +83,7 @@ class MaternalHealthManagementController extends GetxController {
|
|
|
} else {
|
|
|
String createResult = await _followUpManager.createFollowUp(
|
|
|
CreateFollowUpRequest(
|
|
|
- key: "MaternalHealthManagement",
|
|
|
+ key: key,
|
|
|
patientCode: patientCode,
|
|
|
templateCode: templateCode,
|
|
|
followUpData: followUpData,
|
|
@@ -107,16 +110,10 @@ class MaternalHealthManagementController extends GetxController {
|
|
|
try {
|
|
|
var patientCode = Store.user.currentSelectPatientInfo?.code ?? '';
|
|
|
var result = await _followUpManager.getFollowUpRecordList(
|
|
|
- [followUpType],
|
|
|
+ [firstFollowUpkey, prenatalFollowupKey],
|
|
|
patientCode,
|
|
|
);
|
|
|
List<FollowUpRecordDTO> followUpDTOList = [];
|
|
|
- // 如果是web端并且是离线模式,则从本地获取数据
|
|
|
- if (!kIsWeb && kIsOnline) {
|
|
|
- List<FollowUpRecordDTO> offlineFollowUpList = await _followUpManager
|
|
|
- .getPatientNotUploadedRecordList(patientCode, followUpType);
|
|
|
- followUpDTOList = offlineFollowUpList;
|
|
|
- }
|
|
|
followUpDTOList.addAll(result ?? []);
|
|
|
state.followUpDTOList = followUpDTOList;
|
|
|
} catch (e) {
|
|
@@ -124,9 +121,17 @@ class MaternalHealthManagementController extends GetxController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- String getFollowUpValueByKey(String key) {
|
|
|
- if (key == "MaternalHealthManagement") {
|
|
|
+ String getFollowUpValueByKey(FollowUpRecordDataDTO dto) {
|
|
|
+ var key = dto.key;
|
|
|
+ if (key == firstFollowUpkey) {
|
|
|
return "第 1 次产前检查";
|
|
|
+ } else if (key == prenatalFollowupKey) {
|
|
|
+ Map datas = jsonDecode(dto.followUpData ?? '');
|
|
|
+ if (datas.containsKey("times")) {
|
|
|
+ int times = datas["times"] ?? 2;
|
|
|
+ return "第 ${times} 次产前随访";
|
|
|
+ }
|
|
|
+ return "第 2~5 次产前随访";
|
|
|
}
|
|
|
return "";
|
|
|
}
|
|
@@ -139,7 +144,12 @@ class MaternalHealthManagementController extends GetxController {
|
|
|
var datas = jsonDecode(dataDto.followUpData ?? '');
|
|
|
if (datas is Map<String, dynamic>) {
|
|
|
FormInfo.instance.formValue = datas;
|
|
|
- Get.to(FirstMaternalHealthManagementForm());
|
|
|
+ if (dataDto.key == firstFollowUpkey) {
|
|
|
+ Get.to(FirstMaternalHealthManagementForm());
|
|
|
+ } else if (dataDto.key == prenatalFollowupKey) {
|
|
|
+ int times = FormInfo.instance.formValue["times"] ?? 2;
|
|
|
+ Get.to(AntenatalVisitForm(times));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|