|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
import 'dart:async';
|
|
|
|
|
import 'dart:developer';
|
|
|
|
|
import 'package:mc_common_app/generated/locale_keys.g.dart';
|
|
|
|
|
import 'package:mc_common_app/models/general_models/generic_resp_model.dart';
|
|
|
|
|
import 'package:mc_common_app/utils/navigator.dart';
|
|
|
|
@ -48,13 +49,11 @@ class _CreateServicesPage3State extends State<CreateServicesPage3> {
|
|
|
|
|
super.initState();
|
|
|
|
|
scheduleMicrotask(() async {
|
|
|
|
|
ServiceVM serviceVM = context.read<ServiceVM>();
|
|
|
|
|
log("widget.branchModel!.categoryId: ${widget.branchModel!.categoryId}");
|
|
|
|
|
if (widget.branchModel!.categoryId != null) {
|
|
|
|
|
await serviceVM.fetchServicesByCategoryId(int.parse(widget.branchModel!.categoryId ?? "0"));
|
|
|
|
|
|
|
|
|
|
category = DropValue(int.parse(widget.branchModel!.categoryId ?? "0"), widget.branchModel!.categoryName ?? "", "");
|
|
|
|
|
|
|
|
|
|
service = serviceVM.servicesDropList.firstWhere((element) => element.id == widget.branchModel!.serviceProviderService!.serviceId);
|
|
|
|
|
|
|
|
|
|
isAppointmentAvailable = widget.branchModel?.serviceProviderService?.isAllowAppointment ?? false;
|
|
|
|
|
serviceRage = widget.branchModel?.serviceProviderService?.customerLocationRange ?? 0;
|
|
|
|
|
if (serviceRage > 0) {
|
|
|
|
@ -63,6 +62,8 @@ class _CreateServicesPage3State extends State<CreateServicesPage3> {
|
|
|
|
|
chargersPerKm = widget.branchModel?.serviceProviderService?.rangePricePerKm ?? "";
|
|
|
|
|
serviceId = widget.branchModel?.serviceProviderService?.serviceProviderServiceId ?? -1;
|
|
|
|
|
setState(() {});
|
|
|
|
|
} else {
|
|
|
|
|
serviceVM.fetchBranchCategory(EasyLocalization.of(context)?.currentLocale?.countryCode ?? "SA");
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
@ -84,17 +85,17 @@ class _CreateServicesPage3State extends State<CreateServicesPage3> {
|
|
|
|
|
padding: const EdgeInsets.all(20.0),
|
|
|
|
|
child: Column(
|
|
|
|
|
children: [
|
|
|
|
|
(widget.branchModel!.categoryId != null)
|
|
|
|
|
(model.state == ViewState.idle)
|
|
|
|
|
? DropdownField(
|
|
|
|
|
isSelectAble: false,
|
|
|
|
|
isSelectAble: !widget.branchModel!.isForEdit,
|
|
|
|
|
(DropValue value) async {
|
|
|
|
|
// categoryId = value.id;
|
|
|
|
|
// category = value;
|
|
|
|
|
// service = null;
|
|
|
|
|
// serviceId = -1;
|
|
|
|
|
// isAppointmentAvailable = false;
|
|
|
|
|
// isHomeAppointmentAvailable = false;
|
|
|
|
|
// model.fetchServicesByCategoryId(value.id);
|
|
|
|
|
categoryId = value.id;
|
|
|
|
|
category = value;
|
|
|
|
|
service = null;
|
|
|
|
|
serviceId = -1;
|
|
|
|
|
isAppointmentAvailable = false;
|
|
|
|
|
isHomeAppointmentAvailable = false;
|
|
|
|
|
model.fetchServicesByCategoryId(value.id);
|
|
|
|
|
},
|
|
|
|
|
dropdownValue: category,
|
|
|
|
|
list: model.categoryDropList,
|
|
|
|
@ -106,6 +107,7 @@ class _CreateServicesPage3State extends State<CreateServicesPage3> {
|
|
|
|
|
? DropdownField(
|
|
|
|
|
(DropValue value) {
|
|
|
|
|
service = value;
|
|
|
|
|
serviceId = value.id;
|
|
|
|
|
isAppointmentAvailable = false;
|
|
|
|
|
isHomeAppointmentAvailable = false;
|
|
|
|
|
model.setState(ViewState.idle);
|
|
|
|
|