chat enable for cm module when engineer assigned.

design_3.0_cx_module
Sikander Saleem 3 weeks ago
parent b3f8dabf2f
commit 6d20e6f307

@ -101,13 +101,13 @@ class FirebaseNotificationManger {
break; break;
//these three request are same corrective maintenance.... //these three request are same corrective maintenance....
case "3": case "3":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1);
break; break;
case "8": case "8":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1);
break; break;
case "11": case "11":
serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString())); serviceClass = ServiceRequestDetailMain(requestId: int.parse(messageData["requestNumber"].toString()), moduleId: 1);
break; break;
case "7": case "7":
serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3); serviceClass = DeviceTransferDetails(model: DeviceTransfer(id: int.parse(messageData["requestNumber"].toString())), moduleId: 3);

@ -300,7 +300,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
bool checkPendingRequest = false; bool checkPendingRequest = false;
void showPendingRequests() { void showPendingRequests() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => PendingServiceRequestScreen(pendingAssetServiceRequest!))); Navigator.of(context).push(MaterialPageRoute(builder: (_) => PendingServiceRequestScreen(pendingAssetServiceRequest!, 1)));
} }
void showPendingRequestBottomSheet() async { void showPendingRequestBottomSheet() async {

@ -13,6 +13,7 @@ import 'package:test_sa/modules/cm_module/service_request_detail_provider.dart';
import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart'; import 'package:test_sa/modules/cm_module/views/components/bottom_sheets/service_request_bottomsheet.dart';
import 'package:test_sa/modules/cx_module/chat/chat_page.dart'; import 'package:test_sa/modules/cx_module/chat/chat_page.dart';
import 'package:test_sa/modules/cx_module/chat/chat_provider.dart'; import 'package:test_sa/modules/cx_module/chat/chat_provider.dart';
import 'package:test_sa/modules/cx_module/chat/chat_widget.dart';
import 'package:test_sa/modules/cx_module/survey/survey_page.dart'; import 'package:test_sa/modules/cx_module/survey/survey_page.dart';
import 'package:test_sa/new_views/app_style/app_color.dart'; import 'package:test_sa/new_views/app_style/app_color.dart';
import 'package:test_sa/new_views/common_widgets/default_app_bar.dart'; import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
@ -22,8 +23,9 @@ import 'components/service_request_detail_view.dart';
class ServiceRequestDetailMain extends StatefulWidget { class ServiceRequestDetailMain extends StatefulWidget {
final int requestId; final int requestId;
final int moduleId;
ServiceRequestDetailMain({Key? key, required this.requestId}) : super(key: key); ServiceRequestDetailMain({Key? key, required this.requestId, required this.moduleId}) : super(key: key);
@override @override
_ServiceRequestDetailMainState createState() { _ServiceRequestDetailMainState createState() {
@ -88,37 +90,29 @@ class _ServiceRequestDetailMainState extends State<ServiceRequestDetailMain> {
Navigator.pop(context); Navigator.pop(context);
}, },
actions: [ actions: [
if (context.userProvider.isEngineer || context.userProvider.isNurse) Selector<ServiceRequestDetailProvider, bool>(
Selector<ServiceRequestDetailProvider, bool>( selector: (_, myModel) => myModel.isLoading, // Selects only the userName
selector: (_, myModel) => myModel.isLoading, // Selects only the userName builder: (_, isLoading, __) {
builder: (_, isLoading, __) { if (isLoading) {
if (isLoading) { return const SizedBox();
return const SizedBox(); } else {
} else { ServiceRequestDetailProvider provider = Provider.of<ServiceRequestDetailProvider>(context, listen: false);
ServiceRequestDetailProvider provider = Provider.of<ServiceRequestDetailProvider>(context, listen: false); if ((context.userProvider.isEngineer || context.userProvider.isNurse) &&
int? statusValue = provider.currentWorkOrder?.data?.status?.value; provider.currentWorkOrder?.data?.assignedEmployee != null &&
if (statusValue == 2 || statusValue == 3 || statusValue == 5 || statusValue == 6) { (provider.currentWorkOrder?.data?.workOrderContactPerson?.isNotEmpty ?? false)) {
getChatToken(moduleId, provider.currentWorkOrder?.data?.workOrderNo ?? ""); return ChatWidget(
return Consumer<ChatProvider>(builder: (pContext, requestProvider, _) { moduleId: widget.moduleId,
return IconButton( isShow: (context.userProvider.isEngineer || context.userProvider.isNurse) && provider.currentWorkOrder?.data?.assignedEmployee != null,
icon: const Icon(Icons.chat_bubble), isReadOnly: _requestProvider.isReadOnlyRequest,
onPressed: () { requestId: widget.requestId.toInt(),
Navigator.push( assigneeEmployeeNumber: provider.currentWorkOrder?.data?.assignedEmployee!.employeeId!,
context, myLoginUserID: context.userProvider.user!.username!,
CupertinoPageRoute( contactEmployeeINumber: provider.currentWorkOrder?.data?.workOrderContactPerson.first.employeeId,
builder: (context) => ChatPage( );
moduleId: moduleId,
requestId: widget.requestId,
title: _requestProvider.currentWorkOrder?.data?.workOrderNo ?? "",
readOnly: _requestProvider.isReadOnlyRequest,
)));
},
).toShimmer(context: context, isShow: requestProvider.chatLoginTokenLoading, radius: 30, height: 30, width: 30);
});
}
return const SizedBox();
} }
}), return const SizedBox();
}
}),
isNurse isNurse
? IconButton( ? IconButton(
icon: 'qr'.toSvgAsset( icon: 'qr'.toSvgAsset(

@ -81,7 +81,7 @@ class ServiceRequestItemView extends StatelessWidget {
), ),
], ],
).toShadowContainer(context, withShadow: showShadow).onPress(() async { ).toShadowContainer(context, withShadow: showShadow).onPress(() async {
await Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: requestData!.id!))); await Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: requestData!.id!, moduleId: requestData!.transactionNo!)));
if (refreshData) { if (refreshData) {
Provider.of<DashBoardProvider>(context, listen: false).refreshDashboard(userType: Provider.of<SettingProvider>(context, listen: false).user!.type!, context: context); Provider.of<DashBoardProvider>(context, listen: false).refreshDashboard(userType: Provider.of<SettingProvider>(context, listen: false).user!.type!, context: context);
} }
@ -140,7 +140,7 @@ class ServiceRequestItemView extends StatelessWidget {
), ),
], ],
).toShadowContainer(context, withShadow: showShadow).onPress(() { ).toShadowContainer(context, withShadow: showShadow).onPress(() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: requestDetails!.id!))); Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: requestDetails!.id!, moduleId: requestDetails!.transactionType!)));
}); });
} }

@ -62,10 +62,6 @@ class _CreateDeviceTransferRequestState extends State<CreateDeviceTransferReques
bool checkPendingRequest = false; bool checkPendingRequest = false;
void showPendingRequests() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => PendingServiceRequestScreen(pendingAssetServiceRequest!)));
}
void _onSubmit() async { void _onSubmit() async {
_transferModel.assetId = _pickedAsset?.id; _transferModel.assetId = _pickedAsset?.id;
_transferModel.destSiteId = _assetDestination.site?.id; _transferModel.destSiteId = _assetDestination.site?.id;

@ -9,9 +9,10 @@ import 'package:test_sa/new_views/common_widgets/default_app_bar.dart';
import 'package:test_sa/views/widgets/sound/sound_player.dart'; import 'package:test_sa/views/widgets/sound/sound_player.dart';
class PendingServiceRequestScreen extends StatelessWidget { class PendingServiceRequestScreen extends StatelessWidget {
final int moduleId;
final PendingAssetServiceRequest pendingAssetServiceRequest; final PendingAssetServiceRequest pendingAssetServiceRequest;
const PendingServiceRequestScreen(this.pendingAssetServiceRequest, {Key? key}) : super(key: key); const PendingServiceRequestScreen(this.pendingAssetServiceRequest, this.moduleId, {Key? key}) : super(key: key);
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@ -63,7 +64,7 @@ class PendingServiceRequestScreen extends StatelessWidget {
], ],
), ),
).onPress(() { ).onPress(() {
Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: pendingAssetServiceRequest.details![index].id ?? 0))); Navigator.of(context).push(MaterialPageRoute(builder: (_) => ServiceRequestDetailMain(requestId: pendingAssetServiceRequest.details![index].id ?? 0, moduleId: moduleId)));
}))); })));
} }
} }

Loading…
Cancel
Save