From ef2de6eb56d4d333ea33edb0a6d66c20e0b98ffd Mon Sep 17 00:00:00 2001 From: hussam al-habibeh Date: Thu, 1 Apr 2021 15:32:02 +0300 Subject: [PATCH] adding add procedure & update procedure forms --- lib/screens/procedures/procedure_screen.dart | 33 +- lib/screens/procedures/update-procedure.dart | 481 +++++++++---------- 2 files changed, 267 insertions(+), 247 deletions(-) diff --git a/lib/screens/procedures/procedure_screen.dart b/lib/screens/procedures/procedure_screen.dart index 4f47da43..ca658661 100644 --- a/lib/screens/procedures/procedure_screen.dart +++ b/lib/screens/procedures/procedure_screen.dart @@ -64,7 +64,7 @@ class ProcedureScreen extends StatelessWidget { if (patientType != null && patientType == '7') InkWell( onTap: () { - //TODO Hussam call the add page here + addSelectedProcedure(context, model, patient); }, child: Container( width: double.maxFinite, @@ -112,8 +112,35 @@ class ProcedureScreen extends StatelessWidget { model.procedureList[0].rowcount, (index) => ProcedureCard( entityList: model.procedureList[0].entityList[index], - onTap: (){ - //TODO Hussam call the edit page here + onTap: () { + if (model.procedureList[0].entityList[index] + .categoryID == + 2 || + model.procedureList[0].entityList[index] + .categoryID == + 4) { + updateProcedureForm(context, + model: model, + patient: patient, + remarks: model + .procedureList[0].entityList[index].remarks, + orderType: model.procedureList[0] + .entityList[index].orderType + .toString(), + orderNo: model + .procedureList[0].entityList[index].orderNo, + procedureName: model.procedureList[0] + .entityList[index].procedureName, + categoreId: model.procedureList[0] + .entityList[index].categoryID + .toString(), + procedureId: model.procedureList[0] + .entityList[index].procedureId, + limetNo: model.procedureList[0] + .entityList[index].lineItemNo); + } else + helpers.showErrorToast( + 'You Cant Update This Procedure'); }, ), ), diff --git a/lib/screens/procedures/update-procedure.dart b/lib/screens/procedures/update-procedure.dart index 873e8bcf..0cfe9d53 100644 --- a/lib/screens/procedures/update-procedure.dart +++ b/lib/screens/procedures/update-procedure.dart @@ -102,241 +102,232 @@ class _UpdateProcedureWidgetState extends State { (BuildContext context, ProcedureViewModel model, Widget child) => NetworkBaseView( baseViewModel: model, - child: DraggableScrollableSheet( - minChildSize: 0.90, - initialChildSize: 0.95, - maxChildSize: 1.0, - builder: - (BuildContext context, ScrollController scrollController) { - return SingleChildScrollView( - child: Container( - height: MediaQuery.of(context).size.height * 1.20, - child: Form( - child: Padding( - padding: EdgeInsets.symmetric( - horizontal: 20.0, vertical: 10.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + child: SingleChildScrollView( + child: Container( + height: MediaQuery.of(context).size.height * 0.65, + child: Form( + child: Padding( + padding: + EdgeInsets.symmetric(horizontal: 20.0, vertical: 10.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + AppText( + widget.procedureName.toUpperCase(), + fontWeight: FontWeight.w700, + ), + SizedBox( + height: 30.0, + ), + // Container( + // height: screenSize.height * 0.070, + // child: InkWell( + // onTap: model.categoryList != null && + // model.categoryList.length > 0 + // ? () { + // ListSelectDialog dialog = + // ListSelectDialog( + // list: model.categoryList, + // attributeName: 'categoryName', + // attributeValueId: 'categoryId', + // okText: + // TranslationBase.of(context).ok, + // okFunction: (selectedValue) { + // setState(() { + // selectedCategory = + // selectedValue; + // model.getProcedureCategory( + // categoryName: + // selectedCategory[ + // 'categoryName'], + // categoryID: selectedCategory[ + // 'categoryId'] <= + // 9 + // ? "0" + + // selectedCategory[ + // 'categoryId'] + // .toString() + // : selectedCategory[ + // 'categoryId'] + // .toString()); + // }); + // }, + // ); + // showDialog( + // barrierDismissible: false, + // context: context, + // builder: (BuildContext context) { + // return dialog; + // }, + // ); + // //model.getProcedureCategory(); + // } + // : null, + // child: TextField( + // decoration: textFieldSelectorDecoration( + // TranslationBase.of(context) + // .procedureCategorise, + // selectedCategory != null + // ? selectedCategory['categoryName'] + // : null, + // true, + // suffixIcon: Icon( + // Icons.search, + // color: Colors.black, + // )), + // enabled: false, + // ), + // ), + // ), + // if (widget.model.categoriesList.length != 0) + // NetworkBaseView( + // baseViewModel: model, + // child: selectedCategory != null + // ? selectedCategory['categoryId'] == + // 02 || + // selectedCategory[ + // 'categoryId'] == + // 03 || + // selectedCategory[ + // 'categoryId'] == + // 55 + // ? EntityListCheckboxSearchWidget( + // model: widget.model, + // masterList: widget + // .model + // .categoriesList[0] + // .entityList, + // removeHistory: (item) { + // setState(() { + // entityList.remove(item); + // }); + // }, + // addHistory: (history) { + // setState(() { + // entityList.add(history); + // }); + // }, + // addSelectedHistories: () { + // //TODO build your fun herr + // // widget.addSelectedHistories(); + // }, + // isEntityListSelected: + // (master) => + // isEntityListSelected( + // master), + // ) + // : ProcedureListWidget( + // model: widget.model, + // masterList: widget + // .model + // .categoriesList[0] + // .entityList, + // removeHistory: (item) { + // setState(() { + // entityList.remove(item); + // }); + // }, + // addHistory: (history) { + // setState(() { + // entityList.add(history); + // }); + // }, + // addSelectedHistories: () { + // //TODO build your fun herr + // // widget.addSelectedHistories(); + // }, + // isEntityListSelected: + // (master) => + // isEntityListSelected( + // master), + // ) + // : null), + Container( + child: Row( children: [ - AppText( - widget.procedureName.toUpperCase(), - fontWeight: FontWeight.w700, - ), - SizedBox( - height: 30.0, - ), - Container( - height: screenSize.height * 0.070, - child: InkWell( - onTap: model.categoryList != null && - model.categoryList.length > 0 - ? () { - ListSelectDialog dialog = - ListSelectDialog( - list: model.categoryList, - attributeName: 'categoryName', - attributeValueId: 'categoryId', - okText: - TranslationBase.of(context).ok, - okFunction: (selectedValue) { - setState(() { - selectedCategory = - selectedValue; - model.getProcedureCategory( - categoryName: - selectedCategory[ - 'categoryName'], - categoryID: selectedCategory[ - 'categoryId'] <= - 9 - ? "0" + - selectedCategory[ - 'categoryId'] - .toString() - : selectedCategory[ - 'categoryId'] - .toString()); - }); - }, - ); - showDialog( - barrierDismissible: false, - context: context, - builder: (BuildContext context) { - return dialog; - }, - ); - //model.getProcedureCategory(); - } - : null, - child: TextField( - decoration: textFieldSelectorDecoration( - TranslationBase.of(context) - .procedureCategorise, - selectedCategory != null - ? selectedCategory['categoryName'] - : null, - true, - suffixIcon: Icon( - Icons.search, - color: Colors.black, - )), - enabled: false, - ), - ), - ), - if (widget.model.categoriesList.length != 0) - NetworkBaseView( - baseViewModel: model, - child: selectedCategory != null - ? selectedCategory['categoryId'] == - 02 || - selectedCategory[ - 'categoryId'] == - 03 || - selectedCategory[ - 'categoryId'] == - 55 - ? EntityListCheckboxSearchWidget( - model: widget.model, - masterList: widget - .model - .categoriesList[0] - .entityList, - removeHistory: (item) { - setState(() { - entityList.remove(item); - }); - }, - addHistory: (history) { - setState(() { - entityList.add(history); - }); - }, - addSelectedHistories: () { - //TODO build your fun herr - // widget.addSelectedHistories(); - }, - isEntityListSelected: - (master) => - isEntityListSelected( - master), - ) - : ProcedureListWidget( - model: widget.model, - masterList: widget - .model - .categoriesList[0] - .entityList, - removeHistory: (item) { - setState(() { - entityList.remove(item); - }); - }, - addHistory: (history) { - setState(() { - entityList.add(history); - }); - }, - addSelectedHistories: () { - //TODO build your fun herr - // widget.addSelectedHistories(); - }, - isEntityListSelected: - (master) => - isEntityListSelected( - master), - ) - : null), - Container( - child: Row( - children: [ - AppText( - TranslationBase.of(context).orderType), - Radio( - activeColor: Color(0xFFB9382C), - value: 0, - groupValue: selectedType, - onChanged: (value) { - setSelectedType(value); - }, - ), - Text('routine'), - Radio( - activeColor: Color(0xFFB9382C), - groupValue: selectedType, - value: 1, - onChanged: (value) { - setSelectedType(value); - }, - ), - Text(TranslationBase.of(context).urgent), - ], - ), + AppText(TranslationBase.of(context).orderType), + Radio( + activeColor: Color(0xFFB9382C), + value: 0, + groupValue: selectedType, + onChanged: (value) { + setSelectedType(value); + }, ), - SizedBox( - height: 12.0, + Text('routine'), + Radio( + activeColor: Color(0xFFB9382C), + groupValue: selectedType, + value: 1, + onChanged: (value) { + setSelectedType(value); + }, ), - Container( - decoration: BoxDecoration( - borderRadius: - BorderRadius.all(Radius.circular(6.0)), - border: Border.all( - width: 1.0, - color: HexColor("#CCCCCC"))), - child: TextFields( - fontSize: 15.0, - controller: widget.remarksController, - maxLines: 3, - minLines: 2, - onChanged: (value) {}, - ), - ), - SizedBox( - height: 50.0, - ), - Container( - margin: EdgeInsets.all( - SizeConfig.widthMultiplier * 2), - child: Wrap( - alignment: WrapAlignment.center, - children: [ - AppButton( - title: TranslationBase.of(context) - .updateProcedure - .toUpperCase(), - onPressed: () { - // if (entityList.isEmpty == true && - // widget.remarksController.text == - // widget.remarks) { - // DrAppToastMsg.showErrorToast( - // "Fill the mandatory procedure details"); - // return; - // } - Navigator.pop(context); - updateProcedure( - limetNO: widget.limetNo, - orderNo: widget.orderNo, - orderType: selectedType.toString(), - categorieId: widget.categoryId, - procedureId: widget.procedureId, - entityList: entityList, - patient: widget.patient, - model: widget.model, - remarks: - widget.remarksController.text); - // authorizationForm(context); - }, - ), - ], - ), + Text(TranslationBase.of(context).urgent), + ], + ), + ), + SizedBox( + height: 12.0, + ), + Container( + decoration: BoxDecoration( + borderRadius: + BorderRadius.all(Radius.circular(6.0)), + border: Border.all( + width: 1.0, color: HexColor("#CCCCCC"))), + child: TextFields( + fontSize: 15.0, + controller: widget.remarksController, + maxLines: 3, + minLines: 2, + onChanged: (value) {}, + ), + ), + SizedBox( + height: 50.0, + ), + Container( + margin: + EdgeInsets.all(SizeConfig.widthMultiplier * 2), + child: Wrap( + alignment: WrapAlignment.center, + children: [ + AppButton( + color: Color(0xff359846), + title: TranslationBase.of(context) + .updateProcedure + .toUpperCase(), + onPressed: () { + // if (entityList.isEmpty == true && + // widget.remarksController.text == + // widget.remarks) { + // DrAppToastMsg.showErrorToast( + // "Fill the mandatory procedure details"); + // return; + // } + Navigator.pop(context); + updateProcedure( + limetNO: widget.limetNo, + orderNo: widget.orderNo, + orderType: selectedType.toString(), + categorieId: widget.categoryId, + procedureId: widget.procedureId, + entityList: entityList, + patient: widget.patient, + model: widget.model, + remarks: widget.remarksController.text); + // authorizationForm(context); + }, ), ], ), ), - )), - ); - }), + ], + ), + ), + )), + ), ), ); }); @@ -366,22 +357,24 @@ class _UpdateProcedureWidgetState extends State { updateProcedureReqModel.lineItemNo = limetNO; updateProcedureReqModel.orderNo = orderNo; - if (entityList.isNotEmpty) { - entityList.forEach((element) { - controls.add( - Controls(code: "remarks", controlValue: element.remarks ?? ''), - ); - controls.add( - Controls(code: "ordertype", controlValue: '1'), - ); - - controlsProcedure.procedure = element.procedureId; - controlsProcedure.category = int.parse(element.categoryID) > 9 - ? element.categoryID - : "0" + element.categoryID; - controlsProcedure.controls = controls; - }); - } else { + // if (entityList.isNotEmpty) { + // entityList.forEach((element) { + // controls.add( + // Controls(code: "remarks", controlValue: element.remarks ?? ''), + // ); + // controls.add( + // Controls(code: "ordertype", controlValue: '1'), + // ); + // + // controlsProcedure.procedure = element.procedureId; + // controlsProcedure.category = int.parse(element.categoryID) > 9 + // ? element.categoryID + // : "0" + element.categoryID; + // controlsProcedure.controls = controls; + // }); + // } + // else { + { controls.add( Controls( code: "remarks", controlValue: remarks.isNotEmpty ? remarks : ""),