diff --git a/android/local.properties b/android/local.properties index d5cbd61..a2855e3 100644 --- a/android/local.properties +++ b/android/local.properties @@ -1,5 +1,5 @@ sdk.dir=C:/Users/Housh11/AppData/Local/Android/Sdk flutter.sdk=C:\\src\\flutter -flutter.buildMode=debug -flutter.versionName=1.3.21 -flutter.versionCode=18 \ No newline at end of file +flutter.buildMode=release +flutter.versionName=1.3.22 +flutter.versionCode=19 \ No newline at end of file diff --git a/packages/chicken/lib/presentation/pages/steward/root/logic.dart b/packages/chicken/lib/presentation/pages/steward/root/logic.dart index b9a3a14..96b2244 100644 --- a/packages/chicken/lib/presentation/pages/steward/root/logic.dart +++ b/packages/chicken/lib/presentation/pages/steward/root/logic.dart @@ -1,5 +1,6 @@ import 'dart:async'; +import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; import 'package:rasadyar_chicken/data/data_source/local/chicken_local.dart'; import 'package:rasadyar_chicken/data/di/chicken_di.dart'; @@ -210,9 +211,7 @@ class StewardRootLogic extends GetxController { final currentRoute = currentNestedKey?.currentState; - fLog(Get.currentRoute); - /* fLog("onPopScopTaped ==> ${currentNestedKey?.currentState?.canPop()}"); if (currentNestedKey?.currentState?.canPop() == true) { iLog(currentNestedKey?.currentState?.canPop()); @@ -233,6 +232,6 @@ class StewardRootLogic extends GetxController { } else { await SystemNavigator.pop(); } - }*/ + } } } diff --git a/packages/chicken/lib/presentation/pages/steward/root/view.dart b/packages/chicken/lib/presentation/pages/steward/root/view.dart index 60c97a0..ee8f531 100644 --- a/packages/chicken/lib/presentation/pages/steward/root/view.dart +++ b/packages/chicken/lib/presentation/pages/steward/root/view.dart @@ -4,13 +4,11 @@ import 'package:rasadyar_chicken/data/models/response/kill_house_distribution_in import 'package:rasadyar_chicken/presentation/pages/steward/root/logic.dart'; import 'package:rasadyar_chicken/presentation/utils/nested_keys_utils.dart'; import 'package:rasadyar_chicken/presentation/widget/base_page/view.dart'; -import 'package:rasadyar_core/core.dart' hide LinearGradient; +import 'package:rasadyar_core/core.dart'; class StewardRootPage extends GetView { StewardRootPage({super.key}); - - @override Widget build(BuildContext context) { return ObxValue((data) { diff --git a/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/logic.dart b/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/logic.dart index 3117c9c..21c5a1a 100644 --- a/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/logic.dart +++ b/packages/chicken/lib/presentation/pages/steward/sales_out_of_province/logic.dart @@ -201,7 +201,7 @@ class SalesOutOfProvinceLogic extends GetxController { Future editSale() async { bool res = false; StewardFreeSaleBarRequest requestBody = StewardFreeSaleBarRequest( - numberOfCarcasses: 0, + numberOfCarcasses: int.tryParse(saleCountController.text.clearComma), weightOfCarcasses: int.tryParse(saleWeightController.text.clearComma), date: saleDate.value.toDateTime().formattedDashedGregorian, clearanceCode: quarantineCodeController.text, @@ -229,6 +229,7 @@ class SalesOutOfProvinceLogic extends GetxController { } Future onRefresh() async { + toggleExpansion(); currentPage.value = 1; resetSubmitForm(); clearSaleForm(); diff --git a/packages/chicken/lib/presentation/pages/steward/segmentation/logic.dart b/packages/chicken/lib/presentation/pages/steward/segmentation/logic.dart index 96ed846..bd9d00f 100644 --- a/packages/chicken/lib/presentation/pages/steward/segmentation/logic.dart +++ b/packages/chicken/lib/presentation/pages/steward/segmentation/logic.dart @@ -17,7 +17,7 @@ class SegmentationLogic extends GetxController { RxInt selectedSegmentIndex = 0.obs; RxBool isExpanded = false.obs; - RxList isExpandedList = [].obs; + RxInt expandedListIndex = (-1).obs; Rx fromDateFilter = Jalali.now().obs; Rx toDateFilter = Jalali.now().obs; RxnString searchedValue = RxnString(); @@ -89,12 +89,12 @@ class SegmentationLogic extends GetxController { } void validateForm() { - var weight = int.tryParse(weightController.text.clearComma.trim()); + var weight = int.tryParse(weightController.text.trim().clearComma); isSubmitButtonEnabled.value = selectedProduct.value != null && weightController.text.isNotEmpty && weight! > 0 && - (saleType.value == 1 || (saleType.value == 2 && selectedGuildModel.value != null)); + (segmentType.value == 1 || (segmentType.value == 2 && selectedGuildModel.value != null)); } Future getAllSegmentation([bool isLoadingMore = false]) async { @@ -169,6 +169,7 @@ class SegmentationLogic extends GetxController { ), onSuccess: (result) { res = true; + onRefresh(); }, onError: (error, stacktrace) { res = false; @@ -196,6 +197,7 @@ class SegmentationLogic extends GetxController { onSuccess: (result) { res = true; isSubmitButtonEnabled.value = true; + onRefresh(); }, onError: (error, stacktrace) { res = false; @@ -221,8 +223,17 @@ class SegmentationLogic extends GetxController { } Future onRefresh() async { + toggleExpansion(); currentPage.value = 1; await rootLogic.onRefresh(); await getAllSegmentation(); } + + void toggleExpansion({int? index}) { + if (expandedListIndex.value == index || index == null) { + expandedListIndex.value = -1; + } else { + expandedListIndex.value = index; + } + } } diff --git a/packages/chicken/lib/presentation/pages/steward/segmentation/view.dart b/packages/chicken/lib/presentation/pages/steward/segmentation/view.dart index bed5b84..f193059 100644 --- a/packages/chicken/lib/presentation/pages/steward/segmentation/view.dart +++ b/packages/chicken/lib/presentation/pages/steward/segmentation/view.dart @@ -26,7 +26,6 @@ class SegmentationPage extends GetView { child: ObxValue((data) { return RPaginatedListView( onLoadMore: () async => controller.getAllSegmentation(true), - hasMore: data.value.data?.next != null, listType: ListType.separated, resource: data.value, @@ -35,8 +34,8 @@ class SegmentationPage extends GetView { var item = data.value.data!.results![index]; return ObxValue((val) { return ExpandableListItem2( - selected: val.contains(index), - onTap: () => controller.isExpandedList.toggle(index), + selected: val.value == index, + onTap: () => controller.toggleExpansion(index: index), index: index, child: itemListWidget(item), secondChild: itemListExpandedWidget(item, index), @@ -44,7 +43,7 @@ class SegmentationPage extends GetView { labelIconColor: AppColor.customGrey, labelIcon: Assets.vec.convertCubeSvg.path, ); - }, controller.isExpandedList); + }, controller.expandedListIndex); }, itemCount: data.value.data?.results?.length ?? 0, separatorBuilder: (context, index) => SizedBox(height: 8.h), @@ -239,7 +238,7 @@ class SegmentationPage extends GetView { onPressed: () { buildDeleteDialog( onConfirm: () async { - controller.isExpandedList.remove(index); + controller.toggleExpansion(); controller.deleteSegmentation(item.key!); }, onRefresh: () => controller.onRefresh(), @@ -256,7 +255,7 @@ class SegmentationPage extends GetView { Widget addOrEditBottomSheet([bool isOnEdit = false]) { return BaseBottomSheet( - height: 480.h, + height: 500.h, child: SingleChildScrollView( child: Form( key: controller.formKey, @@ -282,30 +281,23 @@ class SegmentationPage extends GetView { SizedBox( height: 40, child: ObxValue((data) { - return Row( - mainAxisAlignment: MainAxisAlignment.start, - children: [ - Radio( - value: 1, - groupValue: controller.segmentType.value, - onChanged: (value) { - controller.segmentType.value = value!; - - controller.selectedGuildModel.value = null; - controller.selectedGuildModel.refresh(); - }, - ), - Text('قطعه‌بندی(کاربر)', style: AppFonts.yekan14), - SizedBox(width: 12), - Radio( - value: 2, - groupValue: controller.segmentType.value, - onChanged: (value) { - controller.segmentType.value = value!; - }, - ), - Text('تخصیص به قطعه‌بند', style: AppFonts.yekan14), - ], + return RadioGroup( + onChanged: (value) { + controller.segmentType.value = value!; + controller.selectedGuildModel.value = null; + controller.selectedGuildModel.refresh(); + }, + groupValue: controller.segmentType.value, + child: Row( + mainAxisAlignment: MainAxisAlignment.start, + children: [ + Radio(value: 1), + Text('قطعه‌بندی(کاربر)', style: AppFonts.yekan14), + SizedBox(width: 12), + Radio(value: 2), + Text('تخصیص به قطعه‌بند', style: AppFonts.yekan14), + ], + ), ); }, controller.saleType), ), @@ -425,8 +417,6 @@ class SegmentationPage extends GetView { ? await controller.editSegment() : await controller.createSegment(); if (res) { - await controller.getAllSegmentation(); - controller.clearForm(); Get.back(); } } diff --git a/pubspec.yaml b/pubspec.yaml index 57e4536..2106e6c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: rasadyar_app description: "A new Flutter project." publish_to: 'none' -version: 1.3.21+18 +version: 1.3.22+19 environment: sdk: ^3.9.2