controller.dart 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'package:fis_jsonrpc/rpc.dart';
  2. import 'package:get/get.dart';
  3. import 'package:vitalapp/architecture/defines.dart';
  4. import 'package:vitalapp/architecture/utils/prompt_box.dart';
  5. import 'package:vitalapp/managers/interfaces/contract.dart';
  6. import 'package:vitalapp/store/store.dart';
  7. import 'state.dart';
  8. class ContractRecordsController extends FControllerBase {
  9. final state = ContractRecordsState();
  10. final _contractManager = Get.find<IContractManager>();
  11. late String patientCode;
  12. @override
  13. void onReady() {
  14. super.onReady();
  15. _initData();
  16. getContractRecordPageByPatientCodeAsync();
  17. }
  18. _initData() {
  19. update(["contract_records"]);
  20. patientCode = Store.user.currentSelectPatientInfo?.code ?? '';
  21. // final p = Get.parameters;
  22. // patientCode = p['patientCode'] ?? "";
  23. }
  24. Future<void> getContractRecordPageByPatientCodeAsync() async {
  25. var result = await _contractManager
  26. .getContractRecordPageByPatientCodeAsync(patientCode);
  27. state.contractRecordDTOList = result?.pageData ?? [];
  28. }
  29. String getServicePackNames(ContractRecordDTO dto) {
  30. return dto.servicePacks!.map((servicePack) => servicePack.name!).join(',');
  31. }
  32. Future<String?> getContractRecordDetailAsync(String patientCode) async {
  33. var result =
  34. await _contractManager.getContractRecordDetailAsync(patientCode);
  35. if (result != null) {
  36. return result.contractedFileUrl;
  37. } else {
  38. return "";
  39. }
  40. }
  41. Future<void> removeContractRecordAsync(String code) async {
  42. var result = await _contractManager.removeContractRecordAsync(code);
  43. if (result) {
  44. PromptBox.toast('删除成功');
  45. } else {
  46. PromptBox.toast('删除失败');
  47. }
  48. }
  49. }