worklist & itg counters issue resolved, delegate & request info in itg added.
parent
0ad9d4dd9e
commit
212f8e6663
@ -0,0 +1,170 @@
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mohem_flutter_app/api/worklist/worklist_api_client.dart';
|
||||
import 'package:mohem_flutter_app/app_state/app_state.dart';
|
||||
import 'package:mohem_flutter_app/classes/colors.dart';
|
||||
import 'package:mohem_flutter_app/classes/utils.dart';
|
||||
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
|
||||
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
|
||||
import 'package:mohem_flutter_app/models/itg_forms_models/wf_history_model.dart';
|
||||
import 'package:mohem_flutter_app/models/worklist/get_favorite_replacements_model.dart';
|
||||
import 'package:mohem_flutter_app/models/worklist/replacement_list_model.dart';
|
||||
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
||||
import 'package:mohem_flutter_app/widgets/circular_avatar.dart';
|
||||
import 'package:mohem_flutter_app/widgets/input_widget.dart';
|
||||
|
||||
class SelectedItgItemSheet extends StatelessWidget {
|
||||
String title, apiMode;
|
||||
int? notificationID;
|
||||
WFHistory wfHistory;
|
||||
GetFavoriteReplacements? favoriteReplacements;
|
||||
ReplacementList? replacementList;
|
||||
|
||||
SelectedItgItemSheet(this.title, {required this.apiMode, this.notificationID, required this.wfHistory, this.favoriteReplacements, this.replacementList});
|
||||
|
||||
TextEditingController username = TextEditingController();
|
||||
String comment = "";
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
height: MediaQuery.of(context).size.height - 80,
|
||||
child: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: SingleChildScrollView(
|
||||
child: Padding(
|
||||
padding: EdgeInsets.all(21),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
title.toText24(isBold: true),
|
||||
21.height,
|
||||
if (wfHistory != null) showItem(wfHistory.name, false),
|
||||
if (favoriteReplacements != null) showItem(favoriteReplacements!.employeeDisplayName, true),
|
||||
if (replacementList != null) showItem(replacementList!.employeeDisplayName, replacementList!.isFavorite),
|
||||
14.height,
|
||||
InputWidget(
|
||||
"Enter a note",
|
||||
"This is simple note",
|
||||
username,
|
||||
isBackgroundEnable: true,
|
||||
lines: 5,
|
||||
onChange: (v) {
|
||||
comment = v;
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
Container(
|
||||
width: double.infinity,
|
||||
height: 1,
|
||||
color: MyColors.borderE3Color,
|
||||
),
|
||||
Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: DefaultButton(
|
||||
LocaleKeys.cancel.tr(),
|
||||
() {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
textColor: Colors.black,
|
||||
colors: [
|
||||
Color(0xffE6E6E6),
|
||||
Color(0xffE6E6E6),
|
||||
],
|
||||
),
|
||||
),
|
||||
16.width,
|
||||
Expanded(
|
||||
child: DefaultButton(
|
||||
LocaleKeys.submit.tr(),
|
||||
() {
|
||||
if (comment.trim() != "") {
|
||||
String? email = "", userId = "";
|
||||
if (wfHistory != null) {
|
||||
email = wfHistory.email;
|
||||
userId = wfHistory.employeeID;
|
||||
} else if (favoriteReplacements != null) {
|
||||
email = favoriteReplacements!.emailAddress;
|
||||
userId = favoriteReplacements!.userName;
|
||||
} else {
|
||||
email = replacementList!.emailAddress;
|
||||
userId = replacementList!.userName;
|
||||
}
|
||||
performNetworkCall(context, email: email ?? "", userId: userId ?? "");
|
||||
} else {
|
||||
Utils.showToast("Please enter comments");
|
||||
}
|
||||
},
|
||||
colors: const [
|
||||
Color(0xff32D892),
|
||||
Color(0xff1AB170),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
).insideContainer
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> performNetworkCall(BuildContext context, {String? email, String? userId}) async {
|
||||
Utils.showLoading(context);
|
||||
try {
|
||||
var requestDetails = AppState().requestAllList![AppState().itgWorkListIndex!];
|
||||
if (apiMode == "Delegate") {
|
||||
await WorkListApiClient()
|
||||
.delegateITGRequest(requestDetails.requestType!, requestDetails.iD!, requestDetails.itemID!, AppState().memberInformationList?.eMPLOYEENUMBER ?? "", wfHistory.employeeID!, comment);
|
||||
} else if (apiMode == "RequestInformation") {
|
||||
await WorkListApiClient()
|
||||
.informationITGRequest(requestDetails.requestType!, requestDetails.iD!, requestDetails.itemID!, AppState().memberInformationList?.eMPLOYEENUMBER ?? "", wfHistory.employeeID!, comment);
|
||||
}
|
||||
Utils.hideLoading(context);
|
||||
Navigator.pop(context);
|
||||
Navigator.pop(context);
|
||||
Navigator.pop(context, "delegate_reload");
|
||||
} catch (ex) {
|
||||
Utils.hideLoading(context);
|
||||
Utils.handleException(ex, context, null);
|
||||
}
|
||||
}
|
||||
|
||||
Widget showItem(String? name, bool? isFav) {
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(15),
|
||||
color: Color(0xffF7F7F7),
|
||||
border: Border.all(
|
||||
color: Color(0xffefefef),
|
||||
width: 1,
|
||||
),
|
||||
),
|
||||
padding: EdgeInsets.only(top: 16, bottom: 16, left: 21, right: 21),
|
||||
child: Row(
|
||||
children: [
|
||||
CircularAvatar(
|
||||
height: 30,
|
||||
width: 30,
|
||||
),
|
||||
16.width,
|
||||
Expanded(
|
||||
child: (name ?? "").toText12(),
|
||||
),
|
||||
Icon(
|
||||
Icons.star,
|
||||
size: 12,
|
||||
color: (isFav ?? false) ? MyColors.yellowColor : MyColors.borderColor,
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue