1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import 'dart:async';
- import 'package:fis_jsonrpc/rpc.dart';
- import 'package:flutter/material.dart';
- import 'package:get/get.dart';
- import 'package:vitalapp/architecture/defines.dart';
- import 'package:vitalapp/architecture/utils/confirm_box.dart';
- import 'package:vitalapp/components/alert_dialog.dart';
- import 'package:vitalapp/managers/interfaces/models/patient_information.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, false);
- busy = false;
- if (patient == null) {
- return true;
- }
- bool isConfirmed = true;
- if (patient.currentOrgCode != Store.user.organizationCode) {
- isConfirmed = await ConfirmBox.show(
- content: "该居民已被其他医院建档,是否继续填写?",
- width: 400,
- );
- } else {
- isConfirmed = await ConfirmBox.show(content: "该居民已存在,是否继续填写?");
- }
- return isConfirmed;
- }
- Future<bool> checkOfflinePatientExists(String cardNo) async {
- final model = await Get.find<IPatientManager>().getOfflineFullInfo(cardNo);
- return false;
- }
- void _applyDto2State(PatientDTO patient) {
- // 同步线上数据到表单
- }
- }
|