|
|
|
@ -7,10 +7,12 @@ import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
|
|
|
|
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
|
|
|
|
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
|
|
|
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
|
|
|
import 'package:test_sa/dashboard_latest/dashboard_provider.dart';
|
|
|
|
|
import 'package:test_sa/extensions/context_extension.dart';
|
|
|
|
|
import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:test_sa/models/enums/user_types.dart';
|
|
|
|
|
import 'package:test_sa/models/helper_data_models/workorder/work_order_helper_models.dart';
|
|
|
|
|
import 'package:test_sa/models/lookup.dart';
|
|
|
|
|
import 'package:test_sa/models/service_request/pending_service_request_model.dart';
|
|
|
|
@ -43,7 +45,6 @@ class CreateNewRequest extends StatefulWidget {
|
|
|
|
|
//TODO remove unnecessary code
|
|
|
|
|
|
|
|
|
|
class _CreateNewRequestState extends State<CreateNewRequest> with TickerProviderStateMixin {
|
|
|
|
|
AssetProvider? _devicesProvider;
|
|
|
|
|
late TextEditingController _commentController;
|
|
|
|
|
late UserProvider _userProvider;
|
|
|
|
|
late SettingProvider _settingProvider;
|
|
|
|
@ -108,7 +109,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
Widget build(BuildContext context) {
|
|
|
|
|
return Scaffold(
|
|
|
|
|
key: _scaffoldKey,
|
|
|
|
|
appBar: DefaultAppBar(title: context.translation.createNewRequest),
|
|
|
|
|
appBar: DefaultAppBar(title: context.translation.createWorkOrder),
|
|
|
|
|
body: Consumer<ServiceRequestsProvider>(builder: (context, serviceRequestProvider, child) {
|
|
|
|
|
return SafeArea(
|
|
|
|
|
child: LoadingManager(
|
|
|
|
@ -146,7 +147,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
21.height,
|
|
|
|
|
highPriorityWidget(),
|
|
|
|
|
20.height,
|
|
|
|
|
equipmentStatusWidget(context),
|
|
|
|
|
assetStatusWidget(context),
|
|
|
|
|
24.height,
|
|
|
|
|
MultiFilesPicker(
|
|
|
|
|
label: context.translation.attachImage,
|
|
|
|
@ -168,7 +169,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
buttonColor: AppColor.primary10,
|
|
|
|
|
label: (pendingAssetServiceRequest != null && (pendingAssetServiceRequest!.details?.isNotEmpty ?? false))
|
|
|
|
|
? context.translation.duplicateRequest
|
|
|
|
|
: context.translation.createNewRequest,
|
|
|
|
|
: context.translation.createWorkOrder,
|
|
|
|
|
onPressed: checkPendingRequest ? null : _submit,
|
|
|
|
|
// buttonColor: AppColor.primary10,
|
|
|
|
|
),
|
|
|
|
@ -182,7 +183,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Widget equipmentStatusWidget(BuildContext context) {
|
|
|
|
|
Widget assetStatusWidget(BuildContext context) {
|
|
|
|
|
return Consumer<EquipmentStatusProvider>(builder: (cxt, snapshot, _) {
|
|
|
|
|
try {
|
|
|
|
|
_serviceRequest.defectType ??= snapshot.items.first;
|
|
|
|
@ -194,7 +195,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
|
|
mainAxisSize: MainAxisSize.min,
|
|
|
|
|
children: [
|
|
|
|
|
context.translation.equipmentStatus.bodyText(context).custom(color: AppColor.black20),
|
|
|
|
|
context.translation.assetStatus.bodyText(context).custom(color: AppColor.black20),
|
|
|
|
|
8.height,
|
|
|
|
|
Wrap(
|
|
|
|
|
runSpacing: 8,
|
|
|
|
@ -209,10 +210,12 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
height: 24,
|
|
|
|
|
child: Radio(
|
|
|
|
|
value: element,
|
|
|
|
|
activeColor: Colors.red,
|
|
|
|
|
activeColor:AppColor.primary10,
|
|
|
|
|
fillColor: WidgetStateColor.resolveWith((states) {
|
|
|
|
|
if (states.contains(WidgetState.selected)) return AppColor.primary10;
|
|
|
|
|
return AppColor.neutral130;
|
|
|
|
|
if (states.contains(WidgetState.selected)) {
|
|
|
|
|
return AppColor.primary10; // Thumb color when selected
|
|
|
|
|
}
|
|
|
|
|
return Colors.grey; // Thumb color when unselected (grey)
|
|
|
|
|
}),
|
|
|
|
|
groupValue: _serviceRequest.defectType,
|
|
|
|
|
onChanged: (state) {
|
|
|
|
@ -258,7 +261,7 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
_serviceRequest.priority ??= snapshot.items.firstWhere((element) => element.value == 0, orElse: () => Lookup());
|
|
|
|
|
}
|
|
|
|
|
return CupertinoSwitch(
|
|
|
|
|
thumbColor: AppColor.red70,
|
|
|
|
|
thumbColor:_serviceRequest.priority?.value != 0? AppColor.red70:AppColor.neutral10,
|
|
|
|
|
activeColor: AppColor.red30.withOpacity(0.4),
|
|
|
|
|
value: _serviceRequest.priority?.value != 0,
|
|
|
|
|
onChanged: (state) {
|
|
|
|
@ -359,7 +362,8 @@ class _CreateNewRequestState extends State<CreateNewRequest> with TickerProvider
|
|
|
|
|
|
|
|
|
|
int status = await _requestDetailProvider.createWorkOrder();
|
|
|
|
|
if(status==200){
|
|
|
|
|
//pop dialoge...
|
|
|
|
|
DashBoardProvider dashBoardProvider = Provider.of<DashBoardProvider>(context,listen: false);
|
|
|
|
|
dashBoardProvider.refreshDashboard(context: context,userType: UsersTypes.nurse);
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
}
|
|
|
|
|