FOREX DWNLD
This commit is contained in:
parent
a32fb0d0c3
commit
b24215272f
@ -540,7 +540,12 @@ class _ListAllPlansState extends State<ListAllPlans> {
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
Padding(
|
||||
padding:
|
||||
isDesktop
|
||||
? const EdgeInsets.all(0)
|
||||
: const EdgeInsets.only(left: 14.0),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'All Trips',
|
||||
@ -558,6 +563,7 @@ class _ListAllPlansState extends State<ListAllPlans> {
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
SizedBox(width: 1),
|
||||
Spacer(),
|
||||
@ -1153,7 +1159,7 @@ class _ListAllPlansState extends State<ListAllPlans> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
@ -1445,7 +1451,7 @@ class _ListAllPlansState extends State<ListAllPlans> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
|
||||
@ -395,7 +395,12 @@ class _TravelAgentListPlansState extends State<TravelAgentListPlans> {
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
Padding(
|
||||
padding:
|
||||
isDesktop
|
||||
? const EdgeInsets.all(0)
|
||||
: const EdgeInsets.only(left: 14.0),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'Trips',
|
||||
@ -412,6 +417,7 @@ class _TravelAgentListPlansState extends State<TravelAgentListPlans> {
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Spacer(),
|
||||
if (isDesktop)
|
||||
@ -455,7 +461,7 @@ class _TravelAgentListPlansState extends State<TravelAgentListPlans> {
|
||||
),
|
||||
|
||||
// SizedBox(width: 16),
|
||||
Spacer(),
|
||||
// Spacer(),
|
||||
// ElevatedButton(
|
||||
// style: ElevatedButton.styleFrom(
|
||||
// foregroundColor: Colors.white,
|
||||
@ -905,7 +911,7 @@ class _TravelAgentListPlansState extends State<TravelAgentListPlans> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
|
||||
@ -755,7 +755,12 @@ class _ApprovalListState extends State<ApprovalList> {
|
||||
// ),
|
||||
Row(
|
||||
children: [
|
||||
Row(
|
||||
Padding(
|
||||
padding:
|
||||
isDesktop
|
||||
? const EdgeInsets.all(0)
|
||||
: const EdgeInsets.only(left: 14.0),
|
||||
child: Row(
|
||||
children: [
|
||||
Text(
|
||||
'My Approvals',
|
||||
@ -772,6 +777,7 @@ class _ApprovalListState extends State<ApprovalList> {
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
if (isDesktop)
|
||||
SizedBox(width: MediaQuery.of(context).size.width * 0.23),
|
||||
|
||||
@ -1356,7 +1362,7 @@ class _ApprovalListState extends State<ApprovalList> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
@ -1665,7 +1671,7 @@ class _ApprovalListState extends State<ApprovalList> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
|
||||
@ -480,10 +480,10 @@ class StatusDashboardState extends State<StatusDashboard> {
|
||||
child: Text(
|
||||
label,
|
||||
style: GoogleFonts.poppins(
|
||||
fontSize: 10,
|
||||
fontSize: 12,
|
||||
color: color,
|
||||
// color: const Color(0xFFEAF3FB),
|
||||
fontWeight: FontWeight.w700,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
),
|
||||
|
||||
@ -1530,7 +1530,8 @@ class _ForexScreenState extends State<ForexScreen> {
|
||||
else
|
||||
SizedBox(height: 8),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
crossAxisAlignment:
|
||||
isDesktop ? CrossAxisAlignment.center : CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Currency *",
|
||||
@ -1552,19 +1553,24 @@ class _ForexScreenState extends State<ForexScreen> {
|
||||
height: 40,
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(8.0),
|
||||
child: Center(
|
||||
child: Text(
|
||||
// "cur",
|
||||
// "${selectedCurrency}",
|
||||
selectedCurrency ?? "Currency",
|
||||
// selectedCurrency?.isNotEmpty == true ? selectedCurrency! : "Currency",
|
||||
style: const TextStyle(
|
||||
fontSize: 12,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Color(0xFF575A74),
|
||||
),
|
||||
),
|
||||
),
|
||||
child:
|
||||
isDesktop
|
||||
? Center(child: currencyText())
|
||||
: Container(child: currencyText()),
|
||||
// child: Center
|
||||
// (
|
||||
// child: Text(
|
||||
// // "cur",
|
||||
// // "${selectedCurrency}",
|
||||
// selectedCurrency ?? "Currency",
|
||||
// // selectedCurrency?.isNotEmpty == true ? selectedCurrency! : "Currency",
|
||||
// style: const TextStyle(
|
||||
// fontSize: 12,
|
||||
// fontWeight: FontWeight.w600,
|
||||
// color: Color(0xFF575A74),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
),
|
||||
),
|
||||
@ -1632,6 +1638,14 @@ class _ForexScreenState extends State<ForexScreen> {
|
||||
];
|
||||
}
|
||||
|
||||
Widget currencyText() => Text(
|
||||
selectedCurrency ?? "Currency",
|
||||
style: const TextStyle(
|
||||
fontSize: 12,
|
||||
fontWeight: FontWeight.w600,
|
||||
color: Color(0xFF575A74),
|
||||
),
|
||||
);
|
||||
List<Widget> _buildSecondRow(bool isDesktop) {
|
||||
return [
|
||||
if (isDesktop) Spacer(),
|
||||
@ -2344,7 +2358,8 @@ class _ForexScreenState extends State<ForexScreen> {
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
mainAxisAlignment: isDesktop ? MainAxisAlignment.center : MainAxisAlignment.start,
|
||||
mainAxisAlignment:
|
||||
isDesktop ? MainAxisAlignment.center : MainAxisAlignment.start,
|
||||
children: [
|
||||
Container(
|
||||
alignment: Alignment.bottomLeft,
|
||||
|
||||
@ -313,7 +313,7 @@ class _AccomodationListWidgetState extends State<AccomodationListWidget> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
// mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
item["hotel_name"]!,
|
||||
@ -388,6 +388,7 @@ class _AccomodationListWidgetState extends State<AccomodationListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
@ -640,29 +641,29 @@ class _AccomodationListWidgetState extends State<AccomodationListWidget> {
|
||||
),
|
||||
),
|
||||
SizedBox(width: 5),
|
||||
Expanded(child: Text(value, style: TextStyle(fontSize: 12))),
|
||||
// Expanded(
|
||||
// child:
|
||||
// exceedsLimit
|
||||
// ? Tooltip(
|
||||
// message: wrapText(value, 50),
|
||||
// decoration: BoxDecoration(
|
||||
// color: Colors.grey.shade200, // Black background
|
||||
// borderRadius: BorderRadius.circular(6),
|
||||
// ),
|
||||
// textStyle: TextStyle(
|
||||
// color: Colors.black,
|
||||
// ), // Tooltip text color
|
||||
// padding: EdgeInsets.all(8),
|
||||
// preferBelow: false,
|
||||
// child: Text(
|
||||
// value.substring(0, limit) + "...",
|
||||
// style: TextStyle(fontSize: 12),
|
||||
// overflow: TextOverflow.ellipsis,
|
||||
// ),
|
||||
// )
|
||||
// : Text(value, style: TextStyle(fontSize: 12)),
|
||||
// ),
|
||||
// Expanded(child: Text(value, style: TextStyle(fontSize: 12))),
|
||||
Expanded(
|
||||
child:
|
||||
exceedsLimit
|
||||
? Tooltip(
|
||||
message: wrapText(value, 50),
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey.shade200, // Black background
|
||||
borderRadius: BorderRadius.circular(6),
|
||||
),
|
||||
textStyle: TextStyle(
|
||||
color: Colors.black,
|
||||
), // Tooltip text color
|
||||
padding: EdgeInsets.all(8),
|
||||
preferBelow: false,
|
||||
child: Text(
|
||||
value.substring(0, limit) + "...",
|
||||
style: TextStyle(fontSize: 12),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
)
|
||||
: Text(value, style: TextStyle(fontSize: 12)),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@ -363,7 +363,7 @@ class _BusListWidgetState extends State<BusListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 4),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -319,7 +319,7 @@ class _ForexListWidgetState extends State<ForexListWidget> {
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
// mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
getRequestForCountry(item["country_code"]!.toString()),
|
||||
@ -344,19 +344,20 @@ class _ForexListWidgetState extends State<ForexListWidget> {
|
||||
),
|
||||
),
|
||||
),
|
||||
// SizedBox(width: 10),
|
||||
// GestureDetector(
|
||||
// onTap: () => onDeleteForex(item),
|
||||
// child: Tooltip(
|
||||
// message: 'Delete Forex Details',
|
||||
// child: Image.asset(
|
||||
// 'assets/images/IconsImg/delete.png',
|
||||
// width: 20,
|
||||
// height: 15,
|
||||
// color: Colors.red,
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
SizedBox(width: 10),
|
||||
GestureDetector(
|
||||
onTap: () => widget.onDeleteForex(item),
|
||||
child: Tooltip(
|
||||
message: 'Delete Forex Details',
|
||||
child: Image.asset(
|
||||
'assets/images/IconsImg/delete.png',
|
||||
width: 20,
|
||||
height: 15,
|
||||
color: Colors.red,
|
||||
),
|
||||
),
|
||||
),
|
||||
SizedBox(width: 10),
|
||||
item['forex_id'] != null
|
||||
? IconButton(
|
||||
icon: Icon(
|
||||
@ -457,6 +458,7 @@ class _ForexListWidgetState extends State<ForexListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -324,6 +324,7 @@ class _InsuranceListWidgetState extends State<InsuranceListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -273,7 +273,7 @@ class _MiscellaneousListWidgetState extends State<MiscellaneousListWidget> {
|
||||
],
|
||||
),
|
||||
// Divider(color: Colors.blueGrey.shade50),
|
||||
// SizedBox(height: 4),
|
||||
SizedBox(height: 4),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
@ -294,6 +294,7 @@ class _MiscellaneousListWidgetState extends State<MiscellaneousListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -378,7 +378,8 @@ class _TaxiListWidgetState extends State<TaxiListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 4),
|
||||
SizedBox(height: 8),
|
||||
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -450,7 +450,7 @@ class _TrainListWidgetState extends State<TrainListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 4),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -427,6 +427,7 @@ class _VisaListWidgetState extends State<VisaListWidget> {
|
||||
],
|
||||
)
|
||||
: SizedBox.shrink(),
|
||||
SizedBox(height: 8),
|
||||
isDesktop
|
||||
? Row(
|
||||
children: [
|
||||
|
||||
@ -58,6 +58,21 @@ class _ColorThemePickerWidgetState extends State<ColorThemePickerWidget> {
|
||||
];
|
||||
|
||||
final List<Color> layoutTertiaryColors = [
|
||||
Color(0xFFE5EFFF), // Very Light Blue
|
||||
Color(0xFFE6FDFF), // Very Light Teal
|
||||
Color(0xFFE8FDEF), // Mint Green
|
||||
Color(0xFFFFE7E6), // Light Coral/Red
|
||||
Color(0xFFFDE9E7), // Peach
|
||||
Color(0xFFFFF5E5), // Lightest Orange
|
||||
Color(0xFFECEEF8), // Very Light Rose
|
||||
Color(0xFFE5FFFC), // Pastel Pink
|
||||
Color(0xFFFEE6F3), // Light Lavender
|
||||
Color(0xFFF9EBF3), // Soft Purple Grey
|
||||
Color(0xFFF8EAFA), // Near-white Neutral
|
||||
Color(0xFFF4EDF7), // Near-white Neutral
|
||||
];
|
||||
|
||||
final List<Color> layoutTertiaryColors1 = [
|
||||
Color(0xFFE3F2FD), // Very Light Blue
|
||||
Color(0xFFE0F7FA), // Very Light Teal
|
||||
Color(0xFFC8E6C9), // Mint Green
|
||||
@ -67,7 +82,7 @@ class _ColorThemePickerWidgetState extends State<ColorThemePickerWidget> {
|
||||
Color(0xFFFFEBEE), // Very Light Rose
|
||||
Color(0xFFFCE4EC), // Pastel Pink
|
||||
Color(0xFFF3E5F5), // Light Lavender
|
||||
Color(0xFFEDE7F6), // Soft Purple Grey
|
||||
Color(0xFFF9EBF3), // Soft Purple Grey
|
||||
Color(0xFFF8F9FA), // Near-white Neutral
|
||||
];
|
||||
|
||||
|
||||
@ -446,6 +446,7 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
String? _selectedIsBillable;
|
||||
String? selectedFuncDept;
|
||||
String? selectedPurpose;
|
||||
bool hasUpdateVal = false;
|
||||
|
||||
Map<String, String?> validationErrors = {};
|
||||
|
||||
@ -563,6 +564,10 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
loadInitialData();
|
||||
});
|
||||
|
||||
// if (widget.selectedPlanData != null) {
|
||||
// hasUpdateVal = true;
|
||||
// }
|
||||
|
||||
if (widget.approverStatus == "Approval pending") {
|
||||
print("Status approver - Approval Pending");
|
||||
}
|
||||
@ -657,6 +662,8 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
planTravlrId = travellerId;
|
||||
_selectedOption = "Option 3";
|
||||
otherUserName = travellerName;
|
||||
|
||||
hasUpdateVal = true;
|
||||
} else if (userId.isNotEmpty && userId != "0") {
|
||||
print("TestplanUsrId : $userId");
|
||||
print("TestplanUsrIdSelf : $selfId");
|
||||
@ -664,6 +671,7 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
print("TestplanUsrId2 : $planUsrId");
|
||||
_selectedOption = (selfId != userId) ? "Option 2" : "Option 1";
|
||||
otherUserName = userName;
|
||||
hasUpdateVal = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -2039,6 +2047,7 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
}
|
||||
return true;
|
||||
},
|
||||
enabled: !hasUpdateVal,
|
||||
popupProps: PopupProps.menu(
|
||||
showSearchBox: false, // Optionally enable search
|
||||
fit: FlexFit.loose,
|
||||
@ -3172,6 +3181,7 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
{"title": "Others (Non Employee)", "value": "Option 3"},
|
||||
];
|
||||
|
||||
print("isViewModeYY: ${widget.isViewMode}, hasUpdateVal: $hasUpdateVal");
|
||||
return [
|
||||
CustomTextFieldWrapper(
|
||||
// isFocused: focusStates["trip_plannedFocused"] ?? false,
|
||||
@ -3198,12 +3208,14 @@ class CreateNewPlansState extends State<CreateNewPlan> {
|
||||
// Request focus when user taps
|
||||
focusNodes["trip_plannedFocusNode"]?.requestFocus();
|
||||
},
|
||||
|
||||
child: DropdownSearch<String>(
|
||||
selectedItem:
|
||||
options.firstWhere(
|
||||
(opt) => opt['value'] == _selectedOption,
|
||||
)['title'],
|
||||
enabled: !widget.isViewMode,
|
||||
enabled: !hasUpdateVal,
|
||||
// enabled: || !hasUpdateVal,
|
||||
items: options.map((opt) => opt['title']!).toList(),
|
||||
popupProps: PopupProps.menu(
|
||||
showSearchBox: false,
|
||||
|
||||
@ -679,7 +679,12 @@ class _ListPlansState extends State<ListPlans> {
|
||||
// thickness: 0.2, // how "thick" the line is
|
||||
// color: Colors.grey, // optional
|
||||
// ),
|
||||
Row(
|
||||
Padding(
|
||||
padding:
|
||||
isDesktop
|
||||
? const EdgeInsets.all(8.0)
|
||||
: const EdgeInsets.symmetric(horizontal: 14.0),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||
children: [
|
||||
Row(
|
||||
@ -839,6 +844,7 @@ class _ListPlansState extends State<ListPlans> {
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
if (!isDesktop) const SizedBox(height: 10),
|
||||
if (!isDesktop)
|
||||
Row(
|
||||
@ -1316,7 +1322,7 @@ class _ListPlansState extends State<ListPlans> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
@ -1633,7 +1639,7 @@ class _ListPlansState extends State<ListPlans> {
|
||||
context,
|
||||
);
|
||||
apiService
|
||||
.getPdfDownload(
|
||||
.getForexPdfDownload(
|
||||
plan.forexId,
|
||||
);
|
||||
},
|
||||
|
||||
@ -103,7 +103,6 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
}).toList();
|
||||
|
||||
|
||||
Map<String, dynamic> data = {
|
||||
"name": _policyController.text,
|
||||
"domestic": SelectedDomestic,
|
||||
@ -155,6 +154,7 @@ class _PolicyState extends State<Policy> {
|
||||
// }
|
||||
// });
|
||||
}
|
||||
|
||||
void _addFocusListener(FocusNode node, Function(bool) updateState) {
|
||||
node.addListener(() {
|
||||
setState(() {
|
||||
@ -162,6 +162,7 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
void _checkAuthAndLoadData() async {
|
||||
final String? token = await getToken(); // Your async function to get token
|
||||
|
||||
@ -181,9 +182,6 @@ class _PolicyState extends State<Policy> {
|
||||
|
||||
loadInitialData();
|
||||
|
||||
|
||||
|
||||
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (widget.policy != null) {
|
||||
final details = List<Map<String, dynamic>>.from(
|
||||
@ -193,7 +191,6 @@ class _PolicyState extends State<Policy> {
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// if (widget.policy != null) {
|
||||
// print("185");
|
||||
// final details = List<Map<String, dynamic>>.from(
|
||||
@ -313,30 +310,29 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
print("298 ServicesChoosed ${ServicesChoosed}");
|
||||
|
||||
|
||||
|
||||
if (ServicesChoosed!.isNotEmpty) {
|
||||
print("Filtered Selected Services ChooesedIpfa1: $ServicesChoosed");
|
||||
|
||||
|
||||
ServicesChoosed!.sort(
|
||||
(a, b) => (a['order'] ?? 0).compareTo(b['order'] ?? 0),
|
||||
);
|
||||
String firstServiceName = ServicesChoosed?.first['name'];
|
||||
String firstServiceId = ServicesChoosed?.first['service_id'];
|
||||
|
||||
print("✅ 306 First service name selected for filter: $firstServiceName - $firstServiceId");
|
||||
print(
|
||||
"✅ 306 First service name selected for filter: $firstServiceName - $firstServiceId",
|
||||
);
|
||||
selectedService = firstServiceName;
|
||||
if (selectedServiceDBValue.value == "0") {
|
||||
setState(() {
|
||||
selectedServiceDBValue.value = firstServiceId.toString();
|
||||
});
|
||||
}
|
||||
List<int> serviceDBvalue = ServicesChoosed!
|
||||
List<int> serviceDBvalue =
|
||||
ServicesChoosed!
|
||||
.map((item) => int.parse(item['service_id'].toString()))
|
||||
.toList();
|
||||
serviceDBValueList = serviceDBvalue;
|
||||
|
||||
}
|
||||
print(widget.policy);
|
||||
// updateData();
|
||||
@ -357,14 +353,10 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
|
||||
print("✅ Loaded services from policy (decoded): $services");
|
||||
|
||||
|
||||
}
|
||||
|
||||
print("Filtered Selected Services Added to Policy: $ServicesChoosed");
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
final filtered =
|
||||
selectedAllServices!
|
||||
.where(
|
||||
@ -404,7 +396,9 @@ class _PolicyState extends State<Policy> {
|
||||
);
|
||||
String firstServiceName = ServicesChoosed?.first['name'];
|
||||
String firstServiceId = ServicesChoosed?.first['service_id'];
|
||||
print("✅ 363 First service name selected for filter: $firstServiceName - $firstServiceId");
|
||||
print(
|
||||
"✅ 363 First service name selected for filter: $firstServiceName - $firstServiceId",
|
||||
);
|
||||
selectedService = firstServiceName;
|
||||
if (selectedServiceDBValue.value == "0") {
|
||||
setState(() {
|
||||
@ -412,12 +406,11 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
}
|
||||
|
||||
List<int> serviceDBvalue = ServicesChoosed!
|
||||
List<int> serviceDBvalue =
|
||||
ServicesChoosed!
|
||||
.map((item) => int.parse(item['service_id'].toString()))
|
||||
.toList();
|
||||
serviceDBValueList = serviceDBvalue;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -525,7 +518,6 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
bool isValidData(Map<String, dynamic> data) {
|
||||
errorMessages.clear(); // Reset previous errors
|
||||
|
||||
@ -859,7 +851,7 @@ class _PolicyState extends State<Policy> {
|
||||
isDesktop
|
||||
? Container(
|
||||
// color: Colors.yellow.shade50,
|
||||
height: MediaQuery.of(context).size.height * 0.54,
|
||||
height: MediaQuery.of(context).size.height * 0.56,
|
||||
child: SingleChildScrollView(
|
||||
scrollDirection: Axis.vertical,
|
||||
child: Row(
|
||||
@ -1215,11 +1207,11 @@ class _PolicyState extends State<Policy> {
|
||||
|
||||
// List<int> serviceDBvalue =
|
||||
// ServicesChoosed!.map((service) => int.parse(service['service_id'].toString())).toList();
|
||||
List<int> serviceDBvalue = ServicesChoosed!
|
||||
List<int> serviceDBvalue =
|
||||
ServicesChoosed!
|
||||
.map((item) => int.parse(item['service_id'].toString()))
|
||||
.toList();
|
||||
|
||||
|
||||
print("1093");
|
||||
print(services);
|
||||
print(serviceDBvalue);
|
||||
@ -1253,7 +1245,9 @@ class _PolicyState extends State<Policy> {
|
||||
// max((MediaQuery.of(context).size.height * 0.09), 10)
|
||||
child: GestureDetector(
|
||||
onTap: () {
|
||||
print("1201 Selected Services - $service - Tab Index - $index Service Id- $serviceId");
|
||||
print(
|
||||
"1201 Selected Services - $service - Tab Index - $index Service Id- $serviceId",
|
||||
);
|
||||
setState(() {
|
||||
selectedServiceIndex.value = index.toString();
|
||||
selectedServiceDBValue.value = serviceId.toString();
|
||||
@ -1263,13 +1257,13 @@ class _PolicyState extends State<Policy> {
|
||||
" selectedServiceIndex.value - ${selectedServiceIndex.value}",
|
||||
);
|
||||
|
||||
|
||||
// policyCriteriaKey.currentState?.fieldForPolicy();
|
||||
// policyCriteriaKey.currentState
|
||||
// ?.addOrUpdatePolicy(selectedServiceIndex.value);
|
||||
print("policyselectedService - $selectedService");
|
||||
if (selectedService == "Flight" ||
|
||||
selectedService == "Train" || selectedService == "Accomodation") {
|
||||
selectedService == "Train" ||
|
||||
selectedService == "Accomodation") {
|
||||
showClass = true;
|
||||
showCost = false;
|
||||
// int serviceCode = selectedService == "Flight" ? 1 : 2;
|
||||
@ -1460,7 +1454,8 @@ class _PolicyState extends State<Policy> {
|
||||
// color: Colors.brown.shade100,
|
||||
// child: Text("data"),
|
||||
// color: Colors.white60,
|
||||
child: (selectedService != null && selectedServiceDBValue.value != "0")
|
||||
child:
|
||||
(selectedService != null && selectedServiceDBValue.value != "0")
|
||||
? PolicyCriteria(
|
||||
key: policyCriteriaKey,
|
||||
isDesktop: isDesktop,
|
||||
@ -1469,7 +1464,8 @@ class _PolicyState extends State<Policy> {
|
||||
selectedTabNotifier: selectedServiceIndex,
|
||||
selectedIdNotifier: selectedServiceDBValue,
|
||||
selectedService: selectedService!,
|
||||
serviceDBValueList: serviceDBValueList, // 👈 Pass the array here
|
||||
serviceDBValueList:
|
||||
serviceDBValueList, // 👈 Pass the array here
|
||||
userId: userId,
|
||||
onPolicyDataChanged: (List<Map<String, dynamic>>? policyData) {
|
||||
print("🟢 policyData received from child: $policyData");
|
||||
@ -1481,7 +1477,8 @@ class _PolicyState extends State<Policy> {
|
||||
});
|
||||
});
|
||||
},
|
||||
) : const Center(child: CircularProgressIndicator()),
|
||||
)
|
||||
: const Center(child: CircularProgressIndicator()),
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -103,7 +103,6 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
|
||||
super.initState();
|
||||
fetchTrainFlightClass();
|
||||
|
||||
@ -216,7 +215,6 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
|
||||
// To set the data (update)
|
||||
void loadPolicyDetails(List<Map<String, dynamic>> details) {
|
||||
|
||||
print("loadPolicyDetails");
|
||||
for (var item in details) {
|
||||
final serviceId = item['service_id'].toString();
|
||||
@ -339,12 +337,14 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
[a1, a2, a3].where((a) => a != null).length > 0 &&
|
||||
[a1, a2, a3].where((a) => a == null).length > 0;
|
||||
|
||||
bool allExceptionalActionsNull = ae1 == null && ae2 == null && ae3 == null && ae4 == null;
|
||||
bool allExceptionalActionsNull =
|
||||
ae1 == null && ae2 == null && ae3 == null && ae4 == null;
|
||||
bool someExceptionalActionsMissing =
|
||||
[ae1, ae2, ae3, ae4].where((a) => a != null).length > 0 &&
|
||||
[ae1, ae2, ae3, ae4].where((a) => a == null).length > 0;
|
||||
|
||||
bool allAmendActionsNull = aa1 == null && aa2 == null && aa3 == null && aa4 == null;
|
||||
bool allAmendActionsNull =
|
||||
aa1 == null && aa2 == null && aa3 == null && aa4 == null;
|
||||
bool someAmendActionsMissing =
|
||||
[aa1, aa2, aa3, aa4].where((a) => a != null).length > 0 &&
|
||||
[aa1, aa2, aa3, aa4].where((a) => a == null).length > 0;
|
||||
@ -477,7 +477,6 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
void fieldForPolicy() {
|
||||
print("fieldForPolicy - ${widget.selectedTabNotifier.value}");
|
||||
|
||||
|
||||
// Save current input to policyData before switching
|
||||
if (ServiceId != null) {
|
||||
print("Calling addOrUpdatePolicy");
|
||||
@ -495,11 +494,12 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
print(" db - ${widget.serviceDBValueList.length}");
|
||||
print(" db list - ${widget.serviceDBValueList}");
|
||||
|
||||
if (tabIndex != null && tabIndex >= 0 && tabIndex <= widget.serviceDBValueList.length) {
|
||||
if (tabIndex != null &&
|
||||
tabIndex >= 0 &&
|
||||
tabIndex <= widget.serviceDBValueList.length) {
|
||||
ServiceId = widget.serviceDBValueList[tabIndex - 1].toString();
|
||||
print('✅ 484 Selected ServiceId: $ServiceId');
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
print('❌ Invalid tab index or out of range');
|
||||
}
|
||||
print("502 ServiceId $ServiceId");
|
||||
@ -836,35 +836,67 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelProcess - $SelectedParallelProcess",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward,
|
||||
size: 16,
|
||||
color:
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // (SelectedParallelProcess[ServiceId] ==
|
||||
// // "1")
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// (SelectedParallelProcess[ServiceId] ==
|
||||
// "1")
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
Container(
|
||||
padding: const EdgeInsets.all(10),
|
||||
child: Row(
|
||||
@ -981,25 +1013,16 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelProcess - $SelectedParallelProcess",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -1007,9 +1030,53 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
((SelectedParallelProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // ((SelectedParallelProcess[ServiceId] ==
|
||||
// // "1") ||
|
||||
// // (SelectedParallelProcess[ServiceId] ==
|
||||
// // "2"))
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// ((SelectedParallelProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelProcess[ServiceId] ==
|
||||
// "2"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
@ -1127,27 +1194,17 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelProcess - $SelectedParallelProcess[ServiceId]",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Top lin
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelProcess[ServiceId] ==
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -1157,9 +1214,43 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // ((SelectedParallelProcess[ServiceId] ==
|
||||
// // "1") ||
|
||||
// // (SelectedParallelProcess[ServiceId] ==
|
||||
// // "2") ||
|
||||
// // (SelectedParallelProcess[ServiceId] ==
|
||||
// // "3"))
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// ((SelectedParallelProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelProcess[ServiceId] ==
|
||||
// "2") ||
|
||||
// (SelectedParallelProcess[ServiceId] ==
|
||||
// "3"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
@ -1268,7 +1359,10 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
children: [
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -1383,38 +1477,71 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelExceptionalProcess - $SelectedParallelExceptionalProcess",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// // "1")
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "1")
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -1529,25 +1656,16 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelExceptionalProcess - $SelectedParallelExceptionalProcess",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -1555,16 +1673,62 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // ((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// // "1") ||
|
||||
// // (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// // "2"))
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// ((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "2"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -1676,27 +1840,16 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelExceptionalProcess - $SelectedParallelExceptionalProcess[ServiceId]",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -1706,16 +1859,68 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // ((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// // "1") ||
|
||||
// // (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// // "2") ||
|
||||
// // (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// // "3"))
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// ((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "2") ||
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "3"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -1830,26 +2035,27 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
child: Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"3") ||
|
||||
(SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"4"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
// decoration: BoxDecoration(
|
||||
// shape: BoxShape.circle,
|
||||
// border: Border.all(
|
||||
// color:
|
||||
// ((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "2") ||
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "3") ||
|
||||
// (SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
// "4"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// width: 2,
|
||||
// ),
|
||||
// ),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
|
||||
color:
|
||||
((SelectedParallelExceptionalProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -1960,7 +2166,10 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
children: [
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -2075,38 +2284,71 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelAmendProcess - $SelectedParallelAmendProcess",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1")
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// // "1")
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "1")
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -2221,25 +2463,16 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelAmendProcess - $SelectedParallelAmendProcess",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -2247,16 +2480,63 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"2"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // ((SelectedParallelAmendProcess[ServiceId] ==
|
||||
// // "1") ||
|
||||
// // (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// // "2"))
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// ((SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "2"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -2368,27 +2648,16 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"SelectedParallelAmendProcess - $SelectedParallelAmendProcess[ServiceId]",
|
||||
);
|
||||
},
|
||||
child: Container(
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
// Circle icon
|
||||
Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -2398,16 +2667,68 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
// color: Colors.grey,
|
||||
),
|
||||
),
|
||||
Icon(
|
||||
Icons.arrow_downward_sharp,
|
||||
size: 16,
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"3"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
),
|
||||
|
||||
// Bottom line
|
||||
],
|
||||
),
|
||||
// child: Container(
|
||||
// height: 25,
|
||||
// width: 25,
|
||||
// // decoration: BoxDecoration(
|
||||
// // shape: BoxShape.circle,
|
||||
// // border: Border.all(
|
||||
// // color:
|
||||
// // ((SelectedParallelAmendProcess[ServiceId] ==
|
||||
// // "1") ||
|
||||
// // (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// // "2") ||
|
||||
// // (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// // "3"))
|
||||
// // ? Colors.green
|
||||
// // : Colors.grey,
|
||||
// // width: 2,
|
||||
// // ),
|
||||
// // ),
|
||||
// child: Icon(
|
||||
// Icons.circle,
|
||||
// size: 20,
|
||||
// color:
|
||||
// ((SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "2") ||
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "3"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// // color: Colors.grey,
|
||||
// ),
|
||||
// ),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
// padding: const EdgeInsets.all(10),
|
||||
padding: const EdgeInsets.symmetric(horizontal: 4.0, vertical: 4.0),
|
||||
padding: const EdgeInsets.symmetric(
|
||||
horizontal: 4.0,
|
||||
vertical: 4.0,
|
||||
),
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
@ -2522,26 +2843,26 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
child: Container(
|
||||
height: 25,
|
||||
width: 25,
|
||||
decoration: BoxDecoration(
|
||||
shape: BoxShape.circle,
|
||||
border: Border.all(
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"2") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"3") ||
|
||||
(SelectedParallelAmendProcess[ServiceId] ==
|
||||
"4"))
|
||||
? Colors.green
|
||||
: Colors.grey,
|
||||
width: 2,
|
||||
),
|
||||
),
|
||||
// decoration: BoxDecoration(
|
||||
// shape: BoxShape.circle,
|
||||
// border: Border.all(
|
||||
// color:
|
||||
// ((SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "1") ||
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "2") ||
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "3") ||
|
||||
// (SelectedParallelAmendProcess[ServiceId] ==
|
||||
// "4"))
|
||||
// ? Colors.green
|
||||
// : Colors.grey,
|
||||
// width: 2,
|
||||
// ),
|
||||
// ),
|
||||
child: Icon(
|
||||
Icons.check_circle,
|
||||
size: 20,
|
||||
Icons.circle,
|
||||
size: 15,
|
||||
color:
|
||||
((SelectedParallelAmendProcess[ServiceId] ==
|
||||
"1") ||
|
||||
@ -2633,7 +2954,6 @@ class PolicyCriteriaState extends State<PolicyCriteria> {
|
||||
)
|
||||
.toList();
|
||||
|
||||
|
||||
if (dropdownItems.isEmpty) {
|
||||
dropdownItems.add(
|
||||
DropdownMenuItem<String>(
|
||||
|
||||
Loading…
Reference in New Issue
Block a user