123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import 'dart:async';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:get/get.dart';
- import 'package:vitalapp/architecture/defines.dart';
- import 'package:vitalapp/architecture/utils/confirm_box.dart';
- import 'package:vitalapp/managers/interfaces/patient.dart';
- import 'package:vitalapp/pages/patient/info/widgets/ext_model.dart';
- import 'package:vitalapp/pages/patient_info/state.dart';
- import 'package:vitalapp/store/store.dart';
- class PatientInfomationController extends FControllerBase {
- final state = PatientInfomationState();
- @override
- void onReady() {
- super.onReady();
- //_loadData();
- }
- /// 处理 “同户籍地址” 勾选变更事件
- void onSyncAddressCheckChanged(bool isChecked) {
- state.isSyncAddresses = isChecked;
- if (isChecked) {
- // 同步户籍地址到现住地址
- state.address = state.permanentResidenceAddress;
- } else {
- state.address = "";
- }
- }
- Future<bool> onCardNoChanged(String value) async {
- final passed = await checkPatientCreatePassed(value);
- if (passed) {
- state.cardNo = value;
- }
- return passed;
- }
- Future<bool> checkPatientCreatePassed(String cardNo) async {
- if (cardNo == state.cardNo) {
- return true;
- }
- busy = true;
- final patient = await Get.find<IPatientManager>().getDetail(
- cardNo,
- isValidOperationDoctor: false,
- allowOfflineData: false,
- );
- busy = false;
- if (patient == null) {
- return true;
- }
- List<String> contents = [""];
- if (patient.createdDoctorName == null) {
- contents[0] = "该居民已在\"${patient.createdOrgName}\"建档";
- contents.add("姓名:${patient.patientName}");
- contents.add("证件号:${patient.cardNo}");
- } else {
- contents[0] =
- "该居民已在\"${patient.createdOrgName}\"下由\"${patient.createdDoctorName}\"建档";
- contents.add("姓名:${patient.patientName}");
- contents.add("证件号:${patient.cardNo}");
- }
- await ConfirmBox.showMultiLines(
- contents: contents,
- width: 600,
- showCancel: false,
- onConfirm: () {
- state.cardNo = '';
- },
- );
- return false;
- }
- /// 检查是否存在居民离线缓存,并
- Future<void> checkOfflinePatientExists(String cardNo) async {
- final model = await Get.find<IPatientManager>().getOfflineFullInfo(cardNo);
- if (model == null) {
- return;
- }
- final isConfirmed = await ConfirmBox.show(
- content: "检查到居民的信息缓存,是否自动填充?",
- width: 520,
- showCancel: false,
- );
- if (!isConfirmed) {
- return;
- }
- state.updateDto(model);
- if (model.extJsonMap != null) {
- state.detailInfo = PatientDetailInfoModel.fromJson(model.extJsonMap!);
- state.healthInfo = PatientHealthInfoModel.fromJson(model.extJsonMap!);
- }
- }
- }
|