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
379460f6
Commit
379460f6
authored
Jul 05, 2025
by
Sai Srinivas
Browse files
04-07-2025 By Sai Srinivas
Test cases and Order Module, Crm Module.
parent
2ccf19cc
Changes
48
Expand all
Hide whitespace changes
Inline
Side-by-side
lib/screens/HomeScreen.dart
View file @
379460f6
...
...
@@ -112,7 +112,7 @@ class _MyHomePageState extends State<MyHomePage> {
final
names
=
[
"Attendance"
,
"Finance"
,
//
"CRM",
"CRM"
,
"Orders"
,
"ERP"
,
"Service Engineer"
,
...
...
@@ -125,7 +125,7 @@ class _MyHomePageState extends State<MyHomePage> {
final
icons
=
[
"assets/svg/home_icons_1.svg"
,
"assets/svg/home_icons_10.svg"
,
//
"assets/svg/home_icons_12.svg",
"assets/svg/home_icons_12.svg"
,
"assets/svg/home_icons_11.svg"
,
"assets/svg/home_icons_2.svg"
,
"assets/svg/home_icons_4.svg"
,
...
...
@@ -138,7 +138,7 @@ class _MyHomePageState extends State<MyHomePage> {
final
requiredRoles
=
[
"430"
,
"430"
,
//
"430",
"430"
,
"430"
,
"431"
,
"433"
,
...
...
@@ -635,6 +635,7 @@ class _MyHomePageState extends State<MyHomePage> {
),
SizedBox
(
height:
15
),
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
10
),
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
30
),
gradient:
LinearGradient
(
...
...
@@ -671,6 +672,7 @@ class _MyHomePageState extends State<MyHomePage> {
),
Text
(
"
${profile.employeeName}
"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
color:
AppColors
.
app_blue
,
fontFamily:
"JakartaSemiBold"
,
...
...
@@ -679,6 +681,7 @@ class _MyHomePageState extends State<MyHomePage> {
),
Text
(
"
${profile.employeeEmail}
"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
color:
AppColors
.
semi_black
,
fontSize:
14
,
...
...
lib/screens/commom/accountsList.dart
View file @
379460f6
This diff is collapsed.
Click to expand it.
lib/screens/commom/accountsListDetails.dart
View file @
379460f6
...
...
@@ -4,6 +4,7 @@ import 'package:generp/Notifiers/commonProvider/accountDetailsProvider.dart';
import
'package:generp/Utils/app_colors.dart'
;
import
'package:generp/Utils/commonWidgets.dart'
;
import
'package:generp/screens/commom/transactionDetails.dart'
;
import
'package:generp/screens/finance/submitPaymentRequestionListsByMode.dart'
;
import
'package:provider/provider.dart'
;
import
'../../Models/commonModels/commonAccountdetailsResponse.dart'
;
...
...
@@ -11,7 +12,7 @@ import '../../Models/commonModels/commonAccountdetailsResponse.dart';
class
Accountslistdetails
extends
StatefulWidget
{
final
accountID
;
const
Accountslistdetails
({
super
.
key
,
required
this
.
accountID
});
const
Accountslistdetails
({
super
.
key
,
required
this
.
accountID
});
@override
State
<
Accountslistdetails
>
createState
()
=>
_AccountslistdetailsState
();
...
...
@@ -33,7 +34,7 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
return
Consumer
<
Accountdetailsprovider
>(
builder:
(
context
,
provider
,
child
)
{
final
groupedData
=
provider
.
groupByDate
(
provider
.
ledgerList
);
// Calculate total credit, debit, and balance
// Calculate total credit, debit, and balance
double
totalCredit
=
0
;
double
totalDebit
=
0
;
double
overallBalance
=
0
;
...
...
@@ -48,24 +49,28 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
return
WillPopScope
(
child:
Scaffold
(
appBar:
appbar2
(
context
,
"Account Details"
,
provider
.
resetValues
,
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
5
),
decoration:
BoxDecoration
(
color:
Color
(
0xFFE6F6FF
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
child:
Row
(
children:
[
SvgPicture
.
asset
(
"assets/svg/fin_ic.svg"
,
height:
12
,),
SizedBox
(
width:
5
,),
Text
(
overallBalance
.
toString
()??
"-"
,
style:
TextStyle
(
fontSize:
12
,
),)
],
appBar:
appbar2
(
context
,
"Account Details"
,
provider
.
resetValues
,
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
5
),
decoration:
BoxDecoration
(
color:
Color
(
0xFFE6F6FF
),
borderRadius:
BorderRadius
.
circular
(
8
),
),
child:
Row
(
children:
[
SvgPicture
.
asset
(
"assets/svg/fin_ic.svg"
,
height:
12
),
SizedBox
(
width:
5
),
Text
(
overallBalance
.
toString
()
??
"-"
,
style:
TextStyle
(
fontSize:
12
),
),
],
),
),
)
),
),
resizeToAvoidBottomInset:
true
,
backgroundColor:
AppColors
.
scaffold_bg_color
,
body:
SafeArea
(
...
...
@@ -77,7 +82,7 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
Container
(
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
)
borderRadius:
BorderRadius
.
circular
(
16
)
,
),
child:
Row
(
children:
[
...
...
@@ -96,8 +101,7 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
RichText
(
text:
TextSpan
(
...
...
@@ -106,12 +110,10 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
text:
"
${totalCredit}
"
,
style:
TextStyle
(
color:
Color
(
0xFFED3424
),
fontFamily:
"JakartaRegular"
,
fontFamily:
"JakartaRegular"
,
fontSize:
25
,
),
),
],
),
),
...
...
@@ -140,8 +142,7 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
RichText
(
text:
TextSpan
(
...
...
@@ -150,12 +151,10 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
text:
"
${totalDebit}
"
,
style:
TextStyle
(
color:
Color
(
0xFFED3424
),
fontFamily:
"JakartaRegular"
,
fontFamily:
"JakartaRegular"
,
fontSize:
25
,
),
),
],
),
),
...
...
@@ -172,14 +171,14 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
],
),
),
Text
(
"Account Details"
,
style:
TextStyle
(
fontSize:
16
,
color:
AppColors
.
grey_thick
,
fontFamily:
"JakartaMedium"
,
),
),
//
Text(
//
"Account Details",
//
style: TextStyle(
//
fontSize: 16,
//
color: AppColors.grey_thick,
//
fontFamily: "JakartaMedium",
//
),
//
),
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
...
...
@@ -220,7 +219,8 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
provider
.
accountDetails
.
bankIfscCode
??
"-"
,
provider
.
accountDetails
.
bankAccountHolderName
??
"-"
,
provider
.
accountDetails
.
bankAccountNumber
??
"-"
,
provider
.
accountDetails
.
bankAccountNumber
??
"-"
,
provider
.
accountDetails
.
bankUpiId
??
"-"
,
provider
.
accountDetails
.
state
??
"-"
,
provider
.
accountDetails
.
district
??
"-"
,
...
...
@@ -244,7 +244,9 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
SizedBox
(
width:
15
),
Expanded
(
child:
Text
(
subHeadings
[
j
]==
""
?
"-"
:
subHeadings
[
j
]
??
"-"
,
subHeadings
[
j
]
==
""
?
"-"
:
subHeadings
[
j
]
??
"-"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
...
...
@@ -285,11 +287,9 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
),
),
...
items
.
map
((
item
)
{
double
running_balance
=
0
;
int
currentIndex
=
provider
.
ledgerList
.
indexOf
(
item
,
);
int
currentIndex
=
provider
.
ledgerList
.
indexOf
(
item
);
for
(
var
i
=
0
;
i
<=
currentIndex
;
i
++)
{
var
ledgerItem
=
provider
.
ledgerList
[
i
];
double
credit
=
...
...
@@ -310,9 +310,7 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
horizontal:
10
,
vertical:
10
,
),
margin:
EdgeInsets
.
symmetric
(
vertical:
5
,
),
margin:
EdgeInsets
.
symmetric
(
vertical:
5
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
...
...
@@ -352,8 +350,9 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
children:
[
Text
(
item
.
description
??
"-"
,
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
...
...
@@ -371,13 +370,14 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
child:
RichText
(
maxLines:
1
,
textAlign:
TextAlign
.
right
,
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
text:
TextSpan
(
children:
[
TextSpan
(
text:
item
.
type
==
"Credit"
item
.
type
==
"Credit"
?
"-"
:
"+"
,
style:
TextStyle
(
...
...
@@ -414,18 +414,24 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
),
Row(
children: [
Expanded(child: Text("
Balance
",style: TextStyle(
fontSize: 13,
color: Color(0xFF2d2d2d)
),)),
Expanded(
child: Text(
textAlign:TextAlign.right
,
"
$
{
running_balance
.
toString
()}
" ??
"
-
",style: TextStyle(
color: Color(0xFF
818181
),
fontSize: 13
"
Balance
"
,
style: TextStyle(
fontSize: 13,
color: Color(0xFF
2d2d2d
),
),
),
),
Expanded(
child: Text(
textAlign: TextAlign.right,
"
$
{
running_balance
.
toString
()}
" ??
"
-
",
style: TextStyle(
color: Color(0xFF818181),
fontSize: 13,
),
),
),
],
...
...
@@ -436,19 +442,23 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
context,
MaterialPageRoute(
builder:
(context) => Transactiondetails(
paymentID: item.refId,
type: item.type,
),
(context) =>
Transactiondetails(
paymentID: item.refId,
type: item.type,
),
),
);
},
child: Container(
padding: EdgeInsets.symmetric(vertical: 5),
padding: EdgeInsets.symmetric(
vertical: 5,
),
child: Row(
crossAxisAlignment:
CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.start,
CrossAxisAlignment.center,
mainAxisAlignment:
MainAxisAlignment.start,
children: [
Text(
"
View
Details
",
...
...
@@ -475,6 +485,50 @@ class _AccountslistdetailsState extends State<Accountslistdetails> {
);
},
),
if(["
Vendor
","
Customer
"].contains(provider.accountDetails.type))...[
InkWell(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder:
(context) =>
Submitpaymentrequestionlistsbymode(
mode: "
other
",
pageTitleName:
"
Add
Payment
Request
(
Other
)
",
accountId:provider.accountDetails.id!
),
),
);
},
child: Container(
alignment: Alignment.center,
height: 45,
margin: EdgeInsets.only(
left: 5.0,
right: 5.0,
top: 5.0,
bottom: 5.0,
),
decoration: BoxDecoration(
color: AppColors.app_blue, //1487C9
borderRadius: BorderRadius.circular(15.0),
),
child: Center(
child: Text(
"
Add
Payment
Request
(
Other
)
",
textAlign: TextAlign.center,
style: TextStyle(
color: Colors.white,
fontFamily: "
JakartaMedium
",
fontSize: 15,
),
),
),
),
),
]
],
),
),
...
...
lib/screens/commom/addCommonPayment.dart
View file @
379460f6
...
...
@@ -331,7 +331,8 @@ class _AddcommonpaymentState extends State<Addcommonpayment>{
);
if
(
provider
.
selectedDistricts
!=
null
)
{
provider
.
selectedDistricts
=
null
;
provider
.
states
.
clear
();
// provider.selectedDistricts = null;
provider
.
selectedDistrictId
=
null
;
provider
.
selectedDistrictValue
=
...
...
@@ -451,8 +452,8 @@ class _AddcommonpaymentState extends State<Addcommonpayment>{
);
if
(
provider
.
selectedSubLocations
!=
null
)
{
provider
.
selectedSubLocations
=
null
;
//
provider.selectedSubLocations =
//
null;
provider
.
selectedSubLocID
=
null
;
provider
.
selectedSubLocValue
=
null
;
...
...
lib/screens/crm/LeadDetailsByMode.dart
View file @
379460f6
...
...
@@ -55,6 +55,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
"Account Created By"
,
"Address"
,
"Lead Status"
,
"Last Followup Date"
];
...
...
@@ -64,6 +65,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
provider
.
accountDetails
!.
owner
??
"-"
,
provider
.
leadDetails
!.
address
??
"-"
,
provider
.
leadDetails
!.
status
??
"-"
,
provider
.
followupDetails
.
first
!.
fdate
??
"-"
,
];
...
...
@@ -161,6 +163,7 @@ class _LeadDetailsByModeState extends State<LeadDetailsByMode> {
),
),
SizedBox
(
width:
10
),
if
(
provider
.
showEditButton
==
"1"
)
Expanded
(
flex:
1
,
child:
InkResponse
(
...
...
lib/screens/crm/LeadListByMode.dart
View file @
379460f6
...
...
@@ -798,7 +798,7 @@ class _LeadlistbymodeState extends State<Leadlistbymode> {
.
districtsList
.
isNotEmpty
)
{
provider
.
districtsList
.
clear
();
provider
.
selectedDistricts
=
null
;
//
provider.selectedDistricts = null;
provider
.
selectedDistrictId
=
null
;
provider
.
selectedDistrictValue
=
""
;
}
...
...
@@ -862,8 +862,8 @@ class _LeadlistbymodeState extends State<Leadlistbymode> {
.
subLocationsList
.
isNotEmpty
)
{
provider
.
subLocationsList
.
clear
();
provider
.
selectedSubLocations
=
null
;
//
provider.selectedSubLocations =
//
null;
provider
.
selectedSubLocationId
=
null
;
provider
.
selectedSubLocationValue
=
...
...
lib/screens/crm/ProspectDetailsByMode.dart
View file @
379460f6
...
...
@@ -227,7 +227,9 @@ class ProspectDetailsByModeState extends State<ProspectDetailsByMode> {
),
),
),
SizedBox
(
width:
5
),
if
(
provider
.
showTransferAccount
==
"1"
)...[
SizedBox
(
width:
5
),
Expanded
(
flex:
1
,
child:
InkResponse
(
...
...
@@ -242,11 +244,12 @@ class ProspectDetailsByModeState extends State<ProspectDetailsByMode> {
width:
30
,
padding:
EdgeInsets
.
all
(
8.0
),
child:
SvgPicture
.
asset
(
"assets/svg/
crm_
transfer_
i
c.svg"
,
"assets/svg/transfer_
a
c.svg"
,
),
),
),
),
],
SizedBox
(
width:
5
),
Expanded
(
flex:
1
,
...
...
lib/screens/crm/QuotationDetails.dart
View file @
379460f6
...
...
@@ -55,14 +55,14 @@ class _QuotationDetailsState extends State<QuotationDetails> {
children:
[
...
List
.
generate
(
5
,
(
j
)
{
final
textheads
=
[
"
Id
"
,
"
Description
"
,
"Employee Name"
,
"Quotation"
,
"Info"
,
"Date"
,
];
final
textSubheads
=
[
quotationDetails
[
index
].
id
??
"-"
,
quotationDetails
[
index
].
subject
??
"-"
,
quotationDetails
[
index
].
employee
??
"-"
,
"View File"
,
// quotationDetails[index].finTime ?? "-",
...
...
lib/screens/crm/crmDashboard.dart
View file @
379460f6
...
...
@@ -35,9 +35,9 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
return
Consumer
<
Crmdashboardprovider
>(
builder:
(
context
,
provider
,
child
)
{
final
gridPages
=
provider
.
accessPages
.
where
((
page
)
=>
![
8
,
9
,
23
,
24
,
51
,
50
].
contains
(
page
.
id
))
.
toList
();
provider
.
accessPages
.
where
((
page
)
=>
![
8
,
9
,
23
,
24
,
51
,
50
].
contains
(
page
.
id
))
.
toList
();
return
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
...
...
@@ -84,7 +84,10 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
decoration:
BoxDecoration
(
color:
AppColors
.
text_field_color
,
borderRadius:
BorderRadius
.
circular
(
14
),
border:
focusNode
.
hasFocus
?
Border
.
all
(
color:
AppColors
.
app_blue
):
null
border:
focusNode
.
hasFocus
?
Border
.
all
(
color:
AppColors
.
app_blue
)
:
null
,
),
child:
Row
(
children:
[
...
...
@@ -96,22 +99,26 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
controller:
provider
.
searchController
,
keyboardType:
TextInputType
.
text
,
maxLines:
1
,
onChanged:
(
value
)
{},
focusNode:
focusNode
,
onTapUpOutside:
(
event
)
{
focusNode
.
requestF
ocus
();
focusNode
.
unf
ocus
();
},
textInputAction:
TextInputAction
.
done
,
onEditingComplete:
()
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
Universalsearchscreen
(
text:
provider
.
searchController
.
text
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
Universalsearchscreen
(
text:
provider
.
searchController
.
text
,
),
settings:
RouteSettings
(
name:
'SearchScreen'
),
),
settings:
RouteSettings
(
name:
'SearchScreen'
),
));
);
},
enabled:
true
,
decoration:
InputDecoration
(
counterText:
""
,
hintText:
"Search"
,
...
...
@@ -128,7 +135,7 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
),
),
),
SvgPicture
.
asset
(
"assets/svg/search_ic.svg"
)
SvgPicture
.
asset
(
"assets/svg/search_ic.svg"
)
,
],
),
),
...
...
@@ -141,8 +148,10 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
),
body:
SafeArea
(
child:
SingleChildScrollView
(
physics:
AlwaysScrollableScrollPhysics
(),
child:
Column
(
children:
[
if
(
provider
.
allLeads
.
length
>
0
)...[
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
...
...
@@ -156,10 +165,7 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
height:
MediaQuery
.
of
(
context
)
.
size
.
height
*
0.28
,
height:
MediaQuery
.
of
(
context
).
size
.
height
*
0.28
,
child:
GridView
.
builder
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
0
,
...
...
@@ -216,22 +222,21 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
Leadlistbymode
(
(
context
)
=>
Leadlistbymode
(
pageTitleName:
provider
.
allLeads
[
jndex
]
.
filter
!
.
pageName
!,
provider
.
allLeads
[
jndex
]
.
filter
!
.
pageName
!,
mode:
provider
.
allLeads
[
jndex
]
.
filter
!
.
mode
,
provider
.
allLeads
[
jndex
]
.
filter
!
.
mode
,
filter:
provider
.
allLeads
[
jndex
]
.
filter
!,
provider
.
allLeads
[
jndex
]
.
filter
!,
),
),
);
...
...
@@ -267,6 +272,7 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
},
),
),
],
ListView
.
builder
(
physics:
NeverScrollableScrollPhysics
(),
shrinkWrap:
true
,
...
...
@@ -301,26 +307,24 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
Leadlistbymode
(
(
context
)
=>
Leadlistbymode
(
mode:
gridPages
[
index
].
mode
,
pageTitleName:
gridPages
[
index
].
pageName
,
gridPages
[
index
].
pageName
,
),
),
);
}
else
if
(
gridPages
[
index
].
pageName
!.
contains
(
"
Prospec
t List"
,
"
Accoun
t List"
,
))
{
Navigator
.
push
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
ProspectListByMode
(
(
context
)
=>
ProspectListByMode
(
mode:
gridPages
[
index
].
mode
,
pageTitleName:
gridPages
[
index
].
pageName
,
gridPages
[
index
].
pageName
,
),
),
);
...
...
@@ -403,43 +407,97 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
),
),
),
ListView
.
builder
(
physics:
NeverScrollableScrollPhysics
(),
shrinkWrap:
true
,
padding:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
,
Container
(
width:
double
.
infinity
,
height:
MediaQuery
.
of
(
context
).
size
.
height
*
0.34
,
child:
ListView
.
builder
(
physics:
AlwaysScrollableScrollPhysics
(),
shrinkWrap:
true
,
scrollDirection:
Axis
.
horizontal
,
padding:
EdgeInsets
.
symmetric
(
vertical:
10
,
horizontal:
10
,
),
itemCount:
provider
.
pendingTasksLists
.
length
,
itemBuilder:
(
context
,
index
)
{
final
headings
=
[
"Lead Name"
,
"Mobile Number"
,
"Appointment Date"
,
"Appointment Type"
,
"Note"
,
"Status"
,
];
final
subHeadings
=
[
provider
.
pendingTasksLists
[
index
].
aname
??
"-"
,
provider
.
pendingTasksLists
[
index
].
conmob
??
"-"
,
provider
.
pendingTasksLists
[
index
].
appdate
??
"-"
,
provider
.
pendingTasksLists
[
index
].
atype
??
"-"
,
provider
.
pendingTasksLists
[
index
].
anote
??
"-"
,
provider
.
pendingTasksLists
[
index
].
lstatus
??
"-"
,
];
return
Container
(
height:
MediaQuery
.
of
(
context
).
size
.
height
*
0.3
,
width:
MediaQuery
.
of
(
context
).
size
.
width
*
0.6
,
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
14
),
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
5
,
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
child:
Column
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
...
List
.
generate
(
headings
.
length
,
(
j
)
{
return
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
6
,
horizontal:
0
,
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Expanded
(
child:
Text
(
"
${headings[j]}
"
,
style:
TextStyle
(
fontSize:
14
),
),
),
Expanded
(
child:
Text
(
"
${subHeadings[j]}
"
,
style:
TextStyle
(
color:
AppColors
.
grey_semi
,
fontSize:
14
,
),
),
),
],
),
);
},)
],
),
);
},
),
itemCount:
provider
.
pendingTasksLists
.
length
,
itemBuilder:
(
context
,
index
)
{
return
Container
(
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
14
),
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
5
,
vertical:
5
,
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
child:
Row
(
children:
[
Text
(
provider
.
pendingTasksLists
[
index
].
aname
!),
],
),
);
},
),
],
SizedBox
(
height:
150
,),
],
),
),
),
floatingActionButtonLocation:
FloatingActionButtonLocation
.
centerFloat
,
FloatingActionButtonLocation
.
centerFloat
,
floatingActionButton:
InkResponse
(
onTap:
()
{
_showPaymentOptionsSheet
(
context
);
...
...
@@ -485,9 +543,9 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
child:
Consumer
<
Crmdashboardprovider
>(
builder:
(
context
,
provider
,
child
)
{
final
accessiblePagesList
=
provider
.
accessPages
.
where
((
page
)
=>
[
8
,
9
].
contains
(
page
.
id
))
.
toList
();
provider
.
accessPages
.
where
((
page
)
=>
[
8
,
9
].
contains
(
page
.
id
))
.
toList
();
return
Container
(
margin:
EdgeInsets
.
only
(
bottom:
15
,
...
...
@@ -496,10 +554,7 @@ class _CrmdashboardScreenState extends State<CrmdashboardScreen> {
top:
10
,
),
padding:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
)
.
viewInsets
.
bottom
,
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
),
child:
SingleChildScrollView
(
child:
Column
(
...
...
lib/screens/crm/generateQuotationScreen.dart
View file @
379460f6
import
'package:dropdown_button2/dropdown_button2.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter/services.dart'
;
import
'package:flutter_svg/flutter_svg.dart'
;
import
'package:generp/Utils/dropdownTheme.dart'
;
import
'package:provider/provider.dart'
;
...
...
@@ -339,210 +340,196 @@ class _GeneratequotationscreenState extends State<Generatequotationscreen> {
floatingActionButtonLocation:
FloatingActionButtonLocation
.
centerFloat
,
bottomNavigationBar:
SizedBox
(
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
null
:
()
{
//genquotedown
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotedown"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
),
child:
bottomNavigationBar:
Material
(
elevation:
10
,
shadowColor:
Colors
.
black54
,
child:
Container
(
decoration:
BoxDecoration
(
color:
Colors
.
white
,
boxShadow:
[
BoxShadow
(
color:
Colors
.
black26
,
blurRadius:
10
,
offset:
Offset
(
0
,
-
2
),
),
],
),
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
const
Text
(
"Download Quotation"
,
style:
TextStyle
(
fontSize:
15
,
fontFamily:
"JakartaMedium"
,
color:
Colors
.
white
,
),
),
?
null
:
()
{
//genquotedown
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotedown"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
// color: AppColors.app_blue,
borderRadius:
BorderRadius
.
circular
(
10
),
),
child:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
SvgPicture
.
asset
(
"assets/svg/download_quote.svg"
),
),
),
),
),
SizedBox
(
width:
10
),
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
null
:
()
{
//genquotemail,
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotemail"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
),
child:
SizedBox
(
width:
10
),
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
const
Text
(
"Mail Quotation"
,
style:
TextStyle
(
fontSize:
15
,
fontFamily:
"JakartaMedium"
,
color:
Colors
.
white
,
),
),
?
null
:
()
{
//genquotemail,
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotemail"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
// color: AppColors.app_blue,
borderRadius:
BorderRadius
.
circular
(
10
),
),
child:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
SvgPicture
.
asset
(
"assets/svg/mail_quote.svg"
)
),
),
),
),
SizedBox
(
width:
10
),
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
null
:
()
{
//genquotewhatsapp,
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotewhatsapp"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
),
child:
SizedBox
(
width:
10
),
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
const
Text
(
"Whatsapp Quotation"
,
style:
TextStyle
(
fontSize:
15
,
fontFamily:
"JakartaMedium"
,
color:
Colors
.
white
,
),
),
?
null
:
()
{
//genquotewhatsapp,
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotewhatsapp"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
// color: AppColors.app_blue,
borderRadius:
BorderRadius
.
circular
(
10
),
),
child:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
SvgPicture
.
asset
(
"assets/svg/whatsapp_quote.svg"
)
),
),
),
),
SizedBox
(
width:
10
),
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
null
:
()
{
//genquotewhatsappbymynum,
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotewhatsappbymynum"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
borderRadius:
BorderRadius
.
circular
(
15
),
),
child:
SizedBox
(
width:
10
),
Expanded
(
child:
InkResponse
(
onTap:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
const
Text
(
"Whatsapp Quotation By My Number"
,
style:
TextStyle
(
fontSize:
15
,
fontFamily:
"JakartaMedium"
,
color:
Colors
.
white
,
),
),
?
null
:
()
{
//genquotewhatsappbymynum,
final
insertedData
=
provider
.
getFormData
();
provider
.
crmLeadDetailsGenerateQuoteSubmitAPIFunction
(
context
,
widget
.
leadId
,
insertedData
,
"genquotewhatsappbymynum"
,
);
},
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
15
,
),
padding:
const
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
// color: AppColors.app_blue,
borderRadius:
BorderRadius
.
circular
(
10
),
),
child:
provider
.
submitLoading
?
CircularProgressIndicator
.
adaptive
(
valueColor:
AlwaysStoppedAnimation
<
Color
>(
AppColors
.
app_blue
,
),
)
:
SvgPicture
.
asset
(
"assets/svg/whatsapp_quote_self.svg"
)
),
),
),
)
,
]
,
]
,
)
,
),
),
),
...
...
lib/screens/crm/universalSearchScreen.dart
View file @
379460f6
...
...
@@ -135,31 +135,47 @@ class _UniversalsearchscreenState extends State<Universalsearchscreen> {
),
itemCount:
provider
.
leadsList
.
length
,
itemBuilder:
(
context
,
index
)
{
return
Container
(
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
14
),
),
margin:
EdgeInsets
.
only
(
bottom:
5
,
left:
5
,
right:
5
,
top:
5
,
),
padding:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
),
child:
ListTile
(
title:
Text
(
provider
.
leadsList
[
index
].
aname
!,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
return
InkResponse
(
onTap:
()
{
Navigator
.
pushAndRemoveUntil
(
context
,
MaterialPageRoute
(
builder:
(
context
)
=>
ProspectDetailsByMode
(
pageTitleName:
"Lead Details"
,
mode:
"Executive"
,
leadId:
provider
.
leadsList
[
index
].
lid
,
),
settings:
RouteSettings
(
name:
'ProspectDetails'
),
),
(
Route
<
dynamic
>
route
)
=>
route
.
settings
.
name
==
'CrmdashboardScreen'
,
);
},
child:
Container
(
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
14
),
),
trailing:
SvgPicture
.
asset
(
"assets/svg/arrow_right_new.svg"
,
margin:
EdgeInsets
.
only
(
bottom:
5
,
left:
5
,
right:
5
,
top:
5
,
),
padding:
EdgeInsets
.
only
(
bottom:
MediaQuery
.
of
(
context
).
viewInsets
.
bottom
,
),
child:
ListTile
(
title:
Text
(
provider
.
leadsList
[
index
].
aname
!,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
),
),
trailing:
SvgPicture
.
asset
(
"assets/svg/arrow_right_new.svg"
,
),
),
),
);
...
...
lib/screens/finance/AllPaymentRequesitionListsByModes.dart
View file @
379460f6
...
...
@@ -67,12 +67,12 @@ class _AllpaymentrequesitionlistsbymodesState
provider
.
resetForm
,
Row
(
children:
[
InkResponse
(
onTap:
()
{
_showOptionsSheet
(
context
);
},
child:
SvgPicture
.
asset
(
"assets/svg/ic_download.svg"
,),
),
//
InkResponse(
//
onTap: () {
//
_showOptionsSheet(context);
//
},
//
child: SvgPicture.asset("assets/svg/ic_download.svg",),
//
),
InkResponse
(
onTap:
()
async
{
...
...
lib/screens/finance/addPaymentReceiptList.dart
View file @
379460f6
...
...
@@ -76,8 +76,8 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
style:
TextStyle
(
fontSize:
14
),
overflow:
TextOverflow
.
ellipsis
,
),
items:
provider
.
receiptAccounts
items:
[
...
provider
.
receiptAccounts
.
map
(
(
accs
)
=>
DropdownMenuItem
<
Accounts
>(
...
...
@@ -92,6 +92,7 @@ class _AddpaymentreceiptlistState extends State<Addpaymentreceiptlist> {
),
)
.
toList
(),
],
value:
provider
.
selectreceiptAccounts
,
onChanged:
(
Accounts
?
value
)
{
if
(
value
!=
null
)
{
...
...
lib/screens/finance/financeDashboard.dart
View file @
379460f6
...
...
@@ -166,6 +166,7 @@ class _FinancedashboardState extends State<Financedashboard> {
);
},
),
SizedBox
(
height:
150
,)
],
),
),
...
...
lib/screens/finance/paymentListPaymentRequisition.dart
View file @
379460f6
...
...
@@ -56,12 +56,12 @@ late Commondaterangefilter cf;
provider
.
resetForm
,
Row
(
children:
[
InkResponse
(
onTap:
()
{
_showOptionsSheet
(
context
);
},
child:
SvgPicture
.
asset
(
"assets/svg/ic_download.svg"
,),
),
//
InkResponse(
//
onTap: () {
//
_showOptionsSheet(context);
//
},
//
child: SvgPicture.asset("assets/svg/ic_download.svg",),
//
),
InkResponse
(
onTap:
()
async
{
var
cf
=
Commondaterangefilter
();
...
...
lib/screens/finance/paymentreceiptList.dart
View file @
379460f6
...
...
@@ -51,12 +51,12 @@ class _PaymentreceiptlistState extends State<Paymentreceiptlist> {
provider
.
resetForm
,
Row
(
children:
[
InkResponse
(
onTap:
()
{
_showOptionsSheet
(
context
);
},
child:
SvgPicture
.
asset
(
"assets/svg/ic_download.svg"
,),
),
//
InkResponse(
//
onTap: () {
//
_showOptionsSheet(context);
//
},
//
child: SvgPicture.asset("assets/svg/ic_download.svg",),
//
),
InkResponse
(
onTap:
()
async
{
var
cf
=
Commondaterangefilter
();
...
...
lib/screens/finance/submitPaymentRequestionListsByMode.dart
View file @
379460f6
...
...
@@ -15,11 +15,12 @@ import '../../Models/financeModels/addPaymentRequestionResponse.dart';
class
Submitpaymentrequestionlistsbymode
extends
StatefulWidget
{
final
String
mode
;
final
String
pageTitleName
;
final
accountId
;
const
Submitpaymentrequestionlistsbymode
({
super
.
key
,
required
this
.
mode
,
required
this
.
pageTitleName
,
required
this
.
pageTitleName
,
this
.
accountId
,
});
@override
...
...
@@ -41,7 +42,39 @@ class _SubmitpaymentrequestionlistsbymodeState
context
,
listen:
false
,
);
print
(
"widget.accountId
${widget.accountId}
"
);
provider
.
addPaymentRequestionViewAPI
(
context
,
widget
.
mode
);
Future
.
delayed
(
Duration
(
milliseconds:
500
),()
{
if
(
widget
.
mode
==
"self"
&&
provider
.
accounts
.
length
==
1
)
{
provider
.
selectedAccount
=
provider
.
accounts
.
first
;
provider
.
accountId
=
provider
.
accounts
.
first
.
id
!;
}
else
if
(
widget
.
mode
==
"other"
&&
provider
.
accounts
!=
null
)
{
if
(
widget
.
accountId
!=
null
)
{
provider
.
selectedAccount
=
provider
.
accounts
.
firstWhereOrNull
(
(
element
)
=>
element
.
id
==
widget
.
accountId
,
);
print
(
"sdsd,al;,al
${provider.selectedAccount!.id}
"
);
print
(
"sdsd,al;,al
${provider.selectedAccount!.name}
"
);
provider
.
accountId
=
provider
.
accounts
.
firstWhere
(
(
e
)
=>
e
.
id
==
widget
.
accountId
,
)!
.
id
!;
provider
.
accountValue
=
provider
.
accounts
.
firstWhere
(
(
e
)
=>
e
.
id
==
widget
.
accountId
,
)!
.
name
!;
}
}
},);
});
}
...
...
@@ -86,12 +119,7 @@ class _SubmitpaymentrequestionlistsbymodeState
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Requestionlistprovider
>(
builder:
(
context
,
provider
,
child
)
{
WidgetsBinding
.
instance
.
addPostFrameCallback
((
timeStamp
)
{
if
(
widget
.
mode
==
"self"
&&
provider
.
accounts
.
length
==
1
)
{
provider
.
selectedAccount
=
provider
.
accounts
.
first
;
provider
.
accountId
=
provider
.
accounts
.
first
.
id
!;
}
});
return
WillPopScope
(
child:
Scaffold
(
...
...
@@ -668,7 +696,7 @@ class _SubmitpaymentrequestionlistsbymodeState
child:
Container
(
height:
45
,
alignment:
Alignment
.
center
,
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
),
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
10
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
decoration:
BoxDecoration
(
color:
AppColors
.
app_blue
,
...
...
lib/screens/genTracker/ComplaintHistory.dart
View file @
379460f6
...
...
@@ -8,7 +8,8 @@ import '../../Utils/commonWidgets.dart';
class
Complainthistory
extends
StatefulWidget
{
final
genHashID
;
const
Complainthistory
({
super
.
key
,
required
this
.
genHashID
});
const
Complainthistory
({
super
.
key
,
required
this
.
genHashID
});
@override
State
<
Complainthistory
>
createState
()
=>
_ComplainthistoryState
();
...
...
@@ -24,8 +25,15 @@ class _ComplainthistoryState extends State<Complainthistory> {
context
,
listen:
false
,
);
var
homeProvider
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
);
details
.
LoadgeneratorComplaintHistoryApifunction
(
homeProvider
,
context
,
widget
.
genHashID
);
var
homeProvider
=
Provider
.
of
<
HomescreenNotifier
>(
context
,
listen:
false
,
);
details
.
LoadgeneratorComplaintHistoryApifunction
(
homeProvider
,
context
,
widget
.
genHashID
,
);
});
}
...
...
@@ -33,7 +41,6 @@ class _ComplainthistoryState extends State<Complainthistory> {
Widget
build
(
BuildContext
context
)
{
return
Consumer
<
Generatordetailsprovider
>(
builder:
(
context
,
provider
,
child
)
{
return
WillPopScope
(
onWillPop:
()
=>
onBackPressed
(
context
),
child:
Scaffold
(
...
...
@@ -44,98 +51,101 @@ class _ComplainthistoryState extends State<Complainthistory> {
child:
Container
(
child:
SingleChildScrollView
(
child:
Column
(
children:
[
if
(
provider
.
complaintList
.
isNotEmpty
)...[
ListView
.
builder
(
shrinkWrap:
true
,
physics:
NeverScrollableScrollPhysics
(),
itemCount:
provider
.
complaintList
.
length
,
itemBuilder:
(
context
,
index
)
{
return
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
5.0
),
child:
Text
(
"
${ provider.complaintList[index].compRegdate}
"
,
style:
TextStyle
(
color:
Color
(
0xFF818181
)
),),
),
Container
(
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
children:
[
...
List
.
generate
(
4
,
(
index
)
{
final
headings
=
[
"Technician Name"
,
"ID"
,
"Complaint Type"
,
"Complaint Status"
,];
final
values
=
[
provider
.
complaintList
[
index
].
techName
,
provider
.
complaintList
[
index
].
compId
,
provider
.
complaintList
[
index
].
compType
,
provider
.
complaintList
[
index
].
compStatus
,
];
return
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
15
,
vertical:
6
),
child:
Row
(
children:
[
Expanded
(
child:
SizedBox
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
Text
(
"
${headings[index]}
"
),
],
),
),
if
(
provider
.
complaintList
.
isNotEmpty
)
...[
ListView
.
builder
(
shrinkWrap:
true
,
physics:
NeverScrollableScrollPhysics
(),
itemCount:
provider
.
complaintList
.
length
,
itemBuilder:
(
context
,
l
)
{
return
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Padding
(
padding:
const
EdgeInsets
.
only
(
left:
8.0
,
top:
5.0
),
child:
Text
(
"
${provider.complaintList[l].compRegdate}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
Color
(
0xFF818181
)),
),
),
Container
(
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
children:
[
...
List
.
generate
(
4
,
(
jndex
)
{
final
headings
=
[
"Technician Name"
,
"Complaint Type"
,
"Complaint Status"
,
"Complaint Created By"
,
];
final
values
=
[
provider
.
complaintList
[
l
].
techName
,
provider
.
complaintList
[
l
].
compType
,
provider
.
complaintList
[
l
].
compStatus
,
provider
.
complaintList
[
l
].
createdBy
,
];
return
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
15
,
vertical:
6
,
),
Expanded
(
c
hild:
SizedBox
(
child
:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
mainAxisAlignment:
MainAxisAlignment
.
start
,
child
ren:
[
Text
(
"
${value
s[
i
ndex]}
"
,
style:
TextStyle
(
color:
Color
(
0xFF818181
)
),
),
]
,
child:
Row
(
c
rossAxisAlignment:
CrossAxisAlignment
.
start
,
child
ren:
[
Expanded
(
child:
SizedBox
(
child
:
Text
(
"
${heading
s[
j
ndex]}
"
,
style:
TextStyle
(
fontSize:
14
),
),
)
,
),
),
Expanded
(
child:
SizedBox
(
child:
Text
(
"
${values[jndex]}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
Color
(
0xFF818181
,
),
),
),
),
),
],
),
],
),
);
},),
]
),
),
],
);
},),
]
else
...[
Emptywidget
(
context
)
]
);
}),
],
),
),
],
);
},
),
]
else
...[
Emptywidget
(
context
),
],
],
),
),
),
),
),
);
},
...
...
lib/screens/genTracker/GeneratorDetails.dart
View file @
379460f6
...
...
@@ -396,6 +396,293 @@ class _GeneratordetailsState extends State<Generatordetails> {
}),
),
),
if
(
provider
.
contactsList
.
isNotEmpty
)
...[
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
child:
Text
(
"Customer Contact Details"
,
style:
TextStyle
(
color:
Color
(
0xFF818181
),
fontFamily:
"JakartaMedium"
,
),
),
),
ListView
.
builder
(
shrinkWrap:
true
,
physics:
NeverScrollableScrollPhysics
(),
itemCount:
provider
.
contactsList
.
length
,
itemBuilder:
(
context
,
l
)
{
return
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Container
(
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
children:
[
...
List
.
generate
(
4
,
(
jndex
)
{
final
headings
=
[
"Alternate Mobile Number"
,
"Designation"
,
"Contact Type"
,
"Mail ID"
,
];
final
values
=
[
provider
.
contactsList
[
l
].
mob2
,
provider
.
contactsList
[
l
].
designation
,
provider
.
contactsList
[
l
].
type
,
provider
.
contactsList
[
l
].
mail
,
];
return
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
15
,
vertical:
6
,
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Expanded
(
child:
SizedBox
(
child:
Text
(
"
${headings[jndex]}
"
,
style:
TextStyle
(
fontSize:
14
),
),
),
),
Expanded
(
child:
SizedBox
(
child:
Text
(
values
[
jndex
]==
""
?
"-"
:
"
${values[jndex]}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
Color
(
0xFF818181
,
),
),
),
),
),
],
),
);
}),
],
),
),
],
);
},
),
],
if
(
provider
.
scheduleList
.
isNotEmpty
)
...[
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
child:
Text
(
"Schedule Details"
,
style:
TextStyle
(
color:
Color
(
0xFF818181
),
fontFamily:
"JakartaMedium"
,
),
),
),
ListView
.
builder
(
shrinkWrap:
true
,
physics:
NeverScrollableScrollPhysics
(),
itemCount:
provider
.
showMoreScheduleList
?
provider
.
scheduleList
.
length
:
1
,
itemBuilder:
(
context
,
l
)
{
final
headings1
=
[
"Employee Name"
,
"Schedule Manager Name"
,
"Due Date"
,
];
final
values1
=
[
provider
.
scheduleList
[
l
].
name
,
provider
.
scheduleList
[
l
].
scheduleManagerName
,
provider
.
scheduleList
[
l
].
dueDate
,
];
final
headings2
=
[
"Complaint Type"
,
"Complaint Category"
,
"Service Schedule ID"
,
"Complaint Description"
,
"Complaint ID"
,
"Status"
,
"Feedback Status"
,
];
final
values2
=
[
provider
.
scheduleList
[
l
].
complaintType
,
provider
.
scheduleList
[
l
].
complaintCategory
,
provider
.
scheduleList
[
l
].
serviceScheduleId
,
provider
.
scheduleList
[
l
].
complaintDescription
,
provider
.
scheduleList
[
l
].
complaintId
,
provider
.
scheduleList
[
l
].
feedbackStatus
,
provider
.
scheduleList
[
l
].
status
,
provider
.
scheduleList
[
l
].
feedbackStatus
,
];
var
headings
=
[
...
headings1
];
var
values
=
[
...
values1
];
if
(
provider
.
showMoreScheduleDetails
){
headings
=
[...
headings1
,...
headings2
];
values
=
[...
values1
,...
values2
];
}
return
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Container
(
margin:
EdgeInsets
.
symmetric
(
horizontal:
10
,
vertical:
5
,
),
decoration:
BoxDecoration
(
color:
Colors
.
white
,
borderRadius:
BorderRadius
.
circular
(
16
),
),
child:
Column
(
children:
[
...
List
.
generate
(
headings
.
length
,
(
jndex
)
{
return
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
15
,
vertical:
6
,
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Expanded
(
child:
SizedBox
(
child:
Text
(
"
${headings[jndex]}
"
,
style:
TextStyle
(
fontSize:
14
),
),
),
),
Expanded
(
child:
SizedBox
(
child:
Text
(
values
[
jndex
]==
""
?
"-"
:
"
${values[jndex]}
"
,
style:
TextStyle
(
fontSize:
14
,
color:
Color
(
0xFF818181
,
),
),
),
),
),
],
),
);
}),
InkResponse
(
onTap:
()
async
{
provider
.
showMoreScheduleDetails
=
!
provider
.
showMoreScheduleDetails
;
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
,
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
Text
(
provider
.
showMoreScheduleDetails
?
"- Show Less"
:
"+ More Details"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
),
),
],
),
),
),
],
),
),
],
);
},
),
if
(
provider
.
scheduleList
.
length
>
1
)...[
InkResponse
(
onTap:
()
async
{
provider
.
showMoreScheduleList
=
!
provider
.
showMoreScheduleList
;
},
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
vertical:
5
,
),
child:
Row
(
crossAxisAlignment:
CrossAxisAlignment
.
center
,
mainAxisAlignment:
MainAxisAlignment
.
center
,
children:
[
Text
(
provider
.
showMoreScheduleList
?
" Show Less"
:
" Show More"
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
14
,
color:
AppColors
.
app_blue
,
),
),
Transform
.
rotate
(
angle:
provider
.
showMoreScheduleList
?
180
*
3.14159
/
180
:
0
*
3.14159
/
180
,
child:
SvgPicture
.
asset
(
"assets/svg/arrow_dropdown.svg"
,
color:
AppColors
.
app_blue
,
width:
25
,
),
),
],
),
),
),
]
],
InkWell
(
onTap:
()
{
Navigator
.
push
(
...
...
@@ -409,7 +696,7 @@ class _GeneratordetailsState extends State<Generatordetails> {
);
},
child:
Container
(
alignment:
Alignment
.
bottomCenter
,
height:
45
,
decoration:
BoxDecoration
(
color:
Colors
.
white
,
...
...
@@ -428,18 +715,18 @@ class _GeneratordetailsState extends State<Generatordetails> {
// color: AppColors.app_blue,
// borderRadius: BorderRadius.circular(15.0),
// ),
child:
Center
(
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
SvgPicture
.
asset
(
"assets/svg/gent_tag_loc.svg"
,
width:
20
,
),
SizedBox
(
width:
10
),
Text
(
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
SvgPicture
.
asset
(
"assets/svg/gent_tag_loc.svg"
,
width:
20
,
),
SizedBox
(
width:
10
),
Expanded
(
flex:
4
,
child:
Text
(
"Tag Location"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
15
,
...
...
@@ -448,8 +735,12 @@ class _GeneratordetailsState extends State<Generatordetails> {
color:
AppColors
.
app_blue
,
),
),
],
),
),
SizedBox
(
width:
10
),
SvgPicture
.
asset
(
"assets/svg/arrow_right_new.svg"
,
),
],
),
),
),
...
...
@@ -473,7 +764,7 @@ class _GeneratordetailsState extends State<Generatordetails> {
// );
},
child:
Container
(
alignment:
Alignment
.
bottomCenter
,
height:
45
,
decoration:
BoxDecoration
(
color:
Colors
.
white
,
...
...
@@ -492,18 +783,18 @@ class _GeneratordetailsState extends State<Generatordetails> {
// color: AppColors.app_blue,
// borderRadius: BorderRadius.circular(15.0),
// ),
child:
Center
(
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
start
,
children:
[
SvgPicture
.
asset
(
"assets/svg/gent_reg_comp.svg"
,
width:
20
,
),
SizedBox
(
width:
10
),
Text
(
child:
Row
(
children:
[
SvgPicture
.
asset
(
"assets/svg/gent_reg_comp.svg"
,
width:
20
,
),
SizedBox
(
width:
10
),
Expanded
(
flex:
4
,
child:
Text
(
"Register Complaint"
,
textAlign:
TextAlign
.
center
,
style:
TextStyle
(
fontFamily:
"JakartaMedium"
,
fontSize:
15
,
...
...
@@ -512,8 +803,13 @@ class _GeneratordetailsState extends State<Generatordetails> {
color:
AppColors
.
app_blue
,
),
),
],
),
),
SizedBox
(
width:
10
),
SvgPicture
.
asset
(
"assets/svg/arrow_right_new.svg"
,
),
],
),
),
),
...
...
lib/screens/order/ordersListByModes.dart
View file @
379460f6
...
...
@@ -60,12 +60,12 @@ class _OrderslistbyModesState extends State<OrderslistbyModes> {
provider
.
resetAll
,
Row
(
children:
[
InkResponse
(
onTap:
()
{
_showOptionsSheet
(
context
);
},
child:
SvgPicture
.
asset
(
"assets/svg/ic_download.svg"
),
),
//
InkResponse(
//
onTap: () {
//
_showOptionsSheet(context);
//
},
//
child: SvgPicture.asset("assets/svg/ic_download.svg"),
//
),
InkResponse
(
onTap:
()
async
{
...
...
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