controller.dart 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import 'dart:convert';
  2. import 'package:fis_jsonrpc/services/diagnosis.m.dart';
  3. import 'package:fis_jsonrpc/services/dictionary.m.dart';
  4. import 'package:get/get.dart';
  5. import 'package:vitalapp/architecture/defines.dart';
  6. import 'package:vitalapp/consts/diagnosis.dart';
  7. import 'package:vitalapp/global.dart';
  8. import 'package:vitalapp/managers/interfaces/diagnosis.dart';
  9. import 'package:vitalapp/managers/interfaces/dictionary.dart';
  10. import 'package:vitalapp/managers/interfaces/models/diagnosis_aggregation_record_model.dart';
  11. import 'package:vitalapp/pages/medical/records/state.dart';
  12. class MedicalRecordsController extends FControllerBase {
  13. final state = MedicalRecordsState();
  14. final _diagnosisManager = Get.find<IDiagnosisManager>();
  15. final _dictionaryManager = Get.find<IDictionaryManager>();
  16. late String patientCode;
  17. @override
  18. void onReady() {
  19. super.onReady();
  20. final p = Get.parameters;
  21. patientCode = p['patientCode'] ?? "";
  22. _loadData();
  23. }
  24. _loadData() async {
  25. try {
  26. state.pageIndex = 0;
  27. state.dataList = [];
  28. var listRecord =
  29. await _diagnosisManager.getListByPatientCode(patientCode);
  30. if (listRecord != null) {
  31. state.appendDataList(listRecord);
  32. }
  33. await loadNextPageList();
  34. } catch (e) {}
  35. }
  36. Future<void> loadNextPageList() async {
  37. var result = await _diagnosisManager.getDiagnosisAggregationPageAsync(
  38. patientCode, state.pageIndex + 1, state.pageSize);
  39. if (result != null) {
  40. state.totalCount = result.dataCount;
  41. if (result.pageData != null) {
  42. state.pageIndex = state.pageIndex + 1;
  43. state.appendDataList(result.pageData!);
  44. }
  45. }
  46. }
  47. Future<List<List<String>>> getTableData(
  48. DiagnosisAggregationRecordModel dto) async {
  49. var currentDiagnosis = await _diagnosisManager.getTableData(dto);
  50. return currentDiagnosis;
  51. }
  52. }