Merge branch 'update_flutter_3.16.0_sdk-upgrade' of http://34.17.182.140/Haroon6138/doctor_app_flutter into ipd-changes-for-vida-plus

# Conflicts:
#	lib/config/config.dart
#	lib/screens/prescription/add_prescription/prescription_form_widget.dart
#	lib/utils/translations_delegate_base_utils.dart
#	lib/utils/utils.dart
ipd-changes-for-vida-plus
Sultan Khan 2 weeks ago
commit aca138550e

@ -11,9 +11,9 @@ const DOCTOR_ROTATION = 'https://doctorrota.hmg.com/';
// const BASE_URL = 'https://hmgwebservices.com/';
// const BASE_URL = 'http://10.20.200.111:1010/';
const BASE_URL = 'https://uat.hmgwebservices.com/';
// const BASE_URL = 'https://uat.hmgwebservices.com/';
// const BASE_URL = 'https://hmgwebservices.com/';
const BASE_URL = 'https://hmgwebservices.com/';
// const BASE_URL = 'https://webservices.hmg.com/';
//
@ -413,7 +413,7 @@ const TRANSACTION_NO = 0;
const LANGUAGE_ID = 2;
const STAMP = '2020-04-27T12:17:17.721Z';
const IP_ADDRESS = '9.9.9.9';
const VERSION_ID = 20.5;
const VERSION_ID = 10.5;
const CHANNEL = 9;
const SESSION_ID = 'BlUSkYymTt';
const IS_LOGIN_FOR_DOCTOR_APP = true;

