insurance update update
							parent
							
								
									d794787459
								
							
						
					
					
						commit
						43fa08b8b6
					
				| @ -0,0 +1,73 @@ | ||||
| class PatientInsuranceCardHistoryResponseModel { | ||||
|   int? createdBy; | ||||
|   String? createdOn; | ||||
|   int? editedBy; | ||||
|   String? editedOn; | ||||
|   String? insuranceCardImage; | ||||
|   String? mobileNumber; | ||||
|   int? patientID; | ||||
|   String? patientIdentificationNo; | ||||
|   String? patientInsuranceCardUpdateInfoID; | ||||
|   int? patientType; | ||||
|   int? projectID; | ||||
|   String? rejectionRemarks; | ||||
|   int? setupID; | ||||
|   int? status; | ||||
|   String? statusDescription; | ||||
| 
 | ||||
|   PatientInsuranceCardHistoryResponseModel( | ||||
|       {this.createdBy, | ||||
|         this.createdOn, | ||||
|         this.editedBy, | ||||
|         this.editedOn, | ||||
|         this.insuranceCardImage, | ||||
|         this.mobileNumber, | ||||
|         this.patientID, | ||||
|         this.patientIdentificationNo, | ||||
|         this.patientInsuranceCardUpdateInfoID, | ||||
|         this.patientType, | ||||
|         this.projectID, | ||||
|         this.rejectionRemarks, | ||||
|         this.setupID, | ||||
|         this.status, | ||||
|         this.statusDescription}); | ||||
| 
 | ||||
|   PatientInsuranceCardHistoryResponseModel.fromJson(Map<String, dynamic> json) { | ||||
|     createdBy = json['CreatedBy']; | ||||
|     createdOn = json['CreatedOn']; | ||||
|     editedBy = json['EditedBy']; | ||||
|     editedOn = json['EditedOn']; | ||||
|     insuranceCardImage = json['InsuranceCardImage']; | ||||
|     mobileNumber = json['MobileNumber']; | ||||
|     patientID = json['PatientID']; | ||||
|     patientIdentificationNo = json['PatientIdentificationNo']; | ||||
|     patientInsuranceCardUpdateInfoID = json['PatientInsuranceCardUpdateInfoID']; | ||||
|     patientType = json['PatientType']; | ||||
|     projectID = json['ProjectID']; | ||||
|     rejectionRemarks = json['RejectionRemarks']; | ||||
|     setupID = json['SetupID']; | ||||
|     status = json['Status']; | ||||
|     statusDescription = json['StatusDescription']; | ||||
|   } | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() { | ||||
|     final Map<String, dynamic> data = new Map<String, dynamic>(); | ||||
|     data['CreatedBy'] = this.createdBy; | ||||
|     data['CreatedOn'] = this.createdOn; | ||||
|     data['EditedBy'] = this.editedBy; | ||||
|     data['EditedOn'] = this.editedOn; | ||||
|     data['InsuranceCardImage'] = this.insuranceCardImage; | ||||
|     data['MobileNumber'] = this.mobileNumber; | ||||
|     data['PatientID'] = this.patientID; | ||||
|     data['PatientIdentificationNo'] = this.patientIdentificationNo; | ||||
|     data['PatientInsuranceCardUpdateInfoID'] = | ||||
|         this.patientInsuranceCardUpdateInfoID; | ||||
|     data['PatientType'] = this.patientType; | ||||
|     data['ProjectID'] = this.projectID; | ||||
|     data['RejectionRemarks'] = this.rejectionRemarks; | ||||
|     data['SetupID'] = this.setupID; | ||||
|     data['Status'] = this.status; | ||||
|     data['StatusDescription'] = this.statusDescription; | ||||
|     return data; | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,88 @@ | ||||
| class PatientInsuranceUpdateResponseModel { | ||||
|   dynamic approvalLimit; | ||||
|   int? companyGroupID; | ||||
|   String? companyName; | ||||
|   String? companyRemarks; | ||||
|   String? dOB; | ||||
|   dynamic deductible; | ||||
|   String? effectiveFrom; | ||||
|   String? effectiveTo; | ||||
|   String? eligabilityFailureReason; | ||||
|   bool? isMemberEligible; | ||||
|   String? memberID; | ||||
|   String? memberName; | ||||
|   String? memberStatus; | ||||
|   dynamic message; | ||||
|   String? nationalId; | ||||
|   String? policyNumber; | ||||
|   String? responseMessage; | ||||
|   dynamic room; | ||||
|   String? subCategory; | ||||
| 
 | ||||
|   PatientInsuranceUpdateResponseModel( | ||||
|       {this.approvalLimit, | ||||
|         this.companyGroupID, | ||||
|         this.companyName, | ||||
|         this.companyRemarks, | ||||
|         this.dOB, | ||||
|         this.deductible, | ||||
|         this.effectiveFrom, | ||||
|         this.effectiveTo, | ||||
|         this.eligabilityFailureReason, | ||||
|         this.isMemberEligible, | ||||
|         this.memberID, | ||||
|         this.memberName, | ||||
|         this.memberStatus, | ||||
|         this.message, | ||||
|         this.nationalId, | ||||
|         this.policyNumber, | ||||
|         this.responseMessage, | ||||
|         this.room, | ||||
|         this.subCategory}); | ||||
| 
 | ||||
|   PatientInsuranceUpdateResponseModel.fromJson(Map<String, dynamic> json) { | ||||
|     approvalLimit = json['ApprovalLimit']; | ||||
|     companyGroupID = json['CompanyGroupID']; | ||||
|     companyName = json['CompanyName']; | ||||
|     companyRemarks = json['CompanyRemarks']; | ||||
|     dOB = json['DOB']; | ||||
|     deductible = json['Deductible']; | ||||
|     effectiveFrom = json['EffectiveFrom']; | ||||
|     effectiveTo = json['EffectiveTo']; | ||||
|     eligabilityFailureReason = json['EligabilityFailureReason']; | ||||
|     isMemberEligible = json['IsMemberEligible']; | ||||
|     memberID = json['MemberID']; | ||||
|     memberName = json['MemberName']; | ||||
|     memberStatus = json['MemberStatus']; | ||||
|     message = json['Message']; | ||||
|     nationalId = json['NationalId']; | ||||
|     policyNumber = json['PolicyNumber']; | ||||
|     responseMessage = json['ResponseMessage']; | ||||
|     room = json['Room']; | ||||
|     subCategory = json['SubCategory']; | ||||
|   } | ||||
| 
 | ||||
|   Map<String, dynamic> toJson() { | ||||
|     final Map<String, dynamic> data = new Map<String, dynamic>(); | ||||
|     data['ApprovalLimit'] = this.approvalLimit; | ||||
|     data['CompanyGroupID'] = this.companyGroupID; | ||||
|     data['CompanyName'] = this.companyName; | ||||
|     data['CompanyRemarks'] = this.companyRemarks; | ||||
|     data['DOB'] = this.dOB; | ||||
|     data['Deductible'] = this.deductible; | ||||
|     data['EffectiveFrom'] = this.effectiveFrom; | ||||
|     data['EffectiveTo'] = this.effectiveTo; | ||||
|     data['EligabilityFailureReason'] = this.eligabilityFailureReason; | ||||
|     data['IsMemberEligible'] = this.isMemberEligible; | ||||
|     data['MemberID'] = this.memberID; | ||||
|     data['MemberName'] = this.memberName; | ||||
|     data['MemberStatus'] = this.memberStatus; | ||||
|     data['Message'] = this.message; | ||||
|     data['NationalId'] = this.nationalId; | ||||
|     data['PolicyNumber'] = this.policyNumber; | ||||
|     data['ResponseMessage'] = this.responseMessage; | ||||
|     data['Room'] = this.room; | ||||
|     data['SubCategory'] = this.subCategory; | ||||
|     return data; | ||||
|   } | ||||
| } | ||||
| @ -0,0 +1,139 @@ | ||||
| import 'package:easy_localization/easy_localization.dart'; | ||||
| import 'package:flutter/cupertino.dart'; | ||||
| import 'package:hmg_patient_app_new/core/app_assets.dart'; | ||||
| import 'package:hmg_patient_app_new/core/utils/date_util.dart'; | ||||
| import 'package:hmg_patient_app_new/core/utils/size_utils.dart'; | ||||
| import 'package:hmg_patient_app_new/core/utils/utils.dart'; | ||||
| import 'package:hmg_patient_app_new/extensions/string_extensions.dart'; | ||||
| import 'package:hmg_patient_app_new/extensions/widget_extensions.dart'; | ||||
| import 'package:hmg_patient_app_new/features/insurance/insurance_view_model.dart'; | ||||
| import 'package:hmg_patient_app_new/generated/locale_keys.g.dart'; | ||||
| import 'package:hmg_patient_app_new/theme/colors.dart'; | ||||
| import 'package:hmg_patient_app_new/widgets/buttons/custom_button.dart'; | ||||
| import 'package:hmg_patient_app_new/widgets/shimmer/movies_shimmer_widget.dart'; | ||||
| import 'package:provider/provider.dart'; | ||||
| 
 | ||||
| class PatientInsuranceCardUpdateCard extends StatelessWidget { | ||||
|   PatientInsuranceCardUpdateCard({super.key}); | ||||
| 
 | ||||
|   late InsuranceViewModel insuranceViewModel; | ||||
| 
 | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     insuranceViewModel = Provider.of<InsuranceViewModel>(context); | ||||
|     return Column( | ||||
|       children: [ | ||||
|         Row( | ||||
|           mainAxisAlignment: MainAxisAlignment.spaceBetween, | ||||
|           children: [ | ||||
|             LocaleKeys.insuranceCards.tr(context: context).toText24(isBold: true), | ||||
|             Utils.buildSvgWithAssets(icon: AppAssets.close_bottom_sheet_icon).onPress(() { | ||||
|               Navigator.of(context).pop(); | ||||
|             }), | ||||
|           ], | ||||
|         ).paddingSymmetrical(24.h, 24.h), | ||||
|         insuranceViewModel.isInsuranceUpdateDetailsLoading | ||||
|             ? const MoviesShimmerWidget().paddingSymmetrical(24.h, 24.h) | ||||
|             : Container( | ||||
|                 // height: 120.h, | ||||
|                 decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | ||||
|                   color: AppColors.whiteColor, | ||||
|                   borderRadius: 24, | ||||
|                 ), | ||||
|                 child: Column( | ||||
|                   crossAxisAlignment: CrossAxisAlignment.start, | ||||
|                   children: [ | ||||
|                     "Haroon Amjad".toText16(weight: FontWeight.w600), | ||||
|                     "Policy: ${insuranceViewModel.patientInsuranceUpdateResponseModel!.policyNumber}".toText12(isBold: true, color: AppColors.lightGrayColor), | ||||
|                     SizedBox(height: 8.h), | ||||
|                     Row( | ||||
|                       children: [ | ||||
|                         insuranceViewModel.patientInsuranceUpdateResponseModel!.companyName!.toText12(isBold: true), | ||||
|                         SizedBox( | ||||
|                           width: 6.h, | ||||
|                         ), | ||||
|                         Container( | ||||
|                           padding: EdgeInsets.symmetric(horizontal: 6.h, vertical: 3.h), | ||||
|                           decoration: RoundedRectangleBorder().toSmoothCornerDecoration( | ||||
|                             color: AppColors.infoColor, | ||||
|                             borderRadius: 50, | ||||
|                           ), | ||||
|                           child: insuranceViewModel.patientInsuranceUpdateResponseModel!.subCategory!.toText8(isBold: true, color: AppColors.whiteColor), | ||||
|                         ), | ||||
|                       ], | ||||
|                     ), | ||||
|                     SizedBox(height: 8.h), | ||||
|                     Row( | ||||
|                       children: [ | ||||
|                         Wrap( | ||||
|                           direction: Axis.horizontal, | ||||
|                           spacing: 4.h, | ||||
|                           runSpacing: 4.h, | ||||
|                           children: [ | ||||
|                             Row( | ||||
|                               children: [ | ||||
|                                 CustomButton( | ||||
|                                   icon: AppAssets.doctor_calendar_icon, | ||||
|                                   iconColor: AppColors.blackColor, | ||||
|                                   iconSize: 13.h, | ||||
|                                   text: "${LocaleKeys.expiryOn.tr(context: context)} ${insuranceViewModel.patientInsuranceUpdateResponseModel!.effectiveTo}", | ||||
|                                   onPressed: () {}, | ||||
|                                   backgroundColor: AppColors.greyColor, | ||||
|                                   borderColor: AppColors.greyColor, | ||||
|                                   textColor: AppColors.blackColor, | ||||
|                                   fontSize: 10, | ||||
|                                   fontWeight: FontWeight.w500, | ||||
|                                   borderRadius: 12, | ||||
|                                   padding: EdgeInsets.fromLTRB(10, 0, 10, 0), | ||||
|                                   height: 30.h, | ||||
|                                 ), | ||||
|                               ], | ||||
|                             ), | ||||
|                             Row( | ||||
|                               children: [ | ||||
|                                 CustomButton( | ||||
|                                   text: "Member ID: ${insuranceViewModel.patientInsuranceUpdateResponseModel!.memberID!}", | ||||
|                                   onPressed: () {}, | ||||
|                                   backgroundColor: AppColors.greyColor, | ||||
|                                   borderColor: AppColors.greyColor, | ||||
|                                   textColor: AppColors.blackColor, | ||||
|                                   fontSize: 10, | ||||
|                                   fontWeight: FontWeight.w500, | ||||
|                                   borderRadius: 12, | ||||
|                                   padding: EdgeInsets.fromLTRB(10, 0, 10, 0), | ||||
|                                   height: 30.h, | ||||
|                                 ), | ||||
|                               ], | ||||
|                             ), | ||||
|                           ], | ||||
|                         ), | ||||
|                       ], | ||||
|                     ), | ||||
|                   ], | ||||
|                 ).paddingSymmetrical(16.h, 16.h), | ||||
|               ).paddingSymmetrical(24.h, 0.h), | ||||
|         SizedBox( | ||||
|           height: 24.h, | ||||
|         ), | ||||
|         CustomButton( | ||||
|           icon: AppAssets.insurance_active_icon, | ||||
|           iconColor: AppColors.whiteColor, | ||||
|           iconSize: 20.h, | ||||
|           text: "Update Insurance", | ||||
|           onPressed: () {}, | ||||
|           backgroundColor: AppColors.successColor, | ||||
|           borderColor: AppColors.successColor.withOpacity(0.01), | ||||
|           textColor: AppColors.whiteColor, | ||||
|           fontSize: 16, | ||||
|           fontWeight: FontWeight.w500, | ||||
|           borderRadius: 12, | ||||
|           padding: EdgeInsets.fromLTRB(10, 0, 10, 0), | ||||
|           height: 56.h, | ||||
|         ).paddingSymmetrical(24.h, 0.h), | ||||
|         SizedBox( | ||||
|           height: 24.h, | ||||
|         ), | ||||
|       ], | ||||
|     ); | ||||
|   } | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue
	
	 Haroon Amjad
						Haroon Amjad