insurance card and insurance update and insurance approval
parent
20ab170e7a
commit
492cfa084b
@ -0,0 +1,72 @@
|
||||
class ReauestInsuranceApprovalModel {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
int eXuldAPPNO;
|
||||
int projectID;
|
||||
|
||||
ReauestInsuranceApprovalModel(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.eXuldAPPNO,
|
||||
this.projectID});
|
||||
|
||||
ReauestInsuranceApprovalModel.fromJson(Map<String, dynamic> json) {
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
languageID = json['LanguageID'];
|
||||
iPAdress = json['IPAdress'];
|
||||
generalid = json['generalid'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
sessionID = json['SessionID'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
eXuldAPPNO = json['EXuldAPPNO'];
|
||||
projectID = json['ProjectID'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['generalid'] = this.generalid;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['EXuldAPPNO'] = this.eXuldAPPNO;
|
||||
data['ProjectID'] = this.projectID;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,129 @@
|
||||
class InsuranceApprovalDetails {
|
||||
String procedureName;
|
||||
String status;
|
||||
String isInvoicedDesc;
|
||||
|
||||
InsuranceApprovalDetails({
|
||||
this.procedureName,
|
||||
this.status,
|
||||
this.isInvoicedDesc,
|
||||
});
|
||||
|
||||
InsuranceApprovalDetails.fromJson(Map<String, dynamic> json) {
|
||||
try {
|
||||
isInvoicedDesc = json['IsInvoicedDesc'];
|
||||
status = json['Status'];
|
||||
procedureName = json['ProcedureName'];
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class InsuranceApprovalModel {
|
||||
InsuranceApprovalDetails approvalDetails;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
int eXuldAPPNO;
|
||||
int projectID;
|
||||
String doctorName;
|
||||
String clinicName;
|
||||
String patientDescription;
|
||||
int approvalNo;
|
||||
String approvalStatusDescption;
|
||||
int unUsedCount;
|
||||
//String companyName;
|
||||
String expiryDate;
|
||||
String rceiptOn;
|
||||
|
||||
InsuranceApprovalModel(
|
||||
{this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.eXuldAPPNO,
|
||||
this.projectID,
|
||||
this.doctorName,
|
||||
this.clinicName,
|
||||
this.patientDescription,
|
||||
this.approvalNo,
|
||||
this.approvalStatusDescption,
|
||||
this.unUsedCount,
|
||||
//this.companyName,
|
||||
this.expiryDate,
|
||||
this.rceiptOn,
|
||||
this.approvalDetails});
|
||||
InsuranceApprovalDetails x = InsuranceApprovalDetails();
|
||||
InsuranceApprovalModel.fromJson(Map<String, dynamic> json) {
|
||||
try {
|
||||
rceiptOn = json['ReceiptOn'];
|
||||
expiryDate = json['ExpiryDate'];
|
||||
//companyName = json['CompanyName'];
|
||||
unUsedCount = json['TotaUnUsedCount'];
|
||||
approvalStatusDescption = json['ApprovalStatusDescption'];
|
||||
approvalNo = json['ApprovalNo'];
|
||||
patientDescription = json['IsInOutPatientDescription'];
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
languageID = json['LanguageID'];
|
||||
iPAdress = json['IPAdress'];
|
||||
generalid = json['generalid'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
sessionID = json['SessionID'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
eXuldAPPNO = json['EXuldAPPNO'];
|
||||
projectID = json['ProjectID'];
|
||||
doctorName = json['DoctorName'];
|
||||
clinicName = json['ClinicName'];
|
||||
approvalDetails =
|
||||
InsuranceApprovalDetails.fromJson(json['ApporvalDetails'][0]);
|
||||
} catch (e) {
|
||||
print(e);
|
||||
}
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['generalid'] = this.generalid;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['EXuldAPPNO'] = this.eXuldAPPNO;
|
||||
data['ProjectID'] = this.projectID;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,90 @@
|
||||
import 'dart:convert';
|
||||
|
||||
class InsuranceCardModel {
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
int patientID;
|
||||
String tokenID;
|
||||
int patientTypeID;
|
||||
int patientType;
|
||||
String groupName;
|
||||
String companyName;
|
||||
String subCategoryDesc;
|
||||
String patientCardID;
|
||||
String insurancePolicyNumber;
|
||||
bool isActive;
|
||||
String cardValidTo;
|
||||
|
||||
InsuranceCardModel({
|
||||
this.insurancePolicyNumber,
|
||||
this.subCategoryDesc,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.patientID,
|
||||
this.tokenID,
|
||||
this.patientTypeID,
|
||||
this.patientType,
|
||||
this.groupName,
|
||||
this.companyName,
|
||||
this.patientCardID,
|
||||
this.isActive,
|
||||
this.cardValidTo,
|
||||
});
|
||||
|
||||
InsuranceCardModel.fromJson(Map<String, dynamic> json) {
|
||||
isActive = json['IsActive'];
|
||||
insurancePolicyNumber = json['InsurancePolicyNo'];
|
||||
patientCardID = json['PatientCardID'];
|
||||
companyName = json['CompanyName'];
|
||||
groupName = json['GroupName'];
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
languageID = json['LanguageID'];
|
||||
iPAdress = json['IPAdress'];
|
||||
generalid = json['generalid'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
sessionID = json['SessionID'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
patientID = json['PatientID'];
|
||||
tokenID = json['TokenID'];
|
||||
patientTypeID = json['PatientTypeID'];
|
||||
patientType = json['PatientType'];
|
||||
subCategoryDesc = json['SubCategoryDesc'];
|
||||
cardValidTo = json['CardValidTo'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['generalid'] = this.generalid;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
data['PatientID'] = this.patientID;
|
||||
data['TokenID'] = this.tokenID;
|
||||
data['PatientTypeID'] = this.patientTypeID;
|
||||
data['PatientType'] = this.patientType;
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,66 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:intl/intl.dart';
|
||||
|
||||
class InsuranceUpdateModel {
|
||||
int patientID;
|
||||
int patientType;
|
||||
double versionID;
|
||||
int channel;
|
||||
int languageID;
|
||||
String iPAdress;
|
||||
String generalid;
|
||||
int patientOutSA;
|
||||
String sessionID;
|
||||
bool isDentalAllowedBackend;
|
||||
int deviceTypeID;
|
||||
String createdOn;
|
||||
String statusDescription;
|
||||
|
||||
InsuranceUpdateModel(
|
||||
{this.patientID,
|
||||
this.patientType,
|
||||
this.versionID,
|
||||
this.channel,
|
||||
this.languageID,
|
||||
this.iPAdress,
|
||||
this.generalid,
|
||||
this.patientOutSA,
|
||||
this.sessionID,
|
||||
this.isDentalAllowedBackend,
|
||||
this.deviceTypeID,
|
||||
this.createdOn,
|
||||
this.statusDescription});
|
||||
|
||||
InsuranceUpdateModel.fromJson(Map<String, dynamic> json) {
|
||||
statusDescription = json['StatusDescription'];
|
||||
patientID = json['PatientID'];
|
||||
patientType = json['PatientType'];
|
||||
versionID = json['VersionID'];
|
||||
channel = json['Channel'];
|
||||
languageID = json['LanguageID'];
|
||||
iPAdress = json['IPAdress'];
|
||||
generalid = json['generalid'];
|
||||
patientOutSA = json['PatientOutSA'];
|
||||
sessionID = json['SessionID'];
|
||||
isDentalAllowedBackend = json['isDentalAllowedBackend'];
|
||||
deviceTypeID = json['DeviceTypeID'];
|
||||
createdOn = json['CreatedOn'];
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||
data['PatientID'] = this.patientID;
|
||||
data['PatientType'] = this.patientType;
|
||||
data['VersionID'] = this.versionID;
|
||||
data['Channel'] = this.channel;
|
||||
data['LanguageID'] = this.languageID;
|
||||
data['IPAdress'] = this.iPAdress;
|
||||
data['generalid'] = this.generalid;
|
||||
data['PatientOutSA'] = this.patientOutSA;
|
||||
data['SessionID'] = this.sessionID;
|
||||
data['isDentalAllowedBackend'] = this.isDentalAllowedBackend;
|
||||
data['DeviceTypeID'] = this.deviceTypeID;
|
||||
return data;
|
||||
}
|
||||
}
|
@ -0,0 +1,112 @@
|
||||
import 'package:diplomaticquarterapp/config/config.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/base_service.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card_update.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_approval.dart';
|
||||
|
||||
class InsuranceCardService extends BaseService {
|
||||
List<InsuranceCardModel> _cardList = List();
|
||||
List<InsuranceUpdateModel> _cardUpdated = List();
|
||||
List<InsuranceApprovalModel> _insuranceApproval = List();
|
||||
|
||||
List<InsuranceCardModel> get cardList => _cardList;
|
||||
List<InsuranceUpdateModel> get updatedCard => _cardUpdated;
|
||||
List<InsuranceApprovalModel> get insuranceApproval => _insuranceApproval;
|
||||
|
||||
clearInsuranceCard() {
|
||||
_cardList.clear();
|
||||
}
|
||||
|
||||
clearUpdatedList() {
|
||||
_cardUpdated.clear();
|
||||
}
|
||||
|
||||
InsuranceCardModel _insuranceCardModel = InsuranceCardModel(
|
||||
channel: 3,
|
||||
deviceTypeID: 2,
|
||||
generalid: "Cs2020@2016\$2958",
|
||||
iPAdress: "10.20.10.20",
|
||||
isDentalAllowedBackend: false,
|
||||
languageID: 1,
|
||||
patientID: 1231755,
|
||||
patientOutSA: 0,
|
||||
patientType: 1,
|
||||
patientTypeID: 1,
|
||||
sessionID: "uoKFXSLUwEaHYPwKZNA",
|
||||
tokenID: "@dm!n",
|
||||
versionID: 5.5,
|
||||
);
|
||||
|
||||
InsuranceUpdateModel _insuranceUpdateModel = InsuranceUpdateModel(
|
||||
channel: 3,
|
||||
deviceTypeID: 2,
|
||||
generalid: "Cs2020@2016\$2958",
|
||||
iPAdress: "10.20.10.20",
|
||||
isDentalAllowedBackend: false,
|
||||
patientID: 1231755,
|
||||
patientType: 1,
|
||||
versionID: 5.5,
|
||||
languageID: 2,
|
||||
patientOutSA: 0,
|
||||
sessionID: "ENRSJBKXnzCuuVQ",
|
||||
);
|
||||
|
||||
InsuranceApprovalModel _insuranceApprovalModel = InsuranceApprovalModel(
|
||||
versionID: 5.5,
|
||||
channel: 3,
|
||||
languageID: 2,
|
||||
iPAdress: "10.20.10.20",
|
||||
generalid: "Cs2020@2016\$2958",
|
||||
patientOutSA: 0,
|
||||
sessionID: "DypNmtMkivzURHjeYg",
|
||||
isDentalAllowedBackend: false,
|
||||
deviceTypeID: 2,
|
||||
patientID: 1231755,
|
||||
tokenID: "@dm!n",
|
||||
patientTypeID: 1,
|
||||
patientType: 1,
|
||||
eXuldAPPNO: 0,
|
||||
projectID: 0);
|
||||
|
||||
Future getInsurance() async {
|
||||
hasError = false;
|
||||
_cardList.clear();
|
||||
await baseAppClient.post(GET_PAtIENTS_INSURANCE,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
response['List_PatientInsuranceCard'].forEach((item) {
|
||||
_cardList.add(InsuranceCardModel.fromJson(item));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _insuranceCardModel.toJson());
|
||||
}
|
||||
|
||||
Future getInsuranceUpdate() async {
|
||||
hasError = false;
|
||||
// _cardList.clear();
|
||||
await baseAppClient.post(GET_PAtIENTS_INSURANCE_UPDATED,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
response['List_PatientInsuranceCardHistory'].forEach((item) {
|
||||
_cardUpdated.add(InsuranceUpdateModel.fromJson(item));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _insuranceUpdateModel.toJson());
|
||||
}
|
||||
|
||||
Future getInsuranceApproval() async {
|
||||
hasError = false;
|
||||
// _cardList.clear();
|
||||
await baseAppClient.post(GET_PAtIENTS_INSURANCE_APPROVALS,
|
||||
onSuccess: (dynamic response, int statusCode) {
|
||||
response['HIS_Approval_List'].forEach((item) {
|
||||
_insuranceApproval.add(InsuranceApprovalModel.fromJson(item));
|
||||
});
|
||||
}, onFailure: (String error, int statusCode) {
|
||||
hasError = true;
|
||||
super.error = error;
|
||||
}, body: _insuranceApprovalModel.toJson());
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_approval.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card_update.dart';
|
||||
import 'package:diplomaticquarterapp/pages/insurance/insurance_approval_screen.dart';
|
||||
|
||||
import 'base_view_model.dart';
|
||||
import '../../locator.dart';
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card.dart';
|
||||
import 'package:diplomaticquarterapp/core/service/insurance_service.dart';
|
||||
|
||||
class InsuranceViewModel extends BaseViewModel {
|
||||
bool hasError = false;
|
||||
|
||||
InsuranceCardService _insuranceCardService = locator<InsuranceCardService>();
|
||||
|
||||
List<InsuranceCardModel> get insurance => _insuranceCardService.cardList;
|
||||
List<InsuranceUpdateModel> get insuranceUpdate =>
|
||||
_insuranceCardService.updatedCard;
|
||||
List<InsuranceApprovalModel> get insuranceApproval =>
|
||||
_insuranceCardService.insuranceApproval;
|
||||
|
||||
Future getInsurance() async {
|
||||
hasError = false;
|
||||
_insuranceCardService.clearInsuranceCard();
|
||||
setState(ViewState.Busy);
|
||||
await _insuranceCardService.getInsurance();
|
||||
if (_insuranceCardService.hasError) {
|
||||
error = _insuranceCardService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
Future getInsuranceUpdated() async {
|
||||
hasError = false;
|
||||
//_insuranceCardService.clearInsuranceCard();
|
||||
setState(ViewState.Busy);
|
||||
await _insuranceCardService.getInsuranceUpdate();
|
||||
if (_insuranceCardService.hasError) {
|
||||
error = _insuranceCardService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
|
||||
Future getInsuranceApproval() async {
|
||||
hasError = false;
|
||||
//_insuranceCardService.clearInsuranceCard();
|
||||
setState(ViewState.Busy);
|
||||
await _insuranceCardService.getInsuranceApproval();
|
||||
if (_insuranceCardService.hasError) {
|
||||
error = _insuranceCardService.error;
|
||||
setState(ViewState.ErrorLocal);
|
||||
} else
|
||||
setState(ViewState.Idle);
|
||||
}
|
||||
}
|
@ -0,0 +1,395 @@
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
|
||||
|
||||
class InsuranceApproval extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceApprovalState createState() => _InsuranceApprovalState();
|
||||
}
|
||||
|
||||
class _InsuranceApprovalState extends State<InsuranceApproval> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<InsuranceViewModel>(
|
||||
onModelReady: (model) => model.getInsuranceApproval(),
|
||||
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
appBarTitle: 'Approvals',
|
||||
body: SingleChildScrollView(
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: SizeConfig.screenWidth * 0.004,
|
||||
right: SizeConfig.screenWidth * 0.004,
|
||||
top: SizeConfig.screenWidth * 0.04,
|
||||
),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
width: double.infinity,
|
||||
height: SizeConfig.screenHeight * 0.09,
|
||||
color: Color(0xffEEEEEE),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'Total approval unused',
|
||||
style: TextStyle(
|
||||
color: Color(0xff60688B),
|
||||
fontSize: 19.5,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
if (model.insuranceApproval.length > 0)
|
||||
Container(
|
||||
width: SizeConfig.widthMultiplier * 18.0,
|
||||
height: SizeConfig.heightMultiplier * 2.8,
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xffC5272D),
|
||||
borderRadius: BorderRadius.circular(19.0)),
|
||||
child: Center(
|
||||
child: Text(
|
||||
model.insuranceApproval[0].unUsedCount
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
color: Colors.white, fontSize: 19.0),
|
||||
),
|
||||
))
|
||||
],
|
||||
)),
|
||||
...List.generate(
|
||||
model.insuranceApproval.length,
|
||||
(index) => RoundedContainer(
|
||||
backgroundColor: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
ExpansionTile(
|
||||
title: Container(
|
||||
height: 85.0,
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
model.insuranceApproval[index]
|
||||
.patientDescription ==
|
||||
"In Patient"
|
||||
? Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xffB8372C),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
16.0)),
|
||||
width: 95.0,
|
||||
padding:
|
||||
EdgeInsets.only(left: 11.5),
|
||||
child: Text(
|
||||
model.insuranceApproval[index]
|
||||
.patientDescription ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.patientDescription,
|
||||
style: TextStyle(
|
||||
color: Colors.white),
|
||||
),
|
||||
)
|
||||
: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Color(0xff505A5D),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
16.0)),
|
||||
width: 95.0,
|
||||
padding:
|
||||
EdgeInsets.only(left: 11.5),
|
||||
child: Text(
|
||||
model.insuranceApproval[index]
|
||||
.patientDescription ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.patientDescription,
|
||||
style: TextStyle(
|
||||
color: Colors.white),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 10.0),
|
||||
child: Text(
|
||||
model.insuranceApproval[index]
|
||||
.clinicName,
|
||||
style: TextStyle(
|
||||
fontSize: 20.0,
|
||||
color: Color(0xff60686B),
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
),
|
||||
Text(
|
||||
model.insuranceApproval[index]
|
||||
.doctorName,
|
||||
style: TextStyle(
|
||||
fontSize: 15.0,
|
||||
fontStyle: FontStyle.italic),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(
|
||||
vertical: 12.0, horizontal: 12.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'Approval No.: ' +
|
||||
model.insuranceApproval[index]
|
||||
.approvalNo
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 18.0,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
'Procedure Status: ' +
|
||||
model.insuranceApproval[index]
|
||||
.approvalStatusDescption,
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 17.5),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
'Unused Count: ' +
|
||||
model.insuranceApproval[index]
|
||||
.unUsedCount
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight: FontWeight.w600),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
// Text(
|
||||
// 'Company Name: ' +
|
||||
// model.insuranceApproval[index]
|
||||
// .companyName ==
|
||||
// null
|
||||
// ? '000'
|
||||
// : model
|
||||
// .insuranceApproval[index].companyName,
|
||||
// style: TextStyle(
|
||||
// fontSize: 17.5,
|
||||
// fontWeight: FontWeight.w600),
|
||||
// ),
|
||||
Text(
|
||||
'Company Name',
|
||||
style: TextStyle(
|
||||
fontWeight: FontWeight.w600,
|
||||
fontSize: 17.5,
|
||||
),
|
||||
),
|
||||
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
'Receipt on: ' +
|
||||
convertDateFormat(model
|
||||
.insuranceApproval[index]
|
||||
.rceiptOn),
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
Text(
|
||||
'expiryDate: ' +
|
||||
convertDateFormat(model
|
||||
.insuranceApproval[index]
|
||||
.expiryDate),
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight: FontWeight.w600,
|
||||
),
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 55.0,
|
||||
thickness: 1.2,
|
||||
),
|
||||
Row(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.center,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Text('Procedure Name '),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails
|
||||
.procedureName,
|
||||
style: TextStyle(
|
||||
fontWeight:
|
||||
FontWeight.w600,
|
||||
fontSize: 15.5),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
VerticalDivider(
|
||||
width: 10.0,
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Text('Procedure Status '),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails
|
||||
.status,
|
||||
style: TextStyle(
|
||||
fontSize: 17.5,
|
||||
fontWeight:
|
||||
FontWeight.w600),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Text('Usage Status '),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(
|
||||
top: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails ==
|
||||
null
|
||||
? ''
|
||||
: model
|
||||
.insuranceApproval[
|
||||
index]
|
||||
.approvalDetails
|
||||
.isInvoicedDesc,
|
||||
style: TextStyle(
|
||||
fontWeight:
|
||||
FontWeight.w600,
|
||||
fontSize: 17.5),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 1.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
)),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
convertDateFormat(String Date) {
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = Date.indexOf(start);
|
||||
final endIndex = Date.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(Date.substring(startIndex + start.length, endIndex)));
|
||||
String newDate = date.year.toString() +
|
||||
"-" +
|
||||
date.month.toString().padLeft(2, '0') +
|
||||
"-" +
|
||||
date.day.toString().padLeft(2, '0');
|
||||
|
||||
return newDate.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,151 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/core/model/insurance/insurance_card.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
|
||||
class InsuranceCard extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceCardState createState() => _InsuranceCardState();
|
||||
}
|
||||
|
||||
class _InsuranceCardState extends State<InsuranceCard> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<InsuranceViewModel>(
|
||||
onModelReady: (model) => model.getInsurance(),
|
||||
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
appBarTitle: 'Insurance Cards',
|
||||
body: Container(
|
||||
margin: EdgeInsets.only(
|
||||
left: SizeConfig.screenWidth * 0.004,
|
||||
right: SizeConfig.screenWidth * 0.004,
|
||||
top: SizeConfig.screenWidth * 0.04),
|
||||
child: ListView.builder(
|
||||
itemCount: model.insurance == null ? 0 : model.insurance.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return RoundedContainer(
|
||||
backgroundColor: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
ExpansionTile(
|
||||
title: Container(
|
||||
height: 65.0,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 15.0),
|
||||
child: Texts(
|
||||
model.insurance[index].groupName,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
children: <Widget>[
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 0.5,
|
||||
),
|
||||
Texts(
|
||||
'Company Name: ' +
|
||||
model.insurance[index].companyName,
|
||||
fontSize: 20.0,
|
||||
),
|
||||
Divider(
|
||||
color: Colors.black,
|
||||
height: 25.0,
|
||||
thickness: 0.5,
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: <Widget>[
|
||||
Text(
|
||||
'Category: ' +
|
||||
model.insurance[index].subCategoryDesc,
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
Text(
|
||||
'Expiration Date: ' +
|
||||
convertDateFormat(
|
||||
model.insurance[index].cardValidTo),
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
Text(
|
||||
'Patient Card ID : ' +
|
||||
model.insurance[index].patientCardID,
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
Text(
|
||||
'Policy Number : ' +
|
||||
model
|
||||
.insurance[index].insurancePolicyNumber,
|
||||
style: TextStyle(fontSize: 18.5),
|
||||
),
|
||||
],
|
||||
),
|
||||
Column(
|
||||
children: <Widget>[
|
||||
model.insurance[index].isActive == true
|
||||
? Text('Active',
|
||||
style: TextStyle(
|
||||
color: Colors.green,
|
||||
fontWeight: FontWeight.w900,
|
||||
fontSize: 17.9))
|
||||
: Text('Not Active',
|
||||
style: TextStyle(
|
||||
color: Colors.red,
|
||||
fontWeight: FontWeight.w900,
|
||||
fontSize: 17.9))
|
||||
],
|
||||
),
|
||||
SizedBox(
|
||||
height: 14.5,
|
||||
),
|
||||
Container(
|
||||
child: Button(
|
||||
label: 'SEE DETAILS',
|
||||
),
|
||||
width: 400.0,
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
convertDateFormat(String exDate) {
|
||||
const start = "/Date(";
|
||||
const end = "+0300)";
|
||||
|
||||
final startIndex = exDate.indexOf(start);
|
||||
final endIndex = exDate.indexOf(end, startIndex + start.length);
|
||||
|
||||
var date = new DateTime.fromMillisecondsSinceEpoch(
|
||||
int.parse(exDate.substring(startIndex + start.length, endIndex)));
|
||||
String newDate = date.year.toString() +
|
||||
"-" +
|
||||
date.month.toString().padLeft(2, '0') +
|
||||
"-" +
|
||||
date.day.toString().padLeft(2, '0');
|
||||
|
||||
return newDate.toString();
|
||||
}
|
||||
}
|
@ -0,0 +1,311 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:diplomaticquarterapp/config/size_config.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import '../base/base_view.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
|
||||
import 'package:diplomaticquarterapp/core/viewModels/insurance_card_View_model.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/others/rounded_container.dart';
|
||||
import 'package:rating_bar/rating_bar.dart';
|
||||
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
|
||||
|
||||
class InsuranceUpdate extends StatefulWidget {
|
||||
@override
|
||||
_InsuranceUpdateState createState() => _InsuranceUpdateState();
|
||||
}
|
||||
|
||||
class _InsuranceUpdateState extends State<InsuranceUpdate>
|
||||
with SingleTickerProviderStateMixin {
|
||||
TabController _tabController;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_tabController = TabController(length: 2, vsync: this);
|
||||
}
|
||||
|
||||
void dispose() {
|
||||
super.dispose();
|
||||
_tabController.dispose();
|
||||
}
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
return BaseView<InsuranceViewModel>(
|
||||
onModelReady: (model) => model.getInsuranceUpdated(),
|
||||
builder: (BuildContext context, InsuranceViewModel model, Widget child) =>
|
||||
AppScaffold(
|
||||
appBarTitle: 'Insurance Cards',
|
||||
isShowAppBar: true,
|
||||
baseViewModel: model,
|
||||
body: Scaffold(
|
||||
extendBodyBehindAppBar: true,
|
||||
appBar: PreferredSize(
|
||||
preferredSize: Size.fromHeight(70.0),
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
Center(
|
||||
child: Container(
|
||||
height: 60.0,
|
||||
margin: EdgeInsets.only(top: 10.0),
|
||||
width: MediaQuery.of(context).size.width * 1.9,
|
||||
decoration: BoxDecoration(
|
||||
border: Border(
|
||||
bottom: BorderSide(
|
||||
color: Theme.of(context).dividerColor,
|
||||
width: 5.7,
|
||||
),
|
||||
),
|
||||
color: Colors.white,
|
||||
),
|
||||
child: Center(
|
||||
child: TabBar(
|
||||
controller: _tabController,
|
||||
isScrollable: true,
|
||||
indicatorWeight: 4.0,
|
||||
indicatorColor: Colors.red,
|
||||
labelColor: Theme.of(context).primaryColor,
|
||||
labelPadding: EdgeInsets.symmetric(
|
||||
horizontal: 13.0, vertical: 2.0),
|
||||
unselectedLabelColor: Colors.grey,
|
||||
tabs: <Widget>[
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.35,
|
||||
child: Center(
|
||||
child: Texts('Card'),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: MediaQuery.of(context).size.width * 0.35,
|
||||
child: Center(
|
||||
child: Texts('History'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
),
|
||||
body: Column(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: TabBarView(
|
||||
physics: BouncingScrollPhysics(),
|
||||
controller: _tabController,
|
||||
children: <Widget>[
|
||||
Container(
|
||||
child: ListView.builder(
|
||||
itemCount: model.insuranceUpdate == null
|
||||
? 0
|
||||
: model.insuranceUpdate.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return Container(
|
||||
margin: EdgeInsets.all(10.0),
|
||||
child: Card(
|
||||
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
|
||||
color: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: Container(
|
||||
width: MediaQuery.of(context).size.width,
|
||||
padding: EdgeInsets.all(10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Flex(
|
||||
direction: Axis.horizontal,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 3,
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 2.0,
|
||||
left: 10.0,
|
||||
right: 20.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text("TAMER FANASHEH ",
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
'File No.' +
|
||||
model
|
||||
.insuranceUpdate[
|
||||
index]
|
||||
.patientID
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
model.insuranceUpdate[index]
|
||||
.createdOn,
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Container(
|
||||
// height: MediaQuery.of(context).size.height * 0.12,
|
||||
margin: EdgeInsets.only(top: 20.0),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Container(
|
||||
child: Button(
|
||||
label: 'Fetch',
|
||||
),
|
||||
height: SizeConfig
|
||||
.heightMultiplier *
|
||||
3.8,
|
||||
width:
|
||||
SizeConfig.screenWidth *
|
||||
4.2,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
Container(
|
||||
child: ListView.builder(
|
||||
itemCount: model.insuranceUpdate == null
|
||||
? 0
|
||||
: model.insuranceUpdate.length,
|
||||
itemBuilder: (BuildContext context, int index) {
|
||||
return Container(
|
||||
margin: EdgeInsets.all(10.0),
|
||||
child: Card(
|
||||
margin: EdgeInsets.fromLTRB(8.0, 16.0, 8.0, 8.0),
|
||||
color: Colors.white,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: Container(
|
||||
width: MediaQuery.of(context).size.width,
|
||||
padding: EdgeInsets.all(10.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: <Widget>[
|
||||
Flex(
|
||||
direction: Axis.horizontal,
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
flex: 3,
|
||||
child: Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 2.0,
|
||||
left: 10.0,
|
||||
right: 20.0),
|
||||
child: Column(
|
||||
crossAxisAlignment:
|
||||
CrossAxisAlignment.start,
|
||||
children: <Widget>[
|
||||
Text("TAMER FANASHEH ",
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
'File No.' +
|
||||
model
|
||||
.insuranceUpdate[
|
||||
index]
|
||||
.patientID
|
||||
.toString(),
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
Text(
|
||||
model.insuranceUpdate[index]
|
||||
.createdOn,
|
||||
style: TextStyle(
|
||||
fontSize: 14.0,
|
||||
color: Colors.black,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
letterSpacing: 1.0)),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: Container(
|
||||
// height: MediaQuery.of(context).size.height * 0.12,
|
||||
margin: EdgeInsets.only(top: 20.0),
|
||||
child: Column(
|
||||
children: <Widget>[
|
||||
Image.asset(
|
||||
"assets/images/new-design/confirm_button.png",
|
||||
width: 30.0,
|
||||
height: 30.0),
|
||||
Container(
|
||||
margin: EdgeInsets.only(
|
||||
top: 13.5, left: 2.0),
|
||||
child: Text(
|
||||
model
|
||||
.insuranceUpdate[
|
||||
index]
|
||||
.statusDescription,
|
||||
textAlign:
|
||||
TextAlign.center,
|
||||
style: TextStyle(
|
||||
fontSize: 12.0)),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
)
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}),
|
||||
),
|
||||
////////////////
|
||||
],
|
||||
))
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue