Commit 642da22c authored by Sai Srinivas's avatar Sai Srinivas Committed by Sai Srinivas
Browse files

gen erp 08-10

parent d2c9404a
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:provider/provider.dart';
import '../../Notifiers/hrmProvider/CasualLeaveHistoryProvider.dart';
import '../../Utils/app_colors.dart';
class CasualLeaveHistoryScreen extends StatefulWidget {
const CasualLeaveHistoryScreen({super.key});
@override
State<CasualLeaveHistoryScreen> createState() =>
_CasualLeaveHistoryScreenState();
}
class _CasualLeaveHistoryScreenState extends State<CasualLeaveHistoryScreen> {
@override
void initState() {
super.initState();
// Fetch data once when the screen loads
Future.delayed(Duration.zero, () {
final provider =
Provider.of<CasualLeaveHistoryProvider>(context, listen: false);
provider.fetchCasualLeaveHistory(context);
});
}
@override
Widget build(BuildContext context) {
final double screenWidth = MediaQuery.of(context).size.width;
final double screenHeight = MediaQuery.of(context).size.height;
final bool isSmallScreen = screenWidth < 360;
final bool isLargeScreen = screenWidth > 600;
final bool isTablet = screenWidth > 768;
return Scaffold(
backgroundColor: AppColors.scaffold_bg_color,
appBar: AppBar(
automaticallyImplyLeading: false,
backgroundColor: Colors.white,
title: Row(
children: [
InkResponse(
onTap: () => Navigator.pop(context, true),
child: SvgPicture.asset(
"assets/svg/appbar_back_button.svg",
height: isSmallScreen ? 22 : isTablet ? 28 : 25,
),
),
SizedBox(width: isSmallScreen ? 8 : isTablet ? 12 : 10),
Text(
"Casual Leave History",
style: TextStyle(
fontSize: isSmallScreen ? 16 : isTablet ? 20 : 18,
fontFamily: "Plus Jakarta Sans",
fontWeight: FontWeight.w600,
color: Colors.black87,
),
),
],
),
),
body: Consumer<CasualLeaveHistoryProvider>(
builder: (context, provider, _) {
if (provider.isLoading) {
return const Center(child: CircularProgressIndicator());
}
if (provider.errorMessage != null) {
return Padding(
padding: EdgeInsets.symmetric(horizontal: isSmallScreen ? 16 : 20),
child: Center(
child: Text(
provider.errorMessage!,
style: TextStyle(
color: Colors.white,
fontSize: isSmallScreen ? 14 : 16,
fontFamily: "Plus Jakarta Sans",
),
textAlign: TextAlign.center,
),
),
);
}
if (provider.casualLeaveHistoryList.isEmpty) {
return Padding(
padding: EdgeInsets.symmetric(horizontal: isSmallScreen ? 16 : 20),
child: Center(
child: Text(
"No leave history found",
style: TextStyle(
color: Colors.white,
fontSize: isSmallScreen ? 14 : 16,
fontFamily: "Plus Jakarta Sans",
),
),
),
);
}
return ListView.builder(
padding: EdgeInsets.all(isSmallScreen ? 8 : isTablet ? 16 : 12),
itemCount: provider.casualLeaveHistoryList.length,
itemBuilder: (context, index) {
final item = provider.casualLeaveHistoryList[index];
return Padding(
padding: EdgeInsets.symmetric(
vertical: isSmallScreen ? 4 : isTablet ? 8 : 6,
),
child: Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(
isSmallScreen ? 12 : isTablet ? 20 : 16,
),
),
padding: EdgeInsets.symmetric(
horizontal: isSmallScreen ? 12 : isTablet ? 18 : 14,
vertical: isSmallScreen ? 8 : isTablet ? 14 : 10,
),
child: Row(
children: [
// --- Avatar Circle ---
Container(
height: isSmallScreen ? 40 : isTablet ? 54 : 46,
width: isSmallScreen ? 40 : isTablet ? 54 : 46,
decoration: BoxDecoration(
color: _getAvatarColor(item.type),
shape: BoxShape.circle,
),
child: Center(
child: Text(
getText(item.type),
style: TextStyle(
fontSize: isSmallScreen ? 13 : isTablet ? 17 : 15,
fontFamily: "Plus Jakarta Sans",
fontWeight: FontWeight.w500,
color: _getAvatarTxtColor(item.type),
),
),
),
),
SizedBox(width: isSmallScreen ? 10 : isTablet ? 16 : 12),
// --- Main Content ---
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
item.des ?? "No Description",
style: TextStyle(
fontFamily: "JakartaRegular",
fontSize: isSmallScreen ? 13 : isTablet ? 16 : 14,
color: AppColors.semi_black,
height: 1.2,
),
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
SizedBox(height: isSmallScreen ? 2 : isTablet ? 6 : 4),
Text(
item.year ?? "",
style: TextStyle(
fontFamily: "JakartaRegular",
fontSize: isSmallScreen ? 12 : isTablet ? 14 : 13,
color: AppColors.grey_semi,
),
),
],
),
),
// --- Duration Badge (like "1 Day") ---
Container(
decoration: BoxDecoration(
color: Colors.blue.shade50,
borderRadius: BorderRadius.circular(
isSmallScreen ? 16 : isTablet ? 24 : 20,
),
),
padding: EdgeInsets.symmetric(
horizontal: isSmallScreen ? 12 : isTablet ? 16 : 14,
vertical: isSmallScreen ? 4 : isTablet ? 8 : 6,
),
child: Text(
"${item.cnt ?? '0'} Day${(item.cnt ?? '0') == '1' ? '' : 's'}",
style: TextStyle(
fontFamily: "JakartaMedium",
fontSize: isSmallScreen ? 12 : isTablet ? 15 : 14,
color: Color(0xff1487c9),
),
),
),
],
),
),
);
},
);
},
),
);
}
/// Avatar color generator
Color _getAvatarColor(value) {
var color = AppColors.approved_bg_color;
switch (value) {
case 'minus':
return AppColors.rejected_bg_color;
case 'plus':
return AppColors.approved_bg_color;
}
return color;
}
Color _getAvatarTxtColor(value) {
var color = AppColors.approved_text_color;
switch (value) {
case 'minus':
return AppColors.rejected_text_color;
case 'plus':
return AppColors.approved_text_color;
}
return color;
}
String getText(value) {
switch (value) {
case 'minus':
return "M";
case 'plus':
return "P";
default:
return "-";
}
}
}
\ No newline at end of file
...@@ -3,6 +3,8 @@ import 'package:flutter_svg/svg.dart'; ...@@ -3,6 +3,8 @@ import 'package:flutter_svg/svg.dart';
import 'package:generp/screens/hrm/Attendancelist.dart'; import 'package:generp/screens/hrm/Attendancelist.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import '../../Utils/app_colors.dart'; import '../../Utils/app_colors.dart';
import 'AdvanceListScreen.dart';
import 'CasualLeaveHistoryScreen.dart';
import 'LeaveApplicationScreen.dart'; import 'LeaveApplicationScreen.dart';
import 'TourExpensesListScreen.dart'; import 'TourExpensesListScreen.dart';
import 'RewardListScreen.dart'; import 'RewardListScreen.dart';
...@@ -24,6 +26,8 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -24,6 +26,8 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
"Tour Bill List", "Tour Bill List",
"Rewards List", "Rewards List",
"Attendance Request List", "Attendance Request List",
"Advance List",
"Casual Leave List"
]; ];
@override @override
...@@ -215,7 +219,7 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -215,7 +219,7 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
crossAxisCount: (constraints.maxWidth / crossAxisCount: (constraints.maxWidth /
180) 180)
.floor() .floor()
.clamp(2, 4), .clamp(2, 6),
crossAxisSpacing: 1, crossAxisSpacing: 1,
mainAxisSpacing: 2, mainAxisSpacing: 2,
childAspectRatio: 1.8, childAspectRatio: 1.8,
...@@ -224,7 +228,7 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -224,7 +228,7 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
final page = pages[index]; final page = pages[index];
return _buildTile( return _buildTile(
label: page.pageName ?? "", label: page.pageName ?? "",//in page number there is 6 items comming from serever it showing only four
subtitle: _getSubtitle( subtitle: _getSubtitle(
page.pageName ?? "", page.pageName ?? "",
), ),
...@@ -244,6 +248,11 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -244,6 +248,11 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
); );
}, },
), ),
////////////
SizedBox(height: 40,)
], ],
), ),
], ],
...@@ -355,6 +364,10 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -355,6 +364,10 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
return ""; return "";
case "Team Attendance Approval": case "Team Attendance Approval":
return ""; return "";
case "Advance List":
return "Advance Payment";
case "Casual Leave List":
return "Track Casual Leave";
default: default:
return ""; return "";
} }
...@@ -375,6 +388,10 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -375,6 +388,10 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
return "assets/svg/hrm/logout_ic.svg"; return "assets/svg/hrm/logout_ic.svg";
case "Team Attendance Approval": case "Team Attendance Approval":
return "assets/svg/hrm/check_ic.svg"; return "assets/svg/hrm/check_ic.svg";
case "Advance List":
return "assets/svg/hrm/advance_list_ic.svg";
case "Casual Leave List":
return "assets/svg/hrm/casual_leave_history_ic.svg";
default: default:
return "assets/svg/hrm/groupIc.svg"; return "assets/svg/hrm/groupIc.svg";
} }
...@@ -432,6 +449,24 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> { ...@@ -432,6 +449,24 @@ class _HrmdashboardScreenState extends State<HrmdashboardScreen> {
), ),
); );
break; break;
case "Advance List":
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => AdvanceListScreen(),
),
);
break;
case "Casual Leave List":
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => CasualLeaveHistoryScreen(),
),
);
break;
} }
} }
} }
...@@ -65,6 +65,6 @@ export 'package:generp/Notifiers/hrmProvider/tourExpensesDetailsProvider.dart'; ...@@ -65,6 +65,6 @@ export 'package:generp/Notifiers/hrmProvider/tourExpensesDetailsProvider.dart';
export 'package:generp/Notifiers/hrmProvider/rewardListProvider.dart'; export 'package:generp/Notifiers/hrmProvider/rewardListProvider.dart';
export 'package:generp/Notifiers/hrmProvider/LeaveApplicationListProvider.dart'; export 'package:generp/Notifiers/hrmProvider/LeaveApplicationListProvider.dart';
export 'package:generp/Notifiers/hrmProvider/LeaveApplicationDetailsProvider.dart'; export 'package:generp/Notifiers/hrmProvider/LeaveApplicationDetailsProvider.dart';
export 'package:generp/Notifiers/hrmProvider/CasualLeaveHistoryProvider.dart';
export 'package:generp/Notifiers/hrmprovider/orgprovider.dart'; export 'package:generp/Notifiers/hrmprovider/orgprovider.dart';
...@@ -25,8 +25,14 @@ import 'package:dropdown_search/dropdown_search.dart'; ...@@ -25,8 +25,14 @@ import 'package:dropdown_search/dropdown_search.dart';
class AddorderScreen extends StatefulWidget { class AddorderScreen extends StatefulWidget {
final pageTitleName; final pageTitleName;
final mode; final mode;
final leadId;
final feedback;
final followupType;
final inTime;
final loc;
const AddorderScreen({super.key, this.pageTitleName, this.mode});
const AddorderScreen({super.key, this.pageTitleName, this.mode, this.leadId, this.feedback, this.followupType, this.inTime, this.loc});
@override @override
State<AddorderScreen> createState() => _AddorderScreenState(); State<AddorderScreen> createState() => _AddorderScreenState();
...@@ -45,30 +51,99 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -45,30 +51,99 @@ class _AddorderScreenState extends State<AddorderScreen> {
@override @override
void initState() { void initState() {
// TODO: implement initState
super.initState(); super.initState();
_connectivity.initialise(); _connectivity.initialise();
_connectivity.myStream.listen((source) { _connectivity.myStream.listen((source) {
setState(() => _source = source); setState(() => _source = source);
}); });
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
var provider = Provider.of<Addorderprovider>(context, listen: false); WidgetsBinding.instance.addPostFrameCallback((_) async {
final provider = Provider.of<Addorderprovider>(context, listen: false);
final homeProvider = Provider.of<HomescreenNotifier>(context, listen: false);
if (provider.dateNow == null) { if (provider.dateNow == null) {
provider.setDate(DateTime.now()); provider.setDate(DateTime.now());
} }
provider.getLocationPermission(context); provider.getLocationPermission(context);
provider.getCurrentLocation(); provider.getCurrentLocation();
provider.ordersAddOrderAPIViewFunction(context, widget.mode);
provider.ordersAddOrderSelectAccountAPIFunction( // fetch select account API
await provider.ordersAddOrderSelectAccountAPIFunction(
context, context,
widget.mode, widget.mode,
provider.selectedAccountID, provider.selectedAccountID,
'', '',
); );
});
if (widget.pageTitleName != "Add Order") {
provider.ordersAddOrderAPIViewFunction(
context,
widget.mode,
"",
"",
"",
"",
"",
);
} }
if (widget.pageTitleName == "Add Order") {
await provider.fetchAddOrderViewData(
context,
homeProvider.empId,
homeProvider.session,
widget.mode,
widget.leadId,
widget.feedback,
widget.followupType,
widget.inTime,
widget.loc,
);
debugPrint(" fetchAddOrderViewData finished");
debugPrint("Assign data to all fields##################################");
final account = provider.accountDetails;
if (account != null) {
await provider.ordersAddOrderSelectAccountAPIFunction(
context,
widget.mode,
account.id,
"",
);
// provider.getDistrictAPI(context, account.district);
// provider.getSubLocationAPI(context, account.subLocality);
provider.ordersAddOrderAccountDetailsAPIFunction(context, account.id);
provider.selectedAccountID = account.id;
provider.selectedAccountName = account.name;
provider.selectedBillingStateID = account.state;
// Fill text controllers
provider.billingNameController.text = account.name ?? "";
provider.billingAddressController.text = account.address ?? "";
provider.billingPincodeController.text = account.pincode ?? "";
provider.orderReceivedDateController.text = account.date ?? "";
provider.billingStateSearchController.text = account.state!;
provider.selecetdBillingStates = "account.state" as States?;
debugPrint("Auto filled");
provider.accountList.first = account.name as AccountList;
// provider.billingDistrictSearchController.text = district as String;
// provider.selectedBillingDistricts = district as Districts?;
//
// provider.billingSubLocSearchController.text = account.subLocality!;
// provider.selectedBillingSubLocations = account.subLocality as SubLocations?;
provider.dropDownSearchController.text = account.name!;
provider.selectedAccountName = account.name;
provider.notifyListeners();
}
}
});
}
@override @override
void dispose() { void dispose() {
focusNodes.map((e) => e.dispose()); focusNodes.map((e) => e.dispose());
...@@ -152,6 +227,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -152,6 +227,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
Widget _scaffold(BuildContext context) { Widget _scaffold(BuildContext context) {
return Consumer<Addorderprovider>( return Consumer<Addorderprovider>(
builder: (context, provider, child) { builder: (context, provider, child) {
return WillPopScope( return WillPopScope(
child: SafeArea( child: SafeArea(
top: false, top: false,
...@@ -295,13 +371,14 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -295,13 +371,14 @@ class _AddorderScreenState extends State<AddorderScreen> {
if (value != null) { if (value != null) {
print('Selected account: ${value.text}'); print('Selected account: ${value.text}');
provider.selectedAccountList = (value); provider.selectedAccountList = (value);
provider.selectedAccountID = value.id!; provider.selectedAccountID = value!.id!;
provider.selectedAccountName = value.text!; provider.selectedAccountName = value!.text!;
provider provider
.ordersAddOrderAccountDetailsAPIFunction( .ordersAddOrderAccountDetailsAPIFunction(
context, context,
value.id, value.id,
); );
} }
}, },
selectedItem: provider.selectedAccountList, selectedItem: provider.selectedAccountList,
...@@ -351,6 +428,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -351,6 +428,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
// }, // },
), ),
if (provider.selectAccountError != null) ...[ if (provider.selectAccountError != null) ...[
errorWidget( errorWidget(
context, context,
...@@ -1150,7 +1228,8 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -1150,7 +1228,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
.isNotEmpty .isNotEmpty
? provider.selectedDispatchDistricts != ? provider.selectedDispatchDistricts !=
null null
? provider.dispatchDistricts.firstWhere( ? provider.dispatchDistricts
.firstWhere(
(ord) => (ord) =>
ord.id == ord.id ==
provider provider
...@@ -1307,7 +1386,9 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -1307,7 +1386,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
.isNotEmpty .isNotEmpty
? provider.selectedDispatchSubLocations != ? provider.selectedDispatchSubLocations !=
null null
? provider.dispatchSubLocations.firstWhere( ? provider
.dispatchSubLocations
.firstWhere(
(ord) => (ord) =>
ord.id == ord.id ==
provider provider
...@@ -1675,11 +1756,11 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -1675,11 +1756,11 @@ class _AddorderScreenState extends State<AddorderScreen> {
scrollbarTheme: ScrollbarThemeData( scrollbarTheme: ScrollbarThemeData(
radius: const Radius.circular(15), radius: const Radius.circular(15),
thickness: thickness:
WidgetStateProperty.all<double>( MaterialStateProperty.all<
6, double
), >(6),
thumbVisibility: thumbVisibility:
WidgetStateProperty.all<bool>( MaterialStateProperty.all<bool>(
true, true,
), ),
), ),
...@@ -1896,9 +1977,9 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -1896,9 +1977,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
if (value != null) { if (value != null) {
print('Selected account: ${value.text}'); print('Selected account: ${value.text}');
provider.selectedTpcAgent = (value); provider.selectedTpcAgent = (value);
provider.selectedTpcAgentID = value.id!; provider.selectedTpcAgentID = value!.id!;
provider.selectedTpcAgentValue = provider.selectedTpcAgentValue =
value.text!; value!.text!;
} }
}, },
selectedItem: provider.selectedTpcAgent, selectedItem: provider.selectedTpcAgent,
...@@ -2150,8 +2231,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2150,8 +2231,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
widget.mode, widget.mode,
provider.selectedEmployeeID, provider.selectedEmployeeID,
provider.selectedAccountID, provider.selectedAccountID,
provider provider.selectedDispatchStateID,
.selectedDispatchStateID,
provider provider
.selectedDispatchDistrictId, .selectedDispatchDistrictId,
provider provider
...@@ -2496,7 +2576,9 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2496,7 +2576,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
provider.selectedAccountName = provider.selectedAccountName =
provider.accountList[index].text!; provider.accountList[index].text!;
print( print(
"hfjkshfg${provider.selectedAccountID}", "hfjkshfg" +
provider.selectedAccountID
.toString(),
); );
provider.dropDownSearchController.text = provider.dropDownSearchController.text =
provider.accountList[index].text!; provider.accountList[index].text!;
...@@ -2637,7 +2719,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2637,7 +2719,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
null, null,
TextInputAction.done, TextInputAction.done,
), ),
if (provider.billingNameError != null) if(provider.billingNameError!=null)
errorWidget(context, provider.billingNameError), errorWidget(context, provider.billingNameError),
TextWidget(context, "Billing State"), TextWidget(context, "Billing State"),
//dd //dd
...@@ -2752,11 +2834,8 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2752,11 +2834,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
], ],
), ),
), ),
if (provider.selectedBillingStateError != null) if(provider.selectedBillingStateError!=null)
errorWidget( errorWidget(context, provider.selectedBillingStateError),
context,
provider.selectedBillingStateError,
),
TextWidget(context, "Billing District"), TextWidget(context, "Billing District"),
//dd //dd
DropdownButtonHideUnderline( DropdownButtonHideUnderline(
...@@ -2871,7 +2950,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2871,7 +2950,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
], ],
), ),
), ),
if (provider.selectedBillingDistrictError != null) if(provider.selectedBillingDistrictError!=null)
errorWidget( errorWidget(
context, context,
provider.selectedBillingDistrictError, provider.selectedBillingDistrictError,
...@@ -2978,11 +3057,8 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2978,11 +3057,8 @@ class _AddorderScreenState extends State<AddorderScreen> {
], ],
), ),
), ),
if (provider.selectedBillingSubLocError != null) if(provider.selectedBillingSubLocError!=null)
errorWidget( errorWidget(context, provider.selectedBillingSubLocError),
context,
provider.selectedBillingSubLocError,
),
textControllerWidget( textControllerWidget(
context, context,
provider.billingAddressController, provider.billingAddressController,
...@@ -2996,7 +3072,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -2996,7 +3072,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
focusNodes[2], focusNodes[2],
TextInputAction.next, TextInputAction.next,
), ),
if (provider.billingAddressError != null) if(provider.billingAddressError!=null)
errorWidget(context, provider.billingAddressError), errorWidget(context, provider.billingAddressError),
textControllerWidget( textControllerWidget(
...@@ -3013,7 +3089,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -3013,7 +3089,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
TextInputAction.done, TextInputAction.done,
6, 6,
), ),
if (provider.billingPincodeError != null) if(provider.billingPincodeError!=null)
errorWidget(context, provider.billingPincodeError), errorWidget(context, provider.billingPincodeError),
TextWidget(context, "Dispatch State"), TextWidget(context, "Dispatch State"),
...@@ -3570,11 +3646,10 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -3570,11 +3646,10 @@ class _AddorderScreenState extends State<AddorderScreen> {
), ),
scrollbarTheme: ScrollbarThemeData( scrollbarTheme: ScrollbarThemeData(
radius: const Radius.circular(15), radius: const Radius.circular(15),
thickness: WidgetStateProperty.all<double>( thickness:
6, MaterialStateProperty.all<double>(6),
),
thumbVisibility: thumbVisibility:
WidgetStateProperty.all<bool>(true), MaterialStateProperty.all<bool>(true),
), ),
), ),
menuItemStyleData: const MenuItemStyleData( menuItemStyleData: const MenuItemStyleData(
...@@ -3764,7 +3839,9 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -3764,7 +3839,9 @@ class _AddorderScreenState extends State<AddorderScreen> {
provider.selectedTpcAgentValue = provider.selectedTpcAgentValue =
provider.tpcAgent[index].text!; provider.tpcAgent[index].text!;
print( print(
"hfjkshfg${provider.selectedTpcAgentID}", "hfjkshfg" +
provider.selectedTpcAgentID
.toString(),
); );
provider provider
.dropDownTpcSearchController .dropDownTpcSearchController
...@@ -3935,7 +4012,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -3935,7 +4012,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
Navigator.of(context).pop(false); Navigator.of(context).pop(false);
provider.imgFromGallery(context); provider.imgFromGallery(context);
}, },
child: SizedBox( child: Container(
height: 35, height: 35,
child: Text("Select photo from gallery"), child: Text("Select photo from gallery"),
), ),
...@@ -3946,7 +4023,7 @@ class _AddorderScreenState extends State<AddorderScreen> { ...@@ -3946,7 +4023,7 @@ class _AddorderScreenState extends State<AddorderScreen> {
Navigator.of(context).pop(false); Navigator.of(context).pop(false);
provider.imgFromCamera(context); provider.imgFromCamera(context);
}, },
child: SizedBox( child: Container(
height: 35, height: 35,
child: Text("Capture photo from camera"), child: Text("Capture photo from camera"),
), ),
...@@ -3997,7 +4074,7 @@ class OrderForm extends StatelessWidget { ...@@ -3997,7 +4074,7 @@ class OrderForm extends StatelessWidget {
), ),
); );
if (res != null) { if (res != null) {
print("result $res"); print("result ${res}");
} }
}, },
child: Container( child: Container(
...@@ -4061,7 +4138,7 @@ class OrderForm extends StatelessWidget { ...@@ -4061,7 +4138,7 @@ class OrderForm extends StatelessWidget {
), ),
); );
if (res != null) { if (res != null) {
print("result $res"); print("result ${res}");
} }
}, },
child: Container( child: Container(
......
This diff is collapsed.
...@@ -19,6 +19,7 @@ const employeeCheckOutUrl = "${baseUrl}home/attendance_check_out"; ...@@ -19,6 +19,7 @@ const employeeCheckOutUrl = "${baseUrl}home/attendance_check_out";
const employeeAttendanceDashboardUrl = "${baseUrl}home/attendance_dashboard"; const employeeAttendanceDashboardUrl = "${baseUrl}home/attendance_dashboard";
const employeeMonthwiseAttendanceUrl = "${baseUrl}home/attendance_monthwise_det"; const employeeMonthwiseAttendanceUrl = "${baseUrl}home/attendance_monthwise_det";
const employeeDayAttendanceDetailsUrl = "${baseUrl}home/attendance_day_det"; const employeeDayAttendanceDetailsUrl = "${baseUrl}home/attendance_day_det";
const missedCheckoutUrl = "${baseUrl_test}missed_checkout";
///gentracker ///gentracker
const genTrackerGeneratorDetailsUrl = "${baseUrl}home/gen_tracker_generator_details"; const genTrackerGeneratorDetailsUrl = "${baseUrl}home/gen_tracker_generator_details";
...@@ -181,9 +182,9 @@ const crmDashboardQuotationsUrl = "${baseUrl_test}crm_dashboard_quotations_list" ...@@ -181,9 +182,9 @@ const crmDashboardQuotationsUrl = "${baseUrl_test}crm_dashboard_quotations_list"
const ogcharturl = "${baseUrl_test}organisation_structures"; const ogcharturl = "${baseUrl_test}organisation_structures";
const JobDesciptionUrl ="${baseUrl_test}job_description"; const JobDesciptionUrl ="${baseUrl_test}job_description";
///HRM ///HRM
//Attendance //Attendance
const HrmAccessiblePagesUrl ="${baseUrl_test}hrm_accessible_pages"; const HrmAccessiblePagesUrl ="${baseUrl_test}hrm_accessible_pages";
const AttendanceRequestListUrl ="${baseUrl_test}attendance_request_list"; const AttendanceRequestListUrl ="${baseUrl_test}attendance_request_list";
const AttendanceRequestDetailsUrl ="${baseUrl_test}attendance_request_details"; const AttendanceRequestDetailsUrl ="${baseUrl_test}attendance_request_details";
...@@ -203,9 +204,9 @@ const LeaveApplicationDetailsUrl ="${baseUrl_test}leave_request_details"; ...@@ -203,9 +204,9 @@ const LeaveApplicationDetailsUrl ="${baseUrl_test}leave_request_details";
const LeaveRequestAdditionUrl ="${baseUrl_test}add_leave_request"; const LeaveRequestAdditionUrl ="${baseUrl_test}add_leave_request";
const LeaveRequestRejectAprroveUrl ="${baseUrl_test}leaves_approve_reject"; const LeaveRequestRejectAprroveUrl ="${baseUrl_test}leaves_approve_reject";
const CasuaLeaveHistoryUrl ="${baseUrl_test}casual_leave_history";
const AdvanceListUrl ="${baseUrl_test}advance_list";
...@@ -1464,6 +1464,14 @@ packages: ...@@ -1464,6 +1464,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "6.1.0" version: "6.1.0"
photo_view:
dependency: "direct main"
description:
name: photo_view
sha256: "8036802a00bae2a78fc197af8a158e3e2f7b500561ed23b4c458107685e645bb"
url: "https://pub.dev"
source: hosted
version: "0.14.0"
pin_code_fields: pin_code_fields:
dependency: "direct main" dependency: "direct main"
description: description:
......
...@@ -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.104+112 version: 1.0.106+114
environment: environment:
sdk: ^3.7.2 sdk: ^3.7.2
...@@ -92,6 +92,8 @@ dependencies: ...@@ -92,6 +92,8 @@ dependencies:
graphview: ^1.2.0 graphview: ^1.2.0
file_picker: ^8.0.0 file_picker: ^8.0.0
flutter_html: ^3.0.0 flutter_html: ^3.0.0
photo_view: ^0.14.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
...@@ -191,3 +193,4 @@ flutter: ...@@ -191,3 +193,4 @@ flutter:
# For details regarding fonts from package dependencies, # For details regarding fonts from package dependencies,
# see https://flutter.dev/to/font-from-package # see https://flutter.dev/to/font-from-package
generate: true generate: true
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