Merge branch 'development' of https://gitlab.com/Cloud_Solution/doctor_app_flutter into flutter_vervion_2_by_elham

 Conflicts:
	lib/core/service/patient/profile/discharge_summary_servive.dart
	lib/core/viewModel/profile/discharge_summary_view_model.dart
	lib/screens/patients/profile/discharge_summary/all_discharge_summary.dart
	lib/screens/patients/profile/discharge_summary/discharge_summary.dart
	lib/screens/patients/profile/discharge_summary/pending_discharge_summary.dart
merge-requests/890/head
Elham Rababh 4 years ago
commit f4a9ab14c8

@ -346,7 +346,6 @@ const GET_MEDICATION_FOR_IN_PATIENT =
const GET_EPISODE_FOR_INPATIENT = const GET_EPISODE_FOR_INPATIENT =
"/Services/DoctorApplication.svc/REST/DoctorApp_GetEpisodeForInpatient"; "/Services/DoctorApplication.svc/REST/DoctorApp_GetEpisodeForInpatient";
///Operation Details Services ///Operation Details Services
const GET_RESERVATIONS = const GET_RESERVATIONS =
@ -377,12 +376,15 @@ const SEND_ACTIVATION_CODE_BY_OTP_NOT_TYPE_FOR_REGISTRATION =
"Services/Authentication.svc/REST/SendActivationCodebyOTPNotificationTypeForRegistration"; "Services/Authentication.svc/REST/SendActivationCodebyOTPNotificationTypeForRegistration";
const CHECK_ACTIVATION_CODE_FOR_PATIENT = const CHECK_ACTIVATION_CODE_FOR_PATIENT =
"Services/Authentication.svc/REST/CheckActivationCode"; "Services/Authentication.svc/REST/CheckActivationCode";
const PATIENT_REGISTRATION = "Services/Authentication.svc/REST/PatientRegistration"; const PATIENT_REGISTRATION =
const GET_PATIENT_INFO= "Services/NHIC.svc/REST/GetPatientInfo"; "Services/Authentication.svc/REST/PatientRegistration";
const GET_PATIENT_INFO = "Services/NHIC.svc/REST/GetPatientInfo";
/// Discharge Summary /// Discharge Summary
const GET_PENDING_DISCHARGE_SUMMARY = "Services/DoctorApplication.svc/REST/DoctorApp_GetPendingDischargeSummary"; const GET_PENDING_DISCHARGE_SUMMARY =
"Services/DoctorApplication.svc/REST/DoctorApp_GetPendingDischargeSummary";
const GET_ALL_DISCHARGE_SUMMARY =
"Services/DoctorApplication.svc/REST/DoctorApp_GetDischargeSummary";
var selectedPatientType = 1; var selectedPatientType = 1;

@ -10,18 +10,40 @@ import 'package:doctor_app_flutter/models/operation_report/get_reservations_requ
class DischargeSummaryService extends BaseService { class DischargeSummaryService extends BaseService {
List<GetDischargeSummaryResModel> _pendingDischargeSummaryList = []; List<GetDischargeSummaryResModel> _pendingDischargeSummaryList = [];
List<GetDischargeSummaryResModel> get pendingDischargeSummaryList => _pendingDischargeSummaryList; List<GetDischargeSummaryResModel> get pendingDischargeSummaryList =>
_pendingDischargeSummaryList;
List<GetDischargeSummaryResModel> _allDischargeSummaryList = [];
List<GetDischargeSummaryResModel> get allDischargeSummaryList =>
_allDischargeSummaryList;
Future getPendingDischargeSummary( Future getPendingDischargeSummary(
{required GetDischargeSummaryReqModel getDischargeSummaryReqModel}) async { {required GetDischargeSummaryReqModel getDischargeSummaryReqModel}) async {
hasError = false; hasError = false;
await baseAppClient.post(GET_PENDING_DISCHARGE_SUMMARY, await baseAppClient.post(GET_PENDING_DISCHARGE_SUMMARY,
onSuccess: (dynamic response, int statusCode) { onSuccess: (dynamic response, int statusCode) {
_pendingDischargeSummaryList.clear(); _pendingDischargeSummaryList.clear();
response['List_PendingDischargeSummary'].forEach( response['List_PendingDischargeSummary'].forEach(
(v) { (v) {
_pendingDischargeSummaryList.add(GetDischargeSummaryResModel.fromJson(v)); _pendingDischargeSummaryList
.add(GetDischargeSummaryResModel.fromJson(v));
},
);
}, onFailure: (String error, int statusCode) {
hasError = true;
super.error = error;
}, body: getDischargeSummaryReqModel.toJson());
}
Future getAllDischargeSummary(
{GetDischargeSummaryReqModel getDischargeSummaryReqModel}) async {
hasError = false;
await baseAppClient.post(GET_ALL_DISCHARGE_SUMMARY,
onSuccess: (dynamic response, int statusCode) {
_allDischargeSummaryList.clear();
response['List_DischargeSummary'].forEach(
(v) {
_allDischargeSummaryList.add(GetDischargeSummaryResModel.fromJson(v));
}, },
); );
}, onFailure: (String error, int statusCode) { }, onFailure: (String error, int statusCode) {

@ -15,6 +15,10 @@ class DischargeSummaryViewModel extends BaseViewModel {
_dischargeSummaryService.pendingDischargeSummaryList; _dischargeSummaryService.pendingDischargeSummaryList;
List<GetDischargeSummaryResModel> get allDisChargeSummaryList =>
_dischargeSummaryService.allDischargeSummaryList;
Future getPendingDischargeSummary({required int patientId, required int admissionNo, }) async { Future getPendingDischargeSummary({required int patientId, required int admissionNo, }) async {
GetDischargeSummaryReqModel getDischargeSummaryReqModel = GetDischargeSummaryReqModel(admissionNo:admissionNo,patientID: patientId ); GetDischargeSummaryReqModel getDischargeSummaryReqModel = GetDischargeSummaryReqModel(admissionNo:admissionNo,patientID: patientId );
hasError = false; hasError = false;
@ -28,4 +32,19 @@ class DischargeSummaryViewModel extends BaseViewModel {
} }
} }
Future getAllDischargeSummary({int patientId, int admissionNo, }) async {
GetDischargeSummaryReqModel getDischargeSummaryReqModel = GetDischargeSummaryReqModel(admissionNo:admissionNo,patientID: patientId );
hasError = false;
setState(ViewState.Busy);
await _dischargeSummaryService.getAllDischargeSummary(getDischargeSummaryReqModel: getDischargeSummaryReqModel);
if (_dischargeSummaryService.hasError) {
error = _dischargeSummaryService.error;
setState(ViewState.ErrorLocal);
} else {
setState(ViewState.Idle);
}
}
} }

File diff suppressed because it is too large Load Diff

@ -28,69 +28,73 @@ class GetDischargeSummaryResModel {
int editedBy; int editedBy;
String editedOn; String editedOn;
bool isPatientDied; bool isPatientDied;
Null isMedicineApproved; dynamic isMedicineApproved;
Null isOpenBillDischarge; dynamic isOpenBillDischarge;
Null activatedDate; dynamic activatedDate;
Null activatedBy; dynamic activatedBy;
Null lAMA; dynamic lAMA;
Null patientCodition; dynamic patientCodition;
Null others; dynamic others;
Null reconciliationInstruction; dynamic reconciliationInstruction;
String dischargeInstructions; String dischargeInstructions;
String reason; String reason;
Null dischargeDisposition; dynamic dischargeDisposition;
Null hospitalID; dynamic hospitalID;
String createdByName; String createdByName;
Null createdByNameN; dynamic createdByNameN;
String editedByName; String editedByName;
Null editedByNameN; dynamic editedByNameN;
String clinicName;
String projectName;
GetDischargeSummaryResModel( GetDischargeSummaryResModel(
{this.setupID, {this.setupID,
this.projectID, this.projectID,
this.dischargeNo, this.dischargeNo,
this.dischargeDate, this.dischargeDate,
this.admissionNo, this.admissionNo,
this.assessmentNo, this.assessmentNo,
this.patientType, this.patientType,
this.patientID, this.patientID,
this.clinicID, this.clinicID,
this.doctorID, this.doctorID,
this.finalDiagnosis, this.finalDiagnosis,
this.persentation, this.persentation,
this.pastHistory, this.pastHistory,
this.planOfCare, this.planOfCare,
this.investigations, this.investigations,
this.followupPlan, this.followupPlan,
this.conditionOnDischarge, this.conditionOnDischarge,
this.significantFindings, this.significantFindings,
this.planedProcedure, this.planedProcedure,
this.daysStayed, this.daysStayed,
this.remarks, this.remarks,
this.eRCare, this.eRCare,
this.status, this.status,
this.isActive, this.isActive,
this.createdBy, this.createdBy,
this.createdOn, this.createdOn,
this.editedBy, this.editedBy,
this.editedOn, this.editedOn,
this.isPatientDied, this.isPatientDied,
this.isMedicineApproved, this.isMedicineApproved,
this.isOpenBillDischarge, this.isOpenBillDischarge,
this.activatedDate, this.activatedDate,
this.activatedBy, this.activatedBy,
this.lAMA, this.lAMA,
this.patientCodition, this.patientCodition,
this.others, this.others,
this.reconciliationInstruction, this.reconciliationInstruction,
this.dischargeInstructions, this.dischargeInstructions,
this.reason, this.reason,
this.dischargeDisposition, this.dischargeDisposition,
this.hospitalID, this.hospitalID,
this.createdByName, this.createdByName,
this.createdByNameN, this.createdByNameN,
this.editedByName, this.editedByName,
this.editedByNameN}); this.editedByNameN,
this.clinicName,
this.projectName});
GetDischargeSummaryResModel.fromJson(Map<String, dynamic> json) { GetDischargeSummaryResModel.fromJson(Map<String, dynamic> json) {
setupID = json['SetupID']; setupID = json['SetupID'];
@ -138,6 +142,8 @@ class GetDischargeSummaryResModel {
createdByNameN = json['CreatedByNameN']; createdByNameN = json['CreatedByNameN'];
editedByName = json['EditedByName']; editedByName = json['EditedByName'];
editedByNameN = json['EditedByNameN']; editedByNameN = json['EditedByNameN'];
clinicName = json['ClinicDescription'];
projectName = json['ProjectName'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -187,6 +193,9 @@ class GetDischargeSummaryResModel {
data['CreatedByNameN'] = this.createdByNameN; data['CreatedByNameN'] = this.createdByNameN;
data['EditedByName'] = this.editedByName; data['EditedByName'] = this.editedByName;
data['EditedByNameN'] = this.editedByNameN; data['EditedByNameN'] = this.editedByNameN;
data['ClinicDescription'] = this.clinicName;
data['ProjectName'] = this.projectName;
return data; return data;
} }
} }

@ -1,65 +1,92 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/screens/doctor/doctor_replay/doctor_reply_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'discharge_Summary_widget.dart'; import 'discharge_Summary_widget.dart';
class AllDischargeSummary extends StatefulWidget { class AllDischargeSummary extends StatefulWidget {
final Function changeCurrentTab;
final PatiantInformtion patient;
const AllDischargeSummary({Key? key}) : super(key: key); const AllDischargeSummary({this.changeCurrentTab, this.patient});
@override @override
_AllDischargeSummaryState createState() => _AllDischargeSummaryState(); _AllDischargeSummaryState createState() => _AllDischargeSummaryState();
} }
class _AllDischargeSummaryState extends State<AllDischargeSummary> { class _AllDischargeSummaryState extends State<AllDischargeSummary> {
int pageIndex = 1; int pageIndex = 1;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return BaseView<DischargeSummaryViewModel>( return BaseView<DischargeSummaryViewModel>(
onModelReady: (model) { onModelReady: (model) {
model.getPendingDischargeSummary(); model.getAllDischargeSummary(
patientId: widget.patient.patientId,
admissionNo: int.parse(widget.patient.admissionNo),
);
}, },
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
baseViewModel: model, baseViewModel: model,
isShowAppBar: false, isShowAppBar: false,
body: model.pendingDischargeSummaryList.isEmpty body: // DrAppEmbeddedError(error: TranslationBase.of(context).noItem)
?ErrorMessage(error: TranslationBase.of(context).noItem!)// DrAppEmbeddedError(error: TranslationBase.of(context).noItem!) model.allDisChargeSummaryList.isEmpty
: Column( ? ErrorMessage(
children: [ error: TranslationBase.of(context).noDataAvailable)
Expanded( : Column(
child: Container( children: [
padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0), Padding(
child: ListView.builder( padding: const EdgeInsets.all(8.0),
scrollDirection: Axis.vertical, child: Column(
itemCount: model.pendingDischargeSummaryList.length, children: [
shrinkWrap: true, Row(
itemBuilder: (BuildContext ctxt, int index) { children: [
return Column( AppText(
children: [ TranslationBase.of(context).discharge,
InkWell( fontSize: 15.0,
child: DischargeSummaryWidget( fontWeight: FontWeight.w600,
dischargeSummary: model fontFamily: 'Poppins',
.pendingDischargeSummaryList[index]), ),
), ],
),
], Row(
); children: [
}), AppText(
), TranslationBase.of(context).summary,
), fontSize: 25.0,
], fontWeight: FontWeight.w700,
), ),
],
),
],
),
),
Expanded(
child: Container(
padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0),
child: ListView.builder(
scrollDirection: Axis.vertical,
itemCount: model.allDisChargeSummaryList.length,
shrinkWrap: true,
itemBuilder: (BuildContext ctxt, int index) {
return Column(
children: [
InkWell(
child: DischargeSummaryWidget(
dischargeSummary: model
.allDisChargeSummaryList[index]),
),
],
);
}),
),
),
],
),
), ),
); );
} }

@ -1,19 +1,17 @@
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart'; import 'package:doctor_app_flutter/models/discharge_summary/GetDischargeSummaryResModel.dart';
import 'package:doctor_app_flutter/models/doctor/list_gt_my_patients_question_model.dart';
import 'package:doctor_app_flutter/util/date-utils.dart'; import 'package:doctor_app_flutter/util/date-utils.dart';
import 'package:doctor_app_flutter/util/helpers.dart'; import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/card_with_bg_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/expandable-widget-header-body.dart';
import 'package:doctor_app_flutter/widgets/shared/user-guid/CusomRow.dart'; import 'package:doctor_app_flutter/widgets/shared/user-guid/CusomRow.dart';
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
class DischargeSummaryWidget extends StatefulWidget { class DischargeSummaryWidget extends StatefulWidget {
final GetDischargeSummaryResModel dischargeSummary; final GetDischargeSummaryResModel dischargeSummary;
@ -26,27 +24,55 @@ class DischargeSummaryWidget extends StatefulWidget {
} }
class _DischargeSummaryWidgetState extends State<DischargeSummaryWidget> { class _DischargeSummaryWidgetState extends State<DischargeSummaryWidget> {
bool isCardExpanded = false;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
ProjectViewModel projectViewModel = Provider.of(context); ProjectViewModel projectViewModel = Provider.of(context);
return Container( return Column(
child: CardWithBgWidget( children: [
bgColor:Colors.transparent, Container(
hasBorder: false, width: double.infinity,
widget: Container( margin: EdgeInsets.only(top: 8.0, left: 8.0, right: 8.0),
child: InkWell( padding: EdgeInsets.all(8.0),
child: Column( decoration: BoxDecoration(
crossAxisAlignment: CrossAxisAlignment.start, color: Colors.white,
children: [ borderRadius: BorderRadius.all(
Row( Radius.circular(10.0),
),
border: Border.all(color: Colors.grey[200], width: 0.5),
),
child: Padding(
padding: EdgeInsets.all(15.0),
child: HeaderBodyExpandableNotifier(
headerWidget: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
Column( Column(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
AppText( CustomRow(
AppDateUtils.getDateTimeFromServerFormat( label: TranslationBase.of(context).doctorName + ": ",
value:
widget.dischargeSummary.createdByName.toString() ??
"".toString(),
isCopyable: false,
),
CustomRow(
label: TranslationBase.of(context).branch + ": ",
value: widget.dischargeSummary.projectName.toString() ??
"".toString(),
isCopyable: false,
),
CustomRow(
label: TranslationBase.of(context).clinicName + ": ",
value: widget.dischargeSummary.clinicName.toString() ??
"".toString(),
isCopyable: false,
),
CustomRow(
label: TranslationBase.of(context).dischargeDate + ": ",
value: AppDateUtils.getDateTimeFromServerFormat(
widget.dischargeSummary.createdOn) widget.dischargeSummary.createdOn)
.day .day
.toString() + .toString() +
@ -62,61 +88,149 @@ class _DischargeSummaryWidgetState extends State<DischargeSummaryWidget> {
widget.dischargeSummary.createdOn) widget.dischargeSummary.createdOn)
.year .year
.toString(), .toString(),
fontFamily: 'Poppins', isCopyable: false,
fontWeight: FontWeight.w600,
), ),
AppText( ],
AppDateUtils.getDateTimeFromServerFormat( ),
widget.dischargeSummary.createdOn) Column(
.hour crossAxisAlignment: CrossAxisAlignment.end,
.toString() + children: [
":" + InkWell(
AppDateUtils.getDateTimeFromServerFormat( onTap: () {
widget.dischargeSummary.createdOn) setState(() {
.minute isCardExpanded = !isCardExpanded;
.toString(), });
fontFamily: 'Poppins', },
fontWeight: FontWeight.w600, child: Icon(isCardExpanded
) ? EvaIcons.arrowUp
: EvaIcons.arrowDown))
], ],
), ),
], ],
), ),
SizedBox( bodyWidget: Row(
height: 20,
),
Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [ children: [
SizedBox(
width: 20,
),
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
// SizedBox(height: 10,), SizedBox(
Row( height: 15.0,
mainAxisAlignment: MainAxisAlignment.spaceBetween, ),
crossAxisAlignment: CrossAxisAlignment.start, AppText("More Details"),
children: [ SizedBox(
Column( height: 15.0,
crossAxisAlignment: CrossAxisAlignment.start, ),
children: [ Container(
CustomRow( width: MediaQuery.of(context).size.width * 0.5,
label: TranslationBase.of(context).fileNumber, child: RichText(
value: widget.dischargeSummary.patientID.toString(), maxLines: 3,
isCopyable:false, overflow: TextOverflow.ellipsis,
), text: new TextSpan(
SizedBox( style: new TextStyle(
height: 8, fontSize: 1.3 * SizeConfig.textMultiplier,
), color: Color(0xFF575757)),
children: <TextSpan>[
new TextSpan(
text: "Past History" + ": ",
style: TextStyle(
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
2.8,
color: Color(0xFF575757),
//TranslationBase.of(context).doctorResponse + " : ",
)),
new TextSpan(
text: Helpers.parseHtmlString(
widget.dischargeSummary.pastHistory),
style: TextStyle(
fontFamily: 'Poppins',
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
3,
color: Color(0xFF2E303A),
fontWeight: FontWeight.w700,
)),
], ],
), ),
], ),
),
SizedBox(
height: 5.0,
),
Container(
width: MediaQuery.of(context).size.width * 0.5,
child: RichText(
maxLines: 3,
overflow: TextOverflow.ellipsis,
text: new TextSpan(
style: new TextStyle(
fontSize: 1.3 * SizeConfig.textMultiplier,
color: Color(0xFF575757)),
children: <TextSpan>[
new TextSpan(
text: "Investigations" + ": ",
style: TextStyle(
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
2.8,
color: Color(0xFF575757),
//TranslationBase.of(context).doctorResponse + " : ",
)),
new TextSpan(
text: Helpers.parseHtmlString(
widget.dischargeSummary.investigations ??
""),
style: TextStyle(
fontFamily: 'Poppins',
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
3,
color: Color(0xFF2E303A),
fontWeight: FontWeight.w700,
)),
],
),
),
),
SizedBox(
height: 5.0,
),
Container(
width: MediaQuery.of(context).size.width * 0.5,
child: RichText(
maxLines: 3,
overflow: TextOverflow.ellipsis,
text: new TextSpan(
style: new TextStyle(
fontSize: 1.3 * SizeConfig.textMultiplier,
color: Color(0xFF575757)),
children: <TextSpan>[
new TextSpan(
text: "Condition On Discharge" + ": ",
style: TextStyle(
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
2.8,
color: Color(0xFF575757),
//TranslationBase.of(context).doctorResponse + " : ",
)),
new TextSpan(
text: Helpers.parseHtmlString(widget
.dischargeSummary.conditionOnDischarge),
style: TextStyle(
fontFamily: 'Poppins',
fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() *
3,
color: Color(0xFF2E303A),
fontWeight: FontWeight.w700,
)),
],
),
),
),
SizedBox(
height: 5.0,
), ),
Container( Container(
width: MediaQuery.of(context).size.width * 0.5, width: MediaQuery.of(context).size.width * 0.5,
child: RichText( child: RichText(
@ -128,9 +242,7 @@ class _DischargeSummaryWidgetState extends State<DischargeSummaryWidget> {
color: Color(0xFF575757)), color: Color(0xFF575757)),
children: <TextSpan>[ children: <TextSpan>[
new TextSpan( new TextSpan(
text: text: "Planed Procedure" + ": ",
TranslationBase.of(context).requestType +
": ",
style: TextStyle( style: TextStyle(
fontSize: SizeConfig fontSize: SizeConfig
.getTextMultiplierBasedOnWidth() * .getTextMultiplierBasedOnWidth() *
@ -139,8 +251,8 @@ class _DischargeSummaryWidgetState extends State<DischargeSummaryWidget> {
//TranslationBase.of(context).doctorResponse + " : ", //TranslationBase.of(context).doctorResponse + " : ",
)), )),
new TextSpan( new TextSpan(
text: text: Helpers.parseHtmlString(
"${widget.dischargeSummary.dischargeInstructions}", widget.dischargeSummary.planedProcedure),
style: TextStyle( style: TextStyle(
fontFamily: 'Poppins', fontFamily: 'Poppins',
fontSize: SizeConfig fontSize: SizeConfig
@ -157,15 +269,11 @@ class _DischargeSummaryWidgetState extends State<DischargeSummaryWidget> {
) )
], ],
), ),
// Container( isExpand: isCardExpanded,
// alignment: projectViewModel.isArabic?Alignment.centerLeft:Alignment.centerRight, ),
// child: Icon(FontAwesomeIcons.arrowRight,
// size: 20, color: Colors.black),)
],
), ),
// onTap: onTap, ),
)), ],
),
); );
} }
} }

@ -1,18 +1,9 @@
import 'package:doctor_app_flutter/config/size_config.dart'; import 'package:doctor_app_flutter/config/size_config.dart';
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/screens/doctor/doctor_replay/doctor_repaly_chat.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/screens/doctor/doctor_replay/doctor_reply_widget.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart'; import 'package:doctor_app_flutter/widgets/patients/profile/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
import 'package:doctor_app_flutter/widgets/shared/loader/gif_loader_dialog_utils.dart';
import 'package:doctor_app_flutter/widgets/shared/text_fields/text_fields_utils.dart'; import 'package:doctor_app_flutter/widgets/shared/text_fields/text_fields_utils.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -23,7 +14,8 @@ import 'pending_discharge_summary.dart';
class DischargeSummaryPage extends StatefulWidget { class DischargeSummaryPage extends StatefulWidget {
final Function changeCurrentTab; final Function changeCurrentTab;
const DischargeSummaryPage({Key? key, this.changeCurrentTab}) : super(key: key); const DischargeSummaryPage({Key? key, this.changeCurrentTab})
: super(key: key);
@override @override
_DoctorReplyScreenState createState() => _DoctorReplyScreenState(); _DoctorReplyScreenState createState() => _DoctorReplyScreenState();
@ -125,8 +117,10 @@ class _DoctorReplyScreenState extends State<DischargeSummaryPage>
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
controller: _tabController, controller: _tabController,
children: [ children: [
PendingDischargeSummary(patient:patient ,), PendingDischargeSummary(
AllDischargeSummary(), patient: patient,
),
AllDischargeSummary(patient: patient),
], ],
), ),
), ),

@ -1,16 +1,11 @@
import 'package:doctor_app_flutter/core/enum/viewstate.dart';
import 'package:doctor_app_flutter/core/viewModel/doctor_replay_view_model.dart';
import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view_model.dart'; import 'package:doctor_app_flutter/core/viewModel/profile/discharge_summary_view_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart'; import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart'; import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart'; import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/screens/doctor/doctor_replay/doctor_reply_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart'; import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart'; import 'package:doctor_app_flutter/widgets/shared/app_texts_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/dr_app_embedded_error.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart'; import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'discharge_Summary_widget.dart'; import 'discharge_Summary_widget.dart';
class PendingDischargeSummary extends StatefulWidget { class PendingDischargeSummary extends StatefulWidget {
@ -33,9 +28,8 @@ class _PendingDischargeSummaryState extends State<PendingDischargeSummary> {
return BaseView<DischargeSummaryViewModel>( return BaseView<DischargeSummaryViewModel>(
onModelReady: (model) { onModelReady: (model) {
model.getPendingDischargeSummary( model.getPendingDischargeSummary(
patientId: widget.patient.patientId, patientId: widget.patient.patientId,
admissionNo: int.parse(widget.patient.admissionNo), admissionNo: int.parse(widget.patient.admissionNo),
); );
}, },
builder: (_, model, w) => AppScaffold( builder: (_, model, w) => AppScaffold(
@ -44,9 +38,35 @@ class _PendingDischargeSummaryState extends State<PendingDischargeSummary> {
body: model.pendingDischargeSummaryList.isEmpty body: model.pendingDischargeSummaryList.isEmpty
? ErrorMessage( ? ErrorMessage(
error: TranslationBase.of(context) error: TranslationBase.of(context)
.noItem) // DrAppEmbeddedError(error: TranslationBase.of(context).noItem!) .noDataAvailable) // DrAppEmbeddedError(error: TranslationBase.of(context).noItem!)
: Column( : Column(
children: [ children: [
Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
Row(
children: [
AppText(
TranslationBase.of(context).discharge,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
),
],
),
Row(
children: [
AppText(
TranslationBase.of(context).summary,
fontSize: 25.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
),
Expanded( Expanded(
child: Container( child: Container(
padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0), padding: EdgeInsetsDirectional.fromSTEB(30, 0, 30, 0),

@ -36,28 +36,60 @@ class PendingOrdersScreen extends StatelessWidget {
model.pendingOrdersList.length == 0 model.pendingOrdersList.length == 0
? DrAppEmbeddedError( ? DrAppEmbeddedError(
error: TranslationBase.of(context).noDataAvailable) error: TranslationBase.of(context).noDataAvailable)
: Container( : Column(
child: ListView.builder( children: [
itemCount: model.pendingOrdersList.length, Padding(
itemBuilder: (BuildContext ctxt, int index) { padding: const EdgeInsets.all(8.0),
return Padding( child: Column(
padding: EdgeInsets.all(8.0), children: [
child: Container( Row(
decoration: BoxDecoration( children: [
borderRadius: BorderRadius.all( AppText(
Radius.circular(10.0), TranslationBase.of(context).pending,
fontSize: 15.0,
fontWeight: FontWeight.w600,
fontFamily: 'Poppins',
), ),
border: Border.all( ],
color: Color(0xFF707070), width: 0.30),
),
child: Padding(
padding: EdgeInsets.all(8.0),
child:
AppText(model.pendingOrdersList[index].notes),
),
), ),
); Row(
})), children: [
AppText(
TranslationBase.of(context).orders,
fontSize: 25.0,
fontWeight: FontWeight.w700,
),
],
),
],
),
),
Container(
child: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: model.pendingOrdersList.length,
itemBuilder: (BuildContext ctxt, int index) {
return Padding(
padding: EdgeInsets.all(8.0),
child: Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(
color: Color(0xFF707070), width: 0.30),
),
child: Padding(
padding: EdgeInsets.all(8.0),
child: AppText(
model.pendingOrdersList[index].notes),
),
),
);
})),
],
),
), ),
); );
} }

Loading…
Cancel
Save