controller.dart 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'package:fis_jsonrpc/services/contractRecord.m.dart';
  2. import 'package:get/get.dart';
  3. import 'package:vnoteapp/architecture/defines.dart';
  4. import 'package:vnoteapp/managers/interfaces/contract.dart';
  5. import 'state.dart';
  6. class ContractRecordsController extends FControllerBase {
  7. final state = ContractRecordsState();
  8. final _contractManager = Get.find<IContractManager>();
  9. late String patientCode;
  10. @override
  11. void onReady() {
  12. super.onReady();
  13. _initData();
  14. _getContractRecordPageByPatientCodeAsync();
  15. }
  16. _initData() {
  17. update(["contract_records"]);
  18. final p = Get.parameters;
  19. patientCode = p['patientCode'] ?? "";
  20. }
  21. Future<void> _getContractRecordPageByPatientCodeAsync() async {
  22. var result = await _contractManager
  23. .getContractRecordPageByPatientCodeAsync(patientCode);
  24. state.contractRecordDTOList = result?.pageData ?? [];
  25. }
  26. String getServicePackNames(ContractRecordDTO dto) {
  27. return dto.servicePacks!.map((servicePack) => servicePack.name!).join(',');
  28. }
  29. Future<String?> getContractRecordDetailAsync(String patientCode) async {
  30. var result =
  31. await _contractManager.getContractRecordDetailAsync(patientCode);
  32. if (result != null) {
  33. return result.contractedFileUrl;
  34. } else {
  35. return "";
  36. }
  37. }
  38. }