Commit b5225d58 authored by Sai Srinivas's avatar Sai Srinivas
Browse files

07-08-2025 By Sai Srinivas

Finance Test cases and Order Module
parent a5820eb1
...@@ -29,6 +29,94 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> { ...@@ -29,6 +29,94 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> {
Dropdowntheme ddtheme = Dropdowntheme(); Dropdowntheme ddtheme = Dropdowntheme();
Map _source = {ConnectivityResult.mobile: true}; Map _source = {ConnectivityResult.mobile: true};
final MyConnectivity _connectivity = MyConnectivity.instance; final MyConnectivity _connectivity = MyConnectivity.instance;
Color getDecorationColor(value) {
var color = AppColors.approved_bg_color;
switch (value) {
case 'Registered':
return AppColors.requested_bg_color;
case 'Level 1 Approved':
return AppColors.approved_bg_color;
case 'Level 1 Rejected':
return AppColors.rejected_bg_color;
case 'Level 2 Approved':
return AppColors.approved_bg_color;
case 'Level 2 Rejected':
return AppColors.rejected_bg_color;
case 'Sales Order Registered':
return AppColors.processed_bg_color;
case 'Dispatched':
return AppColors.approved_bg_color;
}
return color;
}
Color getTextColor(value) {
var color = AppColors.approved_text_color;
switch (value) {
case 'Registered':
return AppColors.requested_text_color;
case 'Level 1 Approved':
return AppColors.approved_text_color;
case 'Level 1 Rejected':
return AppColors.rejected_text_color;
case 'Level 2 Approved':
return AppColors.approved_text_color;
case 'Level 2 Rejected':
return AppColors.rejected_text_color;
case 'Sales Order Registered':
return AppColors.processed_text_color;
case 'Dispatched':
return AppColors.approved_text_color;
}
return color;
}
getText(value) {
var text = "R";
switch (value) {
case 'Registered':
return "R";
case 'Level 1 Approved':
return "L1A";
case 'Level 1 Rejected':
return "L1R";
case 'Level 2 Approved':
return "L2A";
case 'Level 2 Rejected':
return "L2R";
case 'Sales Order Registered':
return "SOR";
case 'Dispatched':
return "D";
}
return text;
}
//All","Registered","Level 1 Approved","Level 2 Approved","Level 1 Rejected",
// Level 2 Rejected","Level 2 Rejected Final","Sales Order Registered","Dispatched"
double getSize(value) {
var text = "A";
switch (value) {
case 'Registered':
return 16.0;
case 'Level 1 Approved':
return 13.0;
case 'Level 1 Rejected':
return 13.0;
case 'Level 2 Approved':
return 13.0;
case 'Level 2 Rejected':
return 13.0;
case 'Processed':
return 16.0;
case 'Sales Order Registered':
return 13.0;
case 'Dispatched':
return 16.0;
}
return 18.0;
}
@override @override
void initState() { void initState() {
...@@ -54,6 +142,7 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> { ...@@ -54,6 +142,7 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> {
super.dispose(); super.dispose();
_connectivity.disposeStream(); _connectivity.disposeStream();
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
switch (_source.keys.toList()[0]) { switch (_source.keys.toList()[0]) {
...@@ -67,7 +156,257 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> { ...@@ -67,7 +156,257 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> {
default: default:
connection = 'Offline'; connection = 'Offline';
} }
return connection=="Online"? return (connection == "Online")
? Platform.isAndroid
? WillPopScope(
onWillPop: () {
Provider.of<Paymentsprovider>(context).resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: true,
child: _scaffold(context),
),
)
: _scaffold(context)
: NoNetwork(context);
}
Widget _scaffold(BuildContext context) {
switch (_source.keys.toList()[0]) {
case ConnectivityResult.mobile:
connection = 'Online';
break;
case ConnectivityResult.wifi:
connection = 'Online';
break;
case ConnectivityResult.none:
default:
connection = 'Offline';
}
return
Consumer<Paymentsprovider>(
builder: (context, provider, child) {
final paymentLists = provider.paymentsList;
return WillPopScope(
onWillPop: () {
provider.resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: Platform.isIOS?false:true,
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar2New(
context,
widget.pageTitleName,
provider.resetAll,
Row(
children: [
// InkResponse(
// onTap: () {
// _showOptionsSheet(context);
// },
// child: SvgPicture.asset("assets/svg/ic_download.svg",),
// ),
InkResponse(
onTap: () async {
_showFilterSheet(context);
},
child: SvgPicture.asset(
"assets/svg/filter_ic.svg", height: 25,),
),
],
),
0xFFFFFFFF
),
backgroundColor: AppColors.scaffold_bg_color,
body:
provider.isLoading
? Center(child: CircularProgressIndicator.adaptive(
valueColor: AlwaysStoppedAnimation<Color>(
AppColors.app_blue)
))
: paymentLists.isNotEmpty ? SingleChildScrollView(
child: Column(
children: [
ListView.builder(
itemCount: paymentLists.length,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) {
if (paymentLists.isEmpty) {
return SizedBox(
child: Center(
child: Text("No Data Available"),
),
);
}
return InkResponse(
onTap: () async {
Navigator.push(context, MaterialPageRoute(
builder: (context) =>
Paymentdetailsbymode(mode: widget.mode,
pageTitleName: widget.pageTitleName,
paymentId: paymentLists[index].paymentId,
),));
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 7.5,
vertical: 5,
),
margin: EdgeInsets.symmetric(
horizontal: 10,
vertical: 5,
),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
),
child: Column(
children: [
Row(
children: [
// Expanded(
// flex: 1,
// child: Container(
// height: 50,
// width: 35,
// padding: EdgeInsets.all(8.0),
// decoration: BoxDecoration(
// color: Color(0xFFFFF3CE),
// borderRadius:
// BorderRadius.circular(8),
// ),
// child: SvgPicture.asset(
// "assets/svg/fin_ic.svg",
// ),
// ),
// ),
Expanded(
flex: 1,
child: Container(
height: 50,
width: 50,
padding: EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: getDecorationColor(
paymentLists[index].status,
),
shape: BoxShape.circle,
),
child: Center(
child: Text(
getText(
paymentLists[index].status,
),
style: TextStyle(
color: getTextColor(
paymentLists[index].status,
),
fontSize: getSize(
paymentLists[index].status,
),
fontFamily: "JakartaBold",
),
),
),
),
),
SizedBox(width: 10),
SizedBox(width: 10),
Expanded(
flex: 4,
child: SizedBox(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
paymentLists[index].ename!,
style: TextStyle(
fontFamily:
"JakartaMedium",
fontSize: 14,
color:
AppColors.semi_black,
),
),
Text(
paymentLists[index]
.orderNumber??"-",
style: TextStyle(
fontSize: 14,
color: AppColors.grey_semi,
fontFamily:
"JakartaRegular",
decoration:
TextDecoration.none,
decorationColor:
AppColors.white,
),
),
],
),
),
),
Expanded(
flex: 2,
child: Container(
child: Center(
child: Text(
"₹"
"${paymentLists[index].amount}",
textAlign: TextAlign.right,
style: TextStyle(
fontFamily:
"JakartaMedium",
fontSize: 14,
color: AppColors.app_blue,
),
),
),
),
),
],
),
],
),
),
);
},
),
],
),
) : Emptywidget(context),
),
),
);
},
);
}
Widget _scaffold1(BuildContext context) {
switch (_source.keys.toList()[0]) {
case ConnectivityResult.mobile:
connection = 'Online';
break;
case ConnectivityResult.wifi:
connection = 'Online';
break;
case ConnectivityResult.none:
default:
connection = 'Offline';
}
return
Consumer<Paymentsprovider>( Consumer<Paymentsprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
final paymentLists = provider.paymentsList; final paymentLists = provider.paymentsList;
...@@ -322,7 +661,7 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> { ...@@ -322,7 +661,7 @@ class _PaymentlistsbymodeState extends State<Paymentlistsbymode> {
), ),
); );
}, },
):NoNetwork(context); );
} }
Future<void> _showOptionsSheet(BuildContext context) { Future<void> _showOptionsSheet(BuildContext context) {
......
import 'dart:io'; import 'dart:io';
import 'package:connectivity_plus/connectivity_plus.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart'; import 'package:flutter_svg/svg.dart';
import 'package:generp/screens/order/tpcAgentIssueListDetails.dart'; import 'package:generp/screens/order/tpcAgentIssueListDetails.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../Notifiers/ordersProvider/tpcAgentsProvider.dart'; import '../../Notifiers/ordersProvider/tpcAgentsProvider.dart';
import '../../Utils/app_colors.dart'; import '../../Utils/app_colors.dart';
import '../../Utils/commonServices.dart';
import '../../Utils/commonWidgets.dart'; import '../../Utils/commonWidgets.dart';
import 'ordersDetailsByModes.dart'; import 'ordersDetailsByModes.dart';
...@@ -20,10 +23,18 @@ class Tpcagentissuelist extends StatefulWidget { ...@@ -20,10 +23,18 @@ class Tpcagentissuelist extends StatefulWidget {
} }
class _TpcagentissuelistState extends State<Tpcagentissuelist> { class _TpcagentissuelistState extends State<Tpcagentissuelist> {
Map _source = {ConnectivityResult.mobile: true};
final MyConnectivity _connectivity = MyConnectivity.instance;
@override @override
void initState() { void initState() {
// TODO: implement initState // TODO: implement initState
super.initState(); super.initState();
_connectivity.initialise();
_connectivity.myStream.listen((source) {
setState(() => _source = source);
});
WidgetsBinding.instance.addPostFrameCallback((timeStamp) { WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
var provider = Provider.of<Tpcagentsprovider>( var provider = Provider.of<Tpcagentsprovider>(
context, context,
...@@ -34,9 +45,213 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> { ...@@ -34,9 +45,213 @@ class _TpcagentissuelistState extends State<Tpcagentissuelist> {
}); });
} }
@override
void dispose() {
// TODO: implement dispose
super.dispose();
_connectivity.disposeStream();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
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: () {
Provider.of<Tpcagentsprovider>(context).resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: true,
child: _scaffold(context),
),
)
: _scaffold(context)
: NoNetwork(context);
}
Widget _scaffold(BuildContext context) {
return Consumer<Tpcagentsprovider>(
builder: (context, provider, child) {
final tpcAgentsIssueList = provider.tpcAgentsIssueList;
return WillPopScope(
onWillPop: () {
provider.resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: Platform.isIOS?false:true,
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar2New(
context,
widget.pageTitleName,
provider.resetAll,
Row(
children: [
// InkResponse(
// onTap: () {
// // _showOptionsSheet(context);
// },
// child: SvgPicture.asset("assets/svg/ic_download.svg",),
// ),
],
),
0xFFFFFFFF
),
backgroundColor: AppColors.scaffold_bg_color,
body:
provider.isLoading
? Center(child: CircularProgressIndicator.adaptive(
valueColor: AlwaysStoppedAnimation<Color>(
AppColors.app_blue)
))
: tpcAgentsIssueList.isNotEmpty ? SingleChildScrollView(
child: Column(
children: [
ListView.builder(
itemCount: tpcAgentsIssueList.length,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) {
if (tpcAgentsIssueList.isEmpty) {
return SizedBox(
child: Center(
child: Text("No Data Available"),
),
);
}
return InkResponse(
onTap: () async {
Navigator.push(
context,
MaterialPageRoute(
builder:
(context) =>
Tpcagentissuelistdetails(
pageTitleName: "CRM Order Details",
mode: widget.mode,
orderId: tpcAgentsIssueList[index].orderId,
),
),
);
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 7.5,
vertical: 5,
),
margin: EdgeInsets.symmetric(
horizontal: 10,
vertical: 5,
),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
),
child: Column(
children: [
Row(
children: [
Expanded(
flex: 1,
child: Container(
height: 50,
width: 35,
child: SvgPicture.asset(
"assets/svg/order/tpc_list_ic.svg",
),
),
),
SizedBox(width: 10),
Expanded(
flex: 4,
child: SizedBox(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
tpcAgentsIssueList[index].name!,
style: TextStyle(
fontFamily:
"JakartaRegular",
fontSize: 14,
color:
AppColors.semi_black,
),
),
Text(
"${tpcAgentsIssueList[index].aname}",
style: TextStyle(
fontFamily:
"JakartaRegular",
fontSize: 14,
color: AppColors.grey_semi,
),
),
],
),
),
),
SizedBox(width: 10),
Expanded(
flex: 1,
child: InkResponse(
onTap: () {
launch(
'tel://${tpcAgentsIssueList[index]
.mobileNumber}',
);
},
child: SizedBox(
height: 35,
width: 35,
child: SvgPicture.asset(
"assets/svg/crm/lead_list_call_ic.svg",
),
),
),
),
],
),
],
),
),
);
},
),
],
),
) : Emptywidget(context),
),
),
);
},
);
}
Widget _scaffold1(BuildContext context) {
return Consumer<Tpcagentsprovider>( return Consumer<Tpcagentsprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
final tpcAgentsIssueList = provider.tpcAgentsIssueList; final tpcAgentsIssueList = provider.tpcAgentsIssueList;
......
...@@ -6,6 +6,7 @@ import 'package:generp/Notifiers/ordersProvider/tpcAgentsProvider.dart'; ...@@ -6,6 +6,7 @@ import 'package:generp/Notifiers/ordersProvider/tpcAgentsProvider.dart';
import 'package:generp/screens/finance/FileViewer.dart'; import 'package:generp/screens/finance/FileViewer.dart';
import 'package:generp/screens/order/tpcAgentDetailsByMode.dart'; import 'package:generp/screens/order/tpcAgentDetailsByMode.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../Utils/app_colors.dart'; import '../../Utils/app_colors.dart';
import '../../Utils/commonWidgets.dart'; import '../../Utils/commonWidgets.dart';
...@@ -53,7 +54,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> { ...@@ -53,7 +54,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
} }
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
switch (_source.keys.toList()[0]) { switch (_source.keys.toList()[0]) {
...@@ -67,8 +67,201 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> { ...@@ -67,8 +67,201 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
default: default:
connection = 'Offline'; connection = 'Offline';
} }
return connection=="Online"? return (connection == "Online")
Consumer<Tpcagentsprovider>( ? Platform.isAndroid
? WillPopScope(
onWillPop: () {
Provider.of<Tpcagentsprovider>(context).resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: true,
child: _scaffold(context),
),
)
: _scaffold(context)
: NoNetwork(context);
}
Widget _scaffold(BuildContext context) {
return Consumer<Tpcagentsprovider>(
builder: (context, provider, child) {
final tpcAgentsLists = provider.tpcAgentsList;
return WillPopScope(
onWillPop: () {
provider.resetAll();
return onBackPressed(context);
},
child: SafeArea(
top: false,
bottom: Platform.isIOS?false:true,
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: appbar2New(
context,
widget.pageTitleName,
provider.resetAll,
Row(
children: [
// InkResponse(
// onTap: () {
// // _showOptionsSheet(context);
// },
// child: SvgPicture.asset("assets/svg/ic_download.svg",),
// ),
],
),
0xFFFFFFFF
),
backgroundColor: AppColors.scaffold_bg_color,
body:
provider.isLoading
? Center(child: CircularProgressIndicator.adaptive(
valueColor: AlwaysStoppedAnimation<Color>(
AppColors.app_blue)
))
: tpcAgentsLists.isNotEmpty ? SingleChildScrollView(
child: Column(
children: [
ListView.builder(
itemCount: tpcAgentsLists.length,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) {
if (tpcAgentsLists.isEmpty) {
return SizedBox(
child: Center(
child: Text("No Data Available"),
),
);
}
return InkResponse(
onTap: () async {
Navigator.push(context, MaterialPageRoute(
builder: (context) =>
Tpcagentdetailsbymode(mode: widget.mode,
pageTitleName: widget.pageTitleName,
tpcAgentId: tpcAgentsLists[index]
.tpcAgentId,
),));
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: 7.5,
vertical: 5,
),
margin: EdgeInsets.symmetric(
horizontal: 10,
vertical: 5,
),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(16),
),
child: Column(
children: [
Row(
children: [
Expanded(
flex: 1,
child: Container(
height: 50,
width: 35,
// decoration: BoxDecoration(
// color: Color(0xFFEAF7FF),
// borderRadius:
// BorderRadius.circular(8),
// ),
child: SvgPicture.asset(
"assets/svg/order/tpc_list_ic.svg",
),
),
),
SizedBox(width: 10),
Expanded(
flex: 5,
child: SizedBox(
child: Column(
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
tpcAgentsLists[index].name!,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle(
fontFamily:
"JakartaRegular",
fontSize: 14,
color:
AppColors.semi_black,
),
),
Text(
"${tpcAgentsLists[index]
.mobileNumber}",
style: TextStyle(
fontFamily:
"JakartaRegular",
fontSize: 14,
color: AppColors.grey_semi,
),
),
],
),
),
),
SizedBox(width: 10),
Expanded(
flex: 1,
child: InkResponse(
onTap: () {
launch(
'tel://${tpcAgentsLists[index]
.mobileNumber}',
);
},
child: SizedBox(
height: 35,
width: 35,
child: SvgPicture.asset(
"assets/svg/crm/lead_list_call_ic.svg",
),
),
),
),
],
),
],
),
),
);
},
),
],
),
) : Emptywidget(context),
),
),
);
},
);
}
Widget _scaffold1(BuildContext context) {
return Consumer<Tpcagentsprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
final tpcAgentsLists = provider.tpcAgentsList; final tpcAgentsLists = provider.tpcAgentsList;
return WillPopScope( return WillPopScope(
...@@ -326,6 +519,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> { ...@@ -326,6 +519,6 @@ class _TpcagentlistbymodeState extends State<Tpcagentlistbymode> {
), ),
); );
}, },
):NoNetwork(context); );
} }
} }
...@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev ...@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 1.0.95+102 version: 1.0.96+104
environment: environment:
sdk: ^3.7.2 sdk: ^3.7.2
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment