Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Sai Srinivas
GEN_ERP_2025
Commits
ee178d55
Commit
ee178d55
authored
Jul 09, 2025
by
Sai Srinivas
Browse files
09-07-2025 By Sai Srinivas
Network and Finance Module issue and Back
parent
2ade5aad
Changes
44
Show whitespace changes
Inline
Side-by-side
lib/screens/finance/submitPaymentRequestionListsByMode.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:dropdown_button2/dropdown_button2.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/services.dart'
;
...
...
@@ -13,6 +14,7 @@ import 'package:get/utils.dart';
import
'package:provider/provider.dart'
;
import
'../../Models/financeModels/addPaymentRequestionResponse.dart'
;
import
'../../Utils/commonServices.dart'
;
class
Submitpaymentrequestionlistsbymode
extends
StatefulWidget
{
final
String
mode
;
...
...
@@ -33,14 +35,22 @@ class Submitpaymentrequestionlistsbymode extends StatefulWidget {
class
_SubmitpaymentrequestionlistsbymodeState
extends
State
<
Submitpaymentrequestionlistsbymode
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
Dropdowntheme
ddtheme
=
Dropdowntheme
();
List
<
FocusNode
>
focusNodes
=
List
.
generate
(
11
,
(
index
)
=>
FocusNode
());
GlobalKey
_globalKey
=
GlobalKey
();
ScrollController
scrollcontroller
=
ScrollController
();
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Requestionlistprovider
>(
context
,
...
...
@@ -77,6 +87,7 @@ class _SubmitpaymentrequestionlistsbymodeState
void
dispose
()
{
scrollcontroller
.
dispose
();
focusNodes
.
map
((
e
)
=>
e
.
dispose
());
_connectivity
.
disposeStream
();
super
.
dispose
();
}
...
...
@@ -101,7 +112,19 @@ class _SubmitpaymentrequestionlistsbymodeState
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Requestionlistprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Requestionlistprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
child:
SafeArea
(
...
...
@@ -143,14 +166,16 @@ class _SubmitpaymentrequestionlistsbymodeState
items:
provider
.
accounts
.
map
(
(
accs
)
=>
DropdownMenuItem
<
Accounts
>(
(
accs
)
=>
DropdownMenuItem
<
Accounts
>(
value:
accs
,
child:
Text
(
"
${accs.name}
"
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
),
),
)
...
...
@@ -162,12 +187,16 @@ class _SubmitpaymentrequestionlistsbymodeState
?
null
:
(
Accounts
?
value
)
{
if
(
value
!=
null
)
{
if
(
provider
.
accounts
.
isNotEmpty
)
{
provider
.
selectedAccount
=
value
;
if
(
provider
.
accounts
.
isNotEmpty
)
{
provider
.
selectedAccount
=
value
;
print
(
"Selected Complaint Type:
${value.name}
, ID:
${value.id}
"
,
);
provider
.
accountId
=
value
.
id
!;
provider
.
accountId
=
value
.
id
!;
print
(
"hfjkshfg"
+
provider
.
accountId
...
...
@@ -199,9 +228,8 @@ class _SubmitpaymentrequestionlistsbymodeState
),
hintText:
'Search account...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
,
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -219,13 +247,16 @@ class _SubmitpaymentrequestionlistsbymodeState
),
onMenuStateChange:
(
isOpen
)
{
if
(!
isOpen
)
{
provider
.
accountSearchController
.
clear
();
provider
.
accountSearchController
.
clear
();
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
if
(
widget
.
mode
==
"other"
)
...[
...
...
@@ -266,7 +297,9 @@ class _SubmitpaymentrequestionlistsbymodeState
padding:
EdgeInsets
.
all
(
8
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
,
),
),
child:
SvgPicture
.
asset
(
"assets/svg/add_account.svg"
,
...
...
@@ -297,14 +330,17 @@ class _SubmitpaymentrequestionlistsbymodeState
items:
provider
.
requestingPurposes
.
map
(
(
accs
)
=>
DropdownMenuItem
<
String
>(
(
accs
)
=>
DropdownMenuItem
<
String
>(
value:
accs
,
child:
Text
(
accs
??
''
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
),
),
)
...
...
@@ -327,8 +363,10 @@ class _SubmitpaymentrequestionlistsbymodeState
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -396,8 +434,9 @@ class _SubmitpaymentrequestionlistsbymodeState
items:
provider
.
paymentModes
.
map
(
(
paymenents
)
=>
DropdownMenuItem
<
PaymentModes
>(
(
paymenents
)
=>
DropdownMenuItem
<
PaymentModes
>(
value:
paymenents
,
child:
Text
(
paymenents
.
name
??
''
,
...
...
@@ -419,17 +458,21 @@ class _SubmitpaymentrequestionlistsbymodeState
"Selected Complaint Type:
${value.name}
, ID:
${value.id}
"
,
);
provider
.
paymentModeId
=
value
.
id
!;
provider
.
paymentModeValue
=
value
.
name
!;
provider
.
paymentModeValue
=
value
.
name
!;
print
(
"hfjkshfg"
+
provider
.
paymentModeId
.
toString
(),
provider
.
paymentModeId
.
toString
(),
);
if
([
"Cheque"
,
"RTGS"
,
"IMPS"
,
"NEFT"
,
].
contains
(
provider
.
paymentModeValue
))
{
].
contains
(
provider
.
paymentModeValue
,
))
{
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
final
context
=
...
...
@@ -450,8 +493,10 @@ class _SubmitpaymentrequestionlistsbymodeState
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -484,7 +529,8 @@ class _SubmitpaymentrequestionlistsbymodeState
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
TextOverflow
.
ellipsis
,
),
),
)
...
...
@@ -506,15 +552,18 @@ class _SubmitpaymentrequestionlistsbymodeState
value
.
name
!;
print
(
"hfjkshfg"
+
provider
.
paymentModeId
.
toString
(),
provider
.
paymentModeId
.
toString
(),
);
}
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -553,9 +602,12 @@ class _SubmitpaymentrequestionlistsbymodeState
if
(
provider
.
imagePicked
==
1
&&
provider
.
imagePath
!=
null
)
...[
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
vertical:
4.0
),
padding:
const
EdgeInsets
.
symmetric
(
vertical:
4.0
,
),
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
Expanded
(
flex:
4
,
...
...
@@ -715,8 +767,14 @@ class _SubmitpaymentrequestionlistsbymodeState
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
,
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
...
...
@@ -724,7 +782,9 @@ class _SubmitpaymentrequestionlistsbymodeState
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
AppColors
.
white
),
valueColor:
AlwaysStoppedAnimation
(
AppColors
.
white
,
),
)
:
Text
(
"Submit"
,
...
...
@@ -744,7 +804,8 @@ class _SubmitpaymentrequestionlistsbymodeState
},
);
},
);
)
:
NoNetwork
(
context
);
}
Future
<
void
>
_showAttachmentSheet
(
BuildContext
context
)
{
...
...
lib/screens/genTracker/ComplaintHistory.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Notifiers/GeneratorDetailsProvider.dart'
;
...
...
@@ -18,10 +20,18 @@ class Complainthistory extends StatefulWidget {
}
class
_ComplainthistoryState
extends
State
<
Complainthistory
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
var
details
=
Provider
.
of
<
Generatordetailsprovider
>(
context
,
...
...
@@ -38,10 +48,27 @@ class _ComplainthistoryState extends State<Complainthistory> {
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Generatordetailsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Generatordetailsprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
...
...
@@ -153,6 +180,6 @@ class _ComplainthistoryState extends State<Complainthistory> {
),
);
},
);
):
NoNetwork
(
context
);
}
}
lib/screens/genTracker/GenTrackerDashboard.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
import
'package:generp/screens/genTracker/ScanEnterGeneratorIDScreen.dart'
;
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonServices.dart'
;
class
Gentrackerdashboard
extends
StatefulWidget
{
const
Gentrackerdashboard
({
super
.
key
});
...
...
@@ -15,14 +17,45 @@ class Gentrackerdashboard extends StatefulWidget {
}
class
_GentrackerdashboardState
extends
State
<
Gentrackerdashboard
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Platform
.
isAndroid
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
(
connection
==
"Online"
)?
Platform
.
isAndroid
?
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
child:
SafeArea
(
top:
false
,
bottom:
true
,
child:
_scaffold
(
context
)),
)
:
_scaffold
(
context
);
:
_scaffold
(
context
)
:
NoNetwork
(
context
)
;
}
Widget
_scaffold
(
BuildContext
context
)
{
...
...
lib/screens/genTracker/GeneratorDetails.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'package:generp/Notifiers/GeneratorDetailsProvider.dart'
;
...
...
@@ -9,6 +10,7 @@ import 'package:url_launcher/url_launcher.dart';
import
'../../Notifiers/HomeScreenNotifier.dart'
;
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonServices.dart'
;
import
'../../Utils/commonWidgets.dart'
;
import
'ScanEnterGeneratorIDScreen.dart'
;
...
...
@@ -29,10 +31,19 @@ class Generatordetails extends StatefulWidget {
}
class
_GeneratordetailsState
extends
State
<
Generatordetails
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
var
details
=
Provider
.
of
<
Generatordetailsprovider
>(
context
,
...
...
@@ -62,9 +73,27 @@ class _GeneratordetailsState extends State<Generatordetails> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer2
<
Generatordetailsprovider
,
HomescreenNotifier
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer2
<
Generatordetailsprovider
,
HomescreenNotifier
>(
builder:
(
context
,
provider
,
Homeprovider
,
child
)
{
var
sendwidget
=
SizedBox
(
width:
0
);
return
WillPopScope
(
...
...
@@ -862,7 +891,7 @@ class _GeneratordetailsState extends State<Generatordetails> {
),
);
},
);
):
NoNetwork
(
context
);
}
}
...
...
lib/screens/genTracker/RegisterComplaint.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:dropdown_button2/dropdown_button2.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
...
...
@@ -10,6 +11,7 @@ import 'package:provider/provider.dart';
import
'../../Models/loadGeneratorDetailsResponse.dart'
;
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonServices.dart'
;
class
Registercomplaint
extends
StatefulWidget
{
const
Registercomplaint
({
super
.
key
});
...
...
@@ -19,18 +21,51 @@ class Registercomplaint extends StatefulWidget {
}
class
_RegistercomplaintState
extends
State
<
Registercomplaint
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
TextEditingController
running_hrs
=
TextEditingController
();
TextEditingController
Complaint_Note
=
TextEditingController
();
Dropdowntheme
ddtheme
=
Dropdowntheme
();
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer2
<
Generatordetailsprovider
,
HomescreenNotifier
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer2
<
Generatordetailsprovider
,
HomescreenNotifier
>(
builder:
(
context
,
provider
,
homeProvider
,
child
)
{
return
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
child:
SafeArea
(
top:
false
,
bottom:
Platform
.
isIOS
?
false
:
true
,
bottom:
Platform
.
isIOS
?
false
:
true
,
child:
Scaffold
(
resizeToAvoidBottomInset:
true
,
backgroundColor:
AppColors
.
scaffold_bg_color
,
...
...
@@ -54,23 +89,27 @@ class _RegistercomplaintState extends State<Registercomplaint> {
"Customer Details"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
color:
Color
(
0xFF818181
)),
color:
Color
(
0xFF818181
),
),
),
),
Container
(
padding:
EdgeInsets
.
fromLTRB
(
10
,
10
,
10
,
10
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
)
borderRadius:
BorderRadius
.
circular
(
16
)
,
),
child:
Column
(
children:
[
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
Expanded
(
flex:
1
,
...
...
@@ -87,13 +126,18 @@ class _RegistercomplaintState extends State<Registercomplaint> {
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Text
(
"
${provider.cname}
"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
),),
Text
(
"
${provider.cname}
"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),
),
Text
(
"
${provider.aname}
"
,
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
style:
TextStyle
(
color:
Color
(
0xFF818181
),
),
...
...
@@ -105,30 +149,45 @@ class _RegistercomplaintState extends State<Registercomplaint> {
),
],
),
Divider
(
thickness:
0.5
,
color:
Color
(
0xFFD7D7D7
)),
Divider
(
thickness:
0.5
,
color:
Color
(
0xFFD7D7D7
),
),
...
List
.
generate
(
2
,
(
j
)
{
final
textheads
=
[
"Product Name"
,
"Engine ID"
];
final
textheads
=
[
"Product Name"
,
"Engine ID"
,
];
final
textSubheads
=
[
provider
.
spname
,
provider
.
engineNo
,
];
return
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
3
),
padding:
EdgeInsets
.
symmetric
(
vertical:
3
,
),
child:
Column
(
children:
[
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
MainAxisAlignment
.
spaceBetween
,
children:
[
Expanded
(
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
CrossAxisAlignment
.
start
,
children:
[
Text
(
textheads
[
j
].
toString
(),
style:
TextStyle
(
fontFamily:
"JakartaMedium"
),),
Text
(
textheads
[
j
]
.
toString
(),
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),
),
],
),
),
...
...
@@ -137,12 +196,16 @@ class _RegistercomplaintState extends State<Registercomplaint> {
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
CrossAxisAlignment
.
start
,
children:
[
Text
(
textSubheads
[
j
].
toString
(),
textSubheads
[
j
]
.
toString
(),
style:
TextStyle
(
color:
Color
(
0xFF818181
),
color:
Color
(
0xFF818181
,
),
),
),
],
...
...
@@ -156,8 +219,6 @@ class _RegistercomplaintState extends State<Registercomplaint> {
);
}),
SizedBox
(
height:
10.0
),
],
),
),
...
...
@@ -167,31 +228,42 @@ class _RegistercomplaintState extends State<Registercomplaint> {
"Complaint Details"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
color:
Color
(
0xFF818181
)),
color:
Color
(
0xFF818181
),
),
),
),
Container
(
padding:
EdgeInsets
.
fromLTRB
(
10
,
10
,
10
,
10
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
)
borderRadius:
BorderRadius
.
circular
(
16
)
,
),
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
child:
Text
(
"Complaint Type"
,
style:
TextStyle
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
,
),
child:
Text
(
"Complaint Type"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),),
),
),
),
DropdownButtonHideUnderline
(
child:
Row
(
children:
[
Expanded
(
child:
DropdownButton2
<
ComplaintTypeList
>(
child:
DropdownButton2
<
ComplaintTypeList
>(
isExpanded:
true
,
hint:
const
Row
(
children:
[
...
...
@@ -200,33 +272,47 @@ class _RegistercomplaintState extends State<Registercomplaint> {
'Select Complaint Type'
,
style:
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
),
),
],
),
items:
provider
.
complaintTypeDropdown
provider
.
complaintTypeDropdown
.
map
(
(
complaintType
)
=>
DropdownMenuItem
<
ComplaintTypeList
>(
value:
complaintType
,
(
complaintType
,
)
=>
DropdownMenuItem
<
ComplaintTypeList
>(
value:
complaintType
,
child:
Text
(
complaintType
.
name
??
''
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
complaintType
.
name
??
''
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
),
),
)
.
toList
(),
value:
provider
.
selectedComplaintType
,
onChanged:
(
ComplaintTypeList
?
value
)
{
value:
provider
.
selectedComplaintType
,
onChanged:
(
ComplaintTypeList
?
value
,
)
{
if
(
value
!=
null
)
{
if
(
provider
.
complaintCategorydropdown
...
...
@@ -234,8 +320,7 @@ class _RegistercomplaintState extends State<Registercomplaint> {
provider
.
selectedComplaintType
=
value
;
print
(
"Selected Complaint Type:
${value
.name}
, ID:
${value.id}
"
,
"Selected Complaint Type:
${value.name}
, ID:
${value.id}
"
,
);
provider
.
selectedType
=
value
?.
name
;
...
...
@@ -243,16 +328,21 @@ class _RegistercomplaintState extends State<Registercomplaint> {
value
?.
id
;
print
(
"hfjkshfg"
+
provider
.
selectedTypeId
provider
.
selectedTypeId
.
toString
(),
);
}
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -260,17 +350,23 @@ class _RegistercomplaintState extends State<Registercomplaint> {
),
SizedBox
(
height:
10.0
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
child:
Text
(
"Complaint Category"
,
style:
TextStyle
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
,
),
child:
Text
(
"Complaint Category"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),),
),
),
),
DropdownButtonHideUnderline
(
child:
Row
(
children:
[
Expanded
(
child:
DropdownButton2
<
ComplaintCategoryList
>(
ComplaintCategoryList
>(
isExpanded:
true
,
hint:
const
Row
(
children:
[
...
...
@@ -280,33 +376,44 @@ class _RegistercomplaintState extends State<Registercomplaint> {
style:
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
),
),
],
),
items:
provider
.
complaintCategorydropdown
provider
.
complaintCategorydropdown
.
map
(
(
Category
)
=>
DropdownMenuItem
<
(
Category
,
)
=>
DropdownMenuItem
<
ComplaintCategoryList
>(
value:
Category
,
child:
Text
(
Category
.
name
??
""
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
Category
.
name
??
""
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
),
),
)
.
toList
(),
value:
provider
.
selectedCategoryType
,
value:
provider
.
selectedCategoryType
,
onChanged:
(
ComplaintCategoryList
?
value
)
{
ComplaintCategoryList
?
value
,
)
{
if
(
provider
.
complaintCategorydropdown
.
isNotEmpty
)
{
...
...
@@ -318,10 +425,14 @@ class _RegistercomplaintState extends State<Registercomplaint> {
value
?.
id
;
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -330,17 +441,23 @@ class _RegistercomplaintState extends State<Registercomplaint> {
SizedBox
(
height:
10.0
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
child:
Text
(
"Select Description"
,
style:
TextStyle
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
,
),
child:
Text
(
"Select Description"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),),
),
),
),
DropdownButtonHideUnderline
(
child:
Row
(
children:
[
Expanded
(
child:
DropdownButton2
<
ComplaintDescriptionList
>(
ComplaintDescriptionList
>(
isExpanded:
true
,
hint:
const
Row
(
children:
[
...
...
@@ -350,33 +467,46 @@ class _RegistercomplaintState extends State<Registercomplaint> {
style:
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
),
),
],
),
items:
provider
.
complaintDescriptionDropdown
provider
.
complaintDescriptionDropdown
.
map
(
(
Description
)
=>
DropdownMenuItem
<
(
Description
,
)
=>
DropdownMenuItem
<
ComplaintDescriptionList
>(
value:
Description
,
child:
Text
(
Description
.
name
??
""
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
Description
.
name
??
""
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
),
),
)
.
toList
(),
value:
provider
.
selectedDescriptionType
,
value:
provider
.
selectedDescriptionType
,
onChanged:
(
ComplaintDescriptionList
?
value
)
{
ComplaintDescriptionList
?
value
,
)
{
if
(
provider
.
complaintDescriptionDropdown
.
isNotEmpty
)
{
...
...
@@ -388,10 +518,14 @@ class _RegistercomplaintState extends State<Registercomplaint> {
value
?.
id
;
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -400,10 +534,15 @@ class _RegistercomplaintState extends State<Registercomplaint> {
SizedBox
(
height:
10.0
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
child:
Text
(
"Duration"
,
style:
TextStyle
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
,
),
child:
Text
(
"Duration"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),),
),
),
),
Container
(
height:
50
,
...
...
@@ -411,43 +550,45 @@ class _RegistercomplaintState extends State<Registercomplaint> {
alignment:
Alignment
.
center
,
decoration:
BoxDecoration
(
color:
AppColors
.
text_field_color
,
borderRadius:
BorderRadius
.
circular
(
14
),
borderRadius:
BorderRadius
.
circular
(
14
,
),
),
child:
Padding
(
padding:
const
EdgeInsets
.
fromLTRB
(
10.0
,
0.0
,
10
,
0
),
padding:
const
EdgeInsets
.
fromLTRB
(
10.0
,
0.0
,
10
,
0
,
),
child:
TextFormField
(
controller:
running_hrs
,
keyboardType:
TextInputType
.
text
,
controller:
running_hrs
,
keyboardType:
TextInputType
.
text
,
decoration:
InputDecoration
(
hintText:
"Enter Running Number"
,
hintText:
"Enter Running Number"
,
hintStyle:
TextStyle
(
fontWeight:
FontWeight
.
w400
,
color:
Color
(
0xFFB4BEC0
),
fontSize:
14
fontSize:
14
,
),
enabledBorder:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
enabledBorder:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
),
),
),
),
SizedBox
(
height:
10.0
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
child:
Text
(
"Message"
,
style:
TextStyle
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
,
),
child:
Text
(
"Message"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
),),
),
),
),
Container
(
height:
150
,
...
...
@@ -455,35 +596,32 @@ class _RegistercomplaintState extends State<Registercomplaint> {
alignment:
Alignment
.
center
,
decoration:
BoxDecoration
(
color:
AppColors
.
text_field_color
,
borderRadius:
BorderRadius
.
circular
(
14
),
borderRadius:
BorderRadius
.
circular
(
14
,
),
),
child:
Padding
(
padding:
const
EdgeInsets
.
fromLTRB
(
10.0
,
0.0
,
10
,
0
),
padding:
const
EdgeInsets
.
fromLTRB
(
10.0
,
0.0
,
10
,
0
,
),
child:
TextFormField
(
maxLines:
6
,
controller:
Complaint_Note
,
keyboardType:
TextInputType
.
text
,
controller:
Complaint_Note
,
keyboardType:
TextInputType
.
text
,
decoration:
InputDecoration
(
hintText:
"Enter Message"
,
hintText:
"Enter Message"
,
hintStyle:
TextStyle
(
fontWeight:
FontWeight
.
w400
,
color:
Color
(
0xFFB4BEC0
),
fontSize:
14
fontSize:
14
,
),
enabledBorder:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
enabledBorder:
InputBorder
.
none
,
focusedBorder:
InputBorder
.
none
,
),
),
),
),
...
...
@@ -492,7 +630,6 @@ class _RegistercomplaintState extends State<Registercomplaint> {
),
SizedBox
(
height:
65.0
),
],
),
),
...
...
@@ -510,7 +647,8 @@ class _RegistercomplaintState extends State<Registercomplaint> {
provider
.
selectedTypeId
,
provider
.
selectedDescriptionId
,
running_hrs
.
text
,
Complaint_Note
.
text
);
Complaint_Note
.
text
,
);
},
child:
Container
(
alignment:
Alignment
.
center
,
...
...
@@ -526,18 +664,19 @@ class _RegistercomplaintState extends State<Registercomplaint> {
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
15
,
color:
Colors
.
white
color:
Colors
.
white
,
),
),
),
),
),
floatingActionButtonLocation:
FloatingActionButtonLocation
.
centerFloat
,
floatingActionButtonLocation:
FloatingActionButtonLocation
.
centerFloat
,
),
),
);
},
);
)
:
NoNetwork
(
context
);
}
}
lib/screens/genTracker/ScanEnterGeneratorIDScreen.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:generp/Notifiers/GeneratorDetailsProvider.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
...
...
@@ -24,10 +25,17 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
TextEditingController
genIDcontroller
=
TextEditingController
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
var
provider
=
Provider
.
of
<
Generatordetailsprovider
>(
context
,
...
...
@@ -50,6 +58,7 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
super
.
dispose
();
genIDcontroller
.
clear
();
genIDcontroller
.
dispose
();
_connectivity
.
disposeStream
();
}
...
...
@@ -57,7 +66,18 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Generatordetailsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Generatordetailsprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
...
...
@@ -134,7 +154,7 @@ class _ScanentergeneratoridscreenState extends State<Scanentergeneratoridscreen>
),
);
},
);
):
NoNetwork
(
context
);
}
Future
<
void
>
_showgenIdBottomSheet
(
BuildContext
context
)
{
...
...
lib/screens/inventory/GeneratorPartDetailsScreen.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:generp/screens/finance/FileViewer.dart'
;
import
'package:generp/screens/notifierExports.dart'
;
...
...
@@ -23,11 +24,17 @@ class _GeneratorPartDetailsScreenState
TextEditingController
descriptioncontroller
=
TextEditingController
();
TextEditingController
quantitycontroller
=
TextEditingController
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
var
homeProvider
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
...
...
@@ -36,6 +43,12 @@ class _GeneratorPartDetailsScreenState
initialiseFunction
(
context
,
homeProvider
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
void
initialiseFunction
(
BuildContext
context
,
homeProvider
)
async
{
var
inventoryProvider
=
Provider
.
of
<
InventoryProvider
>(
...
...
@@ -52,7 +65,19 @@ class _GeneratorPartDetailsScreenState
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer2
<
InventoryProvider
,
HomescreenNotifier
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer2
<
InventoryProvider
,
HomescreenNotifier
>(
builder:
(
context
,
provider
,
homeProvider
,
child
)
{
return
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
...
...
@@ -546,7 +571,8 @@ class _GeneratorPartDetailsScreenState
),
);
},
);
):
NoNetwork
(
context
);
}
Future
<
void
>
_showStockIssueBottomSheet
(
BuildContext
context
,
type
)
{
...
...
lib/screens/inventory/InventoryScreen.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:generp/screens/notifierExports.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
...
...
@@ -7,6 +8,7 @@ import 'package:provider/provider.dart';
import
'package:qr_code_scanner/qr_code_scanner.dart'
;
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonServices.dart'
;
class
InventoryScreen
extends
StatefulWidget
{
const
InventoryScreen
({
super
.
key
});
...
...
@@ -18,11 +20,17 @@ class InventoryScreen extends StatefulWidget {
class
_InventoryScreenState
extends
State
<
InventoryScreen
>
{
FocusNode
partIDfocusNode
=
FocusNode
();
TextEditingController
partIDcontroller
=
TextEditingController
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
var
inventoryProvider
=
Provider
.
of
<
InventoryProvider
>(
context
,
...
...
@@ -33,14 +41,38 @@ class _InventoryScreenState extends State<InventoryScreen> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Platform
.
isAndroid
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
(
connection
==
'Online'
)
?
Platform
.
isAndroid
?
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
child:
SafeArea
(
top:
false
,
bottom:
true
,
child:
_scaffold
(
context
)),
child:
SafeArea
(
top:
false
,
bottom:
true
,
child:
_scaffold
(
context
),
),
)
:
_scaffold
(
context
);
:
_scaffold
(
context
)
:
NoNetwork
(
context
);
}
Widget
_scaffold
(
BuildContext
context
)
{
...
...
lib/screens/order/addOrder.dart
View file @
ee178d55
...
...
@@ -13,6 +13,8 @@ import 'package:provider/provider.dart';
import
'../../Models/ordersModels/AddOrderViewResponse.dart'
;
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonWidgets.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
AddorderScreen
extends
StatefulWidget
{
final
pageTitleName
;
...
...
@@ -30,10 +32,17 @@ class _AddorderScreenState extends State<AddorderScreen> {
List
<
FocusNode
>
focusNodes
=
List
.
generate
(
10
,
(
index
)
=>
FocusNode
());
Dropdowntheme
ddtheme
=
Dropdowntheme
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Addorderprovider
>(
context
,
listen:
false
);
if
(
provider
.
dateNow
==
null
)
{
...
...
@@ -50,6 +59,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
focusNodes
.
map
((
e
)
=>
e
.
dispose
());
focusNode
.
dispose
();
focusNodetpc
.
dispose
();
_connectivity
.
disposeStream
();
super
.
dispose
();
}
...
...
@@ -60,12 +71,24 @@ class _AddorderScreenState extends State<AddorderScreen> {
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Addorderprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Addorderprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
child:
SafeArea
(
top:
false
,
bottom:
Platform
.
isIOS
?
false
:
true
,
bottom:
Platform
.
isIOS
?
false
:
true
,
child:
Scaffold
(
resizeToAvoidBottomInset:
true
,
backgroundColor:
AppColors
.
white
,
...
...
@@ -105,7 +128,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
if
(
focusNode
.
hasFocus
)
{
focusNode
.
unfocus
();
}
else
{
FocusScope
.
of
(
context
).
requestFocus
(
focusNode
);
FocusScope
.
of
(
context
,
).
requestFocus
(
focusNode
);
}
},
title:
TextFormField
(
...
...
@@ -150,7 +175,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
if
(
focusNode
.
hasFocus
)
{
focusNode
.
unfocus
();
}
else
{
FocusScope
.
of
(
context
).
requestFocus
(
focusNode
);
FocusScope
.
of
(
context
,
).
requestFocus
(
focusNode
);
}
},
child:
SvgPicture
.
asset
(
...
...
@@ -193,14 +220,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
provider
.
selectedAccountID
=
provider
.
accountList
[
index
].
id
!;
provider
.
selectedAccountName
=
provider
.
accountList
[
index
].
text
!;
provider
.
accountList
[
index
]
.
text
!;
print
(
"hfjkshfg"
+
provider
.
selectedAccountID
.
toString
(),
);
provider
.
dropDownSearchController
.
text
=
provider
.
accountList
[
index
].
text
!;
provider
.
dropDownSearchController
.
text
=
provider
.
accountList
[
index
]
.
text
!;
provider
.
ordersAddOrderAccountDetailsAPIFunction
(
context
,
...
...
@@ -243,7 +275,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
items:
provider
.
employees
.
map
(
(
e
)
=>
DropdownMenuItem
<
Employees
>(
(
e
)
=>
DropdownMenuItem
<
Employees
>(
value:
e
,
child:
Text
(
e
.
name
!,
...
...
@@ -258,15 +291,18 @@ class _AddorderScreenState extends State<AddorderScreen> {
onChanged:
(
Employees
?
value
)
{
if
(
provider
.
employees
.
isNotEmpty
)
{
provider
.
selectedEmployees
=
value
;
provider
.
selectedEmployeeID
=
value
!.
id
!;
provider
.
selectedEmployeeID
=
value
!.
id
!;
provider
.
selectedEmployeeName
=
value
!.
name
!;
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -298,7 +334,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
child:
TextFormField
(
controller:
provider
.
orderReceivedDateController
,
provider
.
orderReceivedDateController
,
keyboardType:
TextInputType
.
text
,
enabled:
false
,
maxLines:
1
,
...
...
@@ -370,14 +407,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
onChanged:
(
States
?
value
)
{
if
(
provider
.
billingStates
.
isNotEmpty
)
{
provider
.
selecetdBillingStates
=
value
;
provider
.
selectedBillingStateID
=
value
!.
id
!;
provider
.
selectedBillingStateID
=
value
!.
id
!;
provider
.
selectedBillingStateName
=
value
!.
name
!;
if
(
provider
.
billingDistricts
.
isNotEmpty
)
{
if
(
provider
.
billingDistricts
.
isNotEmpty
)
{
provider
.
billingDistricts
.
clear
();
// provider.selectedBillingDistricts=null;
provider
.
selectedBillingDistrictId
=
null
;
provider
.
selectedBillingDistrictValue
=
""
;
provider
.
selectedBillingDistrictId
=
null
;
provider
.
selectedBillingDistrictValue
=
""
;
}
provider
.
getDistrictAPI
(
...
...
@@ -394,7 +436,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
padding:
const
EdgeInsets
.
all
(
8
),
child:
TextFormField
(
controller:
provider
.
billingStateSearchController
,
provider
.
billingStateSearchController
,
decoration:
InputDecoration
(
isDense:
true
,
contentPadding:
...
...
@@ -404,7 +447,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
hintText:
'Search Sate...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -420,19 +464,25 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
onMenuStateChange:
(
isOpen
)
{
if
(!
isOpen
)
{
provider
.
billingStateSearchController
.
clear
();
provider
.
billingStateSearchController
.
clear
();
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
selectedBillingStateError
),
errorWidget
(
context
,
provider
.
selectedBillingStateError
,
),
TextWidget
(
context
,
"Billing District"
),
//dd
DropdownButtonHideUnderline
(
...
...
@@ -448,7 +498,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
items:
provider
.
billingDistricts
.
map
(
(
e
)
=>
DropdownMenuItem
<
Districts
>(
(
e
)
=>
DropdownMenuItem
<
Districts
>(
value:
e
,
child:
Text
(
e
.
district
!,
...
...
@@ -461,17 +512,24 @@ class _AddorderScreenState extends State<AddorderScreen> {
.
toList
(),
value:
provider
.
selectedBillingDistricts
,
onChanged:
(
Districts
?
value
)
{
if
(
provider
.
billingDistricts
.
isNotEmpty
)
{
provider
.
selectedBillingDistricts
=
value
;
if
(
provider
.
billingDistricts
.
isNotEmpty
)
{
provider
.
selectedBillingDistricts
=
value
;
provider
.
selectedBillingDistrictId
=
value
!.
id
!;
provider
.
selectedBillingDistrictValue
=
value
!.
district
!;
if
(
provider
.
billingSubLocations
.
isNotEmpty
)
{
if
(
provider
.
billingSubLocations
.
isNotEmpty
)
{
provider
.
billingSubLocations
.
clear
();
// provider.selectedBillingSubLocations = null;
provider
.
selectedBillingSubLocID
=
null
;
provider
.
selectedBillingSubLocValue
=
""
;
provider
.
selectedBillingSubLocID
=
null
;
provider
.
selectedBillingSubLocValue
=
""
;
}
provider
.
getSubLocationAPI
(
context
,
...
...
@@ -482,7 +540,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
dropdownSearchData:
DropdownSearchData
(
searchInnerWidgetHeight:
50
,
searchController:
provider
.
billingDistrictSearchController
,
provider
.
billingDistrictSearchController
,
searchInnerWidget:
Padding
(
padding:
const
EdgeInsets
.
all
(
8
),
child:
TextFormField
(
...
...
@@ -498,7 +557,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
hintText:
'Search District...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -520,14 +580,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
selectedBillingDistrictError
),
errorWidget
(
context
,
provider
.
selectedBillingDistrictError
,
),
TextWidget
(
context
,
"Billing Sub Location"
),
//dd
DropdownButtonHideUnderline
(
...
...
@@ -542,7 +607,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
items:
provider
.
billingSubLocations
.
map
(
(
e
)
=>
DropdownMenuItem
<
SubLocations
>(
(
e
)
=>
DropdownMenuItem
<
SubLocations
>(
value:
e
,
child:
Text
(
e
.
subLocality
!,
...
...
@@ -555,9 +622,13 @@ class _AddorderScreenState extends State<AddorderScreen> {
.
toList
(),
value:
provider
.
selectedBillingSubLocations
,
onChanged:
(
SubLocations
?
value
)
{
if
(
provider
.
billingSubLocations
.
isNotEmpty
)
{
provider
.
selectedBillingSubLocations
=
value
;
provider
.
selectedBillingSubLocID
=
value
!.
id
!;
if
(
provider
.
billingSubLocations
.
isNotEmpty
)
{
provider
.
selectedBillingSubLocations
=
value
;
provider
.
selectedBillingSubLocID
=
value
!.
id
!;
provider
.
selectedBillingSubLocValue
=
value
!.
subLocality
!;
}
...
...
@@ -565,12 +636,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
dropdownSearchData:
DropdownSearchData
(
searchInnerWidgetHeight:
50
,
searchController:
provider
.
billingSubLocSearchController
,
provider
.
billingSubLocSearchController
,
searchInnerWidget:
Padding
(
padding:
const
EdgeInsets
.
all
(
8
),
child:
TextFormField
(
controller:
provider
.
billingSubLocSearchController
,
provider
.
billingSubLocSearchController
,
decoration:
InputDecoration
(
isDense:
true
,
contentPadding:
...
...
@@ -580,7 +653,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
hintText:
'Search Sub Location...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -602,14 +676,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
selectedBillingSubLocError
),
errorWidget
(
context
,
provider
.
selectedBillingSubLocError
,
),
textControllerWidget
(
context
,
provider
.
billingAddressController
,
...
...
@@ -671,14 +750,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
onChanged:
(
States
?
value
)
{
if
(
provider
.
dispatchStates
.
isNotEmpty
)
{
provider
.
selecetdDispatchStates
=
value
;
provider
.
selectedDispatchStateID
=
value
!.
id
!;
provider
.
selectedDispatchStateID
=
value
!.
id
!;
provider
.
selectedDispatchStateName
=
value
!.
name
!;
if
(
provider
.
dispatchDistricts
.
isNotEmpty
)
{
if
(
provider
.
dispatchDistricts
.
isNotEmpty
)
{
provider
.
dispatchDistricts
.
clear
();
// provider.selectedDispatchDistricts = null;
provider
.
selectedDispatchDistrictId
=
null
;
provider
.
selectedDispatchDistrictValue
=
""
;
provider
.
selectedDispatchDistrictId
=
null
;
provider
.
selectedDispatchDistrictValue
=
""
;
}
provider
.
getDispatchDistrictAPI
(
context
,
...
...
@@ -689,12 +773,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
dropdownSearchData:
DropdownSearchData
(
searchInnerWidgetHeight:
50
,
searchController:
provider
.
dispatchStateSearchController
,
provider
.
dispatchStateSearchController
,
searchInnerWidget:
Padding
(
padding:
const
EdgeInsets
.
all
(
8
),
child:
TextFormField
(
controller:
provider
.
dispatchStateSearchController
,
provider
.
dispatchStateSearchController
,
decoration:
InputDecoration
(
isDense:
true
,
contentPadding:
...
...
@@ -704,7 +790,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
hintText:
'Search Sate...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -726,14 +813,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
selectedDispatchStateError
),
errorWidget
(
context
,
provider
.
selectedDispatchStateError
,
),
//dd
TextWidget
(
context
,
"Dispatch District"
),
//dd
...
...
@@ -750,7 +842,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
items:
provider
.
dispatchDistricts
.
map
(
(
e
)
=>
DropdownMenuItem
<
Districts
>(
(
e
)
=>
DropdownMenuItem
<
Districts
>(
value:
e
,
child:
Text
(
e
.
district
!,
...
...
@@ -763,8 +856,11 @@ class _AddorderScreenState extends State<AddorderScreen> {
.
toList
(),
value:
provider
.
selectedDispatchDistricts
,
onChanged:
(
Districts
?
value
)
{
if
(
provider
.
dispatchDistricts
.
isNotEmpty
)
{
provider
.
selectedDispatchDistricts
=
value
;
if
(
provider
.
dispatchDistricts
.
isNotEmpty
)
{
provider
.
selectedDispatchDistricts
=
value
;
provider
.
selectedDispatchDistrictId
=
value
!.
id
!;
provider
.
selectedDispatchDistrictValue
=
...
...
@@ -774,8 +870,10 @@ class _AddorderScreenState extends State<AddorderScreen> {
.
isNotEmpty
)
{
provider
.
dispatchSubLocations
.
clear
();
// provider.selectedDispatchSubLocations=null;
provider
.
selectedDispatchSubLocID
=
null
;
provider
.
selectedDispatchSubLocValue
=
""
;
provider
.
selectedDispatchSubLocID
=
null
;
provider
.
selectedDispatchSubLocValue
=
""
;
}
provider
.
getDispatchSubLocationAPI
(
context
,
...
...
@@ -786,7 +884,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
dropdownSearchData:
DropdownSearchData
(
searchInnerWidgetHeight:
50
,
searchController:
provider
.
dispatchDistrictSearchController
,
provider
.
dispatchDistrictSearchController
,
searchInnerWidget:
Padding
(
padding:
const
EdgeInsets
.
all
(
8
),
child:
TextFormField
(
...
...
@@ -802,7 +901,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
hintText:
'Search District...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -818,20 +918,26 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
onMenuStateChange:
(
isOpen
)
{
if
(!
isOpen
)
{
provider
.
dispatchDistrictSearchController
provider
.
dispatchDistrictSearchController
.
clear
();
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
selectedDispatchDistrictError
),
errorWidget
(
context
,
provider
.
selectedDispatchDistrictError
,
),
TextWidget
(
context
,
"Dispatch Sub Location"
),
DropdownButtonHideUnderline
(
child:
Row
(
...
...
@@ -845,7 +951,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
items:
provider
.
dispatchSubLocations
.
map
(
(
e
)
=>
DropdownMenuItem
<
SubLocations
>(
(
e
)
=>
DropdownMenuItem
<
SubLocations
>(
value:
e
,
child:
Text
(
e
.
subLocality
!,
...
...
@@ -856,10 +964,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
)
.
toList
(),
value:
provider
.
selectedDispatchSubLocations
,
value:
provider
.
selectedDispatchSubLocations
,
onChanged:
(
SubLocations
?
value
)
{
if
(
provider
.
dispatchSubLocations
.
isNotEmpty
)
{
provider
.
selectedDispatchSubLocations
=
value
;
if
(
provider
.
dispatchSubLocations
.
isNotEmpty
)
{
provider
.
selectedDispatchSubLocations
=
value
;
provider
.
selectedDispatchSubLocID
=
value
!.
id
!;
provider
.
selectedDispatchSubLocValue
=
...
...
@@ -869,12 +981,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
dropdownSearchData:
DropdownSearchData
(
searchInnerWidgetHeight:
50
,
searchController:
provider
.
dispatchSubLocSearchController
,
provider
.
dispatchSubLocSearchController
,
searchInnerWidget:
Padding
(
padding:
const
EdgeInsets
.
all
(
8
),
child:
TextFormField
(
controller:
provider
.
dispatchSubLocSearchController
,
provider
.
dispatchSubLocSearchController
,
decoration:
InputDecoration
(
isDense:
true
,
contentPadding:
...
...
@@ -884,7 +998,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
hintText:
'Search Sub Location...'
,
border:
OutlineInputBorder
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
),
),
...
...
@@ -906,14 +1021,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
),
),
errorWidget
(
context
,
provider
.
selectedDispatchSubLocError
),
errorWidget
(
context
,
provider
.
selectedDispatchSubLocError
,
),
//dd
textControllerWidget
(
context
,
...
...
@@ -991,9 +1111,12 @@ class _AddorderScreenState extends State<AddorderScreen> {
if
(
provider
.
imagePicked
==
1
&&
provider
.
imagePath
!=
null
)
...[
Padding
(
padding:
const
EdgeInsets
.
symmetric
(
vertical:
4.0
),
padding:
const
EdgeInsets
.
symmetric
(
vertical:
4.0
,
),
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
Text
(
"
${provider.imagePath}
"
,
...
...
@@ -1053,8 +1176,10 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -1121,16 +1246,22 @@ class _AddorderScreenState extends State<AddorderScreen> {
),
scrollbarTheme:
ScrollbarThemeData
(
radius:
const
Radius
.
circular
(
15
),
thickness:
MaterialStateProperty
.
all
<
double
>(
thickness:
MaterialStateProperty
.
all
<
double
>(
6
,
),
thumbVisibility:
MaterialStateProperty
.
all
<
bool
>(
true
),
MaterialStateProperty
.
all
<
bool
>(
true
,
),
),
),
menuItemStyleData:
const
MenuItemStyleData
(
height:
40
,
padding:
EdgeInsets
.
only
(
left:
14
,
right:
14
),
padding:
EdgeInsets
.
only
(
left:
14
,
right:
14
,
),
),
),
),
...
...
@@ -1170,8 +1301,10 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -1210,8 +1343,10 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -1234,12 +1369,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
onTapUpOutside:
(
event
)
{
focusNodetpc
.
unfocus
();
},
controller:
provider
.
dropDownTpcSearchController
,
controller:
provider
.
dropDownTpcSearchController
,
onChanged:
(
value
)
async
{
Future
.
delayed
(
Duration
(
milliseconds:
100
),
()
async
{
await
provider
.
ordersAddOrderTPCAgentFunction
(
await
provider
.
ordersAddOrderTPCAgentFunction
(
context
,
widget
.
mode
,
value
,
...
...
@@ -1312,14 +1449,19 @@ class _AddorderScreenState extends State<AddorderScreen> {
provider
.
selectedTpcAgentID
=
provider
.
tpcAgent
[
index
].
id
!;
provider
.
selectedTpcAgentValue
=
provider
.
tpcAgent
[
index
].
text
!;
provider
.
tpcAgent
[
index
]
.
text
!;
print
(
"hfjkshfg"
+
provider
.
selectedTpcAgentID
.
toString
(),
);
provider
.
dropDownTpcSearchController
.
text
=
provider
.
tpcAgent
[
index
].
text
!;
provider
.
dropDownTpcSearchController
.
text
=
provider
.
tpcAgent
[
index
]
.
text
!;
}
// provider.ordersAddPaymentSelectOrderAPIFunction(context, provider.selectedAccountID);
// provider.tpcAgent = [];
...
...
@@ -1401,8 +1543,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
...
...
@@ -1432,7 +1580,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
},
);
},
);
)
:
NoNetwork
(
context
);
}
Future
<
void
>
_showAttachmentSheet
(
BuildContext
context
)
{
...
...
@@ -1626,7 +1775,9 @@ class OrderForm extends StatelessWidget {
),
)
.
toList
(),
value:
provider
.
selectedSaleProductID
[
index
]!=
null
value:
provider
.
selectedSaleProductID
[
index
]
!=
null
?
provider
.
saleProducts
.
firstWhere
(
(
product
)
=>
product
.
id
==
...
...
lib/screens/order/addPayment.dart
View file @
ee178d55
...
...
@@ -14,7 +14,8 @@ import '../../Models/ordersModels/AddOrderPaymentSelectOrderResponse.dart';
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonWidgets.dart'
;
import
'../../Utils/dropdownTheme.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
AddpaymentScreen
extends
StatefulWidget
{
final
pageTitleName
;
final
mode
;
...
...
@@ -33,11 +34,17 @@ class _AddpaymentScreenState extends State<AddpaymentScreen> {
String
?
selectedValue
;
final
TextEditingController
textEditingController
=
TextEditingController
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Addpaymentprovider
>(
context
,
listen:
false
);
if
(
provider
.
dateNow
==
null
)
{
...
...
@@ -56,6 +63,7 @@ class _AddpaymentScreenState extends State<AddpaymentScreen> {
@override
void
dispose
()
{
focusNodes
.
map
((
e
)=>
e
.
dispose
());
_connectivity
.
disposeStream
();
super
.
dispose
();
}
...
...
@@ -66,7 +74,18 @@ class _AddpaymentScreenState extends State<AddpaymentScreen> {
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Addpaymentprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Addpaymentprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
child:
SafeArea
(
...
...
@@ -722,7 +741,7 @@ class _AddpaymentScreenState extends State<AddpaymentScreen> {
},
);
},
);
):
NoNetwork
(
context
);
}
Future
<
void
>
_showAttachmentSheet
(
BuildContext
context
)
{
...
...
lib/screens/order/addTpcAgent.dart
View file @
ee178d55
...
...
@@ -10,6 +10,9 @@ import '../../Utils/app_colors.dart';
import
'../../Utils/commonWidgets.dart'
;
import
'../../Utils/dropdownTheme.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
AddtpcagentScreen
extends
StatefulWidget
{
const
AddtpcagentScreen
({
super
.
key
});
...
...
@@ -20,19 +23,43 @@ class AddtpcagentScreen extends StatefulWidget {
class
_AddtpcagentScreenState
extends
State
<
AddtpcagentScreen
>
{
Dropdowntheme
ddtheme
=
Dropdowntheme
();
List
<
FocusNode
>
focusNodes
=
List
.
generate
(
10
,
(
index
)
=>
FocusNode
());
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Tpcagentsprovider
>(
context
,
listen:
false
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Tpcagentsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Tpcagentsprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
child:
SafeArea
(
...
...
@@ -290,7 +317,7 @@ class _AddtpcagentScreenState extends State<AddtpcagentScreen> {
},
);
},
);
):
NoNetwork
(
context
);
}
Future
<
void
>
_showAttachmentSheet
(
BuildContext
context
)
{
...
...
lib/screens/order/orderModuleDashboard.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
...
...
@@ -7,6 +8,7 @@ import 'package:generp/screens/screensExports.dart';
import
'package:provider/provider.dart'
;
import
'../../Notifiers/ordersProvider/pagesDashboardProvider.dart'
;
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonServices.dart'
;
import
'../../Utils/commonWidgets.dart'
;
import
'addTpcAgent.dart'
;
...
...
@@ -18,10 +20,20 @@ class Ordermoduledashboard extends StatefulWidget {
}
class
_OrdermoduledashboardState
extends
State
<
Ordermoduledashboard
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Pagesdashboardprovider
>(
context
,
...
...
@@ -31,15 +43,31 @@ class _OrdermoduledashboardState extends State<Ordermoduledashboard> {
provider
.
ordersAccessiblePagesAPIFunction
(
context
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Platform
.
isAndroid
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
(
connection
==
'Online'
)?
Platform
.
isAndroid
?
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
child:
SafeArea
(
top:
false
,
bottom:
true
,
child:
_scaffold
(
context
)),
)
:
_scaffold
(
context
);
:
_scaffold
(
context
)
:
NoNetwork
(
context
)
;
}
Widget
_scaffold
(
BuildContext
context
)
{
...
...
lib/screens/order/ordersDetailsByModes.dart
View file @
ee178d55
...
...
@@ -16,6 +16,9 @@ import '../finance/FileViewer.dart';
import
'editOrderAccountDetails.dart'
;
import
'package:generp/Models/ordersModels/ordersDetailsDispatchOrderViewResponse.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
Ordersdetailsbymodes
extends
StatefulWidget
{
final
pageTitleName
;
final
orderId
;
...
...
@@ -34,17 +37,27 @@ class Ordersdetailsbymodes extends StatefulWidget {
class
_OrdersdetailsbymodesState
extends
State
<
Ordersdetailsbymodes
>
{
Dropdowntheme
ddtheme
=
Dropdowntheme
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Pagesdashboardprovider
>(
context
,
listen:
false
,
);
provider
.
showMoreDetails
=
false
;
var
disproved
=
Provider
.
of
<
Dispatchorderprovider
>(
context
,
listen:
false
);
var
disproved
=
Provider
.
of
<
Dispatchorderprovider
>(
context
,
listen:
false
,
);
provider
.
ordersDetailsByModeAPIFunction
(
context
,
widget
.
orderId
,
...
...
@@ -53,10 +66,29 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer2
<
Pagesdashboardprovider
,
Dispatchorderprovider
>(
builder:
(
context
,
provider
,
disProvider
,
child
)
{
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer2
<
Pagesdashboardprovider
,
Dispatchorderprovider
>(
builder:
(
context
,
provider
,
disProvider
,
child
)
{
var
orderDetails
=
provider
.
orderDetails
;
var
Headings1
=
[
...
...
@@ -72,7 +104,6 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
provider
.
orderDetails
.
orderReceivedDate
??
"-"
,
];
var
Headings2
=
[
"Billing State"
,
"Billing District"
,
...
...
@@ -123,7 +154,6 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
"Status"
,
];
var
subHeadings2
=
[
provider
.
orderDetails
.
billingState
??
"-"
,
provider
.
orderDetails
.
billingDistrict
??
"-"
,
provider
.
orderDetails
.
billingSubLocality
??
"-"
,
...
...
@@ -173,34 +203,33 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
provider
.
orderDetails
.
status
??
"-"
,
];
var
Headings
=
[...
Headings1
];
var
subHeadings
=
[...
subHeadings1
];
if
(
provider
.
showMoreDetails
){
Headings
=
[...
Headings1
,...
Headings2
];
subHeadings
=
[...
subHeadings1
,...
subHeadings2
];
if
(
provider
.
showMoreDetails
)
{
Headings
=
[...
Headings1
,
...
Headings2
];
subHeadings
=
[...
subHeadings1
,
...
subHeadings2
];
}
return
WillPopScope
(
child:
SafeArea
(
top:
false
,
bottom:
Platform
.
isIOS
?
false
:
true
,
bottom:
Platform
.
isIOS
?
false
:
true
,
child:
Scaffold
(
resizeToAvoidBottomInset:
true
,
appBar:
appbar2
(
context
,
widget
.
mode
!=
""
?
"Order Details"
:
"Order Details (
${widget.mode}
)"
,
widget
.
mode
!=
""
?
"Order Details"
:
"Order Details (
${widget.mode}
)"
,
provider
.
resetAll
,
InkResponse
(
onTap:
()
{
_showOptionsSheet
(
context
);
},
child:
SvgPicture
.
asset
(
"assets/svg/ic_more.svg"
,
height:
30
),
child:
SvgPicture
.
asset
(
"assets/svg/ic_more.svg"
,
height:
30
,
),
),
),
backgroundColor:
AppColors
.
scaffold_bg_color
,
...
...
@@ -211,8 +240,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
margin:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
),
padding:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
),
margin:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
,
),
padding:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
,
),
child:
Column
(
children:
[
Row
(
...
...
@@ -227,7 +262,9 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
color:
Color
(
0xFFFFF3CE
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
child:
SvgPicture
.
asset
(
"assets/svg/fin_ic.svg"
),
child:
SvgPicture
.
asset
(
"assets/svg/fin_ic.svg"
,
),
),
),
SizedBox
(
width:
10
),
...
...
@@ -235,7 +272,8 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
flex:
4
,
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Text
(
orderDetails
.
accountName
??
"-"
,
...
...
@@ -303,8 +341,7 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
Expanded
(
child:
InkResponse
(
onTap:
()
{
if
(
Headings
[
j
]
==
"Purchase Order"
)
{
if
(
Headings
[
j
]
==
"Purchase Order"
)
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
...
...
@@ -324,22 +361,21 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
child:
Text
(
Headings
[
j
]
==
"Purchase Order"
?
"View"
:
subHeadings
[
j
]==
""
?
"-"
:
"
${subHeadings[j]}
"
,
:
subHeadings
[
j
]
==
""
?
"-"
:
"
${subHeadings[j]}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
Headings
[
j
]
==
"Purchase Order"
Headings
[
j
]
==
"Purchase Order"
?
AppColors
.
app_blue
:
Color
(
0xFF818181
),
decoration:
Headings
[
j
]
==
"Purchase Order"
Headings
[
j
]
==
"Purchase Order"
?
TextDecoration
.
underline
:
TextDecoration
.
none
,
decorationColor:
Headings
[
j
]
==
"Purchase Order"
Headings
[
j
]
==
"Purchase Order"
?
AppColors
.
app_blue
:
AppColors
.
white
,
),
...
...
@@ -352,27 +388,25 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
}),
InkResponse
(
onTap:
()
async
{
provider
.
showMoreDetails
=
!
provider
.
showMoreDetails
;
provider
.
showMoreDetails
=
!
provider
.
showMoreDetails
;
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
,
),
padding:
EdgeInsets
.
symmetric
(
vertical:
5
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
Text
(
provider
.
showMoreDetails
?
"- Show Less"
:
"+ More Details"
,
provider
.
showMoreDetails
?
"- Show Less"
:
"+ More Details"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
),
),
],
),
),
...
...
@@ -411,7 +445,9 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
},
child:
Container
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
,
),
color:
Color
(
0xFFFFEFEF
),
border:
Border
.
all
(
color:
Color
(
0xFFED3424
),
...
...
@@ -452,7 +488,9 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
},
child:
Container
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
,
),
color:
Color
(
0xFFE7FFE5
),
border:
Border
.
all
(
color:
Color
(
0xFF0D9C00
),
...
...
@@ -480,7 +518,9 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
},
child:
Container
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
,
),
color:
Color
(
0xFFFFEFEF
),
border:
Border
.
all
(
color:
Color
(
0xFFED3424
),
...
...
@@ -504,12 +544,21 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
child:
InkResponse
(
onTap:
()
{
disProvider
.
initializeForm
(
context
);
disProvider
.
ordersDetailsDispatchOrderViewFunction
(
context
,
widget
.
orderId
);
_showDispatchSheet
(
context
,
"Dispatch"
);
disProvider
.
ordersDetailsDispatchOrderViewFunction
(
context
,
widget
.
orderId
,
);
_showDispatchSheet
(
context
,
"Dispatch"
,
);
},
child:
Container
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
8
),
borderRadius:
BorderRadius
.
circular
(
8
,
),
color:
Color
(
0xFFFFEFEF
),
border:
Border
.
all
(
color:
Color
(
0xFFED3424
),
...
...
@@ -540,7 +589,8 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
},
);
},
);
)
:
NoNetwork
(
context
);
}
Future
<
void
>
_showOptionsSheet
(
BuildContext
context
)
{
...
...
@@ -890,18 +940,26 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
),
],
InkWell
(
onTap:
provider
.
submitClicked
?
null
:
()
{
onTap:
provider
.
submitClicked
?
null
:
()
{
provider
.
submitClicked
=
true
;
provider
.
approvalRejectionAPIFunction
(
context
,
details
.
status
,
details
.
id
,
type
==
"Approve"
?
"Approved"
:
"Rejected"
,
type
==
"Approve"
?
"Approved"
:
"Rejected"
,
details
.
tpcApplicable
,
details
.
tpcApplicable
==
"Yes"
?
(
widget
.
mode
==
"level_one_approval"
?
details
.
level1TpcApprovedAmount
:
details
.
level2TpcApprovedAmount
)
?
(
widget
.
mode
==
"level_one_approval"
?
details
.
level1TpcApprovedAmount
:
details
.
level2TpcApprovedAmount
)
:
""
,
widget
.
mode
==
"dispatched"
?
details
.
invoiceNumber
...
...
@@ -934,9 +992,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
borderRadius:
BorderRadius
.
circular
(
14.0
),
),
child:
Center
(
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
Colors
.
white
),
):
Text
(
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
Colors
.
white
,
),
)
:
Text
(
"Submit"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
color:
Colors
.
white
),
...
...
@@ -1041,7 +1104,10 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
false
,
null
,
),
errorWidget
(
context
,
disProvider
.
driverMobileNumberError
),
errorWidget
(
context
,
disProvider
.
driverMobileNumberError
,
),
InkResponse
(
onTap:
()
{
disProvider
.
editAddNewRow
();
...
...
@@ -1070,21 +1136,30 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
),
),
if
(
disProvider
.
leadProductsList
.
isNotEmpty
||
disProvider
.
engineNumberControllers
.
isNotEmpty
)...[
disProvider
.
engineNumberControllers
.
isNotEmpty
)
...[
ListView
.
builder
(
itemCount:
disProvider
.
engineNumberControllers
.
length
,
itemCount:
disProvider
.
engineNumberControllers
.
length
,
physics:
const
NeverScrollableScrollPhysics
(),
shrinkWrap:
true
,
itemBuilder:
(
context
,
j
)
{
return
Container
(
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
),
margin:
const
EdgeInsets
.
symmetric
(
vertical:
10
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
,
),
margin:
const
EdgeInsets
.
symmetric
(
vertical:
10
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
20
),
),
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
TextWidget
(
context
,
"Product"
),
DropdownButtonHideUnderline
(
...
...
@@ -1095,37 +1170,74 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
isExpanded:
true
,
hint:
const
Text
(
'Select Product'
,
style:
TextStyle
(
fontSize:
14
),
overflow:
TextOverflow
.
ellipsis
,
style:
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
),
items:
disProvider
.
productsList
.
map
((
ord
)
=>
DropdownMenuItem
<
Products
>(
items:
disProvider
.
productsList
.
map
(
(
ord
,
)
=>
DropdownMenuItem
<
Products
>(
value:
ord
,
child:
Text
(
"(Product Name:
${ord.productName}
)"
,
style:
const
TextStyle
(
fontSize:
14
),
overflow:
TextOverflow
.
ellipsis
,
style:
const
TextStyle
(
fontSize:
14
,
),
overflow:
TextOverflow
.
ellipsis
,
),
),
)
)
)
.
toList
(),
value:
disProvider
.
selectedProductIds
[
j
]
!=
null
?
disProvider
.
productsList
.
firstWhere
(
(
ord
)
=>
ord
.
id
==
disProvider
.
selectedProductIds
[
j
],
orElse:
()
=>
disProvider
.
productsList
[
0
],
value:
disProvider
.
selectedProductIds
[
j
]
!=
null
?
disProvider
.
productsList
.
firstWhere
(
(
ord
)
=>
ord
.
id
==
disProvider
.
selectedProductIds
[
j
],
orElse:
()
=>
disProvider
.
productsList
[
0
],
)
:
null
,
onChanged:
(
Products
?
value
)
{
if
(
value
!=
null
)
{
disProvider
.
updateSelectedProductIds
(
j
,
value
);
disProvider
.
selectedProductIds
[
j
]
=
value
.
id
?.
toString
()
??
''
;
disProvider
.
updateTotalAmount
(
j
);
disProvider
.
updateSelectedProductIds
(
j
,
value
,
);
disProvider
.
selectedProductIds
[
j
]
=
value
.
id
?.
toString
()
??
''
;
disProvider
.
updateTotalAmount
(
j
);
}
},
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
buttonStyleData:
ddtheme
.
buttonStyleData
,
iconStyleData:
ddtheme
.
iconStyleData
,
menuItemStyleData:
ddtheme
.
menuItemStyleData
,
dropdownStyleData:
ddtheme
.
dropdownStyleData
,
),
),
],
...
...
@@ -1138,15 +1250,28 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
flex:
2
,
child:
textControllerWidget
(
context
,
disProvider
.
engineNumberControllers
[
j
],
disProvider
.
engineNumberControllers
[
j
],
"Engine Number"
,
"Enter Engine Number"
,
(
p0
)
{
if
(
disProvider
.
engineNumberControllers
[
j
].
text
.
trim
().
isEmpty
){
disProvider
.
pdiIDControllers
[
j
].
clear
();
if
(
disProvider
.
engineNumberControllers
[
j
]
.
text
.
trim
()
.
isEmpty
)
{
disProvider
.
pdiIDControllers
[
j
]
.
clear
();
}
disProvider
.
updateTotalAmount
(
j
);
disProvider
.
ordersPDIIDByEngineNumberFunction
(
context
,
j
);
disProvider
.
updateTotalAmount
(
j
,
);
disProvider
.
ordersPDIIDByEngineNumberFunction
(
context
,
j
,
);
},
TextInputType
.
text
,
false
,
...
...
@@ -1165,7 +1290,8 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
disProvider
.
pdiIDControllers
[
j
],
"PDI ID"
,
"Enter PDI ID"
,
(
value
)
=>
disProvider
.
updateTotalAmount
(
j
),
(
value
)
=>
disProvider
.
updateTotalAmount
(
j
),
TextInputType
.
text
,
true
,
null
,
...
...
@@ -1187,7 +1313,10 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
),
],
InkWell
(
onTap:
provider
.
submitClicked
?
null
:
()
{
onTap:
provider
.
submitClicked
?
null
:
()
{
provider
.
submitClicked
=
false
;
final
data
=
disProvider
.
getFormData
();
print
(
data
);
...
...
@@ -1196,17 +1325,22 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
details
.
status
,
details
.
id
,
type
==
"Dispatch"
,
provider
.
approveRejectFeedbackController
.
text
,
provider
.
approveRejectFeedbackController
.
text
,
details
.
tpcApplicable
,
details
.
tpcApplicable
==
"Yes"
?
(
widget
.
mode
==
"level_one_approval"
?
details
.
level1TpcApprovedAmount
:
details
.
level2TpcApprovedAmount
)
?
(
widget
.
mode
==
"level_one_approval"
?
details
.
level1TpcApprovedAmount
:
details
.
level2TpcApprovedAmount
)
:
""
,
provider
.
saleOrderNumberController
.
text
,
provider
.
editCompanyController
.
text
,
data
,
widget
.
mode
widget
.
mode
,
);
},
...
...
@@ -1224,9 +1358,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
borderRadius:
BorderRadius
.
circular
(
14.0
),
),
child:
Center
(
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
Colors
.
white
),
):
Text
(
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
Colors
.
white
,
),
)
:
Text
(
"Submit"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
color:
Colors
.
white
),
...
...
@@ -1347,7 +1486,10 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
),
],
InkWell
(
onTap:
provider
.
submitClicked
?
null
:
()
{
onTap:
provider
.
submitClicked
?
null
:
()
{
provider
.
submitClicked
=
true
;
provider
.
delectionAPIFunction
(
context
,
...
...
@@ -1368,9 +1510,14 @@ class _OrdersdetailsbymodesState extends State<Ordersdetailsbymodes> {
borderRadius:
BorderRadius
.
circular
(
14.0
),
),
child:
Center
(
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
Colors
.
white
),
):
Text
(
child:
provider
.
submitClicked
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
(
Colors
.
white
,
),
)
:
Text
(
"Submit"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
color:
Colors
.
white
),
...
...
lib/screens/order/ordersListByModes.dart
View file @
ee178d55
...
...
@@ -13,6 +13,9 @@ import '../../Utils/commonWidgets.dart';
import
'../../Utils/dropdownTheme.dart'
;
import
'../commonDateRangeFilter.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
OrderslistbyModes
extends
StatefulWidget
{
final
mode
;
final
pageTitleName
;
...
...
@@ -29,11 +32,17 @@ class OrderslistbyModes extends StatefulWidget {
class
_OrderslistbyModesState
extends
State
<
OrderslistbyModes
>
{
Dropdowntheme
ddtheme
=
Dropdowntheme
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Pagesdashboardprovider
>(
context
,
...
...
@@ -44,9 +53,28 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Pagesdashboardprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Pagesdashboardprovider
>(
builder:
(
context
,
provider
,
child
)
{
final
ordersList
=
provider
.
ordersList
;
return
WillPopScope
(
...
...
@@ -56,7 +84,7 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
},
child:
SafeArea
(
top:
false
,
bottom:
Platform
.
isIOS
?
false
:
true
,
bottom:
Platform
.
isIOS
?
false
:
true
,
child:
Scaffold
(
resizeToAvoidBottomInset:
true
,
appBar:
appbar2
(
...
...
@@ -71,7 +99,6 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
// },
// child: SvgPicture.asset("assets/svg/ic_download.svg"),
// ),
InkResponse
(
onTap:
()
async
{
_showFilterSheet
(
context
);
...
...
@@ -110,7 +137,8 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
),
);
}
if
(
ordersList
[
index
].
orderNumber
==
"GP20252605448"
)
if
(
ordersList
[
index
].
orderNumber
==
"GP20252605448"
)
return
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
...
...
@@ -122,7 +150,9 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
borderRadius:
BorderRadius
.
circular
(
16
,
),
),
child:
Column
(
children:
[
...
...
@@ -133,11 +163,15 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
child:
Container
(
height:
50
,
width:
35
,
padding:
EdgeInsets
.
all
(
8.0
),
padding:
EdgeInsets
.
all
(
8.0
,
),
decoration:
BoxDecoration
(
color:
Color
(
0xFFFFF3CE
),
borderRadius:
BorderRadius
.
circular
(
8
),
BorderRadius
.
circular
(
8
,
),
),
child:
SvgPicture
.
asset
(
"assets/svg/fin_ic.svg"
,
...
...
@@ -150,24 +184,31 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
CrossAxisAlignment
.
start
,
children:
[
Text
(
ordersList
[
index
]
.
accountName
!,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
semi_black
,
color:
AppColors
.
semi_black
,
),
),
Text
(
"₹"
"
${ordersList[index].balanceAmount}
"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
color:
AppColors
.
app_blue
,
),
),
],
...
...
@@ -177,23 +218,31 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
Expanded
(
flex:
2
,
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
10
,
),
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
8
),
BorderRadius
.
circular
(
8
,
),
color:
Color
(
0xFFE3FFE0
),
),
child:
Center
(
child:
Text
(
ordersList
[
index
].
status
!,
textAlign:
TextAlign
.
center
,
ordersList
[
index
]
.
status
!,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
Color
(
0xFF0D9C00
),
color:
Color
(
0xFF0D9C00
,
),
),
),
),
...
...
@@ -217,8 +266,10 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
final
subHeadings
=
[
ordersList
[
index
].
orderNumber
,
ordersList
[
index
].
enteredEmpName
,
ordersList
[
index
].
salesPersonEmpName
,
ordersList
[
index
]
.
enteredEmpName
,
ordersList
[
index
]
.
salesPersonEmpName
,
// ordersList[index].createdDatetime,
ordersList
[
index
].
paidAmount
,
ordersList
[
index
].
balanceAmount
,
...
...
@@ -235,9 +286,12 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
child:
Text
(
headings
[
j
],
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
semi_black
,
color:
AppColors
.
semi_black
,
),
),
),
...
...
@@ -247,9 +301,12 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
subHeadings
[
j
]!,
style:
TextStyle
(
fontSize:
14
,
color:
Color
(
0xFF818181
),
color:
Color
(
0xFF818181
,
),
decoration:
TextDecoration
.
none
,
TextDecoration
.
none
,
decorationColor:
AppColors
.
white
,
),
...
...
@@ -266,10 +323,12 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
Ordersdetailsbymodes
(
(
context
,
)
=>
Ordersdetailsbymodes
(
pageTitleName:
widget
.
pageTitleName
,
widget
.
pageTitleName
,
orderId:
ordersList
[
index
]
.
orderId
,
...
...
@@ -277,9 +336,19 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
),
),
);
if
(
res
==
true
){
provider
.
ordersListByModeFilterAPIFunction
(
context
,
widget
.
mode
);
provider
.
ordersListByModeAPIFunction
(
context
,
widget
.
mode
,
""
,
""
);
if
(
res
==
true
)
{
provider
.
ordersListByModeFilterAPIFunction
(
context
,
widget
.
mode
,
);
provider
.
ordersListByModeAPIFunction
(
context
,
widget
.
mode
,
""
,
""
,
);
}
},
child:
Container
(
...
...
@@ -295,9 +364,11 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
Text
(
"View Details"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
color:
AppColors
.
app_blue
,
),
),
SizedBox
(
width:
5
),
...
...
@@ -321,7 +392,8 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
),
);
},
);
)
:
NoNetwork
(
context
);
}
Future
<
void
>
_showOptionsSheet
(
BuildContext
context
)
{
...
...
lib/screens/order/paymentDetailsByMode.dart
View file @
ee178d55
...
...
@@ -12,6 +12,8 @@ import '../finance/FileViewer.dart';
import
'editPaymentDetailsByMode.dart'
;
import
'ordersDetailsByModes.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
Paymentdetailsbymode
extends
StatefulWidget
{
final
pageTitleName
;
final
paymentId
;
...
...
@@ -29,10 +31,17 @@ class Paymentdetailsbymode extends StatefulWidget {
}
class
_PaymentdetailsbymodeState
extends
State
<
Paymentdetailsbymode
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Paymentsprovider
>(
context
,
listen:
false
);
provider
.
paymentsDetailsByModeAPIFunction
(
...
...
@@ -43,9 +52,28 @@ class _PaymentdetailsbymodeState extends State<Paymentdetailsbymode> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Paymentsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Paymentsprovider
>(
builder:
(
context
,
provider
,
child
)
{
var
paymentDetails
=
provider
.
paymentDetails
;
var
adjustList
=
provider
.
paidLists
;
...
...
@@ -485,7 +513,7 @@ class _PaymentdetailsbymodeState extends State<Paymentdetailsbymode> {
},
);
},
);
):
NoNetwork
(
context
);
}
...
...
lib/screens/order/paymentListsByMode.dart
View file @
ee178d55
...
...
@@ -12,6 +12,8 @@ import '../../Utils/app_colors.dart';
import
'../../Utils/commonWidgets.dart'
;
import
'../../Utils/dropdownTheme.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
Paymentlistsbymode
extends
StatefulWidget
{
final
mode
;
final
pageTitleName
;
...
...
@@ -25,10 +27,17 @@ class Paymentlistsbymode extends StatefulWidget {
class
_PaymentlistsbymodeState
extends
State
<
Paymentlistsbymode
>
{
Dropdowntheme
ddtheme
=
Dropdowntheme
();
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Paymentsprovider
>(
context
,
...
...
@@ -39,10 +48,27 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Paymentsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Paymentsprovider
>(
builder:
(
context
,
provider
,
child
)
{
final
paymentLists
=
provider
.
paymentsList
;
return
WillPopScope
(
...
...
@@ -296,7 +322,7 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> {
),
);
},
);
):
NoNetwork
(
context
);
}
Future
<
void
>
_showOptionsSheet
(
BuildContext
context
)
{
...
...
lib/screens/order/tpcAgentDetailsByMode.dart
View file @
ee178d55
...
...
@@ -10,6 +10,8 @@ import '../../Utils/commonWidgets.dart';
import
'../finance/FileViewer.dart'
;
import
'ordersDetailsByModes.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
Tpcagentdetailsbymode
extends
StatefulWidget
{
final
tpcAgentId
;
final
pageTitleName
;
...
...
@@ -21,10 +23,18 @@ class Tpcagentdetailsbymode extends StatefulWidget {
}
class
_TpcagentdetailsbymodeState
extends
State
<
Tpcagentdetailsbymode
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Tpcagentsprovider
>(
context
,
...
...
@@ -35,10 +45,28 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Tpcagentsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Tpcagentsprovider
>(
builder:
(
context
,
provider
,
child
)
{
var
tpcAgentDetails
=
provider
.
TPCAgentsDetails
;
var
tpcReqAmt
=
provider
.
TPCRequestedAmounts
;
...
...
@@ -303,7 +331,8 @@ class _TpcagentdetailsbymodeState extends State<Tpcagentdetailsbymode> {
},
);
},
);
):
NoNetwork
(
context
);
}
...
...
lib/screens/order/tpcAgentListByMode.dart
View file @
ee178d55
...
...
@@ -10,6 +10,8 @@ import 'package:provider/provider.dart';
import
'../../Utils/app_colors.dart'
;
import
'../../Utils/commonWidgets.dart'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
class
Tpcagentlistbymode
extends
StatefulWidget
{
final
pageTitleName
;
final
mode
;
...
...
@@ -22,10 +24,17 @@ class Tpcagentlistbymode extends StatefulWidget {
}
class
_TpcagentlistbymodeState
extends
State
<
Tpcagentlistbymode
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
// TODO: implement initState
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
var
provider
=
Provider
.
of
<
Tpcagentsprovider
>(
context
,
...
...
@@ -36,10 +45,30 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Tpcagentsprovider
>(
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
connection
==
"Online"
?
Consumer
<
Tpcagentsprovider
>(
builder:
(
context
,
provider
,
child
)
{
final
tpcAgentsLists
=
provider
.
tpcAgentsList
;
return
WillPopScope
(
...
...
@@ -297,6 +326,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
),
);
},
);
):
NoNetwork
(
context
);
}
}
lib/screens/serviceEngineer/PaymentDetails.dart
View file @
ee178d55
...
...
@@ -171,6 +171,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
// To disable selecting this item
child:
InkWell
(
onTap:
()
{
Navigator
.
pop
(
context
);
_addContactSheet
(
context
);
},
child:
Container
(
...
...
@@ -242,6 +243,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
],
),
),
errorWidget
(
context
,
provider
.
selectContactError
),
SizedBox
(
height:
10
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
...
...
@@ -313,6 +315,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
],
),
),
errorWidget
(
context
,
provider
.
selectPaymentError
),
SizedBox
(
height:
10
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
...
...
@@ -335,7 +338,11 @@ class _PaymentdetailsState extends State<Paymentdetails> {
),
child:
TextFormField
(
controller:
provider
.
Amountcontroller
,
keyboardType:
TextInputType
.
text
,
onChanged:
(
value
)
{
provider
.
selectAmountError
=
null
;
},
keyboardType:
TextInputType
.
numberWithOptions
(),
textInputAction:
TextInputAction
.
next
,
decoration:
InputDecoration
(
hintText:
"Enter Amount"
,
hintStyle:
TextStyle
(
...
...
@@ -350,6 +357,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
),
),
),
errorWidget
(
context
,
provider
.
selectAmountError
),
SizedBox
(
height:
10
),
Padding
(
padding:
const
EdgeInsets
.
only
(
bottom:
5.0
),
...
...
@@ -373,6 +381,9 @@ class _PaymentdetailsState extends State<Paymentdetails> {
child:
TextFormField
(
controller:
provider
.
Referencecontroller
,
keyboardType:
TextInputType
.
text
,
onChanged:
(
value
)
{
provider
.
ReferenceError
=
null
;
},
decoration:
InputDecoration
(
hintText:
"Enter Reference Number"
,
hintStyle:
TextStyle
(
...
...
@@ -387,6 +398,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
),
),
),
errorWidget
(
context
,
provider
.
ReferenceError
),
SizedBox
(
height:
10
),
InkResponse
(
onTap:
()
{
...
...
@@ -425,7 +437,9 @@ class _PaymentdetailsState extends State<Paymentdetails> {
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
[
Text
(
Expanded
(
flex:
5
,
child:
Text
(
"
${provider.imagePath}
"
,
style:
TextStyle
(
color:
AppColors
.
semi_black
,
...
...
@@ -433,7 +447,10 @@ class _PaymentdetailsState extends State<Paymentdetails> {
fontWeight:
FontWeight
.
w600
,
),
),
InkResponse
(
),
Expanded
(
flex:
1
,
child:
InkResponse
(
onTap:
()
{
provider
.
imagePicked
=
0
;
provider
.
imagePath
=
null
;
...
...
@@ -445,10 +462,13 @@ class _PaymentdetailsState extends State<Paymentdetails> {
height:
15
,
),
),
),
],
),
),
],
errorWidget
(
context
,
provider
.
imageError
),
],
),
),
...
...
@@ -458,29 +478,13 @@ class _PaymentdetailsState extends State<Paymentdetails> {
FloatingActionButtonLocation
.
centerFloat
,
floatingActionButton:
InkWell
(
onTap:
()
{
print
(
"clickedw"
);
if
(
provider
.
contactID
==
null
)
{
toast
(
context
,
"Please Select Contact"
);
return
;
}
if
(
provider
.
paymentModeID
==
null
)
{
toast
(
context
,
"Please Select Payment Type"
);
return
;
}
if
(
provider
.
image_picked
==
0
)
{
toast
(
context
,
"Please add attachment"
);
return
;
}
provider
.
PaymentUpdateAPI
(
context
,
provider
.
Referencecontroller
.
text
,
provider
.
Amountcontroller
.
text
,
);
Future
.
delayed
(
Duration
(
microseconds:
200
),
()
{
if
(
provider
.
CollectionId
!=
0
)
{
showOTPSheetSheet
(
context
);
}
});
},
child:
Container
(
alignment:
Alignment
.
center
,
...
...
@@ -849,6 +853,14 @@ class _PaymentdetailsState extends State<Paymentdetails> {
provider
.
telController
,
provider
.
emailController
,
];
final
Errors
=
[
provider
.
nameError
,
provider
.
designationError
,
provider
.
mobError
,
provider
.
altMobError
,
provider
.
telError
,
provider
.
emailError
,
];
return
Padding
(
padding:
EdgeInsets
.
only
(
bottom:
...
...
@@ -904,7 +916,9 @@ class _PaymentdetailsState extends State<Paymentdetails> {
child:
TextFormField
(
controller:
controllers
[
index
],
focusNode:
focusNodes
[
index
],
onChanged:
(
value
)
{
Errors
[
index
]
=
null
;
},
maxLength:
[
"Mobile Number"
,
...
...
@@ -915,6 +929,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
?
10
:
998895646546561356
,
maxLines:
1
,
keyboardType:
[
"Mobile Number"
,
...
...
@@ -944,6 +959,7 @@ class _PaymentdetailsState extends State<Paymentdetails> {
),
),
),
errorWidget
(
context
,
Errors
[
index
])
],
);
}),
...
...
@@ -956,12 +972,9 @@ class _PaymentdetailsState extends State<Paymentdetails> {
widget
.
genId
==
""
?
widget
.
referenceID
:
widget
.
genId
,
provider
.
nameController
.
text
,
provider
.
designationController
.
text
,
provider
.
mobController
.
text
,
provider
.
altMobController
.
text
,
provider
.
telController
.
text
,
provider
.
emailController
.
text
,
widget
.
accountName
,
widget
.
referenceID
,
widget
.
genId
,
);
},
child:
Container
(
...
...
lib/screens/serviceEngineer/serviceEngineerDashboard.dart
View file @
ee178d55
import
'dart:io'
;
import
'package:connectivity_plus/connectivity_plus.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_svg/svg.dart'
;
import
'package:generp/Notifiers/ServiceEngineerDashboardProvider.dart'
;
import
'package:generp/Utils/app_colors.dart'
;
import
'package:generp/Utils/commonServices.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
import
'package:provider/provider.dart'
;
import
'package:generp/screens/screensExports.dart'
;
...
...
@@ -17,9 +19,17 @@ class Serviceengineerdashboard extends StatefulWidget {
}
class
_ServiceengineerdashboardState
extends
State
<
Serviceengineerdashboard
>
{
Map
_source
=
{
ConnectivityResult
.
mobile
:
true
};
final
MyConnectivity
_connectivity
=
MyConnectivity
.
instance
;
@override
void
initState
()
{
super
.
initState
();
_connectivity
.
initialise
();
_connectivity
.
myStream
.
listen
((
source
)
{
setState
(()
=>
_source
=
source
);
});
WidgetsBinding
.
instance
.
addPostFrameCallback
((
_
)
{
var
serviceProvider
=
Provider
.
of
<
Serviceengineerdashboardprovider
>(
context
,
...
...
@@ -28,15 +38,32 @@ class _ServiceengineerdashboardState extends State<Serviceengineerdashboard> {
serviceProvider
.
LoadTechnicianDashboard
(
context
);
});
}
@override
void
dispose
()
{
// TODO: implement dispose
super
.
dispose
();
_connectivity
.
disposeStream
();
}
@override
Widget
build
(
BuildContext
context
)
{
return
Platform
.
isAndroid
switch
(
_source
.
keys
.
toList
()[
0
])
{
case
ConnectivityResult
.
mobile
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
wifi
:
connection
=
'Online'
;
break
;
case
ConnectivityResult
.
none
:
default
:
connection
=
'Offline'
;
}
return
(
connection
==
"Online"
)?
Platform
.
isAndroid
?
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
child:
SafeArea
(
top:
false
,
bottom:
true
,
child:
_scaffold
(
context
)),
)
:
_scaffold
(
context
);
:
_scaffold
(
context
)
:
NoNetwork
(
context
)
;
}
Widget
_scaffold
(
BuildContext
context
)
{
...
...
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment