diff --git a/assets/images/new-design/liveCare_logo_icon_white.svg b/assets/images/new-design/liveCare_logo_icon_white.svg
new file mode 100644
index 00000000..52bce9b5
--- /dev/null
+++ b/assets/images/new-design/liveCare_logo_icon_white.svg
@@ -0,0 +1,6 @@
+
diff --git a/lib/config/config.dart b/lib/config/config.dart
index c8df5bad..bd760fee 100644
--- a/lib/config/config.dart
+++ b/lib/config/config.dart
@@ -14,7 +14,7 @@ const PACKAGES_SHOPPING_CART = '/api/shopping_cart_items';
const PACKAGES_ORDERS = '/api/orders';
const BASE_URL = 'https://uat.hmgwebservices.com/';
-// const BASE_URL = 'https://hmgwebservices.com/';
+//const BASE_URL = 'https://hmgwebservices.com/';
// Pharmacy UAT URLs
const BASE_PHARMACY_URL = 'https://uat.hmgwebservices.com/epharmacy/api/';
diff --git a/lib/config/localized_values.dart b/lib/config/localized_values.dart
index eaa99a9e..c3e42ff9 100644
--- a/lib/config/localized_values.dart
+++ b/lib/config/localized_values.dart
@@ -2046,4 +2046,5 @@ const Map localizedValues = {
"en": "Please accept terms & conditions to continue",
"ar": "يرجى قبول الشروط والأحكام للمتابعة"
},
+ "type": {"en": "Type", "ar": "اكتب"},
};
diff --git a/lib/core/service/medical/radiology_service.dart b/lib/core/service/medical/radiology_service.dart
index b0b96e71..fceedf56 100644
--- a/lib/core/service/medical/radiology_service.dart
+++ b/lib/core/service/medical/radiology_service.dart
@@ -11,11 +11,10 @@ class RadiologyService extends BaseService {
hasError = false;
final Map body = new Map();
body['InvoiceNo'] = invoiceNo;
- body['LineIt emNo'] = lineItem;
+ body['LineItemNo'] = lineItem;
body['ProjectID'] = projectId;
- await baseAppClient.post(GET_RAD_IMAGE_URL,
- isAllowAny: true,
+ await baseAppClient.post(GET_RAD_IMAGE_URL, isAllowAny: true,
onSuccess: (dynamic response, int statusCode) {
url = response['Data'];
}, onFailure: (String error, int statusCode) {
@@ -61,11 +60,15 @@ class RadiologyService extends BaseService {
_requestSendRadReportEmail.invoiceNo = finalRadiology.invoiceNo;
_requestSendRadReportEmail.setupID = finalRadiology.setupID;
_requestSendRadReportEmail.doctorName = finalRadiology.doctorName;
- _requestSendRadReportEmail.orderDate = '${finalRadiology.orderDate.year}-${finalRadiology.orderDate.month}-${finalRadiology.orderDate.day}';
- _requestSendRadReportEmail.patientIditificationNum = user.patientIdentificationNo;
+ _requestSendRadReportEmail.orderDate =
+ '${finalRadiology.orderDate.year}-${finalRadiology.orderDate.month}-${finalRadiology.orderDate.day}';
+ _requestSendRadReportEmail.patientIditificationNum =
+ user.patientIdentificationNo;
_requestSendRadReportEmail.patientMobileNumber = user.mobileNumber;
- _requestSendRadReportEmail.patientName = user.firstName + " " + user.lastName;
- _requestSendRadReportEmail.patientIditificationNum = user.patientIdentificationNo;
+ _requestSendRadReportEmail.patientName =
+ user.firstName + " " + user.lastName;
+ _requestSendRadReportEmail.patientIditificationNum =
+ user.patientIdentificationNo;
_requestSendRadReportEmail.projectName = finalRadiology.projectName;
_requestSendRadReportEmail.radResult = finalRadiology.reportData;
_requestSendRadReportEmail.to = user.emailAddress;
diff --git a/lib/pages/feedback/feedback-detail.dart b/lib/pages/feedback/feedback-detail.dart
new file mode 100644
index 00000000..6135aee9
--- /dev/null
+++ b/lib/pages/feedback/feedback-detail.dart
@@ -0,0 +1,62 @@
+import 'package:diplomaticquarterapp/core/model/feedback/COC_items.dart';
+import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
+import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
+import 'package:flutter/material.dart';
+import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
+
+class FeedbackDetails extends StatelessWidget {
+ final COCItem items;
+
+ FeedbackDetails({
+ @required this.items,
+ });
+
+ @override
+ Widget build(BuildContext context) {
+ return AppScaffold(
+ isShowAppBar: true,
+ appBarTitle: TranslationBase.of(context).feedbackTitle,
+ body: Container(
+ margin: EdgeInsets.all(5),
+ padding: EdgeInsets.all(5),
+ color: Colors.white,
+ child: Table(
+ border: TableBorder.all(),
+ columnWidths: const {
+ 0: IntrinsicColumnWidth(),
+ 1: FlexColumnWidth(),
+ 2: FixedColumnWidth(64),
+ },
+ defaultVerticalAlignment: TableCellVerticalAlignment.middle,
+ children: [
+ TableRow(
+ children: [
+ getColumnText(TranslationBase.of(context).feedbackTitle),
+ getColumnText(items.cOCTitle)
+ ],
+ ),
+ TableRow(
+ children: [
+ getColumnText(TranslationBase.of(context).complaint),
+ getColumnText(items.cOCID)
+ ],
+ ),
+ TableRow(
+ children: [
+ getColumnText(TranslationBase.of(context).date),
+ getColumnText(items.date)
+ ],
+ ),
+ TableRow(
+ children: [
+ getColumnText(TranslationBase.of(context).type),
+ getColumnText(items.formType)
+ ],
+ )
+ ])));
+ }
+
+ Widget getColumnText(value) {
+ return Container(child: Texts(value), padding: EdgeInsets.all(5));
+ }
+}
diff --git a/lib/pages/feedback/status_feedback_page.dart b/lib/pages/feedback/status_feedback_page.dart
index 5b297e89..7541855f 100644
--- a/lib/pages/feedback/status_feedback_page.dart
+++ b/lib/pages/feedback/status_feedback_page.dart
@@ -1,11 +1,13 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/viewModels/feedback/feedback_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
+import 'package:diplomaticquarterapp/pages/feedback/feedback-detail.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
+import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@@ -24,11 +26,16 @@ class _StatusFeedbackPageState extends State {
isShowDecPage: false,
body: model.cOCItemList.isNotEmpty
? Container(
- margin: EdgeInsets.only(top: 8.0, left: 8.0, right: 8.0),
+ margin: EdgeInsets.only(
+ top: 8.0, left: 8.0, right: 8.0, bottom: 80),
padding: EdgeInsets.all(15.0),
child: ListView.builder(
itemCount: model.cOCItemList.length,
- itemBuilder: (context, index) => Container(
+ itemBuilder: (context, index) => InkWell(
+ onTap: () {
+ gotodetails(model.cOCItemList[index]);
+ },
+ child: Container(
decoration: BoxDecoration(
shape: BoxShape.rectangle,
border: Border.all(color: Colors.white, width: 0.5),
@@ -87,7 +94,7 @@ class _StatusFeedbackPageState extends State {
],
),
),
- )),
+ ))),
)
: Container(
child: Center(
@@ -128,4 +135,9 @@ class _StatusFeedbackPageState extends State {
),
);
}
+
+ gotodetails(item) {
+ Navigator.pushReplacement(
+ context, FadePage(page: FeedbackDetails(items: item)));
+ }
}
diff --git a/lib/pages/login/forgot-password.dart b/lib/pages/login/forgot-password.dart
index 0bc93081..a0b11cb8 100644
--- a/lib/pages/login/forgot-password.dart
+++ b/lib/pages/login/forgot-password.dart
@@ -76,7 +76,7 @@ class _ForgotPassword extends State {
child: DefaultButton(
TranslationBase.of(context).submit,
() {
- sendPatientIDBySMS();
+ if (mobileNo.length >= 9) sendPatientIDBySMS();
// print(mobileNo.text);
},
color: mobileNo.length >= 9 == true
diff --git a/lib/pages/medical/radiology/radiology_details_page.dart b/lib/pages/medical/radiology/radiology_details_page.dart
index 742e3ddf..f6d12938 100644
--- a/lib/pages/medical/radiology/radiology_details_page.dart
+++ b/lib/pages/medical/radiology/radiology_details_page.dart
@@ -55,44 +55,46 @@ class RadiologyDetailsPage extends StatelessWidget {
),
),
bottomSheet: (projectViewModel.havePrivilege(9) ||
- projectViewModel.havePrivilege(8))
+ projectViewModel.havePrivilege(8))
? Container(
- width: double.infinity,
- height: finalRadiology.dIAPACSURL != ""
- ? MediaQuery.of(context).size.height * 0.25
- : MediaQuery.of(context).size.height * 0.14,
- color: Colors.grey[100],
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: [
- Divider(),
- if (finalRadiology.dIAPACSURL != "" && projectViewModel.havePrivilege(9))
- Container(
- width: MediaQuery.of(context).size.width * 0.8,
- child: Button(
- onTap: () {
- launch(model.radImageURL);
- },
- label: TranslationBase.of(context).openRad,
- backgroundColor: Colors.grey[800],
- ),
- ),
- if (projectViewModel.havePrivilege(8))
- Container(
- width: MediaQuery.of(context).size.width * 0.8,
- child: Button(
- onTap: () {
- showConfirmMessage(
- finalRadiology: finalRadiology, model: model);
- },
- label: TranslationBase.of(context).sendCopyRad,
- loading: model.state == ViewState.BusyLocal,
- backgroundColor: Theme.of(context).primaryColor,
+ width: double.infinity,
+ height: finalRadiology.dIAPACSURL != ""
+ ? MediaQuery.of(context).size.height * 0.25
+ : MediaQuery.of(context).size.height * 0.14,
+ color: Colors.grey[100],
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ Divider(),
+ if (finalRadiology.dIAPACSURL != "" &&
+ projectViewModel.havePrivilege(9))
+ Container(
+ width: MediaQuery.of(context).size.width * 0.8,
+ child: Button(
+ onTap: () {
+ launch(model.radImageURL);
+ },
+ label: TranslationBase.of(context).openRad,
+ backgroundColor: Colors.grey[800],
+ ),
+ ),
+ if (projectViewModel.havePrivilege(8))
+ Container(
+ width: MediaQuery.of(context).size.width * 0.8,
+ child: Button(
+ onTap: () {
+ showConfirmMessage(
+ finalRadiology: finalRadiology, model: model);
+ },
+ label: TranslationBase.of(context).sendCopyRad,
+ loading: model.state == ViewState.BusyLocal,
+ backgroundColor: Theme.of(context).primaryColor,
+ ),
+ )
+ ],
),
)
- ],
- ),
- ):Container()),
+ : Container()),
);
}
diff --git a/lib/pages/rateAppointment/rate_appointment_clinic.dart b/lib/pages/rateAppointment/rate_appointment_clinic.dart
index 7fe38f1b..d1d3388f 100644
--- a/lib/pages/rateAppointment/rate_appointment_clinic.dart
+++ b/lib/pages/rateAppointment/rate_appointment_clinic.dart
@@ -1,23 +1,20 @@
import 'package:diplomaticquarterapp/core/enum/viewstate.dart';
import 'package:diplomaticquarterapp/core/model/rate/appointment_details.dart';
-import 'package:diplomaticquarterapp/core/model/rate/appoitment_rated.dart';
import 'package:diplomaticquarterapp/core/viewModels/appointment_rate_view_model.dart';
import 'package:diplomaticquarterapp/pages/base/base_view.dart';
import 'package:diplomaticquarterapp/pages/landing/landing_page.dart';
import 'package:diplomaticquarterapp/uitl/app_toast.dart';
import 'package:diplomaticquarterapp/uitl/translations_delegate_base.dart';
import 'package:diplomaticquarterapp/widgets/avatar/large_avatar.dart';
-import 'package:diplomaticquarterapp/widgets/buttons/button.dart';
import 'package:diplomaticquarterapp/widgets/buttons/secondary_button.dart';
import 'package:diplomaticquarterapp/widgets/data_display/text.dart';
import 'package:diplomaticquarterapp/widgets/drawer/app_drawer_widget.dart';
-import 'package:diplomaticquarterapp/widgets/input/text_field.dart';
import 'package:diplomaticquarterapp/widgets/others/app_scaffold_widget.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
-import 'package:eva_icons_flutter/eva_icons_flutter.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:hexcolor/hexcolor.dart';
+import 'package:diplomaticquarterapp/uitl/date_uitl.dart';
class RateAppointmentClinic extends StatefulWidget {
final AppointmentDetails appointmentDetails;
@@ -108,15 +105,21 @@ class _RateAppointmentClinicState extends State {
),
Texts(
model.appointmentDetails.projectName,
- bold: true,
+ fontSize: 22,
+ fontWeight: FontWeight.bold,
),
SizedBox(
height: 4,
),
Texts(
- model.appointmentDetails.clinicName,
- bold: true,
+ DateUtil.getMonthDayYearDateFormatted(
+ DateUtil.convertStringToDate(
+ model.appointmentDetails.appointmentDate)),
),
+ SizedBox(
+ height: 8,
+ ),
+ Texts(model.appointmentDetails.startTime),
SizedBox(
height: 8,
)
diff --git a/lib/uitl/translations_delegate_base.dart b/lib/uitl/translations_delegate_base.dart
index b0840b01..5a586814 100644
--- a/lib/uitl/translations_delegate_base.dart
+++ b/lib/uitl/translations_delegate_base.dart
@@ -1642,6 +1642,10 @@ class TranslationBase {
localizedValues["upcoming-pay-options"][locale.languageCode];
String get pleaseAcceptTerms =>
localizedValues["please-accept-terms"][locale.languageCode];
+String get type =>
+ localizedValues["type"][locale.languageCode];
+
+
}
class TranslationBaseDelegate extends LocalizationsDelegate {
diff --git a/lib/uitl/utils.dart b/lib/uitl/utils.dart
index 67e5c6b9..94b23b05 100644
--- a/lib/uitl/utils.dart
+++ b/lib/uitl/utils.dart
@@ -309,17 +309,17 @@ class Utils {
));
}
- if (projectViewModel.havePrivilege(48)) {
- medical.add(InkWell(
- onTap: () =>
- Navigator.push(context, FadePage(page: ActiveMedicationsPage())),
- child: MedicalProfileItem(
- title: TranslationBase.of(context).myMedical,
- imagePath: 'active_medications.png',
- subTitle: TranslationBase.of(context).myMedicalSubtitle,
- ),
- ));
- }
+ //if (projectViewModel.havePrivilege(48)) {
+ medical.add(InkWell(
+ onTap: () =>
+ Navigator.push(context, FadePage(page: ActiveMedicationsPage())),
+ child: MedicalProfileItem(
+ title: TranslationBase.of(context).myMedical,
+ imagePath: 'active_medications.png',
+ subTitle: TranslationBase.of(context).myMedicalSubtitle,
+ ),
+ ));
+ //}
if (projectViewModel.havePrivilege(6)) {
medical.add(InkWell(
@@ -552,27 +552,31 @@ class Utils {
return medical;
}
- static Widget loadNetworkImage({@required String url, BoxFit fitting = BoxFit.cover}){
+ static Widget loadNetworkImage(
+ {@required String url, BoxFit fitting = BoxFit.cover}) {
return CachedNetworkImage(
- placeholderFadeInDuration: Duration(milliseconds: 250),
- fit: fitting,
- imageUrl: url,
- placeholder: (context, url) => Container(
- child: Center(
- child: CircularProgressIndicator()
- )
- ),
- errorWidget: (context, url, error){
- return Icon(Icons.error, color: Colors.red, size: 50,);
- }
- );
+ placeholderFadeInDuration: Duration(milliseconds: 250),
+ fit: fitting,
+ imageUrl: url,
+ placeholder: (context, url) =>
+ Container(child: Center(child: CircularProgressIndicator())),
+ errorWidget: (context, url, error) {
+ return Icon(
+ Icons.error,
+ color: Colors.red,
+ size: 50,
+ );
+ });
}
}
-
-
-
-Widget applyShadow({ Color color = Colors.grey, double shadowOpacity = 0.5, double spreadRadius = 2, double blurRadius = 7, Offset offset = const Offset(2, 2), @required Widget child}){
+Widget applyShadow(
+ {Color color = Colors.grey,
+ double shadowOpacity = 0.5,
+ double spreadRadius = 2,
+ double blurRadius = 7,
+ Offset offset = const Offset(2, 2),
+ @required Widget child}) {
return Container(
decoration: BoxDecoration(
boxShadow: [
@@ -588,7 +592,6 @@ Widget applyShadow({ Color color = Colors.grey, double shadowOpacity = 0.5, doub
);
}
-
Future userData() async {
var userData = AuthenticatedUser.fromJson(
await AppSharedPreferences().getObject(MAIN_USER));
@@ -603,15 +606,15 @@ extension IndexedIterable on Iterable {
}
}
-openAppStore({String androidPackageName, String iOSAppID}) async{
- if(Platform.isAndroid){
- assert(!(androidPackageName == null), "Should have valid value in androidPackageName parameter");
- if((await FlutterHmsGmsAvailability.isGmsAvailable))
+openAppStore({String androidPackageName, String iOSAppID}) async {
+ if (Platform.isAndroid) {
+ assert(!(androidPackageName == null),
+ "Should have valid value in androidPackageName parameter");
+ if ((await FlutterHmsGmsAvailability.isGmsAvailable))
launch("market://details?id=com.ejada.hmg");
- if((await FlutterHmsGmsAvailability.isHmsAvailable))
+ if ((await FlutterHmsGmsAvailability.isHmsAvailable))
launch("appmarket://details?id=com.ejada.hmg");
-
- }else if(Platform.isIOS){
+ } else if (Platform.isIOS) {
assert((iOSAppID == null), "Should have valid value in iOSAppID parameter");
launch("https://itunes.apple.com/kr/app/apple-store/$iOSAppID)");
}