@ -1,3 +1,5 @@
import 'package:flutter/cupertino.dart';
class InterventionHistoryList{
List<InterventionHistory>? history = [];
InterventionHistoryList.fromJson(Map<String, dynamic> json){
@ -19,6 +21,7 @@ class InterventionHistory {
String? interventionDesc;
int? interventionId;
String? remark;
TextEditingController remarksController = TextEditingController();
InterventionHistory({
this.authizationFormText,

@ -10,9 +10,11 @@ class ScanQrService extends BaseService {
Future getInPatient(
PatientSearchRequestModel requestModel, bool isMyInpatient) async {
hasError = false;
await getDoctorProfile();
await getDoctorProfile(isGetProfile: true);
requestModel.loginDoctorID = doctorProfile!.doctorID;
requestModel.doctorID = 0;
requestModel.from = "0";
requestModel.to = "0";
await baseAppClient.post(
GET_PATIENT_IN_PATIENT_LIST,
onSuccess: (dynamic response, int statusCode) {

@ -9,7 +9,7 @@ class NoData extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Center(
return SingleChildScrollView(
child: Container(
child: ErrorMessage(error: TranslationBase.of(context).noDataAvailable),
),

@ -436,9 +436,10 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
Expanded(child: AppText(projectViewModel.isArabic?model.insuranceApproval[indexInsurance].companyNameN??'':model.insuranceApproval[indexInsurance].companyName??''))
],
),
Row(
children: [
AppText(
model.insuranceApproval[indexInsurance].rceiptOn != null
? Row(
children: [
AppText(
TranslationBase.of(context).receiptOn + ": ",
color: Colors.grey[500],
),
@ -450,7 +451,8 @@ class _InsuranceApprovalsDetailsState extends State<InsuranceApprovalsDetails> {
),
),
],
),
)
: SizedBox.shrink(),
Row(
children: [
AppText(

@ -166,7 +166,7 @@ String noteValidation ="";
children: [
Column(
children: [
PatientProfileHeaderNewDesignAppBar(patient, arrivalType!, patientType!,
PatientProfileHeaderNewDesignAppBar(patient, arrivalType ?? "1", patientType ?? "1",
videoCallDurationStream: videoCallDurationStream,
isInpatient: isInpatient,
isFromLiveCare: isFromLiveCare,

@ -1,3 +1,5 @@
import 'dart:ui';
import 'package:doctor_app_flutter/core/enum/view_state.dart';
import 'package:doctor_app_flutter/core/model/pharmacy-intervention-model/intervention_history.dart';
import 'package:doctor_app_flutter/icons_app/doctor_app_icons.dart';
@ -19,6 +21,7 @@ class PharmacyIntervention extends StatefulWidget {
}
class _PharmacyInterventionState extends State<PharmacyIntervention> {
bool isBottomSheetShown = false;
@override
Widget build(BuildContext context) {
return BaseView<PharmacyInterventionViewModel>(onModelReady: (model) {
@ -29,7 +32,8 @@ class _PharmacyInterventionState extends State<PharmacyIntervention> {
]);
});
}, builder: (_, model, __) {
if (model.interventionHistoryList != null) {
if (model.interventionHistoryList != null && !model.isBottomSheetShown) {
model.toggleBottomOpenValue(true);
WidgetsBinding.instance.addPostFrameCallback((_) {
showBottomSheet(
context,
@ -117,28 +121,23 @@ class _PharmacyInterventionState extends State<PharmacyIntervention> {
showModalBottomSheet(
isDismissible: true,
context: context,
isScrollControlled: true,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
builder: (_) {
return DraggableScrollableSheet(
key: _sheet,
initialChildSize: 0.7,
minChildSize: 0.7,
maxChildSize: 1,
snapSizes: [
0.7, // constraints.maxHeight,
1,
],
expand: false,
controller: _controller,
builder: (_, controller) => InterventionHistoryBottomSheet(
interventionList: interventionHistory,
model: model,
controller: controller,
));
return Padding(
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
child: InterventionHistoryBottomSheet(
interventionList: interventionHistory,
model: model,
),
);
},
).then((value) => model.toggleShowBottomSheetValue());
).then((value) {
model.toggleShowBottomSheetValue();
model.toggleBottomOpenValue(false);
});
}
void SearchDialog(BuildContext context, PharmacyInterventionViewModel model) {

@ -12,6 +12,7 @@ import 'package:intl/intl.dart';
class PharmacyInterventionViewModel extends BaseViewModel {
PharmacyInterventionService _service = locator<PharmacyInterventionService>();
MedicationList? medicationList;
bool isBottomSheetShown = false;
// MedicationList? medicationList = MedicationList.fromJson({
// "entityList": [
@ -630,4 +631,8 @@ class PharmacyInterventionViewModel extends BaseViewModel {
toggleShowBottomSheetValue() {
interventionHistoryList = null;
}
toggleBottomOpenValue(bool bottomSheetValue){
isBottomSheetShown = bottomSheetValue;
}
}

@ -8,80 +8,74 @@ import 'package:flutter/material.dart';
class InterventionHistoryBottomSheet extends StatelessWidget {
final List<InterventionHistory> interventionList;
final ScrollController controller;
// final ScrollController controller;
final PharmacyInterventionViewModel model;
const InterventionHistoryBottomSheet(
{super.key, required this.interventionList, required this.controller, required this.model});
const InterventionHistoryBottomSheet({super.key, required this.interventionList, required this.model});
@override
Widget build(BuildContext context) {
return Material(
color: Color(0xFFF7F7F7),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20), topRight: Radius.circular(20))),
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 20.0, vertical: 32),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase
.of(context)
.histories,
fontWeight: FontWeight.w700,
fontSize: 24,
color: Color(0xFF2B353E),
),
SizedBox(
height: 16,
),
Expanded(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: ListView.separated(
shrinkWrap: true,
controller: controller,
itemCount: interventionList.length,
itemBuilder: (context, index) =>
Material(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10)),
color: Colors.white,
child: InterventionHistoryItem(
interventionHistory: interventionList[index],
onAcceptClick: (intervention, remarks) {
model.updateInterventionDiseaseStatus(
remarks: remarks,
isAccepted: true,
interventionID: interventionList[index].interventionId.toString(),
successMessage: TranslationBase.of(context).interventionAcceptedSuccessfully,
errorMessage: TranslationBase.of(context).unableToPerformTheAction
);
Navigator.pop(context);
},
onRejectClick: (intervention, remarks) {
model.updateInterventionDiseaseStatus(
remarks: remarks,
interventionID: interventionList[index].interventionId.toString(),
successMessage: TranslationBase.of(context).interventionRejectedSuccessfully,
errorMessage: TranslationBase.of(context).unableToPerformTheAction
);
Navigator.pop(context);
},
),
return SizedBox(
height: MediaQuery.sizeOf(context).height * (interventionList.length == 1 ? 0.5 : 0.7),
child: Material(
color: Color(0xFFF7F7F7),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.only(topLeft: Radius.circular(20), topRight: Radius.circular(20))),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 20.0, vertical: 32),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
AppText(
TranslationBase.of(context).histories,
fontWeight: FontWeight.w700,
fontSize: 24,
color: Color(0xFF2B353E),
),
SizedBox(
height: 16,
),
Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
ListView.separated(
shrinkWrap: true,
itemCount: interventionList.length,
physics: BouncingScrollPhysics(),
itemBuilder: (context, index) => Material(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
color: Colors.white,
child: InterventionHistoryItem(
remarksController: interventionList[index].remarksController,
interventionHistory: interventionList[index],
onAcceptClick: (intervention, remarks) {
model.updateInterventionDiseaseStatus(
remarks: remarks,
isAccepted: true,
interventionID: interventionList[index].interventionId.toString(),
successMessage: TranslationBase.of(context).interventionAcceptedSuccessfully,
errorMessage: TranslationBase.of(context).unableToPerformTheAction);
Navigator.pop(context);
},
onRejectClick: (intervention, remarks) {
model.updateInterventionDiseaseStatus(
remarks: remarks,
interventionID: interventionList[index].interventionId.toString(),
successMessage: TranslationBase.of(context).interventionRejectedSuccessfully,
errorMessage: TranslationBase.of(context).unableToPerformTheAction);
Navigator.pop(context);
},
),
separatorBuilder: (_, __) => Divider(),
))
],
),
)
],
),
separatorBuilder: (_, __) => Divider(),
)
],
)
],
),
),
),
),
);

@ -12,7 +12,7 @@ class InterventionHistoryItem extends StatelessWidget {
final Function(InterventionHistory, String) onAcceptClick;
final Function(InterventionHistory, String) onRejectClick;
final TextEditingController remarksController = TextEditingController();
final TextEditingController remarksController;
InterventionHistoryItem({
@ -20,7 +20,8 @@ class InterventionHistoryItem extends StatelessWidget {
required this.interventionHistory,
required this.onAcceptClick,
required this.onRejectClick,
required this.remarksController,
});
@override

@ -339,8 +339,9 @@ getIcdCodeData() async{
});
}),
SizedBox(height: spaceBetweenTextFields),
widget.prescriptionViewModel.icd10DeseaseItems.isNotEmpty ?
// PrescriptionTextFiled(
widget.prescriptionViewModel.icd10DeseaseItems.isNotEmpty
?
// PrescriptionTextFiled(
// hintText: TranslationBase.of(context).nameOrICD,
// elementError: icdCodeError,
// element: icdCode,
@ -595,7 +596,6 @@ getIcdCodeData() async{
}
addMedicationButton(MedicineViewModel model) async {
print("Add");
await locator<AnalyticsService>().logEvent(
eventCategory: "Add Prescription Form",
eventAction: "Add Prescription",
@ -711,4 +711,4 @@ getIcdCodeData() async{
}
formKey.currentState!.save();
}
}
}

@ -112,6 +112,8 @@ class _QrReaderScreenState extends State<QrReaderScreen> {
Navigator.of(context).pushNamed(PATIENTS_PROFILE, arguments: {
"patient": model.inPatientList[0],
"isInpatient": true,
"patientType": "1",
"arrivalType": "1",
});
} else {
DrAppToastMsg.showErrorToast(model.error);

@ -141,8 +141,16 @@ class Utils {
}
static Future<bool> checkConnection() async {
List<ConnectivityResult> result = await (Connectivity().checkConnectivity());
return true;
List<ConnectivityResult> connectivityResult = await (Connectivity().checkConnectivity());
if (connectivityResult.contains(ConnectivityResult.mobile) ||
connectivityResult.contains(ConnectivityResult.wifi) ||
connectivityResult.contains(ConnectivityResult.ethernet) ||
connectivityResult.contains(ConnectivityResult.bluetooth) ||
connectivityResult.contains(ConnectivityResult.vpn)) {
return true;
} else {
return false;
}
// return result.contains(ConnectivityResult.wifi)||result.contains(ConnectivityResult.mobile);
}

Loading…
Cancel
Save